diff --git a/.gitignore b/.gitignore index f00650f..46de599 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ dist demo.zip text.html coverage + +/docs/.vitepress/cache diff --git a/DEPLOY.md b/DEPLOY.md deleted file mode 100644 index ee397c7..0000000 --- a/DEPLOY.md +++ /dev/null @@ -1,312 +0,0 @@ -# 魔曰 部署指南 - -这篇文档系统地介绍 Abracadabra(魔曰) 部署指南。 - -- [**Javascript**](#javascript) -- [**WebAssembly**](#webassembly) - -## JavaScript - -使用 npm 下载 Abracadabra 库。 - -```shell -npm install abracadabra-cn -``` - -然后,在项目中引入库文件 - -```javascript -import { Abracadabra } from "abracadabra-cn"; -``` - -如果你想在网页中全量引入本库,可以导入 `abracadabra-cn.umd.cjs` -在网页上直接引用,请看 [**网页引用**](#网页引用) 一节。 - -### NPM 部署说明 - -Abracadabra 库仅包含一个类型,即`Abracadabra` - -使用前,你需要实例化该类型,实例化时需要两个参数来指定输入输出的方式,如果不附带参数,则自动使用默认值 `TEXT`。 - -```Javascript -import { Abracadabra } from 'abracadabra-cn' - -let Abra = new Abracadabra(); //不附带参数, - -/* -Abracadabra.TEXT = "TEXT" -Abracadabra.UINT8 = "UINT8" -*/ -let Abra = new Abracadabra(InputMode,OutputMode); -//参数必须是上述二者中的一个,传入其他值会导致错误。 -``` - -`TEXT` 表明将来的输入/输出为 `String`,`UINT8` 表明将来的输入/输出为 `Uint8Array`,你可以灵活使用两种不同的类型。 - -#### Input() 传统加密函数 - -Abracadabra 库中仅有三个方法,`Input()` 是其中一个。 - -```Javascript -import { Abracadabra } from 'abracadabra-cn' - -let Abra = new Abracadabra(); //不附带参数, - -/* -MODES: - -Abracadabra.ENCRYPT = "ENCRYPT"; -强制加密 - -Abracadabra.DECRYPT = "DECRYPT"; -强制解密 - -Abracadabra.AUTO = "AUTO"; -自动(遵循自动逻辑) - -*/ -Abra.Input(input,mode,key,q) -``` - -第一个参数 `input` 接受两种类型的输入,分别是 `String` 和 `Uint8Array`,这是此前在实例化的时候指定的输入类型。 - -如果你指定了 `UINT8` 却传入 `String`,将抛出错误,反之亦然。 - -第二个参数 `mode` 接受上文中特定字符串的输入,任何其他输入都将被视为 `AUTO` 并被忽略。 - -第三个参数 `key` 接受字符串类型的密钥输入,如果不提供,则默认使用内置密钥 `ABRACADABRA`。 - -如果指定了错误的密码,那么在解码/解密数据校验过程中会抛出错误。 - -第四个参数 `q` 接受布尔值的输入,如果传入 `true`,则加密结果中将不含标志位,更加隐蔽,但解密时需要强制解密。 - -在无错误的情况下, `Input()` 函数的返回值通常是 `0`。 - -#### Input_Next() 文言仿真加密函数 - -`Input_Next()` 函数用来对数据执行文言文仿真加密。 - -```Javascript -import { Abracadabra } from 'abracadabra-cn' - -let Abra = new Abracadabra(); //不附带参数, - -/* -MODES: - -Abracadabra.ENCRYPT = "ENCRYPT"; -强制加密 - -Abracadabra.DECRYPT = "DECRYPT"; -强制解密 - -*/ -Abra.Input_Next(input,mode,key,q,r,p,l) -``` - -第一个参数 `input` 接受两种类型的输入,分别是 `String` 和 `Uint8Array`,这是此前在实例化的时候指定的输入类型。 - -如果你指定了 `UINT8` 却传入 `String`,将抛出错误,反之亦然。 - -第二个参数 `mode` 接受上文中特定字符串的输入,任何其他输入都将被忽略,不会输出任何结果。 - -第三个参数 `key` 接受字符串类型的密钥输入,如果不提供,则默认使用内置密钥 `ABRACADABRA`。 - -如果指定了错误的密码,那么在解码/解密数据校验过程中会抛出错误。 - -第四个参数 `q` 接受布尔值的输入,默认为 `true`。如果传入 `false`,则加密结果中将不含标点符号,解密时可以忽略这个参数。 - -第五个参数 `r` 接受整数值的输入,默认为`50`,最小值`0`,最大值`100`,超过 100 的输入将会报错。输入值越大,载荷量选择算法的随机性越大;输入值为 0 时,句式选择步骤将只选择载荷字较多的那个。解密时可以忽略这个参数。 - -第六个参数 `p` 接受布尔值的输入,默认为 `false`。如果传入 `true`,则加密结果会优先使用骈文句式,呈现四字到五字一组的对仗格律,这有助于减少密文的总体长度。解密时可以忽略这个参数。 - -第七个参数 `l` 接受布尔值的输入,默认为 `false`。如果传入 `true`,则加密结果会优先使用逻辑句式,呈现强论述类逻辑风格。解密时可以忽略这个参数。 - -`p` 和 `l` 不能同时指定为 `true`,否则会抛出错误。 - -在无错误的情况下, `Input_Next()` 函数的返回值通常是 `0`。 - -#### Output() - -```Javascript -import { Abracadabra } from 'abracadabra-cn' - -let Abra = new Abracadabra(); //不附带参数, - -Abra.Input(input,mode,key,q) - -let Result = Abra.Output() //获取输出 -``` - -在调用 `Output()` 之前,你需要至少调用过一次 `Input()`,否则将会抛出错误。 - -调用 `Output()` 将获得此前输入的处理结果,其返回类型可能是 `String` 或 `Uint8Array`,取决于对象实例化时指定了何种输出模式。 - -### 网页引用 - -绕过NPM和包管理,你也可以直接在任意网页上直接引用本项目。 - -在Release处下载 `.umd.cjs` 文件,放到自定义位置,然后在网页 `` 标签添加引用: - -```HTML - - - -``` - -在网页的其他地方调用脚本接口,可以这么写: - -```HTML - -``` - -在实例化对象之后,其余的调用方法请见上一节。 - -### 自行编译 - -如果你想要自行编译JavaScript库文件,请克隆 main 分支到本地。 -安装 `npm` 并配置恰当的环境。 - -安装编译和调试依赖: - -```shell -npm install -``` - -然后执行编译指令: - -```shell -npm run build -``` - -如果你对密码映射表做出了修改,那么请确保将JSON压缩成一行,转义成字符串。 -然后修改 `utils.js`(传统加密) 或者 `utils_next.js`(文言加密): - -```javascript - -const Map = '....' // 字符串内填密码映射表 - -``` - -在执行编译时,会自动对文言文密本中的句式语法执行检查,如果有问题,则会报错并提示编译失败。 -如果你想要单独运行检查,可以执行: - -```shell -npm run test -``` - -## WebAssembly - -前往 Release 下载编译好的 WebAssembly 文件。 - -然后,推荐使用 [**wasmtime**](https://github.com/bytecodealliance/wasmtime) 来调用它,其他 Runtime 不做特别兼容。 - -本项目的 WebAssembly 模块使用 [**Javy**](https://github.com/bytecodealliance/javy) 编译而来,方便在 C++、Rust、Go 等语言中调用,**不推荐**在类似 Python、 Java、Node.js 的解释器中调用。 - -要调用本 WebAssembly 模块,需要使用尚在预览状态的 [**WASI**](https://github.com/WebAssembly/WASI),目前仅有 wasmtime 提供了最完整的 WASI 支持,但它在各个语言的实现并不一致。 - -本模块的合法输入为一个JSON字符串,输入时请勿附带注释,遵循以下格式: - -```json - -{ - "method":"", // NEXT | OLD - "inputType":"", // TEXT | UINT8 - "outputType":"", // TEXT | UINT8 - "input":"", //输入的数据,如果是TEXT请直接输入纯文本,如果是任意字节,请输入Base64编码字符串 - "mode":"", // ENCRYPT | DECRYPT | AUTO // AUTO 仅在 method 指定 OLD 时合法 - "key":"", //加密密钥,一个字符串 //如果缺省,自动使用默认值 - "q":bool, //OLD模式下,决定是否添加标志位 | NEXT模式下,决定输出密文是否有标点符号 - "r":number, //仅NEXT模式下需要:算法的随机程度,越大随机性越强,默认 50,最大100,超过100将会出错; - "p":bool, //仅NEXT模式下需要:尽可能使用对仗的骈文句式; 与逻辑句式冲突 - "l":bool, //仅NEXT模式下需要:尽可能使用逻辑句式; 与骈文句式冲突 - -} - -``` - -用 wasmtime CLI 调用,在不同的命令行里有不同的方式,大多数时候是输入字符串的字符集的区别,以及是否需要在字符串外面加单引号的区别。 - -在 Windows CMD 或者 Powershell 中调用,请确保执行了 `chcp 65001` 以调整代码页为UTF-8。 - -注意在 Windows CMD 中,输入的字符串**不需要**用单引号囊括。 - -```shell - -echo '{"method":"NEXT","mode":"ENCRYPT","inputType":"TEXT","outputType":"TEXT","input":"愿青空的祝福,与我的羽翼同在","key":"ABRACADABRA","q":true,"r":50,"p":false,"l":false}' | wasmtime abracadabra-cn.wasm - -``` - -对于其他语言,你需要使用 Wasmtime WASI 的 `stdin` 和 `stdout` 接口来操作本模块的输入输出,调用 `_start` 方法来启动本模块。 - -下方提供 Python 的示例,其他语言请自行查阅 wasmtime 对应的文档。 - -```shell - -pip install wasmtime - -``` - -```python - -import wasmtime - -def run_wasi(wasm_file): - engine = wasmtime.Engine() - module = wasmtime.Module.from_file(engine, wasm_file) - store = wasmtime.Store(engine) - linker = wasmtime.Linker(engine) - wasi = wasmtime.WasiConfig() - #Python 的 wasmtime 实现,想写入stdin,必须使用一个文件。 - #文件里填写要输入的JSON。 - wasi.stdin_file = "" - wasi.inherit_stdout() - wasi.inherit_stderr() - linker.define_wasi() - store.set_wasi(wasi) - instance = linker.instantiate(store, module) - start = instance.exports(store)["_start"] - start(store) -try: - run_wasi("") -except FileNotFoundError: - print(f"Error: WASM file '{wasm_file}' not found.") -except wasmtime.WasmtimeError as e: - print(f"Wasmtime error: {e}") -except Exception as e: - print(f"An unexpected error occurred: {e}") - -``` - -### 用 Javy 编译模块 - - - -首先,拉取仓库,安装 [**Javy**](https://github.com/bytecodealliance/javy),配置恰当的环境。 - -然后,像编译普通JS库一样,执行: - -```shell - -npm install - -npm run build - -``` - -在输出文件夹中,找到 `abracadabra-cn-javy.js` - -然后用 Javy 在命令行中编译: - -```shell - -javy build "Path/to/abracadabra-cn-javy.js" -o "path/Output.wasm" - -``` diff --git a/README.md b/README.md index b216952..9ec8a3b 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,8 @@ [](https://abra.halu.ca/) [](#浏览器插件) +[](https://doc.abra.halu.ca) [](https://github.com/SheepChef/Abracadabra_demo) -[](https://forms.gle/BBD5McqU6Bws6hiw6) [](https://t.me/abracadabra_cn) @@ -40,8 +40,8 @@ --- -✨ 查阅 [**快速使用**](#快速使用) 一节,以开始使用/部署本项目。 -✨ 查阅 [**细节和使用指南**](https://github.com/SheepChef/Abracadabra/blob/main/USAGE.md) 以深入了解本项目的细节。 +✨ 查阅 [**快速使用**](#快速使用) 一节,快速开始使用/部署本项目。 +✨ 查阅 [**项目文档**](https://doc.abra.halu.ca),了解本项目的技术特点和细节。 👉 查阅 [**开放源代码许可**](#开放源代码许可) 一节,了解本项目的依赖项和许可证。 @@ -53,17 +53,6 @@ - 可靠,代码经过严格单元测试。 - 便捷,易于本地部署和使用。 -
- - - -与此同时,魔曰也支持[传统加密](https://github.com/SheepChef/Abracadabra/blob/main/USAGE.md#%E4%BC%A0%E7%BB%9F%E6%A8%A1%E5%BC%8F)。 - -传统加密模式类似熊曰、佛曰、兽音译者等此前流行的算法。 - - - - --- ### **熔古铸今:文言文仿真加密** @@ -82,42 +71,7 @@ ## 快速使用 -开发者请查阅 [**部署指南**](DEPLOY.md) 来了解详细部署方法。 -要部署前端网页,请查阅 Release 和前端源代码仓库。 - -如果你是普通用户,请参考本文下方的内容。 - -### JavaScript - -使用 npm 下载 Abracadabra 库。 - -你也可以前往 Release 页面直接下载Js文件。 - -```shell -npm install abracadabra-cn -``` - -然后,在项目中引入库文件 - -```javascript -import { Abracadabra } from "abracadabra-cn"; -``` - -### WebAssembly - -前往 Release 下载编译好的 WebAssembly 文件。 - -然后,使用 [**wasmtime**](https://github.com/bytecodealliance/wasmtime) 来调用它。 - -```shell - -echo '{"method":"NEXT","mode":"ENCRYPT","inputType":"TEXT","outputType":"TEXT","input":"愿青空的祝福,与我的羽翼同在","key":"ABRACADABRA","q":true,"r":50,"p":false,"l":false}' | wasmtime abracadabra-cn.wasm - -``` - -本项目的 WebAssembly 模块使用 [**Javy**](https://github.com/bytecodealliance/javy) 编译而来,方便在 C++、Rust、Go 等语言中调用,**不推荐**在类似 Python、 Java、Node.js 的解释器中调用。 - -要调用本 WebAssembly 模块,需要使用尚在预览状态的 [**WASI**](https://github.com/WebAssembly/WASI),目前仅有 wasmtime 提供了最完整的 WASI 支持,但它在各个语言的实现并不一致,具体请见 [**部署指南**](DEPLOY.md)。 +请查阅 [**项目文档**](https://doc.abra.halu.ca) ,详细了解使用/部署方法。 ### 静态页面 / 前端源码 @@ -158,7 +112,7 @@ APK文件可以 [**在 Release 中下载**](https://github.com/SheepChef/Abracad ## 细节概要 -请查阅 [**细节和使用指南**](https://github.com/SheepChef/Abracadabra/blob/main/USAGE.md) 了解更多。 +请查阅 [**项目文档**](https://doc.abra.halu.ca) 了解更多。 [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/SheepChef/Abracadabra) @@ -194,7 +148,7 @@ AES 加密密钥和转轮密钥是同一个,均采用哈希值。 数字/符号,字母分别拥有一套转轮,即总共六个转轮,改变密钥相当于更换一套完全不同的转轮。 -转轮显著增加了 Base64 密文的安全性,查阅 [**细节和使用指南**](https://github.com/SheepChef/Abracadabra/blob/main/USAGE.md) 来了解转轮的详细运行机制。 +转轮显著增加了 Base64 密文的安全性,查阅 [**项目文档**](https://doc.abra.halu.ca/document/enc.html#三重转轮混淆) 来了解转轮的详细运行机制。 ### 压缩 diff --git a/USAGE.md b/USAGE.md deleted file mode 100644 index a7df96e..0000000 --- a/USAGE.md +++ /dev/null @@ -1,303 +0,0 @@ -# 魔曰 细节和使用指南 - -[](LICENSE.md) - -**Abracadabra(魔曰)** 是一个用于加密短文本/链接的工具。 - -如果想直接阅读使用指南,请跳到 [**使用指南**](#最佳操作实践) - -``` -明文 -> 压缩 -> AES-256-CTR -> Base64 -> 三重转轮 -> 映射汉字 -> 组句(仅仿真加密时) -> 密文 -``` - -## 压缩和校验 - -针对短文本,本项目使用针对短文本优化的 [**Unishox2**](https://github.com/siara-cc/Unishox2) 压缩算法,避免了通用压缩算法(如 GZIP 等)文件头过重的问题。一般数据(>1KB)则采用GZIP。 - -针对链接和常见域名编排了字典,有效提高特定链接(例如网盘链接)的压缩效率。 - -压缩后会执行效率验证,如果出现无效压缩,则自动回落到原始数据。 - ---- - -项目使用轻量化的 [**卢恩算法**](https://zh.wikipedia.org/zh-cn/%E5%8D%A2%E6%81%A9%E7%AE%97%E6%B3%95)(US2950048, ISO/IEC 7812-1) 来对解密结果做简单校验,能够检出 70%的错误。 - -卢恩算法比起 Hmac 和 AES-GCM,安全性稍弱,但它十分轻量,校验位仅占一个字节。 - -## 加密和混淆 - -### AES-256 - -AES-256 是业内公认的安全加密算法,久经考验。 - -魔曰使用 AES-256-CTR 作为密文的核心加密方案,使得密文的安全性有基本的保证。 - -唯一的不足之处在于初始化向量(IV)的长度,标准长度是 16 字节,但是由于本项目的密文长度必须尽可能地短,便把 IV 长度压缩至两个字节,提供 65536 种随机性,配合转轮混淆,在大多数情况下足够安全。 - -由于IV(nounce)随机性被削减,可能发生CTR流密钥重用问题。 - -**如果没有混淆操作**,相同密钥加密出的密文有 N(相同密钥加密的有效密文数量)/65535 的可能导致明文的异或值泄露。 - -密钥参与的古典转轮混淆很大程度上避免了此问题,如果你在意安全性,请尽可能使用不同的密钥来加密。 - ---- - -### 转轮混淆 - -转轮混淆之前的原文,是一个使用AES加密后数据编码而成的Base64字符串,转轮混淆对其的处理为彻底打乱Base64字符串的字母/数字/符号,使其无法被正常解码为上一层AES256加密后的字节数据(包括两字节IV在内)。 - -#### 密钥和操作数 - -1. 对密钥进行SHA256 -2. 对SHA256后得到的32字节数组中的每个元素执行对十取余,得到一个操作数数组(这个数组中每个元素的大小不超过9,不小于0) - -#### 轮转规则 - -混淆时,每混淆/映射一个字符,就取当前操作数,执行一次转轮轮转,并将当前操作数的索引偏移一位。 - -下次加密便会从操作数数组中取下一个操作数执行转轮轮转。如果取到数组末尾,则从头开始,循环往复。 - -轮转方向和距离由当前操作数(N)决定。 -遵守以下规则: - -- 如果操作数为0,将其当作10并继续 - -如果该操作数是偶数(N%2 == 0) - -- 将第一个密钥轮向右轮6位 -- 将第二个密钥轮向左轮N*2位 -- 将第三个密钥轮向右轮(N/2)+1位 - -如果该操作数是奇数(N%2 != 0) - -- 将第一个密钥轮向左轮3位 -- 将第二个密钥轮向右轮N位 -- 将第三个密钥轮向左轮(N+7)/2位 - -其中,第一个和第三个转轮为顺序轮,第二个转轮为乱序(手动打乱)轮。 - -转轮每次转动方向和距离由操作数组(密钥)决定 -可能的密钥空间为10^32。 - -#### 映射规则 - -映射采用 字母 -> 索引 -> 字母 -> 索引 的重复操作。 - -设立一个原映射标准字符串(实际比这个要长得多) -``` -abcdefjhigk.... -``` - -三个转轮的长度和原字符串一致。 -假设三个转轮状态如下。 -(下一个字符加密时会轮转) -``` -bcdefjhigka.... -edfbjichgak.... -fjhigkabcde.... -``` - -现在,假设我们要混淆字符 a - -1. 在原字符串中找到字符 a 的索引,得到 0 -2. 在第一个转轮中查找索引 0,得到字符 b -3. 在原字符串中查找字符 b 的索引,得到 1 -4. 在第二个转轮中查找索引 1,得到字符 d -5. 在原字符串中查找字符 d 的索引,得到 3 -6. 在第三个转轮中查找索引 3,得到字符 i - -由此完成了 a --> i 的转轮映射。 - -其他所有字符以此类推,均可得到一个映射。 -(这个映射可以和原文本相同,修正了Enigma机的弱点) - -每轮转一次转轮,都会得到一个完全不同的映射表,轮转规则见上一小节。 - -更多内容参见 [**Issue#30**](https://github.com/SheepChef/Abracadabra/issues/30) - -## 汉字映射 - -### 映射表和模板 - -魔曰的密本不同于任何同类型的工具,它由数百个《通用规范汉字表》中的一级字和二级字构成,也有一些非常常见的 **日本和制汉字(Kanji)**,比如 **桜(Sakura)**;没有任何让人眼花缭乱的诡异汉字。 - -密本是纯人工挑选编纂的,映射表公开可查,查阅 [**映射表(传统)**](https://github.com/SheepChef/Abracadabra/blob/main/src/javascript/mapping.json) 或者 [**映射表(仿真)**](https://github.com/SheepChef/Abracadabra/blob/main/src/javascript/mapping_next.json) 以了解密本的全貌。 - -古文句式模板编纂时参考了《古文观止》和《古文辞类纂》,资料来自 [**中国哲学书电子化计划**](http://ctext.org/zhs)。 - ---- - -### 传统模式 - ->困句夏之全玚凪斋或骏琅咨兆咩谜理金说宙银歌舒 - -传统模式的密表是几百个常见汉字,加密结果为这些汉字组成的无序字符串。 - -在传统模式下,会在随机位置对密文添加标志位,用来简化加解密操作流程,程序识别到加密标志位便会自动解密,无需用户手动指定解密,提高便利性。你也可以生成没有标志位的密文,此时需要手动指定强制解密。 - -传统模式类似此前存在过的诸多加密项目,加密效率高,密文较短,随机性很强,适用于一般场景。 - ---- - -### 文言文仿真 - ->光韵开云,雅于莺茶,停而行之之谓速。是故无悦无谜,无瑞无聪,裳之所走、树之所振也。旧铃之纯水,常为悦水之莹风。人曰:“瑞琴之路,常留于其所允行而不读之处。” 璃非笑而去之者,孰可无鹏。非将选也,非可指也,书非当事涧,仍继叶言,奈何,同森而非航水也,能鸢者益。 - -文言仿真,会将加密后的字符串映射为仿古文本中的若干个载荷字。 - -用户可以调整仿真器的随机参数,启用特定风格模板的过滤,最终影响生成的密文风格。 - -以下是文言仿真的基本步骤: - -1. 分配载荷,遇到超大载荷则平均分配,递归分段处理。 -2. 在句式库中选择对应载荷量的句式。 -3. 在句式模板中插入载荷字,插入时数据经过三重转轮混淆。 -4. 在句式和句式之间插入标点符号。 -5. 得到完整密文。 - -用户可以影响载荷分配时的随机因子;在选择句式时,可以打开特定风格的过滤器。 - -#### 载荷分配 - -载荷分配本质上是简化了的找零问题。 -将一个给定的载荷量(例如37),分解成若干个1~9的整数之和。 - -载荷将被预先按比例分为 Begin, Main, End 三部分,对应一段密文的三节,每节都拥有一个不同的句式库。 - -有两种策略,分别是贪心算法和随机分配,每个分配步骤都会选择二者之一。 - -贪心算法在每一步尽可能大地分配载荷,从而得到一个较为整齐的分配结果。 - -用户可以指定更高的随机因子,增加随机分配的概率(最大100%),从而得到更加零碎的分配结果。 - -针对载荷分配,还引入了额外步骤以打乱/合并过于零碎的载荷,尽可能防止密文产生连续的重复模式。 - -#### 句式模板和密表 - -句式模板有一个固定的语法,以辅助解析。 - -``` -8D/N/anti/MV/V/N/,/still/继/N/V/,/why/,/and/N/而/anti/V/N/ye/P - -// 8 -> 载荷数量 -// "/" ->语素分隔符 -// N->名词 V->动词 A->形容词 AD->副词 -// B->一般句式 C->骈文句式 D->逻辑句式 E->既是骈文句式,又有逻辑 -// P->句号 Q->问号 R->冒号和引号 | 依需要添加在句式末尾,代替原有逗号。 -// by/why/anti... -> 虚词 - -// 其他(汉字)原样保留 -``` - -密表则按照词性分类,将动词,形容词,副词,和名词分开映射。 - -#### 选择句式 - -给定一个分配的载荷量,以及此时载荷所处的密文节(Begin/Main/End),算法会在对应句式库里过滤出所有匹配该载荷量的句式。 - -如果用户没有指定任何过滤器,一般情况下,则在所有载荷量匹配的句式中随机选择一个,无论其分类。 -有 25% 概率将在这些句式中再次过滤出逻辑/骈文句式,然后随机选用其中的一个,如果没有可用的句式,则在所有载荷量匹配的句式中随机选择一个。 - -如果用户指定了过滤器(骈文/逻辑),则会再次过滤出可用的骈文/逻辑句式,然后随机选用其中的一个。 -如果对应载荷量没有可用的骈文/逻辑句式,则在所有载荷量匹配的句式中随机选择一个。 - -总体而言,句式选择提供了较强的随机性和灵活度。 - -#### 插入载荷字和标点 - -算法将用分隔符"/"将句式分割成数组,然后丢弃句式的开头部分。 - -再把每个句子分割出的数组,依次压入一个大数组中,得到一个二维数组。 - -此时将用两层循环依次遍历数组中的每一个元素: -- 遇到N/V/A/AD等载荷位,则对表映射一个载荷字,追加到密文字符串上。 -- 遇到虚词指示,则在对应虚词库中随机选择一个追加到字符串上。 -- 按照一定的规则,在句式和句式之间插入标点符号,或者换行符(分段标志)。 -- 遇到汉字或者其他字符,则原样追加到密文字符串上。 - -由此得到一个强随机性,包含标点符号的文言文密文字符串。 - -如果用户指定不需要标点符号,那么会执行最后一次过滤,过滤出不含标点符号的密文结果。 - -更多内容参见 [**Issue#60**](https://github.com/SheepChef/Abracadabra/issues/60) - -## 前端和跨平台操作性 - -魔曰加密是一个跨平台的项目,以 JavaScript 实现,提供 WebAssembly 模块,浏览器插件,和APK安装包。 - -项目的前端代码是开源的,拥有完善的配套功能和美观的视觉体验,支持 PWA,可以在各种地方使用。 - -前端使用 Vue 构建,你可以随时下载源码,在你喜欢的地方轻易地部署它。 - -[](https://github.com/SheepChef/Abracadabra_demo) - -## 最佳操作实践 - -### 文言仿真加密 - -下面列出一些情况下的最佳实践。 - -#### 仿真随机性 - -用户在菜单中可以通过滑条来选择句式的随机程度。 -如果想增强句子逻辑性,那么请调整至"长句优先",挑选句式的时候会优先使用最长的可用句,但加密随机性可能受影响。 - -如果想要更随机,语块长短不一的密文,则推荐选择“适中”或更高。 - -#### 通顺 - -如果嫌生成的句子过于生硬,不妨多次尝试生成(多点几下加密),选择一个看起来最好的密文。 -只要密钥和原文相同,生成出的所有密文均可以正常解密。 - -#### 逻辑最佳密文 - -如果想要尽可能生成逻辑上最佳的密文,请打开**逻辑**模式。 -然后将随机性滑条拖到最左侧(0)。 - -如此可以尽量使密文由尽可能多的转折/逻辑复合句式构成。 -能够达到最大程度的,逻辑意义上的以假乱真。 - -#### 长度最佳密文 - -如果想要尽可能生成短的密文,请打开**骈文**模式。 -然后将随机性滑条拖到最左侧(0)。 - -如此可以尽量使密文由尽可能多的四字/五字骈文句式构成。 -在增强密文文言风格的同时,提升密文的载荷比,使密文缩短。 - -#### 混合模式 - -如果不作任何特殊设置,仿真算法会参考概率随机组句。 -如此生成的密文随机性更强,适合一般情况下的使用。 - -#### 密文的合适长度 - -不建议生成过长的密文。 - -过长的密文(>150字),在逻辑上难以形成链条,在句式上可能出现雷同,在字频上可能出现特征。 -因此不推荐将大段文章丢进加密器加密。 - -#### 与上下文搭配 - -合适的做法是将加密出来的文言文与上下文搭配。 -这么做可以抵抗多种攻击,也让BERT之类的模型难以对文本进行分类。 - ---- - -### 传统模式加密 - -下面列出一些情况下的最佳实践。 - -#### 安全优先 - -如果你需要最高的安全性,则在加密时设置一个尽可能长和复杂的密码。 - -最好勾选“去除标志”,来提升密文随机性。 - -解密时将需要对方勾选强制解密。 - -#### 效率优先 - -你可以不填密码,这将会使程序自动用内部的默认密码`ABRACADABRA`加/解密。 - -把密文的识别交给标志位,这么做可以让他人很方便地解密。 diff --git a/docs/.vitepress/config.mjs b/docs/.vitepress/config.mjs new file mode 100644 index 0000000..42b24b1 --- /dev/null +++ b/docs/.vitepress/config.mjs @@ -0,0 +1,91 @@ +import { defineConfig } from "vitepress"; +import { withMermaid } from "vitepress-plugin-mermaid"; + +// https://vitepress.dev/reference/site-config +export default withMermaid({ + lang: "zh-CN", + title: "Abracadabra 魔曰", + description: + "Abracadabra 魔曰是安全,高效的文本加密工具,可以将数据加密为汉字构成的文言文。", + head: [["link", { rel: "icon", href: "/logo.png" }]], + + themeConfig: { + // https://vitepress.dev/reference/default-theme-config + + nav: [ + { text: "主页", link: "/" }, + { text: "文档", link: "/document/quick-start.md" }, + { text: "Demo", link: "https://abra.halu.ca" }, + ], + + sidebar: [ + { text: "快速开始", link: "/document/quick-start.md" }, + { text: "功能对比", link: "/document/comparison.md" }, + { + text: "编译和部署", + collapsed: false, + items: [ + { text: "JavaScript", link: "/document/js-deploy.md" }, + { text: "WebAssembly(CLI)", link: "/document/wasm-deploy.md" }, + { + text: "前端页面和浏览器插件", + link: "/document/frontend-deploy.md", + }, + ], + }, + { + text: "技术细节", + collapsed: false, + items: [ + { text: "压缩和校验管线", link: "/document/luhn-compress.md" }, + { text: "加密和混淆管线", link: "/document/enc.md" }, + { text: "字符映射管线", link: "/document/character.md" }, + { text: "文言文仿真管线", link: "/document/wenyan.md" }, + ], + }, + { + text: "使用指引", + collapsed: false, + items: [ + { text: "Demo 使用指南", link: "/document/demo-usage.md" }, + { text: "最佳操作实践", link: "/document/best-practise.md" }, + { text: "常见问题和使用提示", link: "/document/FAQ.md" }, + ], + }, + { text: "AI基准测试", link: "/document/bench.md" }, + { text: "鸣谢", link: "/document/thanks.md" }, + { text: "Demo页", link: "https://abra.halu.ca" }, + { text: "GitHub仓库", link: "https://github.com/SheepChef/Abracadabra" }, + ], + logo: "/logo.png", + socialLinks: [ + { icon: "github", link: "https://github.com/SheepChef/Abracadabra" }, + ], + + // 文章翻页 + docFooter: { + prev: "上一篇", + next: "下一篇", + }, + + // 移动端 - 外观 + darkModeSwitchLabel: "外观", + outlineTitle: "本页目录", + + // 移动端 - 返回顶部 + returnToTopLabel: "返回顶部", + + // 移动端 - menu + sidebarMenuLabel: "菜单", + footer: { + message: "中国制造 • AIPL-1.1许可", + copyright: + "Copyright © 2025-present SheepChef", + }, + }, + markdown: { + image: { + lazyLoading: true, + }, + }, +}); diff --git a/docs/.vitepress/theme/index.js b/docs/.vitepress/theme/index.js new file mode 100644 index 0000000..03308ab --- /dev/null +++ b/docs/.vitepress/theme/index.js @@ -0,0 +1,15 @@ +// https://vitepress.dev/guide/custom-theme +import { h } from "vue"; +import DefaultTheme from "vitepress/theme"; +import "./style.css"; + +/** @type {import('vitepress').Theme} */ +export default { + extends: DefaultTheme, + Layout: () => { + return h(DefaultTheme.Layout, null, { + // https://vitepress.dev/guide/extending-default-theme#layout-slots + }); + }, + enhanceApp({ app }) {}, +}; diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css new file mode 100644 index 0000000..b934e24 --- /dev/null +++ b/docs/.vitepress/theme/style.css @@ -0,0 +1,211 @@ +/** + * Customize default theme styling by overriding CSS variables: + * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css + */ + +/** + * Colors + * + * Each colors have exact same color scale system with 3 levels of solid + * colors with different brightness, and 1 soft color. + * + * - `XXX-1`: The most solid color used mainly for colored text. It must + * satisfy the contrast ratio against when used on top of `XXX-soft`. + * + * - `XXX-2`: The color used mainly for hover state of the button. + * + * - `XXX-3`: The color for solid background, such as bg color of the button. + * It must satisfy the contrast ratio with pure white (#ffffff) text on + * top of it. + * + * - `XXX-soft`: The color used for subtle background such as custom container + * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors + * on top of it. + * + * The soft color must be semi transparent alpha channel. This is crucial + * because it allows adding multiple "soft" colors on top of each other + * to create a accent, such as when having inline code block inside + * custom containers. + * + * - `default`: The color used purely for subtle indication without any + * special meanings attached to it such as bg color for menu hover state. + * + * - `brand`: Used for primary brand colors, such as link text, button with + * brand theme, etc. + * + * - `tip`: Used to indicate useful information. The default theme uses the + * brand color for this by default. + * + * - `warning`: Used to indicate warning to the users. Used in custom + * container, badges, etc. + * + * - `danger`: Used to show error, or dangerous message to the users. Used + * in custom container, badges, etc. + * -------------------------------------------------------------------------- */ + +:root { + --vp-c-default-1: var(--vp-c-gray-1); + --vp-c-default-2: var(--vp-c-gray-2); + --vp-c-default-3: var(--vp-c-gray-3); + --vp-c-default-soft: var(--vp-c-gray-soft); + + --vp-c-brand-1: #c68cff; + --vp-c-brand-2: #873cd1; + --vp-c-brand-3: #9200c3; + --vp-c-brand-soft: var(--vp-c-indigo-soft); + + --vp-c-tip-1: var(--vp-c-brand-1); + --vp-c-tip-2: var(--vp-c-brand-2); + --vp-c-tip-3: var(--vp-c-brand-3); + --vp-c-tip-soft: var(--vp-c-brand-soft); + + --vp-c-warning-1: var(--vp-c-yellow-1); + --vp-c-warning-2: var(--vp-c-yellow-2); + --vp-c-warning-3: var(--vp-c-yellow-3); + --vp-c-warning-soft: var(--vp-c-yellow-soft); + + --vp-c-danger-1: var(--vp-c-red-1); + --vp-c-danger-2: var(--vp-c-red-2); + --vp-c-danger-3: var(--vp-c-red-3); + --vp-c-danger-soft: var(--vp-c-red-soft); +} + +/** + * Component: Button + * -------------------------------------------------------------------------- */ + +:root { + --vp-button-brand-border: transparent; + --vp-button-brand-text: var(--vp-c-white); + --vp-button-brand-bg: var(--vp-c-brand-3); + --vp-button-brand-hover-border: transparent; + --vp-button-brand-hover-text: var(--vp-c-white); + --vp-button-brand-hover-bg: var(--vp-c-brand-2); + --vp-button-brand-active-border: transparent; + --vp-button-brand-active-text: var(--vp-c-white); + --vp-button-brand-active-bg: var(--vp-c-brand-1); +} + +::selection { + background-color: #8712bd; + color: rgb(255, 255, 255); +} + +/** + * Component: Home + * -------------------------------------------------------------------------- */ + +:root { + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: -webkit-linear-gradient( + 280deg, + #ed87ff, + #ad1fff + ); + /* + --vp-home-hero-name-background: -webkit-linear-gradient( + 120deg, + #bd34fe 30%, + #41d1ff + ); +*/ + --vp-home-hero-image-background-image: -webkit-linear-gradient( + -45deg, + #9138fe52, + #8b02db33 + ); + + --vp-home-hero-image-filter: blur(44px); +} +.image-src { + max-width: 256px !important; +} +@media (min-width: 640px) { + :root { + --vp-home-hero-image-filter: blur(56px); + } +} + +@media (min-width: 960px) { + :root { + --vp-home-hero-image-filter: blur(68px); + } +} + +/** + * Component: Custom Block + * -------------------------------------------------------------------------- */ + +:root { + --vp-custom-block-tip-border: transparent; + --vp-custom-block-tip-text: var(--vp-c-text-1); + --vp-custom-block-tip-bg: var(--vp-c-brand-soft); + --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft); +} + +/** + * Component: Algolia + * -------------------------------------------------------------------------- */ + +.DocSearch { + --docsearch-primary-color: var(--vp-c-brand-1) !important; +} + +/** + * Custom CSS + * -------------------------------------------------------------------------- */ + +code { + /*white-space: pre-wrap !important;*/ +} + +.mermaid { + background: #00000026; + padding: 15px; + border-radius: 10px; +} + +.mermaid > .label { + overflow: visible !important; +} + +foreignObject { + overflow: visible; +} + +.title { + font-size: 22px !important; +} + +.details { + font-size: 17px !important; +} + +img { + border-radius: 8px; +} + +.vp-doc [class*="language-"] > span.lang { + /*display: none;*/ +} + +:root { + --vp-font-family-mono: mono, ui-monospace, "Menlo", "Monaco", "Consolas", + "Liberation Mono", "Courier New", monospace !important; +} + +.vp-code-group .tabs label { + line-height: 42px; +} + +.vp-code-group .tabs { + padding: 0 8px; +} + +.DocSearch-Logo svg * { + fill: var(--vp-c-text-2) !important; +} + +.DocSearch-Logo:hover svg * { + fill: var(--vp-c-text-1) !important; +} diff --git a/docs/assets/SamsungSans-Regular-BsRQoNIc.ttf b/docs/assets/SamsungSans-Regular-BsRQoNIc.ttf deleted file mode 100644 index 1f5704e..0000000 Binary files a/docs/assets/SamsungSans-Regular-BsRQoNIc.ttf and /dev/null differ diff --git a/docs/assets/abracadabra-cn-BTUscUVB.js b/docs/assets/abracadabra-cn-BTUscUVB.js deleted file mode 100644 index def0970..0000000 --- a/docs/assets/abracadabra-cn-BTUscUVB.js +++ /dev/null @@ -1 +0,0 @@ -var t,e,r,n=Object.defineProperty,i=t=>{throw TypeError(t)},a=(t,e,r)=>{return s=r,(a="symbol"!=typeof e?e+"":e)in(i=t)?n(i,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[a]=s;var i,a,s},s=(t,e,r)=>e.has(t)||i("Cannot "+r),o=(t,e,r)=>(s(t,e,"read from private field"),r?r.call(t):e.get(t)),h=(t,e,r)=>e.has(t)?i("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),l=(t,e,r,n)=>(s(t,e,"write to private field"),e.set(t,r),r);const c="3.7.7",f=c,u="function"==typeof Buffer,d="function"==typeof TextDecoder?new TextDecoder:void 0,_="function"==typeof TextEncoder?new TextEncoder:void 0,p=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),b=(t=>{let e={};return p.forEach(((t,r)=>e[t]=r)),e})(),g=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,y=String.fromCharCode.bind(String),A="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):t=>new Uint8Array(Array.prototype.slice.call(t,0)),w=t=>t.replace(/=/g,"").replace(/[+\/]/g,(t=>"+"==t?"-":"_")),m=t=>t.replace(/[^A-Za-z0-9\+\/]/g,""),v=t=>{let e,r,n,i,a="";const s=t.length%3;for(let o=0;o255||(n=t.charCodeAt(o++))>255||(i=t.charCodeAt(o++))>255)throw new TypeError("invalid character found");e=r<<16|n<<8|i,a+=p[e>>18&63]+p[e>>12&63]+p[e>>6&63]+p[63&e]}return s?a.slice(0,s-3)+"===".substring(s):a},N="function"==typeof btoa?t=>btoa(t):u?t=>Buffer.from(t,"binary").toString("base64"):v,k=u?t=>Buffer.from(t).toString("base64"):t=>{let e=[];for(let r=0,n=t.length;re?w(k(t)):k(t),V=t=>{if(t.length<2)return(e=t.charCodeAt(0))<128?t:e<2048?y(192|e>>>6)+y(128|63&e):y(224|e>>>12&15)+y(128|e>>>6&63)+y(128|63&e);var e=65536+1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320);return y(240|e>>>18&7)+y(128|e>>>12&63)+y(128|e>>>6&63)+y(128|63&e)},D=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,B=t=>t.replace(D,V),z=u?t=>Buffer.from(t,"utf8").toString("base64"):_?t=>k(_.encode(t)):t=>N(B(t)),C=(t,e=!1)=>e?w(z(t)):z(t),S=t=>C(t,!0),E=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,P=t=>{switch(t.length){case 4:var e=((7&t.charCodeAt(0))<<18|(63&t.charCodeAt(1))<<12|(63&t.charCodeAt(2))<<6|63&t.charCodeAt(3))-65536;return y(55296+(e>>>10))+y(56320+(1023&e));case 3:return y((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return y((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},R=t=>t.replace(E,P),U=t=>{if(t=t.replace(/\s+/g,""),!g.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(3&t.length));let e,r,n,i="";for(let a=0;a>16&255):64===n?y(e>>16&255,e>>8&255):y(e>>16&255,e>>8&255,255&e);return i},O="function"==typeof atob?t=>atob(m(t)):u?t=>Buffer.from(t,"base64").toString("binary"):U,L=u?t=>A(Buffer.from(t,"base64")):t=>A(O(t).split("").map((t=>t.charCodeAt(0)))),M=t=>L(H(t)),T=u?t=>Buffer.from(t,"base64").toString("utf8"):d?t=>d.decode(L(t)):t=>R(O(t)),H=t=>m(t.replace(/[-_]/g,(t=>"-"==t?"+":"/"))),F=t=>T(H(t)),I=t=>({value:t,enumerable:!1,writable:!0,configurable:!0}),Z=function(){const t=(t,e)=>Object.defineProperty(String.prototype,t,I(e));t("fromBase64",(function(){return F(this)})),t("toBase64",(function(t){return C(this,t)})),t("toBase64URI",(function(){return C(this,!0)})),t("toBase64URL",(function(){return C(this,!0)})),t("toUint8Array",(function(){return M(this)}))},j=function(){const t=(t,e)=>Object.defineProperty(Uint8Array.prototype,t,I(e));t("toBase64",(function(t){return x(this,t)})),t("toBase64URI",(function(){return x(this,!0)})),t("toBase64URL",(function(){return x(this,!0)}))},W={version:c,VERSION:f,atob:O,atobPolyfill:U,btoa:N,btoaPolyfill:v,fromBase64:F,toBase64:C,encode:C,encodeURI:S,encodeURL:S,utob:B,btou:R,decode:F,isValid:t=>{if("string"!=typeof t)return!1;const e=t.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e)},fromUint8Array:x,toUint8Array:M,extendString:Z,extendUint8Array:j,extendBuiltins:()=>{Z(),j()}};var K="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function X(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Y={exports:{}};const q=function(t){if(t.__esModule)return t;var e=t.default;if("function"==typeof e){var r=function t(){return this instanceof t?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach((function(e){var n=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(r,e,n.get?n:{enumerable:!0,get:function(){return t[e]}})})),r}(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var G;function Q(){return G||(G=1,Y.exports=(t=t||function(t,e){var r;if("undefined"!=typeof window&&window.crypto&&(r=window.crypto),"undefined"!=typeof self&&self.crypto&&(r=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(r=globalThis.crypto),!r&&"undefined"!=typeof window&&window.msCrypto&&(r=window.msCrypto),!r&&void 0!==K&&K.crypto&&(r=K.crypto),!r)try{r=q}catch(p){}var n=function(){if(r){if("function"==typeof r.getRandomValues)try{return r.getRandomValues(new Uint32Array(1))[0]}catch(p){}if("function"==typeof r.randomBytes)try{return r.randomBytes(4).readInt32LE()}catch(p){}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function t(){}return function(e){var r;return t.prototype=e,r=new t,t.prototype=null,r}}(),a={},s=a.lib={},o=s.Base=function(){return{extend:function(t){var e=i(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),h=s.WordArray=o.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||c).stringify(this)},concat:function(t){var e=this.words,r=t.words,n=this.sigBytes,i=t.sigBytes;if(this.clamp(),n%4)for(var a=0;a>>2]>>>24-a%4*8&255;e[n+a>>>2]|=s<<24-(n+a)%4*8}else for(var o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8,e.length=t.ceil(r/4)},clone:function(){var t=o.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],r=0;r>>2]>>>24-i%4*8&255;n.push((a>>>4).toString(16)),n.push((15&a).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new h.init(r,e/2)}},f=l.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(a))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new h.init(r,e)}},u=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(f.stringify(t)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(t){return f.parse(unescape(encodeURIComponent(t)))}},d=s.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new h.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=u.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var r,n=this._data,i=n.words,a=n.sigBytes,s=this.blockSize,o=a/(4*s),l=(o=e?t.ceil(o):t.max((0|o)-this._minBufferSize,0))*s,c=t.min(4*l,a);if(l){for(var f=0;f>>2]>>>24-a%4*8&255)<<16|(e[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|e[a+2>>>2]>>>24-(a+2)%4*8&255,o=0;o<4&&a+.75*o>>6*(3-o)&63));var h=n.charAt(64);if(h)for(;i.length%4;)i.push(h);return i.join("")},parse:function(t){var r=t.length,n=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var a=0;a>>6-s%4*2;i[a>>>2]|=o<<24-a%4*8,a++}return e.create(i,a)}(t,r,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},r.enc.Base64)),st.exports;var t,e,r}var ht,lt={exports:{}};var ct,ft={exports:{}};function ut(){return ct||(ct=1,ft.exports=(t=Q(),function(e){var r=t,n=r.lib,i=n.WordArray,a=n.Hasher,s=r.algo,o=[];!function(){for(var t=0;t<64;t++)o[t]=4294967296*e.abs(e.sin(t+1))|0}();var h=s.MD5=a.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var n=e+r,i=t[n];t[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var a=this._hash.words,s=t[e+0],h=t[e+1],d=t[e+2],_=t[e+3],p=t[e+4],b=t[e+5],g=t[e+6],y=t[e+7],A=t[e+8],w=t[e+9],m=t[e+10],v=t[e+11],N=t[e+12],k=t[e+13],x=t[e+14],V=t[e+15],D=a[0],B=a[1],z=a[2],C=a[3];D=l(D,B,z,C,s,7,o[0]),C=l(C,D,B,z,h,12,o[1]),z=l(z,C,D,B,d,17,o[2]),B=l(B,z,C,D,_,22,o[3]),D=l(D,B,z,C,p,7,o[4]),C=l(C,D,B,z,b,12,o[5]),z=l(z,C,D,B,g,17,o[6]),B=l(B,z,C,D,y,22,o[7]),D=l(D,B,z,C,A,7,o[8]),C=l(C,D,B,z,w,12,o[9]),z=l(z,C,D,B,m,17,o[10]),B=l(B,z,C,D,v,22,o[11]),D=l(D,B,z,C,N,7,o[12]),C=l(C,D,B,z,k,12,o[13]),z=l(z,C,D,B,x,17,o[14]),D=c(D,B=l(B,z,C,D,V,22,o[15]),z,C,h,5,o[16]),C=c(C,D,B,z,g,9,o[17]),z=c(z,C,D,B,v,14,o[18]),B=c(B,z,C,D,s,20,o[19]),D=c(D,B,z,C,b,5,o[20]),C=c(C,D,B,z,m,9,o[21]),z=c(z,C,D,B,V,14,o[22]),B=c(B,z,C,D,p,20,o[23]),D=c(D,B,z,C,w,5,o[24]),C=c(C,D,B,z,x,9,o[25]),z=c(z,C,D,B,_,14,o[26]),B=c(B,z,C,D,A,20,o[27]),D=c(D,B,z,C,k,5,o[28]),C=c(C,D,B,z,d,9,o[29]),z=c(z,C,D,B,y,14,o[30]),D=f(D,B=c(B,z,C,D,N,20,o[31]),z,C,b,4,o[32]),C=f(C,D,B,z,A,11,o[33]),z=f(z,C,D,B,v,16,o[34]),B=f(B,z,C,D,x,23,o[35]),D=f(D,B,z,C,h,4,o[36]),C=f(C,D,B,z,p,11,o[37]),z=f(z,C,D,B,y,16,o[38]),B=f(B,z,C,D,m,23,o[39]),D=f(D,B,z,C,k,4,o[40]),C=f(C,D,B,z,s,11,o[41]),z=f(z,C,D,B,_,16,o[42]),B=f(B,z,C,D,g,23,o[43]),D=f(D,B,z,C,w,4,o[44]),C=f(C,D,B,z,N,11,o[45]),z=f(z,C,D,B,V,16,o[46]),D=u(D,B=f(B,z,C,D,d,23,o[47]),z,C,s,6,o[48]),C=u(C,D,B,z,y,10,o[49]),z=u(z,C,D,B,x,15,o[50]),B=u(B,z,C,D,b,21,o[51]),D=u(D,B,z,C,N,6,o[52]),C=u(C,D,B,z,_,10,o[53]),z=u(z,C,D,B,m,15,o[54]),B=u(B,z,C,D,h,21,o[55]),D=u(D,B,z,C,A,6,o[56]),C=u(C,D,B,z,V,10,o[57]),z=u(z,C,D,B,g,15,o[58]),B=u(B,z,C,D,k,21,o[59]),D=u(D,B,z,C,p,6,o[60]),C=u(C,D,B,z,v,10,o[61]),z=u(z,C,D,B,d,15,o[62]),B=u(B,z,C,D,w,21,o[63]),a[0]=a[0]+D|0,a[1]=a[1]+B|0,a[2]=a[2]+z|0,a[3]=a[3]+C|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;r[i>>>5]|=128<<24-i%32;var a=e.floor(n/4294967296),s=n;r[15+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),r[14+(i+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),t.sigBytes=4*(r.length+1),this._process();for(var o=this._hash,h=o.words,l=0;l<4;l++){var c=h[l];h[l]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return o},clone:function(){var t=a.clone.call(this);return t._hash=this._hash.clone(),t}});function l(t,e,r,n,i,a,s){var o=t+(e&r|~e&n)+i+s;return(o<>>32-a)+e}function c(t,e,r,n,i,a,s){var o=t+(e&n|r&~n)+i+s;return(o<>>32-a)+e}function f(t,e,r,n,i,a,s){var o=t+(e^r^n)+i+s;return(o<>>32-a)+e}function u(t,e,r,n,i,a,s){var o=t+(r^(e|~n))+i+s;return(o<>>32-a)+e}r.MD5=a._createHelper(h),r.HmacMD5=a._createHmacHelper(h)}(Math),t.MD5)),ft.exports;var t}var dt,_t={exports:{}};function pt(){return dt||(dt=1,_t.exports=(e=(t=o=Q()).lib,r=e.WordArray,n=e.Hasher,i=t.algo,a=[],s=i.SHA1=n.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],s=r[2],o=r[3],h=r[4],l=0;l<80;l++){if(l<16)a[l]=0|t[e+l];else{var c=a[l-3]^a[l-8]^a[l-14]^a[l-16];a[l]=c<<1|c>>>31}var f=(n<<5|n>>>27)+h+a[l];f+=l<20?1518500249+(i&s|~i&o):l<40?1859775393+(i^s^o):l<60?(i&s|i&o|s&o)-1894007588:(i^s^o)-899497514,h=o,o=s,s=i<<30|i>>>2,i=n,n=f}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+s|0,r[3]=r[3]+o|0,r[4]=r[4]+h|0},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),e[15+(n+64>>>9<<4)]=r,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),t.SHA1=n._createHelper(s),t.HmacSHA1=n._createHmacHelper(s),o.SHA1)),_t.exports;var t,e,r,n,i,a,s,o}var bt,gt={exports:{}};function yt(){return bt||(bt=1,gt.exports=(t=Q(),function(e){var r=t,n=r.lib,i=n.WordArray,a=n.Hasher,s=r.algo,o=[],h=[];!function(){function t(t){for(var r=e.sqrt(t),n=2;n<=r;n++)if(!(t%n))return!1;return!0}function r(t){return 4294967296*(t-(0|t))|0}for(var n=2,i=0;i<64;)t(n)&&(i<8&&(o[i]=r(e.pow(n,.5))),h[i]=r(e.pow(n,1/3)),i++),n++}();var l=[],c=s.SHA256=a.extend({_doReset:function(){this._hash=new i.init(o.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],a=r[2],s=r[3],o=r[4],c=r[5],f=r[6],u=r[7],d=0;d<64;d++){if(d<16)l[d]=0|t[e+d];else{var _=l[d-15],p=(_<<25|_>>>7)^(_<<14|_>>>18)^_>>>3,b=l[d-2],g=(b<<15|b>>>17)^(b<<13|b>>>19)^b>>>10;l[d]=p+l[d-7]+g+l[d-16]}var y=n&i^n&a^i&a,A=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),w=u+((o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25))+(o&c^~o&f)+h[d]+l[d];u=f,f=c,c=o,o=s+w|0,s=a,a=i,i=n,n=w+(A+y)|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+a|0,r[3]=r[3]+s|0,r[4]=r[4]+o|0,r[5]=r[5]+c|0,r[6]=r[6]+f|0,r[7]=r[7]+u|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=e.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var t=a.clone.call(this);return t._hash=this._hash.clone(),t}});r.SHA256=a._createHelper(c),r.HmacSHA256=a._createHmacHelper(c)}(Math),t.SHA256)),gt.exports;var t}var At,wt,mt={exports:{}};function vt(){return wt||(wt=1,mt.exports=(t=Q(),tt(),function(){var e=t,r=e.lib.Hasher,n=e.x64,i=n.Word,a=n.WordArray,s=e.algo;function o(){return i.create.apply(i,arguments)}var h=[o(1116352408,3609767458),o(1899447441,602891725),o(3049323471,3964484399),o(3921009573,2173295548),o(961987163,4081628472),o(1508970993,3053834265),o(2453635748,2937671579),o(2870763221,3664609560),o(3624381080,2734883394),o(310598401,1164996542),o(607225278,1323610764),o(1426881987,3590304994),o(1925078388,4068182383),o(2162078206,991336113),o(2614888103,633803317),o(3248222580,3479774868),o(3835390401,2666613458),o(4022224774,944711139),o(264347078,2341262773),o(604807628,2007800933),o(770255983,1495990901),o(1249150122,1856431235),o(1555081692,3175218132),o(1996064986,2198950837),o(2554220882,3999719339),o(2821834349,766784016),o(2952996808,2566594879),o(3210313671,3203337956),o(3336571891,1034457026),o(3584528711,2466948901),o(113926993,3758326383),o(338241895,168717936),o(666307205,1188179964),o(773529912,1546045734),o(1294757372,1522805485),o(1396182291,2643833823),o(1695183700,2343527390),o(1986661051,1014477480),o(2177026350,1206759142),o(2456956037,344077627),o(2730485921,1290863460),o(2820302411,3158454273),o(3259730800,3505952657),o(3345764771,106217008),o(3516065817,3606008344),o(3600352804,1432725776),o(4094571909,1467031594),o(275423344,851169720),o(430227734,3100823752),o(506948616,1363258195),o(659060556,3750685593),o(883997877,3785050280),o(958139571,3318307427),o(1322822218,3812723403),o(1537002063,2003034995),o(1747873779,3602036899),o(1955562222,1575990012),o(2024104815,1125592928),o(2227730452,2716904306),o(2361852424,442776044),o(2428436474,593698344),o(2756734187,3733110249),o(3204031479,2999351573),o(3329325298,3815920427),o(3391569614,3928383900),o(3515267271,566280711),o(3940187606,3454069534),o(4118630271,4000239992),o(116418474,1914138554),o(174292421,2731055270),o(289380356,3203993006),o(460393269,320620315),o(685471733,587496836),o(852142971,1086792851),o(1017036298,365543100),o(1126000580,2618297676),o(1288033470,3409855158),o(1501505948,4234509866),o(1607167915,987167468),o(1816402316,1246189591)],l=[];!function(){for(var t=0;t<80;t++)l[t]=o()}();var c=s.SHA512=r.extend({_doReset:function(){this._hash=new a.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],a=r[2],s=r[3],o=r[4],c=r[5],f=r[6],u=r[7],d=n.high,_=n.low,p=i.high,b=i.low,g=a.high,y=a.low,A=s.high,w=s.low,m=o.high,v=o.low,N=c.high,k=c.low,x=f.high,V=f.low,D=u.high,B=u.low,z=d,C=_,S=p,E=b,P=g,R=y,U=A,O=w,L=m,M=v,T=N,H=k,F=x,I=V,Z=D,j=B,W=0;W<80;W++){var K,X,Y=l[W];if(W<16)X=Y.high=0|t[e+2*W],K=Y.low=0|t[e+2*W+1];else{var q=l[W-15],G=q.high,Q=q.low,J=(G>>>1|Q<<31)^(G>>>8|Q<<24)^G>>>7,$=(Q>>>1|G<<31)^(Q>>>8|G<<24)^(Q>>>7|G<<25),tt=l[W-2],et=tt.high,rt=tt.low,nt=(et>>>19|rt<<13)^(et<<3|rt>>>29)^et>>>6,it=(rt>>>19|et<<13)^(rt<<3|et>>>29)^(rt>>>6|et<<26),at=l[W-7],st=at.high,ot=at.low,ht=l[W-16],lt=ht.high,ct=ht.low;X=(X=(X=J+st+((K=$+ot)>>>0<$>>>0?1:0))+nt+((K+=it)>>>0>>0?1:0))+lt+((K+=ct)>>>0>>0?1:0),Y.high=X,Y.low=K}var ft,ut=L&T^~L&F,dt=M&H^~M&I,_t=z&S^z&P^S&P,pt=C&E^C&R^E&R,bt=(z>>>28|C<<4)^(z<<30|C>>>2)^(z<<25|C>>>7),gt=(C>>>28|z<<4)^(C<<30|z>>>2)^(C<<25|z>>>7),yt=(L>>>14|M<<18)^(L>>>18|M<<14)^(L<<23|M>>>9),At=(M>>>14|L<<18)^(M>>>18|L<<14)^(M<<23|L>>>9),wt=h[W],mt=wt.high,vt=wt.low,Nt=Z+yt+((ft=j+At)>>>0>>0?1:0),kt=gt+pt;Z=F,j=I,F=T,I=H,T=L,H=M,L=U+(Nt=(Nt=(Nt=Nt+ut+((ft+=dt)>>>0
>>0?1:0))+mt+((ft+=vt)>>>0>>0?1:0))+X+((ft+=K)>>>0>>0?1:0))+((M=O+ft|0)>>>0>>0?1:0)|0,U=P,O=R,P=S,R=E,S=z,E=C,z=Nt+(bt+_t+(kt>>>0>>0?1:0))+((C=ft+kt|0)>>>0>>0?1:0)|0}_=n.low=_+C,n.high=d+z+(_>>>0>>0?1:0),b=i.low=b+E,i.high=p+S+(b>>>0>>0?1:0),y=a.low=y+R,a.high=g+P+(y>>>0>>0?1:0),w=s.low=w+O,s.high=A+U+(w>>>0>>0?1:0),v=o.low=v+M,o.high=m+L+(v>>>0>>0?1:0),k=c.low=k+H,c.high=N+T+(k>>>0>>0?1:0),V=f.low=V+I,f.high=x+F+(V>>>0>>0?1:0),B=u.low=B+j,u.high=D+Z+(B>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),e[31+(n+128>>>10<<5)]=r,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});e.SHA512=r._createHelper(c),e.HmacSHA512=r._createHmacHelper(c)}(),t.SHA512)),mt.exports;var t}var Nt,kt,xt={exports:{}},Vt={exports:{}};var Dt,Bt,zt={exports:{}},Ct={exports:{}};function St(){return Bt||(Bt=1,Ct.exports=(e=(t=Q()).lib.Base,r=t.enc.Utf8,void(t.algo.HMAC=e.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=r.parse(e));var n=t.blockSize,i=4*n;e.sigBytes>i&&(e=t.finalize(e)),e.clamp();for(var a=this._oKey=e.clone(),s=this._iKey=e.clone(),o=a.words,h=s.words,l=0;l>>2];t.sigBytes-=e}};n.BlockCipher=c.extend({cfg:c.cfg.extend({mode:d,padding:_}),reset:function(){var t;c.reset.call(this);var e=this.cfg,r=e.iv,n=e.mode;this._xformMode==this._ENC_XFORM_MODE?t=n.createEncryptor:(t=n.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==t?this._mode.init(this,r&&r.words):(this._mode=t.call(n,this,r&&r.words),this._mode.__creator=t)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t,e=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(e.pad(this._data,this.blockSize),t=this._process(!0)):(t=this._process(!0),e.unpad(t)),t},blockSize:4});var p=n.CipherParams=i.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}}),b=(r.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,r=t.salt;return(r?a.create([1398893684,1701076831]).concat(r).concat(e):e).toString(h)},parse:function(t){var e,r=h.parse(t),n=r.words;return 1398893684==n[0]&&1701076831==n[1]&&(e=a.create(n.slice(2,4)),n.splice(0,4),r.sigBytes-=16),p.create({ciphertext:r,salt:e})}},g=n.SerializableCipher=i.extend({cfg:i.extend({format:b}),encrypt:function(t,e,r,n){n=this.cfg.extend(n);var i=t.createEncryptor(r,n),a=i.finalize(e),s=i.cfg;return p.create({ciphertext:a,key:r,iv:s.iv,algorithm:t,mode:s.mode,padding:s.padding,blockSize:t.blockSize,formatter:n.format})},decrypt:function(t,e,r,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),t.createDecryptor(r,n).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),y=(r.kdf={}).OpenSSL={execute:function(t,e,r,n,i){if(n||(n=a.random(8)),i)s=l.create({keySize:e+r,hasher:i}).compute(t,n);else var s=l.create({keySize:e+r}).compute(t,n);var o=a.create(s.words.slice(e),4*r);return s.sigBytes=4*e,p.create({key:s,iv:o,salt:n})}},A=n.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:y}),encrypt:function(t,e,r,n){var i=(n=this.cfg.extend(n)).kdf.execute(r,t.keySize,t.ivSize,n.salt,n.hasher);n.iv=i.iv;var a=g.encrypt.call(this,t,e,i.key,n);return a.mixIn(i),a},decrypt:function(t,e,r,n){n=this.cfg.extend(n),e=this._parse(e,n.format);var i=n.kdf.execute(r,t.keySize,t.ivSize,e.salt,n.hasher);return n.iv=i.iv,g.decrypt.call(this,t,e,i.key,n)}})}()))),Mt.exports;var t}var Ht,Ft,It,Zt={exports:{}},jt={exports:{}},Wt={exports:{}};var Kt,Xt,Yt,qt,Gt,Qt,Jt,$t,te,ee,re={exports:{}},ne={exports:{}},ie={exports:{}},ae={exports:{}},se={exports:{}},oe={exports:{}},he={exports:{}},le={exports:{}},ce={exports:{}},fe={exports:{}};var ue,de,_e,pe,be,ge,ye,Ae,we,me,ve={exports:{}},Ne={exports:{}},ke={exports:{}},xe={exports:{}};const Ve=X({exports:{}}.exports=function(t){return t}(Q(),tt(),(et||(et=1,rt.exports=(De=Q(),function(){if("function"==typeof ArrayBuffer){var t=De.lib.WordArray,e=t.init,r=t.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var r=t.byteLength,n=[],i=0;i>>2]|=t[i]<<24-i%4*8;e.call(this,n,r)}else e.apply(this,arguments)};r.prototype=t}}(),De.lib.WordArray)),rt.exports),function(){return nt?it.exports:(nt=1,it.exports=(t=Q(),function(){var e=t,r=e.lib.WordArray,n=e.enc;function i(t){return t<<8&4278255360|t>>>8&16711935}n.Utf16=n.Utf16BE={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i>>2]>>>16-i%4*8&65535;n.push(String.fromCharCode(a))}return n.join("")},parse:function(t){for(var e=t.length,n=[],i=0;i>>1]|=t.charCodeAt(i)<<16-i%2*16;return r.create(n,2*e)}},n.Utf16LE={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],a=0;a>>2]>>>16-a%4*8&65535);n.push(String.fromCharCode(s))}return n.join("")},parse:function(t){for(var e=t.length,n=[],a=0;a>>1]|=i(t.charCodeAt(a)<<16-a%2*16);return r.create(n,2*e)}}}(),t.enc.Utf16));var t}(),ot(),function(){return ht?lt.exports:(ht=1,lt.exports=(r=Q(),e=(t=r).lib.WordArray,t.enc.Base64url={stringify:function(t,e){void 0===e&&(e=!0);var r=t.words,n=t.sigBytes,i=e?this._safe_map:this._map;t.clamp();for(var a=[],s=0;s>>2]>>>24-s%4*8&255)<<16|(r[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|r[s+2>>>2]>>>24-(s+2)%4*8&255,h=0;h<4&&s+.75*h>>6*(3-h)&63));var l=i.charAt(64);if(l)for(;a.length%4;)a.push(l);return a.join("")},parse:function(t,r){void 0===r&&(r=!0);var n=t.length,i=r?this._safe_map:this._map,a=this._reverseMap;if(!a){a=this._reverseMap=[];for(var s=0;s>>6-s%4*2;i[a>>>2]|=o<<24-a%4*8,a++}return e.create(i,a)}(t,n,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},r.enc.Base64url));var t,e,r}(),ut(),pt(),yt(),At||(At=1,me=Q(),yt(),ge=(be=me).lib.WordArray,ye=be.algo,Ae=ye.SHA256,we=ye.SHA224=Ae.extend({_doReset:function(){this._hash=new ge.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var t=Ae._doFinalize.call(this);return t.sigBytes-=4,t}}),be.SHA224=Ae._createHelper(we),be.HmacSHA224=Ae._createHmacHelper(we),me.SHA224),vt(),function(){return Nt?xt.exports:(Nt=1,xt.exports=(o=Q(),tt(),vt(),e=(t=o).x64,r=e.Word,n=e.WordArray,i=t.algo,a=i.SHA512,s=i.SHA384=a.extend({_doReset:function(){this._hash=new n.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var t=a._doFinalize.call(this);return t.sigBytes-=16,t}}),t.SHA384=a._createHelper(s),t.HmacSHA384=a._createHmacHelper(s),o.SHA384));var t,e,r,n,i,a,s,o}(),function(){return kt?Vt.exports:(kt=1,Vt.exports=(t=Q(),tt(),function(e){var r=t,n=r.lib,i=n.WordArray,a=n.Hasher,s=r.x64.Word,o=r.algo,h=[],l=[],c=[];!function(){for(var t=1,e=0,r=0;r<24;r++){h[t+5*e]=(r+1)*(r+2)/2%64;var n=(2*t+3*e)%5;t=e%5,e=n}for(t=0;t<5;t++)for(e=0;e<5;e++)l[t+5*e]=e+(2*t+3*e)%5*5;for(var i=1,a=0;a<24;a++){for(var o=0,f=0,u=0;u<7;u++){if(1&i){var d=(1<>>24)|4278255360&(a<<24|a>>>8),s=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),(B=r[i]).high^=s,B.low^=a}for(var o=0;o<24;o++){for(var u=0;u<5;u++){for(var d=0,_=0,p=0;p<5;p++)d^=(B=r[u+5*p]).high,_^=B.low;var b=f[u];b.high=d,b.low=_}for(u=0;u<5;u++){var g=f[(u+4)%5],y=f[(u+1)%5],A=y.high,w=y.low;for(d=g.high^(A<<1|w>>>31),_=g.low^(w<<1|A>>>31),p=0;p<5;p++)(B=r[u+5*p]).high^=d,B.low^=_}for(var m=1;m<25;m++){var v=(B=r[m]).high,N=B.low,k=h[m];k<32?(d=v<>>32-k,_=N<>>32-k):(d=N<>>64-k,_=v<>>64-k);var x=f[l[m]];x.high=d,x.low=_}var V=f[0],D=r[0];for(V.high=D.high,V.low=D.low,u=0;u<5;u++)for(p=0;p<5;p++){var B=r[m=u+5*p],z=f[m],C=f[(u+1)%5+5*p],S=f[(u+2)%5+5*p];B.high=z.high^~C.high&S.high,B.low=z.low^~C.low&S.low}B=r[0];var E=c[o];B.high^=E.high,B.low^=E.low}},_doFinalize:function(){var t=this._data,r=t.words;this._nDataBytes;var n=8*t.sigBytes,a=32*this.blockSize;r[n>>>5]|=1<<24-n%32,r[(e.ceil((n+1)/a)*a>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var s=this._state,o=this.cfg.outputLength/8,h=o/8,l=[],c=0;c>>24)|4278255360&(u<<24|u>>>8),d=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),l.push(d),l.push(u)}return new i.init(l,o)},clone:function(){for(var t=a.clone.call(this),e=t._state=this._state.slice(0),r=0;r<25;r++)e[r]=e[r].clone();return t}});r.SHA3=a._createHelper(u),r.HmacSHA3=a._createHmacHelper(u)}(Math),t.SHA3));var t}(),function(){return Dt?zt.exports:(Dt=1,zt.exports=(t=Q(),function(e){var r=t,n=r.lib,i=n.WordArray,a=n.Hasher,s=r.algo,o=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),h=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),f=i.create([0,1518500249,1859775393,2400959708,2840853838]),u=i.create([1352829926,1548603684,1836072691,2053994217,0]),d=s.RIPEMD160=a.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var n=e+r,i=t[n];t[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var a,s,d,w,m,v,N,k,x,V,D,B=this._hash.words,z=f.words,C=u.words,S=o.words,E=h.words,P=l.words,R=c.words;for(v=a=B[0],N=s=B[1],k=d=B[2],x=w=B[3],V=m=B[4],r=0;r<80;r+=1)D=a+t[e+S[r]]|0,D+=r<16?_(s,d,w)+z[0]:r<32?p(s,d,w)+z[1]:r<48?b(s,d,w)+z[2]:r<64?g(s,d,w)+z[3]:y(s,d,w)+z[4],D=(D=A(D|=0,P[r]))+m|0,a=m,m=w,w=A(d,10),d=s,s=D,D=v+t[e+E[r]]|0,D+=r<16?y(N,k,x)+C[0]:r<32?g(N,k,x)+C[1]:r<48?b(N,k,x)+C[2]:r<64?p(N,k,x)+C[3]:_(N,k,x)+C[4],D=(D=A(D|=0,R[r]))+V|0,v=V,V=x,x=A(k,10),k=N,N=D;D=B[1]+d+x|0,B[1]=B[2]+w+V|0,B[2]=B[3]+m+v|0,B[3]=B[4]+a+N|0,B[4]=B[0]+s+k|0,B[0]=D},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(e.length+1),this._process();for(var i=this._hash,a=i.words,s=0;s<5;s++){var o=a[s];a[s]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}return i},clone:function(){var t=a.clone.call(this);return t._hash=this._hash.clone(),t}});function _(t,e,r){return t^e^r}function p(t,e,r){return t&e|~t&r}function b(t,e,r){return(t|~e)^r}function g(t,e,r){return t&r|e&~r}function y(t,e,r){return t^(e|~r)}function A(t,e){return t<>>32-e}r.RIPEMD160=a._createHelper(d),r.HmacRIPEMD160=a._createHmacHelper(d)}(),t.RIPEMD160));var t}(),St(),function(){return Et?Rt.exports:(Et=1,Rt.exports=(h=Q(),yt(),St(),r=(e=(t=h).lib).Base,n=e.WordArray,a=(i=t.algo).SHA256,s=i.HMAC,o=i.PBKDF2=r.extend({cfg:r.extend({keySize:4,hasher:a,iterations:25e4}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var r=this.cfg,i=s.create(r.hasher,t),a=n.create(),o=n.create([1]),h=a.words,l=o.words,c=r.keySize,f=r.iterations;h.length>24))t+=1<<24;else{var e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}var n=e.Encryptor=e.extend({processBlock:function(t,e){var n=this._cipher,i=n.blockSize,a=this._iv,s=this._counter;a&&(s=this._counter=a.slice(0),this._iv=void 0),function(t){0===(t[0]=r(t[0]))&&(t[1]=r(t[1]))}(s);var o=s.slice(0);n.encryptBlock(o,0);for(var h=0;h>>2]|=i<<24-a%4*8,t.sigBytes+=i},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},t.pad.Ansix923));var t}(),function(){return qt?ae.exports:(qt=1,ae.exports=(t=Q(),Tt(),t.pad.Iso10126={pad:function(e,r){var n=4*r,i=n-e.sigBytes%n;e.concat(t.lib.WordArray.random(i-1)).concat(t.lib.WordArray.create([i<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},t.pad.Iso10126));var t}(),function(){return Gt?se.exports:(Gt=1,se.exports=(t=Q(),Tt(),t.pad.Iso97971={pad:function(e,r){e.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(e,r)},unpad:function(e){t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.pad.Iso97971));var t}(),function(){return Qt?oe.exports:(Qt=1,oe.exports=(t=Q(),Tt(),t.pad.ZeroPadding={pad:function(t,e){var r=4*e;t.clamp(),t.sigBytes+=r-(t.sigBytes%r||r)},unpad:function(t){var e=t.words,r=t.sigBytes-1;for(r=t.sigBytes-1;r>=0;r--)if(e[r>>>2]>>>24-r%4*8&255){t.sigBytes=r+1;break}}},t.pad.ZeroPadding));var t}(),function(){return Jt?he.exports:(Jt=1,he.exports=(t=Q(),Tt(),t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding));var t}(),function(){return $t?le.exports:($t=1,le.exports=(n=Q(),Tt(),e=(t=n).lib.CipherParams,r=t.enc.Hex,t.format.Hex={stringify:function(t){return t.ciphertext.toString(r)},parse:function(t){var n=r.parse(t);return e.create({ciphertext:n})}},n.format.Hex));var t,e,r,n}(),function(){return te?ce.exports:(te=1,ce.exports=(t=Q(),ot(),ut(),Ot(),Tt(),function(){var e=t,r=e.lib.BlockCipher,n=e.algo,i=[],a=[],s=[],o=[],h=[],l=[],c=[],f=[],u=[],d=[];!function(){for(var t=[],e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;var r=0,n=0;for(e=0;e<256;e++){var _=n^n<<1^n<<2^n<<3^n<<4;_=_>>>8^255&_^99,i[r]=_,a[_]=r;var p=t[r],b=t[p],g=t[b],y=257*t[_]^16843008*_;s[r]=y<<24|y>>>8,o[r]=y<<16|y>>>16,h[r]=y<<8|y>>>24,l[r]=y,y=16843009*g^65537*b^257*p^16843008*r,c[_]=y<<24|y>>>8,f[_]=y<<16|y>>>16,u[_]=y<<8|y>>>24,d[_]=y,r?(r=p^t[t[t[g^p]]],n^=t[t[n]]):r=n=1}}();var _=[0,1,2,4,8,16,32,64,128,27,54],p=n.AES=r.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,r=t.sigBytes/4,n=4*((this._nRounds=r+6)+1),a=this._keySchedule=[],s=0;s6&&s%r==4&&(l=i[l>>>24]<<24|i[l>>>16&255]<<16|i[l>>>8&255]<<8|i[255&l]):(l=i[(l=l<<8|l>>>24)>>>24]<<24|i[l>>>16&255]<<16|i[l>>>8&255]<<8|i[255&l],l^=_[s/r|0]<<24),a[s]=a[s-r]^l);for(var o=this._invKeySchedule=[],h=0;h>>24]]^f[i[l>>>16&255]]^u[i[l>>>8&255]]^d[i[255&l]]}}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,s,o,h,l,i)},decryptBlock:function(t,e){var r=t[e+1];t[e+1]=t[e+3],t[e+3]=r,this._doCryptBlock(t,e,this._invKeySchedule,c,f,u,d,a),r=t[e+1],t[e+1]=t[e+3],t[e+3]=r},_doCryptBlock:function(t,e,r,n,i,a,s,o){for(var h=this._nRounds,l=t[e]^r[0],c=t[e+1]^r[1],f=t[e+2]^r[2],u=t[e+3]^r[3],d=4,_=1;_>>24]^i[c>>>16&255]^a[f>>>8&255]^s[255&u]^r[d++],b=n[c>>>24]^i[f>>>16&255]^a[u>>>8&255]^s[255&l]^r[d++],g=n[f>>>24]^i[u>>>16&255]^a[l>>>8&255]^s[255&c]^r[d++],y=n[u>>>24]^i[l>>>16&255]^a[c>>>8&255]^s[255&f]^r[d++];l=p,c=b,f=g,u=y}p=(o[l>>>24]<<24|o[c>>>16&255]<<16|o[f>>>8&255]<<8|o[255&u])^r[d++],b=(o[c>>>24]<<24|o[f>>>16&255]<<16|o[u>>>8&255]<<8|o[255&l])^r[d++],g=(o[f>>>24]<<24|o[u>>>16&255]<<16|o[l>>>8&255]<<8|o[255&c])^r[d++],y=(o[u>>>24]<<24|o[l>>>16&255]<<16|o[c>>>8&255]<<8|o[255&f])^r[d++],t[e]=p,t[e+1]=b,t[e+2]=g,t[e+3]=y},keySize:8});e.AES=r._createHelper(p)}(),t.AES));var t}(),function(){return ee?fe.exports:(ee=1,fe.exports=(t=Q(),ot(),ut(),Ot(),Tt(),function(){var e=t,r=e.lib,n=r.WordArray,i=r.BlockCipher,a=e.algo,s=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],h=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],c=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],f=a.DES=i.extend({_doReset:function(){for(var t=this._key.words,e=[],r=0;r<56;r++){var n=s[r]-1;e[r]=t[n>>>5]>>>31-n%32&1}for(var i=this._subKeys=[],a=0;a<16;a++){var l=i[a]=[],c=h[a];for(r=0;r<24;r++)l[r/6|0]|=e[(o[r]-1+c)%28]<<31-r%6,l[4+(r/6|0)]|=e[28+(o[r+24]-1+c)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var f=this._invSubKeys=[];for(r=0;r<16;r++)f[r]=i[15-r]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,e,r){this._lBlock=t[e],this._rBlock=t[e+1],u.call(this,4,252645135),u.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),u.call(this,1,1431655765);for(var n=0;n<16;n++){for(var i=r[n],a=this._lBlock,s=this._rBlock,o=0,h=0;h<8;h++)o|=l[h][((s^i[h])&c[h])>>>0];this._lBlock=s,this._rBlock=a^o}var f=this._lBlock;this._lBlock=this._rBlock,this._rBlock=f,u.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),t[e]=this._lBlock,t[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function u(t,e){var r=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=r,this._lBlock^=r<>>t^this._lBlock)&e;this._lBlock^=r,this._rBlock^=r<192.");var e=t.slice(0,2),r=t.length<4?t.slice(0,2):t.slice(2,4),i=t.length<6?t.slice(0,2):t.slice(4,6);this._des1=f.createEncryptor(n.create(e)),this._des2=f.createEncryptor(n.create(r)),this._des3=f.createEncryptor(n.create(i))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=i._createHelper(_)}(),t.TripleDES));var t}(),function(){return ue?ve.exports:(ue=1,ve.exports=(t=Q(),ot(),ut(),Ot(),Tt(),function(){var e=t,r=e.lib.StreamCipher,n=e.algo,i=n.RC4=r.extend({_doReset:function(){for(var t=this._key,e=t.words,r=t.sigBytes,n=this._S=[],i=0;i<256;i++)n[i]=i;i=0;for(var a=0;i<256;i++){var s=i%r,o=e[s>>>2]>>>24-s%4*8&255;a=(a+n[i]+o)%256;var h=n[i];n[i]=n[a],n[a]=h}this._i=this._j=0},_doProcessBlock:function(t,e){t[e]^=a.call(this)},keySize:8,ivSize:0});function a(){for(var t=this._S,e=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+t[e=(e+1)%256])%256;var a=t[e];t[e]=t[r],t[r]=a,n|=t[(t[e]+t[r])%256]<<24-8*i}return this._i=e,this._j=r,n}e.RC4=r._createHelper(i);var s=n.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var t=this.cfg.drop;t>0;t--)a.call(this)}});e.RC4Drop=r._createHelper(s)}(),t.RC4));var t}(),function(){return de?Ne.exports:(de=1,Ne.exports=(t=Q(),ot(),ut(),Ot(),Tt(),function(){var e=t,r=e.lib.StreamCipher,n=e.algo,i=[],a=[],s=[],o=n.Rabbit=r.extend({_doReset:function(){for(var t=this._key.words,e=this.cfg.iv,r=0;r<4;r++)t[r]=16711935&(t[r]<<8|t[r]>>>24)|4278255360&(t[r]<<24|t[r]>>>8);var n=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],i=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];for(this._b=0,r=0;r<4;r++)h.call(this);for(r=0;r<8;r++)i[r]^=n[r+4&7];if(e){var a=e.words,s=a[0],o=a[1],l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),c=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),f=l>>>16|4294901760&c,u=c<<16|65535&l;for(i[0]^=l,i[1]^=f,i[2]^=c,i[3]^=u,i[4]^=l,i[5]^=f,i[6]^=c,i[7]^=u,r=0;r<4;r++)h.call(this)}},_doProcessBlock:function(t,e){var r=this._X;h.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),t[e+n]^=i[n]},blockSize:4,ivSize:2});function h(){for(var t=this._X,e=this._C,r=0;r<8;r++)a[r]=e[r];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,r=0;r<8;r++){var n=t[r]+e[r],i=65535&n,o=n>>>16,h=((i*i>>>17)+i*o>>>15)+o*o,l=((4294901760&n)*n|0)+((65535&n)*n|0);s[r]=h^l}t[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,t[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,t[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,t[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,t[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,t[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,t[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,t[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0}e.Rabbit=r._createHelper(o)}(),t.Rabbit));var t}(),function(){return _e?ke.exports:(_e=1,ke.exports=(t=Q(),ot(),ut(),Ot(),Tt(),function(){var e=t,r=e.lib.StreamCipher,n=e.algo,i=[],a=[],s=[],o=n.RabbitLegacy=r.extend({_doReset:function(){var t=this._key.words,e=this.cfg.iv,r=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],n=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var i=0;i<4;i++)h.call(this);for(i=0;i<8;i++)n[i]^=r[i+4&7];if(e){var a=e.words,s=a[0],o=a[1],l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),c=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),f=l>>>16|4294901760&c,u=c<<16|65535&l;for(n[0]^=l,n[1]^=f,n[2]^=c,n[3]^=u,n[4]^=l,n[5]^=f,n[6]^=c,n[7]^=u,i=0;i<4;i++)h.call(this)}},_doProcessBlock:function(t,e){var r=this._X;h.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),t[e+n]^=i[n]},blockSize:4,ivSize:2});function h(){for(var t=this._X,e=this._C,r=0;r<8;r++)a[r]=e[r];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,r=0;r<8;r++){var n=t[r]+e[r],i=65535&n,o=n>>>16,h=((i*i>>>17)+i*o>>>15)+o*o,l=((4294901760&n)*n|0)+((65535&n)*n|0);s[r]=h^l}t[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,t[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,t[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,t[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,t[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,t[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,t[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,t[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0}e.RabbitLegacy=r._createHelper(o)}(),t.RabbitLegacy));var t}(),function(){return pe?xe.exports:(pe=1,xe.exports=(t=Q(),ot(),ut(),Ot(),Tt(),function(){var e=t,r=e.lib.BlockCipher,n=e.algo;const i=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],s=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var o={pbox:[],sbox:[]};function h(t,e){let r=e>>24&255,n=e>>16&255,i=e>>8&255,a=255&e,s=t.sbox[0][r]+t.sbox[1][n];return s^=t.sbox[2][i],s+=t.sbox[3][a],s}function l(t,e,r){let n,a=e,s=r;for(let o=0;o=r&&(n=0);let o=0,h=0,c=0;for(let a=0;a1;--o)a^=t.pbox[o],s=h(t,a)^s,n=a,a=s,s=n;return n=a,a=s,s=n,s^=t.pbox[1],a^=t.pbox[0],{left:a,right:s}}(o,t[e],t[e+1]);t[e]=r.left,t[e+1]=r.right},blockSize:2,keySize:4,ivSize:2});e.Blowfish=r._createHelper(c)}(),t.Blowfish));var t}()));var De;function Be(t){let e=t.length;for(;--e>=0;)t[e]=0}const ze=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Ce=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Se=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Ee=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Pe=new Array(576);Be(Pe);const Re=new Array(60);Be(Re);const Ue=new Array(512);Be(Ue);const Oe=new Array(256);Be(Oe);const Le=new Array(29);Be(Le);const Me=new Array(30);function Te(t,e,r,n,i){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=t&&t.length}let He,Fe,Ie;function Ze(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}Be(Me);const je=t=>t<256?Ue[t]:Ue[256+(t>>>7)],We=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},Ke=(t,e,r)=>{t.bi_valid>16-r?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<{Ke(t,r[2*e],r[2*e+1])},Ye=(t,e)=>{let r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1},qe=(t,e,r)=>{const n=new Array(16);let i,a,s=0;for(i=1;i<=15;i++)s=s+r[i-1]<<1,n[i]=s;for(a=0;a<=e;a++){let e=t[2*a+1];0!==e&&(t[2*a]=Ye(n[e]++,e))}},Ge=t=>{let e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},Qe=t=>{t.bi_valid>8?We(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},Je=(t,e,r,n)=>{const i=2*e,a=2*r;return t[i]{const n=t.heap[r];let i=r<<1;for(;i<=t.heap_len&&(i{let n,i,a,s,o=0;if(0!==t.sym_next)do{n=255&t.pending_buf[t.sym_buf+o++],n+=(255&t.pending_buf[t.sym_buf+o++])<<8,i=t.pending_buf[t.sym_buf+o++],0===n?Xe(t,i,e):(a=Oe[i],Xe(t,a+256+1,e),s=ze[a],0!==s&&(i-=Le[a],Ke(t,i,s)),n--,a=je(n),Xe(t,a,r),s=Ce[a],0!==s&&(n-=Me[a],Ke(t,n,s)))}while(o{const r=e.dyn_tree,n=e.stat_desc.static_tree,i=e.stat_desc.has_stree,a=e.stat_desc.elems;let s,o,h,l=-1;for(t.heap_len=0,t.heap_max=573,s=0;s>1;s>=1;s--)$e(t,r,s);h=a;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],$e(t,r,1),o=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=o,r[2*h]=r[2*s]+r[2*o],t.depth[h]=(t.depth[s]>=t.depth[o]?t.depth[s]:t.depth[o])+1,r[2*s+1]=r[2*o+1]=h,t.heap[1]=h++,$e(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const r=e.dyn_tree,n=e.max_code,i=e.stat_desc.static_tree,a=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,h=e.stat_desc.max_length;let l,c,f,u,d,_,p=0;for(u=0;u<=15;u++)t.bl_count[u]=0;for(r[2*t.heap[t.heap_max]+1]=0,l=t.heap_max+1;l<573;l++)c=t.heap[l],u=r[2*r[2*c+1]+1]+1,u>h&&(u=h,p++),r[2*c+1]=u,c>n||(t.bl_count[u]++,d=0,c>=o&&(d=s[c-o]),_=r[2*c],t.opt_len+=_*(u+d),a&&(t.static_len+=_*(i[2*c+1]+d)));if(0!==p){do{for(u=h-1;0===t.bl_count[u];)u--;t.bl_count[u]--,t.bl_count[u+1]+=2,t.bl_count[h]--,p-=2}while(p>0);for(u=h;0!==u;u--)for(c=t.bl_count[u];0!==c;)f=t.heap[--l],f>n||(r[2*f+1]!==u&&(t.opt_len+=(u-r[2*f+1])*r[2*f],r[2*f+1]=u),c--)}})(t,e),qe(r,l,t.bl_count)},rr=(t,e,r)=>{let n,i,a=-1,s=e[1],o=0,h=7,l=4;for(0===s&&(h=138,l=3),e[2*(r+1)+1]=65535,n=0;n<=r;n++)i=s,s=e[2*(n+1)+1],++o{let n,i,a=-1,s=e[1],o=0,h=7,l=4;for(0===s&&(h=138,l=3),n=0;n<=r;n++)if(i=s,s=e[2*(n+1)+1],!(++o{Ke(t,0+(n?1:0),3),Qe(t),We(t,r),We(t,~r),r&&t.pending_buf.set(t.window.subarray(e,e+r),t.pending),t.pending+=r};var sr={_tr_init:t=>{ir||((()=>{let t,e,r,n,i;const a=new Array(16);for(r=0,n=0;n<28;n++)for(Le[n]=r,t=0;t<1<>=7;n<30;n++)for(Me[n]=i<<7,t=0;t<1<{let i,a,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),er(t,t.l_desc),er(t,t.d_desc),s=(t=>{let e;for(rr(t,t.dyn_ltree,t.l_desc.max_code),rr(t,t.dyn_dtree,t.d_desc.max_code),er(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*Ee[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),i=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=i&&(i=a)):i=a=r+5,r+4<=i&&-1!==e?ar(t,e,r,n):4===t.strategy||a===i?(Ke(t,2+(n?1:0),3),tr(t,Pe,Re)):(Ke(t,4+(n?1:0),3),((t,e,r,n)=>{let i;for(Ke(t,e-257,5),Ke(t,r-1,5),Ke(t,n-4,4),i=0;i(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=r,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(Oe[r]+256+1)]++,t.dyn_dtree[2*je(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{var e;Ke(t,2,3),Xe(t,256,Pe),16===(e=t).bi_valid?(We(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}},or=(t,e,r,n)=>{let i=65535&t,a=t>>>16&65535,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{i=i+e[n++]|0,a=a+i|0}while(--s);i%=65521,a%=65521}return i|a<<16};const hr=new Uint32Array((()=>{let t,e=[];for(var r=0;r<256;r++){t=r;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e})());var lr=(t,e,r,n)=>{const i=hr,a=n+r;t^=-1;for(let s=n;s>>8^i[255&(t^e[s])];return~t},cr={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},fr={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:ur,_tr_stored_block:dr,_tr_flush_block:_r,_tr_tally:pr,_tr_align:br}=sr,{Z_NO_FLUSH:gr,Z_PARTIAL_FLUSH:yr,Z_FULL_FLUSH:Ar,Z_FINISH:wr,Z_BLOCK:mr,Z_OK:vr,Z_STREAM_END:Nr,Z_STREAM_ERROR:kr,Z_DATA_ERROR:xr,Z_BUF_ERROR:Vr,Z_DEFAULT_COMPRESSION:Dr,Z_FILTERED:Br,Z_HUFFMAN_ONLY:zr,Z_RLE:Cr,Z_FIXED:Sr,Z_DEFAULT_STRATEGY:Er,Z_UNKNOWN:Pr,Z_DEFLATED:Rr}=fr,Ur=258,Or=262,Lr=42,Mr=113,Tr=666,Hr=(t,e)=>(t.msg=cr[e],e),Fr=t=>2*t-(t>4?9:0),Ir=t=>{let e=t.length;for(;--e>=0;)t[e]=0},Zr=t=>{let e,r,n,i=t.w_size;e=t.hash_size,n=e;do{r=t.head[--n],t.head[n]=r>=i?r-i:0}while(--e);e=i,n=e;do{r=t.prev[--n],t.prev[n]=r>=i?r-i:0}while(--e)};let jr=(t,e,r)=>(e<{const e=t.state;let r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+r),t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))},Kr=(t,e)=>{_r(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,Wr(t.strm)},Xr=(t,e)=>{t.pending_buf[t.pending++]=e},Yr=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},qr=(t,e,r,n)=>{let i=t.avail_in;return i>n&&(i=n),0===i?0:(t.avail_in-=i,e.set(t.input.subarray(t.next_in,t.next_in+i),r),1===t.state.wrap?t.adler=or(t.adler,e,i,r):2===t.state.wrap&&(t.adler=lr(t.adler,e,i,r)),t.next_in+=i,t.total_in+=i,i)},Gr=(t,e)=>{let r,n,i=t.max_chain_length,a=t.strstart,s=t.prev_length,o=t.nice_match;const h=t.strstart>t.w_size-Or?t.strstart-(t.w_size-Or):0,l=t.window,c=t.w_mask,f=t.prev,u=t.strstart+Ur;let d=l[a+s-1],_=l[a+s];t.prev_length>=t.good_match&&(i>>=2),o>t.lookahead&&(o=t.lookahead);do{if(r=e,l[r+s]===_&&l[r+s-1]===d&&l[r]===l[a]&&l[++r]===l[a+1]){a+=2,r++;do{}while(l[++a]===l[++r]&&l[++a]===l[++r]&&l[++a]===l[++r]&&l[++a]===l[++r]&&l[++a]===l[++r]&&l[++a]===l[++r]&&l[++a]===l[++r]&&l[++a]===l[++r]&&as){if(t.match_start=e,s=n,n>=o)break;d=l[a+s-1],_=l[a+s]}}}while((e=f[e&c])>h&&0!=--i);return s<=t.lookahead?s:t.lookahead},Qr=t=>{const e=t.w_size;let r,n,i;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-Or)&&(t.window.set(t.window.subarray(e,e+e-n),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),Zr(t),n+=e),0===t.strm.avail_in)break;if(r=qr(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=r,t.lookahead+t.insert>=3)for(i=t.strstart-t.insert,t.ins_h=t.window[i],t.ins_h=jr(t,t.ins_h,t.window[i+1]);t.insert&&(t.ins_h=jr(t,t.ins_h,t.window[i+3-1]),t.prev[i&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=i,i++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead{let r,n,i,a=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,s=0,o=t.strm.avail_in;do{if(r=65535,i=t.bi_valid+42>>3,t.strm.avail_outn+t.strm.avail_in&&(r=n+t.strm.avail_in),r>i&&(r=i),r>8,t.pending_buf[t.pending-2]=~r,t.pending_buf[t.pending-1]=~r>>8,Wr(t.strm),n&&(n>r&&(n=r),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+n),t.strm.next_out),t.strm.next_out+=n,t.strm.avail_out-=n,t.strm.total_out+=n,t.block_start+=n,r-=n),r&&(qr(t.strm,t.strm.output,t.strm.next_out,r),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r)}while(0===s);return o-=t.strm.avail_in,o&&(o>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=o&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-o,t.strm.next_in),t.strstart),t.strstart+=o,t.insert+=o>t.w_size-t.insert?t.w_size-t.insert:o),t.block_start=t.strstart),t.high_wateri&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,i+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),i>t.strm.avail_in&&(i=t.strm.avail_in),i&&(qr(t.strm,t.window,t.strstart,i),t.strstart+=i,t.insert+=i>t.w_size-t.insert?t.w_size-t.insert:i),t.high_water>3,i=t.pending_buf_size-i>65535?65535:t.pending_buf_size-i,a=i>t.w_size?t.w_size:i,n=t.strstart-t.block_start,(n>=a||(n||e===wr)&&e!==gr&&0===t.strm.avail_in&&n<=i)&&(r=n>i?i:n,s=e===wr&&0===t.strm.avail_in&&r===n?1:0,dr(t,t.block_start,r,s),t.block_start+=r,Wr(t.strm)),s?3:1)},$r=(t,e)=>{let r,n;for(;;){if(t.lookahead=3&&(t.ins_h=jr(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-Or&&(t.match_length=Gr(t,r)),t.match_length>=3)if(n=pr(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=jr(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=jr(t,t.ins_h,t.window[t.strstart+1]);else n=pr(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(Kr(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===wr?(Kr(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Kr(t,!1),0===t.strm.avail_out)?1:2},tn=(t,e)=>{let r,n,i;for(;;){if(t.lookahead=3&&(t.ins_h=jr(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,n=pr(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=jr(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(Kr(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(n=pr(t,0,t.window[t.strstart-1]),n&&Kr(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=pr(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===wr?(Kr(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Kr(t,!1),0===t.strm.avail_out)?1:2};function en(t,e,r,n,i){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=n,this.func=i}const rn=[new en(0,0,0,0,Jr),new en(4,4,8,4,$r),new en(4,5,16,8,$r),new en(4,6,32,32,$r),new en(4,4,16,16,tn),new en(8,16,32,32,tn),new en(8,16,128,128,tn),new en(8,32,128,256,tn),new en(32,128,258,1024,tn),new en(32,258,258,4096,tn)];function nn(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Rr,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),Ir(this.dyn_ltree),Ir(this.dyn_dtree),Ir(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),Ir(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),Ir(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const an=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==Lr&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==Mr&&e.status!==Tr?1:0},sn=t=>{if(an(t))return Hr(t,kr);t.total_in=t.total_out=0,t.data_type=Pr;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?Lr:Mr,t.adler=2===e.wrap?0:1,e.last_flush=-2,ur(e),vr},on=t=>{const e=sn(t);var r;return e===vr&&((r=t.state).window_size=2*r.w_size,Ir(r.head),r.max_lazy_match=rn[r.level].max_lazy,r.good_match=rn[r.level].good_length,r.nice_match=rn[r.level].nice_length,r.max_chain_length=rn[r.level].max_chain,r.strstart=0,r.block_start=0,r.lookahead=0,r.insert=0,r.match_length=r.prev_length=2,r.match_available=0,r.ins_h=0),e},hn=(t,e,r,n,i,a)=>{if(!t)return kr;let s=1;if(e===Dr&&(e=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),i<1||i>9||r!==Rr||n<8||n>15||e<0||e>9||a<0||a>Sr||8===n&&1!==s)return Hr(t,kr);8===n&&(n=9);const o=new nn;return t.state=o,o.strm=t,o.status=Lr,o.wrap=s,o.gzhead=null,o.w_bits=n,o.w_size=1<hn(t,e,Rr,15,8,Er),deflateInit2:hn,deflateReset:on,deflateResetKeep:sn,deflateSetHeader:(t,e)=>an(t)||2!==t.state.wrap?kr:(t.state.gzhead=e,vr),deflate:(t,e)=>{if(an(t)||e>mr||e<0)return t?Hr(t,kr):kr;const r=t.state;if(!t.output||0!==t.avail_in&&!t.input||r.status===Tr&&e!==wr)return Hr(t,0===t.avail_out?Vr:kr);const n=r.last_flush;if(r.last_flush=e,0!==r.pending){if(Wr(t),0===t.avail_out)return r.last_flush=-1,vr}else if(0===t.avail_in&&Fr(e)<=Fr(n)&&e!==wr)return Hr(t,Vr);if(r.status===Tr&&0!==t.avail_in)return Hr(t,Vr);if(r.status===Lr&&0===r.wrap&&(r.status=Mr),r.status===Lr){let e=Rr+(r.w_bits-8<<4)<<8,n=-1;if(n=r.strategy>=zr||r.level<2?0:r.level<6?1:6===r.level?2:3,e|=n<<6,0!==r.strstart&&(e|=32),e+=31-e%31,Yr(r,e),0!==r.strstart&&(Yr(r,t.adler>>>16),Yr(r,65535&t.adler)),t.adler=1,r.status=Mr,Wr(t),0!==r.pending)return r.last_flush=-1,vr}if(57===r.status)if(t.adler=0,Xr(r,31),Xr(r,139),Xr(r,8),r.gzhead)Xr(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),Xr(r,255&r.gzhead.time),Xr(r,r.gzhead.time>>8&255),Xr(r,r.gzhead.time>>16&255),Xr(r,r.gzhead.time>>24&255),Xr(r,9===r.level?2:r.strategy>=zr||r.level<2?4:0),Xr(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(Xr(r,255&r.gzhead.extra.length),Xr(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=lr(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69;else if(Xr(r,0),Xr(r,0),Xr(r,0),Xr(r,0),Xr(r,0),Xr(r,9===r.level?2:r.strategy>=zr||r.level<2?4:0),Xr(r,3),r.status=Mr,Wr(t),0!==r.pending)return r.last_flush=-1,vr;if(69===r.status){if(r.gzhead.extra){let e=r.pending,n=(65535&r.gzhead.extra.length)-r.gzindex;for(;r.pending+n>r.pending_buf_size;){let i=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>e&&(t.adler=lr(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex+=i,Wr(t),0!==r.pending)return r.last_flush=-1,vr;e=0,n-=i}let i=new Uint8Array(r.gzhead.extra);r.pending_buf.set(i.subarray(r.gzindex,r.gzindex+n),r.pending),r.pending+=n,r.gzhead.hcrc&&r.pending>e&&(t.adler=lr(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex=0}r.status=73}if(73===r.status){if(r.gzhead.name){let e,n=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>n&&(t.adler=lr(t.adler,r.pending_buf,r.pending-n,n)),Wr(t),0!==r.pending)return r.last_flush=-1,vr;n=0}e=r.gzindexn&&(t.adler=lr(t.adler,r.pending_buf,r.pending-n,n)),r.gzindex=0}r.status=91}if(91===r.status){if(r.gzhead.comment){let e,n=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>n&&(t.adler=lr(t.adler,r.pending_buf,r.pending-n,n)),Wr(t),0!==r.pending)return r.last_flush=-1,vr;n=0}e=r.gzindexn&&(t.adler=lr(t.adler,r.pending_buf,r.pending-n,n))}r.status=103}if(103===r.status){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(Wr(t),0!==r.pending))return r.last_flush=-1,vr;Xr(r,255&t.adler),Xr(r,t.adler>>8&255),t.adler=0}if(r.status=Mr,Wr(t),0!==r.pending)return r.last_flush=-1,vr}if(0!==t.avail_in||0!==r.lookahead||e!==gr&&r.status!==Tr){let n=0===r.level?Jr(r,e):r.strategy===zr?((t,e)=>{let r;for(;;){if(0===t.lookahead&&(Qr(t),0===t.lookahead)){if(e===gr)return 1;break}if(t.match_length=0,r=pr(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(Kr(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===wr?(Kr(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Kr(t,!1),0===t.strm.avail_out)?1:2})(r,e):r.strategy===Cr?((t,e)=>{let r,n,i,a;const s=t.window;for(;;){if(t.lookahead<=Ur){if(Qr(t),t.lookahead<=Ur&&e===gr)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=t.strstart-1,n=s[i],n===s[++i]&&n===s[++i]&&n===s[++i])){a=t.strstart+Ur;do{}while(n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&it.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=pr(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=pr(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(Kr(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===wr?(Kr(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Kr(t,!1),0===t.strm.avail_out)?1:2})(r,e):rn[r.level].func(r,e);if(3!==n&&4!==n||(r.status=Tr),1===n||3===n)return 0===t.avail_out&&(r.last_flush=-1),vr;if(2===n&&(e===yr?br(r):e!==mr&&(dr(r,0,0,!1),e===Ar&&(Ir(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),Wr(t),0===t.avail_out))return r.last_flush=-1,vr}return e!==wr?vr:r.wrap<=0?Nr:(2===r.wrap?(Xr(r,255&t.adler),Xr(r,t.adler>>8&255),Xr(r,t.adler>>16&255),Xr(r,t.adler>>24&255),Xr(r,255&t.total_in),Xr(r,t.total_in>>8&255),Xr(r,t.total_in>>16&255),Xr(r,t.total_in>>24&255)):(Yr(r,t.adler>>>16),Yr(r,65535&t.adler)),Wr(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?vr:Nr)},deflateEnd:t=>{if(an(t))return kr;const e=t.state.status;return t.state=null,e===Mr?Hr(t,xr):vr},deflateSetDictionary:(t,e)=>{let r=e.length;if(an(t))return kr;const n=t.state,i=n.wrap;if(2===i||1===i&&n.status!==Lr||n.lookahead)return kr;if(1===i&&(t.adler=or(t.adler,e,r,0)),n.wrap=0,r>=n.w_size){0===i&&(Ir(n.head),n.strstart=0,n.block_start=0,n.insert=0);let t=new Uint8Array(n.w_size);t.set(e.subarray(r-n.w_size,r),0),e=t,r=n.w_size}const a=t.avail_in,s=t.next_in,o=t.input;for(t.avail_in=r,t.next_in=0,t.input=e,Qr(n);n.lookahead>=3;){let t=n.strstart,e=n.lookahead-2;do{n.ins_h=jr(n,n.ins_h,n.window[t+3-1]),n.prev[t&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=t,t++}while(--e);n.strstart=t,n.lookahead=2,Qr(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=s,t.input=o,t.avail_in=a,n.wrap=i,vr},deflateInfo:"pako deflate (from Nodeca project)"};const cn=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var fn={assign:function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const e in r)cn(r,e)&&(t[e]=r[e])}}return t},flattenChunks:t=>{let e=0;for(let n=0,i=t.length;n=252?6:hh>=248?5:hh>=240?4:hh>=224?3:hh>=192?2:1;dn[254]=dn[254]=1;var _n={string2buf:t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,r,n,i,a,s=t.length,o=0;for(i=0;i>>6,e[a++]=128|63&r):r<65536?(e[a++]=224|r>>>12,e[a++]=128|r>>>6&63,e[a++]=128|63&r):(e[a++]=240|r>>>18,e[a++]=128|r>>>12&63,e[a++]=128|r>>>6&63,e[a++]=128|63&r);return e},buf2string:(t,e)=>{const r=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let n,i;const a=new Array(2*r);for(i=0,n=0;n4)a[i++]=65533,n+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&n1?a[i++]=65533:e<65536?a[i++]=e:(e-=65536,a[i++]=55296|e>>10&1023,a[i++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&un)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let r="";for(let n=0;n{(e=e||t.length)>t.length&&(e=t.length);let r=e-1;for(;r>=0&&128==(192&t[r]);)r--;return r<0||0===r?e:r+dn[t[r]]>e?r:e}},pn=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const bn=Object.prototype.toString,{Z_NO_FLUSH:gn,Z_SYNC_FLUSH:yn,Z_FULL_FLUSH:An,Z_FINISH:wn,Z_OK:mn,Z_STREAM_END:vn,Z_DEFAULT_COMPRESSION:Nn,Z_DEFAULT_STRATEGY:kn,Z_DEFLATED:xn}=fr;function Vn(t){this.options=fn.assign({level:Nn,method:xn,chunkSize:16384,windowBits:15,memLevel:8,strategy:kn},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new pn,this.strm.avail_out=0;let r=ln.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==mn)throw new Error(cr[r]);if(e.header&&ln.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?_n.string2buf(e.dictionary):"[object ArrayBuffer]"===bn.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,r=ln.deflateSetDictionary(this.strm,t),r!==mn)throw new Error(cr[r]);this._dict_set=!0}}function Dn(t,e){const r=new Vn(e);if(r.push(t,!0),r.err)throw r.msg||cr[r.err];return r.result}Vn.prototype.push=function(t,e){const r=this.strm,n=this.options.chunkSize;let i,a;if(this.ended)return!1;for(a=e===~~e?e:!0===e?wn:gn,"string"==typeof t?r.input=_n.string2buf(t):"[object ArrayBuffer]"===bn.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),(a===yn||a===An)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if(i=ln.deflate(r,a),i===vn)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),i=ln.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===mn;if(0!==r.avail_out){if(a>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},Vn.prototype.onData=function(t){this.chunks.push(t)},Vn.prototype.onEnd=function(t){t===mn&&(this.result=fn.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Bn={Deflate:Vn,deflate:Dn,deflateRaw:function(t,e){return(e=e||{}).raw=!0,Dn(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,Dn(t,e)}};const zn=16209;var Cn=function(t,e){let r,n,i,a,s,o,h,l,c,f,u,d,_,p,b,g,y,A,w,m,v,N,k,x;const V=t.state;r=t.next_in,k=t.input,n=r+(t.avail_in-5),i=t.next_out,x=t.output,a=i-(e-t.avail_out),s=i+(t.avail_out-257),o=V.dmax,h=V.wsize,l=V.whave,c=V.wnext,f=V.window,u=V.hold,d=V.bits,_=V.lencode,p=V.distcode,b=(1<>>24,u>>>=A,d-=A,A=y>>>16&255,0===A)x[i++]=65535&y;else{if(!(16&A)){if(64&A){if(32&A){V.mode=16191;break t}t.msg="invalid literal/length code",V.mode=zn;break t}y=_[(65535&y)+(u&(1<>>=A,d-=A),d<15&&(u+=k[r++]<>>24,u>>>=A,d-=A,A=y>>>16&255,16&A){if(m=65535&y,A&=15,do){t.msg="invalid distance too far back",V.mode=zn;break t}if(u>>>=A,d-=A,A=i-a,m>A){if(A=m-A,A>l&&V.sane){t.msg="invalid distance too far back",V.mode=zn;break t}if(v=0,N=f,0===c){if(v+=h-A,A2;)x[i++]=N[v++],x[i++]=N[v++],x[i++]=N[v++],w-=3;w&&(x[i++]=N[v++],w>1&&(x[i++]=N[v++]))}else{v=i-m;do{x[i++]=x[v++],x[i++]=x[v++],x[i++]=x[v++],w-=3}while(w>2);w&&(x[i++]=x[v++],w>1&&(x[i++]=x[v++]))}break}if(64&A){t.msg="invalid distance code",V.mode=zn;break t}y=p[(65535&y)+(u&(1<>3,r-=w,d-=w<<3,u&=(1<{const h=o.bits;let l,c,f,u,d,_,p=0,b=0,g=0,y=0,A=0,w=0,m=0,v=0,N=0,k=0,x=null;const V=new Uint16Array(16),D=new Uint16Array(16);let B,z,C,S=null;for(p=0;p<=15;p++)V[p]=0;for(b=0;b=1&&0===V[y];y--);if(A>y&&(A=y),0===y)return i[a++]=20971520,i[a++]=20971520,o.bits=1,0;for(g=1;g0&&(0===t||1!==y))return-1;for(D[1]=0,p=1;p<15;p++)D[p+1]=D[p]+V[p];for(b=0;b852||2===t&&N>592)return 1;for(;;){B=p-m,s[b]+1<_?(z=0,C=s[b]):s[b]>=_?(z=S[s[b]-_],C=x[s[b]-_]):(z=96,C=0),l=1<>m)+c]=B<<24|z<<16|C}while(0!==c);for(l=1<>=1;if(0!==l?(k&=l-1,k+=l):k=0,b++,0==--V[p]){if(p===y)break;p=e[r+s[b]]}if(p>A&&(k&u)!==f){for(0===m&&(m=A),d+=g,w=p-m,v=1<852||2===t&&N>592)return 1;f=k&u,i[f]=A<<24|w<<16|d-a}}return 0!==k&&(i[d+k]=p-m<<24|64<<16),o.bits=A,0};const{Z_FINISH:On,Z_BLOCK:Ln,Z_TREES:Mn,Z_OK:Tn,Z_STREAM_END:Hn,Z_NEED_DICT:Fn,Z_STREAM_ERROR:In,Z_DATA_ERROR:Zn,Z_MEM_ERROR:jn,Z_BUF_ERROR:Wn,Z_DEFLATED:Kn}=fr,Xn=16180,Yn=16190,qn=16191,Gn=16192,Qn=16194,Jn=16199,$n=16200,ti=16206,ei=16209,ri=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function ni(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const ii=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode16211?1:0},ai=t=>{if(ii(t))return In;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=Xn,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,Tn},si=t=>{if(ii(t))return In;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,ai(t)},oi=(t,e)=>{let r;if(ii(t))return In;const n=t.state;return e<0?(r=0,e=-e):(r=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?In:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=r,n.wbits=e,si(t))},hi=(t,e)=>{if(!t)return In;const r=new ni;t.state=r,r.strm=t,r.window=null,r.mode=Xn;const n=oi(t,e);return n!==Tn&&(t.state=null),n};let li,ci,fi=!0;const ui=t=>{if(fi){li=new Int32Array(512),ci=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(Un(1,t.lens,0,288,li,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;Un(2,t.lens,0,32,ci,0,t.work,{bits:5}),fi=!1}t.lencode=li,t.lenbits=9,t.distcode=ci,t.distbits=5},di=(t,e,r,n)=>{let i;const a=t.state;return null===a.window&&(a.wsize=1<=a.wsize?(a.window.set(e.subarray(r-a.wsize,r),0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>n&&(i=n),a.window.set(e.subarray(r-n,r-n+i),a.wnext),(n-=i)?(a.window.set(e.subarray(r-n,r),0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whavehi(t,15),inflateInit2:hi,inflate:(t,e)=>{let r,n,i,a,s,o,h,l,c,f,u,d,_,p,b,g,y,A,w,m,v,N,k=0;const x=new Uint8Array(4);let V,D;const B=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(ii(t)||!t.output||!t.input&&0!==t.avail_in)return In;r=t.state,r.mode===qn&&(r.mode=Gn),s=t.next_out,i=t.output,h=t.avail_out,a=t.next_in,n=t.input,o=t.avail_in,l=r.hold,c=r.bits,f=o,u=h,N=Tn;t:for(;;)switch(r.mode){case Xn:if(0===r.wrap){r.mode=Gn;break}for(;c<16;){if(0===o)break t;o--,l+=n[a++]<>>8&255,r.check=lr(r.check,x,2,0),l=0,c=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&l)<<8)+(l>>8))%31){t.msg="incorrect header check",r.mode=ei;break}if((15&l)!==Kn){t.msg="unknown compression method",r.mode=ei;break}if(l>>>=4,c-=4,v=8+(15&l),0===r.wbits&&(r.wbits=v),v>15||v>r.wbits){t.msg="invalid window size",r.mode=ei;break}r.dmax=1<>8&1),512&r.flags&&4&r.wrap&&(x[0]=255&l,x[1]=l>>>8&255,r.check=lr(r.check,x,2,0)),l=0,c=0,r.mode=16182;case 16182:for(;c<32;){if(0===o)break t;o--,l+=n[a++]<>>8&255,x[2]=l>>>16&255,x[3]=l>>>24&255,r.check=lr(r.check,x,4,0)),l=0,c=0,r.mode=16183;case 16183:for(;c<16;){if(0===o)break t;o--,l+=n[a++]<>8),512&r.flags&&4&r.wrap&&(x[0]=255&l,x[1]=l>>>8&255,r.check=lr(r.check,x,2,0)),l=0,c=0,r.mode=16184;case 16184:if(1024&r.flags){for(;c<16;){if(0===o)break t;o--,l+=n[a++]<>>8&255,r.check=lr(r.check,x,2,0)),l=0,c=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(d=r.length,d>o&&(d=o),d&&(r.head&&(v=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(n.subarray(a,a+d),v)),512&r.flags&&4&r.wrap&&(r.check=lr(r.check,n,d,a)),o-=d,a+=d,r.length-=d),r.length))break t;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===o)break t;d=0;do{v=n[a+d++],r.head&&v&&r.length<65536&&(r.head.name+=String.fromCharCode(v))}while(v&&d>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=qn;break;case 16189:for(;c<32;){if(0===o)break t;o--,l+=n[a++]<>>=7&c,c-=7&c,r.mode=ti;break}for(;c<3;){if(0===o)break t;o--,l+=n[a++]<>>=1,c-=1,3&l){case 0:r.mode=16193;break;case 1:if(ui(r),r.mode=Jn,e===Mn){l>>>=2,c-=2;break t}break;case 2:r.mode=16196;break;case 3:t.msg="invalid block type",r.mode=ei}l>>>=2,c-=2;break;case 16193:for(l>>>=7&c,c-=7&c;c<32;){if(0===o)break t;o--,l+=n[a++]<>>16^65535)){t.msg="invalid stored block lengths",r.mode=ei;break}if(r.length=65535&l,l=0,c=0,r.mode=Qn,e===Mn)break t;case Qn:r.mode=16195;case 16195:if(d=r.length,d){if(d>o&&(d=o),d>h&&(d=h),0===d)break t;i.set(n.subarray(a,a+d),s),o-=d,a+=d,h-=d,s+=d,r.length-=d;break}r.mode=qn;break;case 16196:for(;c<14;){if(0===o)break t;o--,l+=n[a++]<>>=5,c-=5,r.ndist=1+(31&l),l>>>=5,c-=5,r.ncode=4+(15&l),l>>>=4,c-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=ei;break}r.have=0,r.mode=16197;case 16197:for(;r.have>>=3,c-=3}for(;r.have<19;)r.lens[B[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,V={bits:r.lenbits},N=Un(0,r.lens,0,19,r.lencode,0,r.work,V),r.lenbits=V.bits,N){t.msg="invalid code lengths set",r.mode=ei;break}r.have=0,r.mode=16198;case 16198:for(;r.have>>24,g=k>>>16&255,y=65535&k,!(b<=c);){if(0===o)break t;o--,l+=n[a++]<>>=b,c-=b,r.lens[r.have++]=y;else{if(16===y){for(D=b+2;c>>=b,c-=b,0===r.have){t.msg="invalid bit length repeat",r.mode=ei;break}v=r.lens[r.have-1],d=3+(3&l),l>>>=2,c-=2}else if(17===y){for(D=b+3;c>>=b,c-=b,v=0,d=3+(7&l),l>>>=3,c-=3}else{for(D=b+7;c>>=b,c-=b,v=0,d=11+(127&l),l>>>=7,c-=7}if(r.have+d>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=ei;break}for(;d--;)r.lens[r.have++]=v}}if(r.mode===ei)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=ei;break}if(r.lenbits=9,V={bits:r.lenbits},N=Un(1,r.lens,0,r.nlen,r.lencode,0,r.work,V),r.lenbits=V.bits,N){t.msg="invalid literal/lengths set",r.mode=ei;break}if(r.distbits=6,r.distcode=r.distdyn,V={bits:r.distbits},N=Un(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,V),r.distbits=V.bits,N){t.msg="invalid distances set",r.mode=ei;break}if(r.mode=Jn,e===Mn)break t;case Jn:r.mode=$n;case $n:if(o>=6&&h>=258){t.next_out=s,t.avail_out=h,t.next_in=a,t.avail_in=o,r.hold=l,r.bits=c,Cn(t,u),s=t.next_out,i=t.output,h=t.avail_out,a=t.next_in,n=t.input,o=t.avail_in,l=r.hold,c=r.bits,r.mode===qn&&(r.back=-1);break}for(r.back=0;k=r.lencode[l&(1<>>24,g=k>>>16&255,y=65535&k,!(b<=c);){if(0===o)break t;o--,l+=n[a++]<>A)],b=k>>>24,g=k>>>16&255,y=65535&k,!(A+b<=c);){if(0===o)break t;o--,l+=n[a++]<>>=A,c-=A,r.back+=A}if(l>>>=b,c-=b,r.back+=b,r.length=y,0===g){r.mode=16205;break}if(32&g){r.back=-1,r.mode=qn;break}if(64&g){t.msg="invalid literal/length code",r.mode=ei;break}r.extra=15&g,r.mode=16201;case 16201:if(r.extra){for(D=r.extra;c>>=r.extra,c-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;k=r.distcode[l&(1<>>24,g=k>>>16&255,y=65535&k,!(b<=c);){if(0===o)break t;o--,l+=n[a++]<>A)],b=k>>>24,g=k>>>16&255,y=65535&k,!(A+b<=c);){if(0===o)break t;o--,l+=n[a++]<>>=A,c-=A,r.back+=A}if(l>>>=b,c-=b,r.back+=b,64&g){t.msg="invalid distance code",r.mode=ei;break}r.offset=y,r.extra=15&g,r.mode=16203;case 16203:if(r.extra){for(D=r.extra;c>>=r.extra,c-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=ei;break}r.mode=16204;case 16204:if(0===h)break t;if(d=u-h,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=ei;break}d>r.wnext?(d-=r.wnext,_=r.wsize-d):_=r.wnext-d,d>r.length&&(d=r.length),p=r.window}else p=i,_=s-r.offset,d=r.length;d>h&&(d=h),h-=d,r.length-=d;do{i[s++]=p[_++]}while(--d);0===r.length&&(r.mode=$n);break;case 16205:if(0===h)break t;i[s++]=r.length,h--,r.mode=$n;break;case ti:if(r.wrap){for(;c<32;){if(0===o)break t;o--,l|=n[a++]<{if(ii(t))return In;let e=t.state;return e.window&&(e.window=null),t.state=null,Tn},inflateGetHeader:(t,e)=>{if(ii(t))return In;const r=t.state;return 2&r.wrap?(r.head=e,e.done=!1,Tn):In},inflateSetDictionary:(t,e)=>{const r=e.length;let n,i,a;return ii(t)?In:(n=t.state,0!==n.wrap&&n.mode!==Yn?In:n.mode===Yn&&(i=1,i=or(i,e,r,0),i!==n.check)?Zn:(a=di(t,e,r,r),a?(n.mode=16210,jn):(n.havedict=1,Tn)))},inflateInfo:"pako inflate (from Nodeca project)"},pi=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const bi=Object.prototype.toString,{Z_NO_FLUSH:gi,Z_FINISH:yi,Z_OK:Ai,Z_STREAM_END:wi,Z_NEED_DICT:mi,Z_STREAM_ERROR:vi,Z_DATA_ERROR:Ni,Z_MEM_ERROR:ki}=fr;function xi(t){this.options=fn.assign({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(15&e.windowBits||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new pn,this.strm.avail_out=0;let r=_i.inflateInit2(this.strm,e.windowBits);if(r!==Ai)throw new Error(cr[r]);if(this.header=new pi,_i.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=_n.string2buf(e.dictionary):"[object ArrayBuffer]"===bi.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=_i.inflateSetDictionary(this.strm,e.dictionary),r!==Ai)))throw new Error(cr[r])}function Vi(t,e){const r=new xi(e);if(r.push(t),r.err)throw r.msg||cr[r.err];return r.result}xi.prototype.push=function(t,e){const r=this.strm,n=this.options.chunkSize,i=this.options.dictionary;let a,s,o;if(this.ended)return!1;for(s=e===~~e?e:!0===e?yi:gi,"[object ArrayBuffer]"===bi.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),a=_i.inflate(r,s),a===mi&&i&&(a=_i.inflateSetDictionary(r,i),a===Ai?a=_i.inflate(r,s):a===Ni&&(a=mi));r.avail_in>0&&a===wi&&r.state.wrap>0&&0!==t[r.next_in];)_i.inflateReset(r),a=_i.inflate(r,s);switch(a){case vi:case Ni:case mi:case ki:return this.onEnd(a),this.ended=!0,!1}if(o=r.avail_out,r.next_out&&(0===r.avail_out||a===wi))if("string"===this.options.to){let t=_n.utf8border(r.output,r.next_out),e=r.next_out-t,i=_n.buf2string(r.output,t);r.next_out=e,r.avail_out=n-e,e&&r.output.set(r.output.subarray(t,t+e),0),this.onData(i)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(a!==Ai||0!==o){if(a===wi)return a=_i.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},xi.prototype.onData=function(t){this.chunks.push(t)},xi.prototype.onEnd=function(t){t===Ai&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=fn.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Di={Inflate:xi,inflate:Vi,inflateRaw:function(t,e){return(e=e||{}).raw=!0,Vi(t,e)},ungzip:Vi};const{Deflate:Bi,deflate:zi,deflateRaw:Ci,gzip:Si}=Bn,{Inflate:Ei,inflate:Pi,inflateRaw:Ri,ungzip:Ui}=Di;var Oi={Deflate:Bi,deflate:zi,deflateRaw:Ci,gzip:Si,Inflate:Ei,inflate:Pi,inflateRaw:Ri,ungzip:Ui,constants:fr},Li=new Uint8Array([0,64,128,192,224]),Mi=new Uint8Array([2,2,2,3,3]),Ti=['": "','": ',":\n\0[]\\;'\t@*&?!^|\r~`\0\0\0","\0,.01925-/34678() =+$%#\0\0\0\0\0"],Xi=new Array(94),Yi=new Uint8Array([0,64,96,128,144,160,176,192,208,216,224,228,232,236,238,240,242,244,246,247,248,249,250,251,252,253,254,255]),qi=new Uint8Array([2,3,3,4,4,4,4,4,5,5,6,6,6,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8]),Gi=new Uint8Array([57,58,59,87,88,89]),Qi=5;const Ji=90,$i=91,ta=39,ea=40,ra=54,na=46,ia=81,aa=248,sa=5,oa=128,ha=2,la=0,ca=2,fa=0,ua=6,da=4,_a=33;var pa=0;function ba(){if(!pa){!function(t,e,r){for(var n=0;n<94;++n)t[n]="\0"}(Xi);for(var t=0;t<3;t++)for(var e=0;e<28;e++){var r=Ki[t].charCodeAt(e);0!==r&&r>32&&(Xi[r-_a]=(t<<5)+e,r>=97&&r<=122&&(Xi[r-_a-32]=(t<<5)+e))}pa=1}}var ga=new Uint8Array([128,192,224,240,248,252,254,255]);function ya(t,e,r,n,i){for(var a,s,o,h;i>0;){if(a=r%8,o=n&ga[(s=i)-1],o>>=a,s+a>8&&(s=8-a),(h=r/8)<0||e<=h)return-1;0==a?t[r>>3]=o:t[r>>3]|=o,n<<=s,r+=s,i-=s}return r}function Aa(t,e,r,n){return n==Wi?(r=ya(t,e,r,aa,sa),r=ya(t,e,r,oa,ha)):r=ya(t,e,r,la,ca),r}function wa(t,e,r,n,i,a,s){var o=n>>5,h=31&n;if(0==s[o]&&o!=Fi)return[r,i];switch(o){case Fi:i!=Fi&&(r=ya(t,e,r=Aa(t,e,r,i),a[Fi],s[Fi]),i=Fi);break;case Ii:r=ya(t,e,r=Aa(t,e,r,i),a[Ii],s[Ii]);break;case Zi:i!=Zi&&(r=ya(t,e,r=Aa(t,e,r,i),a[Zi],s[Zi]),Ki[o].charCodeAt(h)>=48&&Ki[o].charCodeAt(h)<=57&&(i=Zi))}return[ya(t,e,r,Yi[h],qi[h]),i]}const ma=new Uint8Array([2,4,7,11,16]),va=[4,20,148,2196,67732],Na=new Uint8Array([1,130,195,228,244]);function ka(t,e,r,n){for(var i=0;i<5;i++)if(n0?va[i-1]:0)<<16-ma[i];return ma[i]>8?(r=ya(t,e,r,a>>8,8),r=ya(t,e,r,255&a,ma[i]-8)):r=ya(t,e,r,a>>8,ma[i]),r}return r}const xa=new Uint8Array([6,12,14,16,21]),Va=[0,64,4160,20544,86080];function Da(t,e,r,n,i){const a=new Uint8Array([1,130,195,228,245,253]);var s=0,o=n-i;o<0&&(o=-o);for(var h=0;h<5;h++)if(o<(s+=1<n?128:0,1);var l=o-Va[h];return xa[h]>16?(r=ya(t,e,r,(l<<=24-xa[h])>>16,8),r=ya(t,e,r,l>>8&255,8),r=ya(t,e,r,255&l,xa[h]-16)):xa[h]>8?(r=ya(t,e,r,(l<<=16-xa[h])>>8,8),r=ya(t,e,r,255&l,xa[h]-8)):r=ya(t,e,r,255&(l<<=8-xa[h]),xa[h]),r}return r}function Ba(t,e,r){var n=0;if("string"==typeof t)return[n=t.codePointAt(r),n===t.charCodeAt(r)?1:2];var i=0;return r=0;l--){for(c=r;c>6==2;)c--;if(c-r>Qi-1){var d=c-r-Qi;d>u&&(u=d,f=r-l-Qi+1)}}return u>0?(a=ka(n,i,a=ya(n,i,a=Aa(n,i,a,s),o[ji],h[ji]),u),a=ka(n,i,a,f),r+=u+Qi,[--r,a]):[-r,a]}function Ca(t,e,r,n,i,a,s,o,h,l,c){var f=a,u=0,d=0,_=0,p=0,b=0;do{for(var g,y,A=s[o-p],w=A.length,m=0==p?r:w;b>6==2;)y--;if(y-b>=Qi){if(u>0){if(b>d)continue;a=f}u=y-b,d=b,_=p,a=ka(n,i,a=ya(n,i,a=Aa(n,i,a,h),l[ji],c[ji]),u-Qi),a=ka(n,i,a,d),a=ka(n,i,a,_),b+=u}}}while(p++0?(r+=u,[--r,a]):[-r,a]}function Sa(t){return t>=48&&t<=57?t-48<<4:t>=65&&t<=70?t-65+10<<4:t>=97&&t<=102?t-97+10<<4:0}const Ea=0,Pa=1,Ra=2,Ua=3;function Oa(t){return t>=48&&t<=57?Ea:t>=97&&t<=102?Pa:t>=65&&t<=70?Ra:Ua}function La(t,e,r,n,i,a){return r=ya(t,e,r=Aa(t,e,r,n),i[Zi],a[Zi]),ya(t,e,r,0,2)}function Ma(t,e,r){if(r)return t===e;if(t.length!==e.length)return!1;for(var n=0;n0&&l0)continue;if(l<0&&f<0)return A+1;l=-l}else{if([l,f]=za(t,e,l,r,A,f,h,n,i),l>0)continue;if(l<0&&f<0)return A+1;l=-l}if(u=t[l],l>0&&e>4&&l0&&u<=(w?"~":126)&&u==t[l-1]&&u==t[l+1]&&u==t[l+2]&&u==t[l+3]){for(var m=l+4;m0){var v=w?"-":45,N=Ea;if(t[l+8]===v&&t[l+13]===v&&t[l+18]===v&&t[l+23]===v){for(var k=l;k0){N=Ea;var x=0;do{var V;if((V=Oa(D=w?t.charCodeAt(l+x):t[l+x]))==Ua||o)break;if(V!=Ea){if(N!=Ea&&N!=V)break;N=V}x++}while(l+x10&&N==Ea&&(N=Pa),(N==Pa||N==Ra)&&x>3){f=ka(r,A,f=ya(r,A,f=La(r,A,f,h,n,i),N==Pa?128:224,N==Pa?2:4),x);do{var D;f=ya(r,A,f,Sa(D=w?t.charCodeAt(l):t[l]),4),l++}while(--x>0);l--;continue}}if(null!=s&&null!=s){for(E=0;E<5;E++)if("string"==typeof s[E]){for(var B=s[E].length,z=0;z("r"===C?55:"t"===C?51:49))break}else if(C.charCodeAt(0)!==u)break}if(z/B>.66){B-=z,f=ya(r,A,f=La(r,A,f,h,n,i),0,1),f=ka(r,A,f=ya(r,A,f,248&Na[E],7&Na[E]),B);for(var S=0;S=0&&l<=e-P&&i[Gi[E]>>5]&&Ma(a[E].slice(0,P),t.slice(l,l+P),w)){[f,h]=wa(r,A,f,Gi[E],h,n,i),l+=P,l--;break}}if(E<6)continue}if(p=!1,(u=w?t.charCodeAt(l):t[l])>=65&&u<=90?p=!0:b&&(b=!1,f=ya(r,A,f=Aa(r,A,f,h),n[Fi],i[Fi]),h=Fi),p&&!b&&(h==Zi&&(f=ya(r,A,f=Aa(r,A,f,h),n[Fi],i[Fi]),h=Fi),f=ya(r,A,f=Aa(r,A,f,h),n[Fi],i[Fi]),h==Wi&&(f=ya(r,A,f=Aa(r,A,f,h=Fi),n[Fi],i[Fi]))),d=0,l+1=32&&u<=126){if(p&&!b){for(c=l+4;c>=l&&c90)break}c==l-1&&(f=ya(r,A,f=Aa(r,A,f,h),n[Fi],i[Fi]),h=Fi,b=!0)}if(h==Wi){var U=" .,".indexOf(String.fromCharCode(u));if(-1!=U){f=ya(r,A,f,aa,sa),f=ya(r,A,f,Ta[U],Ha[U]);continue}}u-=32,b&&p&&(u+=32),0===u?f=h==Zi?ya(r,A,f,Yi[31&ia],qi[31&ia]):ya(r,A,f,Yi[1],qi[1]):(u-=1,[f,h]=wa(r,A,f,Xi[u],h,n,i))}else if(13===u&&10===d)[f,h]=wa(r,A,f,ea,h,n,i),l++;else if(10===u)h==Wi?(f=ya(r,A,f,aa,sa),f=ya(r,A,f,240,4)):[f,h]=wa(r,A,f,ta,h,n,i);else if(13===u)[f,h]=wa(r,A,f,ra,h,n,i);else if(9===u)[f,h]=wa(r,A,f,na,h,n,i);else{var O,L,M;if([O,L]=Ba(t,e,l),O>0)l+=L,h!=Wi&&([M,L]=Ba(t,e,l),M>0?(h!=Fi&&(f=ya(r,A,f=Aa(r,A,f,h),n[Fi],i[Fi])),f=ya(r,A,f=Aa(r,A,f,h),n[Fi],i[Fi]),f=ya(r,A,f,Yi[1],qi[1]),h=Wi):f=ya(r,A,f=Aa(r,A,f,h),n[Wi],i[Wi])),f=Da(r,A,f,O,_),_=O,l--;else{for(var T=1,H=l+1;H0)break;if(H0);l--}}}}var I,Z,j,W,K,X,Y,q=(f+7)/8;return I=r,Z=q,j=f,W=h,K=b,X=n,(Y=i)[Fi]?(Zi!=W&&(j=ya(I,Z,j=Aa(I,Z,j,W),X[Zi],Y[Zi])),j=ya(I,Z,j,Yi[31&$i],qi[31&$i])):j=ya(I,Z,j,fa,K?da:ua),f=ya(I,Z,j,0==j||I[(j-1)/8]<<(j-1&7)>=0?0:255,8-j%8&7),q}function Ia(t,e,r,n=Ti){let i,a,s=new Uint8Array(2048);return i=Fa(t,e,s,Li,Mi,n,Hi,!1),a=Fa(t,e,s,Li,Mi,n,Hi,!0),s=void 0,Fa(t,e,r,Li,Mi,n,Hi,i>=a)}function Za(t,e){return t[e>>3]&128>>e%8}function ja(t,e,r){var n=7&r,i=r>>3;e>>=3;var a=t[i]<>8-n:255>>8-n,r]}const Wa=5,Ka=new Uint8Array([127,191,223,239,255]),Xa=new Uint8Array([0,4,8,12,20]),Ya=new Uint8Array([127,63,31,15,15]),qa=new Uint8Array([5,4,3,1,0]),Ga=new Uint8Array([32,32,65,66,99,100,101,102,103,103,136,137,170,170,171,171,172,172,205,206,207,207,208,208,209,209,242,243,244,245,246,247,248,249,250,251]);function Qa(t,e,r){if(r>qa[i])];return(r+=1+(a>>5))>e?[99,r]:[31&a,r]}}while(++i0&&(a&Ja[i[s]-1])==n[s])return[s,r+=i[s]]}return[99,r]}function ts(t,e,r,n){for(var i=0;r0;)if(r++,++i==n)return[i,r];return r>=e?[99,r]:[i,++r]}function es(t,e,r,n){for(var i=0;n-- >0&&r0?1<=r?[-1,e]:[es(t,r,e,ma[n])+(n>0?va[n-1]:0),e+=ma[n]]}function ns(t,e,r){var n=0;if([n,e]=ts(t,r,e,5),99==n)return[2147483491,e];if(5==n)return[n,e]=ts(t,r,e,4),[2147483392+n,e];if(n>=0){var i=e=r)return[2147483491,e];var a=es(t,r,e,xa[n]);return a+=Va[n],[i>0?-a:a,e+=xa[n]]}return[0,e]}function is(t,e,r,n,i,a,s,o,h,l,c){var f=0;if([f,i]=rs(t,i,e),(f+=Qi)=r.length);p++)r[n]=d[u+p],n++;return[i,n]}function as(t,e,r,n,i){var a=0;if([a,i]=rs(t,i,e),(a+=Qi)=r.length);o++)r[n]=r[n-s],n++;return[i,n]}function ss(t,e){return t>=0&&t<=9?String.fromCharCode(48+t):e>6),t[e++]=128+(63&r)):r<65536?(t[e++]=224+(r>>12),t[e++]=128+(r>>6&63),t[e++]=128+(63&r)):(t[e++]=240+(r>>18),t[e++]=128+(r>>12&63),t[e++]=128+(r>>6&63),t[e++]=128+(63&r)),e}function hs(t,e,r){return null==t?e+=r:e=t.length);n++)t[e++]=r.charCodeAt(n);return e}function cs(t,e,r,n,i,a,s){var o,h,l,c,f,u,d=null;ba(),h=1,o=l=Fi,f=0;var _=0;t instanceof Array&&(e=(t=(d=t)[u=e]).length),e<<=3;for(var p=null==r?"":0;h>8==8388607){var y=255&g;if(99==y)break;switch(y){case 0:p=hs(r,p," ");continue;case 1:if([l,h]=$a(t,e,h,n,i),99==l){h=e;continue}if(l==Wi||l==Fi){o=l;continue}if(l==ji){if([h,p]=null==d?as(t,e,r,p,h):is(t,e,r,p,h,d,u,n,i,a,s),h<0)return p;l=o;continue}break;case 2:p=hs(r,p,",");continue;case 3:p=hs(r,p,".");continue;case 4:p=hs(r,p,String.fromCharCode(10));continue}}else(_+=g)>0&&(null==r?p+=String.fromCodePoint(_):p=os(r,p,_));if(o==Wi&&l==Wi)continue}else l=o;var A="",w=f;if([c,h]=Qa(t,e,h),99==c||99==l){h=b;break}if(0==c&&l!=Ii){if(h>=e)break;if((l!=Zi||o!=Wi)&&([l,h]=$a(t,e,h,n,i),99==l||h>=e)){h=b;break}if(l==Fi){if(o!=Fi){o=Fi;continue}if(0==i[Fi]&&fa==(ja(t,e,h-ca)&255<<8-(f?da:ua)))break;if(f){w=f=0;continue}if([c,h]=Qa(t,e,h),99==c){h=b;break}if(0==c){if([l,h]=$a(t,e,h,n,i),99==l){h=b;break}if(l==Fi){f=1;continue}}w=1}else{if(l==ji){if([h,p]=null==d?as(t,e,r,p,h):is(t,e,r,p,h,d,u,n,i,a,s),h<0)break;continue}if(l==Wi)continue;if(l==Zi&&o==Wi||([c,h]=Qa(t,e,h)),99==c){h=b;break}if(l==Zi&&0==c){var m;if([m,h]=ts(t,e,h,5),99==m)break;if(0==m){if([m,h]=ts(t,e,h,4),m>=5)break;var v;if([v,h]=rs(t,h,e),v<0)break;if(null==s[m])break;var N=s[m].length;if(v>N)break;v=N-v;for(var k=!1,x=0;x0)}else{var C=0;if(2==m||4==m)C=32;else{if([C,h]=rs(t,h,e),C<0)break;if(0==C)break}do{var S=es(t,e,h,4);if(S<0)break;p=hs(r,p,ss(S,m<3?Pa:Ra)),2!=m&&4!=m||25!=C&&21!=C&&17!=C&&13!=C||(p=hs(r,p,"-")),h+=4}while(--C>0);if(C>0)break}o==Wi&&(l=Wi);continue}}}if(w&&1==c)l=o=Wi;else{if(l<3&&c<28&&(A=Ki[l].charAt(c)),A>="a"&&A<="z")o=Fi,w&&(A=String.fromCharCode(A.charCodeAt(0)-32));else if(0!==A&&A.charCodeAt(0)>=48&&A.charCodeAt(0)<=57)o=Zi;else if(0===A.charCodeAt(0)&&"0"!==A){if(8==c)p=ls(r,p,"\r\n");else if(l==Zi&&26==c){var E;if([E,h]=rs(t,h,e),E<0)break;E+=4;for(var P=null==r?p.charAt(p.length-1):String.fromCharCode(r[p-1]);E--;)p=hs(r,p,P)}else if(l==Ii&&c>24)p=ls(r,p,a[c-=25]);else{if(!(l==Zi&&c>22&&c<26))break;p=ls(r,p,a[c-=20])}o==Wi&&(l=Wi);continue}o==Wi&&(l=Wi),p=hs(r,p,A)}}return p}var fs=function(t){null==t&&(t=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,t.constructor==Array?this.init_by_array(t,t.length):this.init_seed(t)};fs.prototype.init_seed=function(t){for(this.mt[0]=t>>>0,this.mti=1;this.mti>>30,this.mt[this.mti]=(1812433253*((4294901760&t)>>>16)<<16)+1812433253*(65535&t)+this.mti,this.mt[this.mti]>>>=0},fs.prototype.init_by_array=function(t,e){var r,n,i;for(this.init_seed(19650218),r=1,n=0,i=this.N>e?this.N:e;i;i--){var a=this.mt[r-1]^this.mt[r-1]>>>30;this.mt[r]=(this.mt[r]^(1664525*((4294901760&a)>>>16)<<16)+1664525*(65535&a))+t[n]+n,this.mt[r]>>>=0,n++,++r>=this.N&&(this.mt[0]=this.mt[this.N-1],r=1),n>=e&&(n=0)}for(i=this.N-1;i;i--)a=this.mt[r-1]^this.mt[r-1]>>>30,this.mt[r]=(this.mt[r]^(1566083941*((4294901760&a)>>>16)<<16)+1566083941*(65535&a))-r,this.mt[r]>>>=0,++r>=this.N&&(this.mt[0]=this.mt[this.N-1],r=1);this.mt[0]=2147483648},fs.prototype.random_int=function(){var t,e=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_seed(5489),r=0;r>>1^e[1&t];for(;r>>1^e[1&t];t=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^t>>>1^e[1&t],this.mti=0}return t=this.mt[this.mti++],t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,(t^=t>>>18)>>>0},fs.prototype.random_int31=function(){return this.random_int()>>>1},fs.prototype.random_incl=function(){return this.random_int()*(1/4294967295)},fs.prototype.random=function(){return this.random_int()*(1/4294967296)},fs.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)},fs.prototype.random_long=function(){return(67108864*(this.random_int()>>>5)+(this.random_int()>>>6))*(1/9007199254740992)};const us=X(fs);var ds=0,_s=new Uint8Array(32);const ps="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";var bs="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",gs="FbPoDRStyJKAUcdahfVXlqwnOGpHZejzvmrBCigQILxkYMuWTEsN",ys="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";const As="ABCDEFGHIJKLMNOPQRSTUVWXYZ",ws="1234567890",ms="+=_-/?.>,<|`~!@#$%^&*(){}[];:",vs="1234567890+=_-/?.>,<|`~!@#$%^&*(){}[];:";var Ns="1234567890+=_-/?.>,<|`~!@#$%^&*(){}[];:",ks="~3{8}_-$[6(2^|1*%0,<9:`+@7/?.>4=];!)",xs="1234567890+=_-/?.>,<|`~!@#$%^&*(){}[];:";const Vs="孎";var Ds=new us(Date.now());const Bs=["https://","lanzou","pan.quark.cn","pan.baidu.com","aliyundrive.com","123pan.com"],zs=["https://","mypikpak.com","mega.nz","drive.google.com","sharepoint.com","1drv.ms"],Cs=["https://","baidu.com","b23.tv","bilibili.com","weibo.com","weixin.qq.com"],Ss=["https://","google.com","youtube.com","x.com","twitter.com","telegra.ph"],Es=["https://","wikipedia.org","github.com","pages.dev","github.io","netlify.app"],Ps=["https://","pixiv.net","nicovideo.jp","dlsite.com","line.me","dmm.com"],Rs=["https://","nyaa.si","bangumi.moe","thepiratebay.org","e-hentai.org","exhentai.org"],Us=["https://","magnet:?xt=urn:btih:","magnet:?xt=urn:sha1:","ed2k://","thunder://","torrent"],Os=["https://",".cn",".com",".net",".org",".xyz"],Ls=["https://",".info",".moe",".cc",".co",".dev"],Ms=["https://",".io",".us",".eu",".jp",".de"],Ts=JSON.parse('{"basic":{"alphabet":{"a":["请","上","中","之","等","人","到","年","个","将"],"b":["得","可","并","发","过","协","曲","闭","斋","峦"],"c":["页","于","而","被","无","挽","裕","斜","绪","镜"],"d":["由","把","好","从","会","帕","莹","盈","敬","粒"],"e":["的","在","了","是","为","有","和","我","一","与"],"f":["站","最","号","及","能","迟","鸭","呈","玻","据"],"g":["着","很","此","但","看","浩","附","侃","汐","绸"],"h":["名","呢","又","图","啊","棉","畅","蒸","玫","添"],"i":["对","地","您","给","这","下","网","也","来","你"],"j":["更","天","去","用","只","矽","萌","镁","芯","夸"],"k":["第","者","所","两","里","氢","羟","纽","夏","春"],"l":["自","做","前","二","他","氦","汀","兰","竹","捷"],"m":["家","点","路","至","十","锂","羧","暑","夕","振"],"n":["区","想","向","主","四","铍","烃","惠","芳","岩"],"o":["就","新","吗","该","不","多","还","要","让","大"],"p":["小","如","成","位","其","硼","酞","褔","苑","笋"],"q":["吧","每","机","几","总","碳","铂","涓","绣","悦"],"r":["起","它","内","高","次","氮","铵","奏","鲤","淳"],"s":["非","元","类","五","使","氧","醇","迷","霁","琅"],"t":["首","进","即","没","市","氖","酯","琳","绫","濑"],"u":["后","三","本","都","时","月","或","说","已","以"],"v":["种","快","那","篇","万","钠","炔","柯","睿","琼"],"w":["长","按","报","比","信","硅","烷","静","欣","束"],"x":["再","带","才","全","呀","磷","烯","柔","雪","冰"],"y":["业","却","版","美","们","硫","桉","寒","冻","玖"],"z":["像","走","文","各","当","氯","缬","妃","琉","璃"],"A":["贴","则","老","生","达","商","行","周","证","经"],"B":["事","场","同","化","找","建","手","道","间","式"],"C":["特","城","型","定","接","局","问","重","叫","通"],"D":["件","少","面","金","近","买","听","学","见","称"],"E":["写","选","片","体","组","先","仅","别","表","现"],"F":["雨","泊","注","织","赴","茶","因","设","环","青"],"G":["数","心","子","处","作","项","谁","分","转","字"],"H":["砂","妥","鹦","课","栗","霞","鹉","翌","蕴","憩"],"I":["畔","珑","咫","瑞","玲","郊","蛟","昱","祉","菁"],"J":["铁","宙","耕","琴","铃","瑰","旬","茉","砺","莅"],"K":["钇","莉","筱","森","曳","苹","踵","晰","砥","舀"],"L":["锆","粟","魄","辉","谜","馅","醋","甄","韶","泪"],"M":["钌","倘","祥","善","泉","惦","铠","骏","韵","泣"],"N":["铑","筑","铿","智","禀","磊","桨","檀","荧","铭"],"O":["钯","骐","烛","蔬","凛","溯","困","炯","酿","瑕"],"P":["银","榻","驿","缎","澟","绒","莺","萤","桅","枕"],"Q":["镉","赞","瑾","程","怡","漱","穗","湍","栀","皆"],"R":["碘","礼","饴","舒","芷","麟","沥","描","锄","墩"],"S":["锡","彰","瞻","雅","贮","喵","翊","闪","翎","婉"],"T":["钨","咨","涌","益","嵩","御","饶","纺","栩","稔"],"U":["铋","骆","橘","未","泰","频","琥","囍","浣","裳"],"V":["钕","飒","浇","哦","途","瓢","珀","涨","仓","棠"],"W":["祁","蓬","灿","部","涧","舫","曙","航","礁","渡"],"X":["旺","嫦","漫","佑","钥","谧","葵","咩","诵","绮"],"Y":["阐","译","锻","茜","坞","砌","靛","猫","芮","绚"],"Z":["拌","皎","笙","沃","悟","拓","遨","揽","昼","蔗"]},"numbersymbol":{"0":["卡","风","水","放","花","钾","宏","谊","探","棋"],"1":["需","头","话","曾","楼","钙","吾","恋","菲","遥"],"2":["连","系","门","力","量","钛","苗","氛","鹤","雀"],"3":["书","亿","跟","深","方","钒","鸳","鸯","纸","鸢"],"4":["若","低","谈","明","百","铬","羯","尧","舜","兆"],"5":["关","客","读","双","回","锰","熙","瀚","渊","灯"],"6":["较","品","嘛","单","价","钴","阑","珊","雁","鹂"],"7":["山","西","动","厂","热","锌","鹃","鸠","昆","仑"],"8":["言","笑","度","易","身","镓","乾","坤","澈","饺"],"9":["份","星","千","仍","办","锗","彗","聪","慧","磋"],"+":["集","费","传","室","拉"],"/":["难","界","指","管","具"],"?":["相","儿","李","早","拿"],"-":["科","白","段","飞","住"],".":["利","红","板","光","约"],"(":["变","款","林","夹","院"],")":["服","句","声","务","游"],"[":["股","南","社","阿","远"],"]":["意","换","些","必","赛"],"<":["届","完","乐","彩","讲"],">":["展","帮","且","物","班"],",":["何","流","密","某","房"],"|":["语","亚","常","除","装"],"=":["极","载","题","刚","气"],"@":["米","影","德","世","坐"],"#":["北","招","短","活","斯"],"!":["值","店","树","哪","余"],"~":["盘","速","座","求","创"],"`":["梦","足","半","视","安"],"$":["空","歌","派","顶","登"],"%":["夜","云","感","啦","欲"],"^":["边","工","眼","街","奖"],"&":["获","占","理","任","实"],"*":["知","掉","色","讯","克"],"_":["直","评","往","层","园"],"{":["留","靠","亦","罗","营"],"}":["合","尚","产","诚","汨"],":":["曱","朩","杉","杸","歩"],";":["毋","氕","気","氘","氙"]}},"special":{"DECRYPT":{"JP":["桜","込","凪","雫","実","沢"],"CN":["玚","俟","玊","欤","瞐","珏"]}}}');function Hs(t,e,r){let n=Ve.SHA256(e),i=Zs(n),a=new Uint8Array(i.byteLength+2);a.set(i,0),a.set([r[0],r[1]],i.byteLength),i=a;let s=Ve.lib.WordArray.create(i),o=Zs(Ve.SHA256(s)),h=new Uint8Array(16);for(var l=0;l<16;l++)h[l]=o[l];let c=Ve.lib.WordArray.create(h),f=Ve.lib.WordArray.create(t);return Zs(Ve.AES.encrypt(f,n,{mode:Ve.mode.CTR,padding:Ve.pad.NoPadding,iv:c}).ciphertext)}function Fs(t){let e=Oi.gzip(t);return e.byteLength>=t.byteLength?t:e}function Is(t){let e,r,n=new Array;for(let s=0;s0;)r=e%10,n.push(r),e=Math.floor(e/10);let i=0,a=0;for(let s=0;s=10&&(n[s]=n[s]%10+Math.floor(n[s]/10))),i+=n[s];return a=10-i%10,a}function Zs(t){const e=new Uint8Array(t.sigBytes);for(let r=0;r>>2]>>>24-r%4*8&255;return e}function js(t){let e=W.encode(t);return W.toUint8Array(e)}function Ws(t){let e=W.fromUint8Array(t);return W.decode(e)}function Ks(t,e,r){return e>t.length-1?t:t.substring(0,e)+r+t.substring(e+1)}function Xs(t){return Math.floor(Ds.random()*t)}function Ys(t,e,r){return t.slice(0,r)+e+t.slice(r)}function qs(t,e){return t.filter((t=>!e.includes(t)))}function Gs(t,e){return t.slice(e)+t.slice(0,e)}function Qs(t,e){return t.slice(t.length-e)+t.slice(0,t.length-e)}function Js(t){let e,r,n,i,a,s;return e=ps.indexOf(t),r=vs.indexOf(t),n=ps.indexOf(bs[e]),i=vs.indexOf(Ns[r]),a=ps.indexOf(gs[n]),s=vs.indexOf(ks[i]),-1!=e?ys[a]:-1!=r?xs[s]:Vs}function $s(t){let e,r,n,i,a,s;return e=ys.indexOf(t),r=xs.indexOf(t),n=gs.indexOf(ps[e]),i=ks.indexOf(vs[r]),a=bs.indexOf(ps[n]),s=Ns.indexOf(vs[i]),-1!=e?ps[a]:-1!=r?vs[s]:Vs}function to(){let t=0;32==ds&&(ds=0),t=_s[ds]%10,0==t&&(t=10),t%2==0?(bs=Gs(bs,6),Ns=Gs(Ns,6),gs=Qs(gs,2*t),ks=Qs(ks,2*t),ys=Gs(ys,t/2+1),xs=Gs(xs,t/2+1)):(bs=Qs(bs,3),Ns=Qs(Ns,3),gs=Gs(gs,t),ks=Gs(ks,t),ys=Qs(ys,(t+7)/2),xs=Qs(xs,(t+7)/2)),ds++}function eo(){ds=0,_s=new Array(32),bs="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",gs="FbPoDRStyJKAUcdahfVXlqwnOGpHZejzvmrBCigQILxkYMuWTEsN",ys="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",Ns="1234567890+=_-/?.>,<|`~!@#$%^&*(){}[];:",ks="~3{8}_-$[6(2^|1*%0,<9:`+@7/?.>4=];!)",xs="1234567890+=_-/?.>,<|`~!@#$%^&*(){}[];:",Ds=new us(Date.now())}function ro(t){let e=Zs(Ve.SHA256(t));_s=e}class no{constructor(t,e=!1){this.output=t,this.isEncrypted=e}}function io(t){let e,r=String(t),n=r.length,i=!1,a=!1,s=!1;for(let o=0;o=t.byteLength)return t;let s=new Uint8Array(a.byteLength+2);return s.set(a,0),s.set([i,255],a.byteLength),a=s,a}(n),n.byteLength==t&&(n=Fs(n))}else n=Fs(n);let a=new Array;a.push(Xs(256)),a.push(Xs(256)),n=Hs(n,e,a),i=new Uint8Array(n.byteLength+2),i.set(n,0),i.set(a,n.byteLength),n=i;let s,o,h=function(t){let e=0;for(let r=t.length-1;r>=t.length-4;r--)"="==t[r]&&e++;return t.slice(0,t.length-e)}(W.fromUint8Array(n)),l="",c="",f=h.length;to();for(let d=0;d255)return t;let n,i=r,a=t.subarray(0,t.byteLength-2),s=new Uint8Array(2048);switch(i){case 255:n=cs(a,a.byteLength,s,Li,Mi,Ti,Hi);break;case 254:n=cs(a,a.byteLength,s,Li,Mi,Bs,Hi);break;case 245:n=cs(a,a.byteLength,s,Li,Mi,zs,Hi);break;case 253:n=cs(a,a.byteLength,s,Li,Mi,Cs,Hi);break;case 252:n=cs(a,a.byteLength,s,Li,Mi,Ss,Hi);break;case 244:n=cs(a,a.byteLength,s,Li,Mi,Es,Hi);break;case 251:n=cs(a,a.byteLength,s,Li,Mi,Ps,Hi);break;case 250:n=cs(a,a.byteLength,s,Li,Mi,Rs,Hi);break;case 249:n=cs(a,a.byteLength,s,Li,Mi,Us,Hi);break;case 248:n=cs(a,a.byteLength,s,Li,Mi,Os,Hi);break;case 247:n=cs(a,a.byteLength,s,Li,Mi,Ls,Hi);break;case 246:n=cs(a,a.byteLength,s,Li,Mi,Ms,Hi)}return s.subarray(0,n)}(l)}catch(u){throw"Error Decoding. Bad Input or Incorrect Key."}if(function(t){let e=t[t.byteLength-1];return Is(t.subarray(0,t.byteLength-1))==e}(l))l=l.subarray(0,l.byteLength-1);else{if(2!=l.at(l.byteLength-1)||2!=l.at(l.byteLength-2)||2!=l.at(l.byteLength-3))throw"Error Decrypting. Checksum Mismatch.";l=l.subarray(0,l.byteLength-3)}let f=new Object;return f.output=Ws(l),f.output_B=l,eo(),f}function oo(t){let e,r,n,i,a,s=String(t);if(e=ps.indexOf(s),r=As.indexOf(s),n=ws.indexOf(s),i=ms.indexOf(s),-1!=e||-1!=r){for(let o in Ts.basic.alphabet)if(Ts.basic.alphabet.hasOwnProperty(o)){if(o==s)return a=Xs(Ts.basic.alphabet[Js(o)].length),Ts.basic.alphabet[Js(o)][a];if(o.toUpperCase()==s)return a=Xs(Ts.basic.alphabet[Js(o.toUpperCase())].length),String(Ts.basic.alphabet[Js(o.toUpperCase())][a])}}else if(-1!=n||-1!=i)for(let o in Ts.basic.numbersymbol)if(Ts.basic.numbersymbol.hasOwnProperty(o)&&o==s)return a=Xs(Ts.basic.numbersymbol[Js(o)].length),Ts.basic.numbersymbol[Js(o)][a];return Vs}function ho(t){let e,r=String(t);for(let n in Ts.basic.alphabet)Ts.basic.alphabet[n].forEach((t=>{r==t&&(e=$s(n))}));if(e)return e;for(let n in Ts.basic.numbersymbol)Ts.basic.numbersymbol[n].forEach((t=>{r==t&&(e=$s(n))}));return e||Vs}var lo=0,co=new Uint8Array(32);const fo="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";var uo="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",_o="FbPoDRStyJKAUcdahfVXlqwnOGpHZejzvmrBCigQILxkYMuWTEsN",po="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";const bo="ABCDEFGHIJKLMNOPQRSTUVWXYZ",go="1234567890",yo="+/=",Ao="0123456789+/=";var wo="0123456789+/=",mo="5=0764+389/12",vo="0123456789+/=";const No="孎";var ko=new us(Date.now());const xo=["https://","lanzou","pan.quark.cn","pan.baidu.com","aliyundrive.com","123pan.com"],Vo=["https://","mypikpak.com","mega.nz","drive.google.com","sharepoint.com","1drv.ms"],Do=["https://","baidu.com","b23.tv","bilibili.com","weibo.com","weixin.qq.com"],Bo=["https://","google.com","youtube.com","x.com","twitter.com","telegra.ph"],zo=["https://","wikipedia.org","github.com","pages.dev","github.io","netlify.app"],Co=["https://","pixiv.net","nicovideo.jp","dlsite.com","line.me","dmm.com"],So=["https://","nyaa.si","bangumi.moe","thepiratebay.org","e-hentai.org","exhentai.org"],Eo=["https://","magnet:?xt=urn:btih:","magnet:?xt=urn:sha1:","ed2k://","thunder://","torrent"],Po=["https://",".cn",".com",".net",".org",".xyz"],Ro=["https://",".info",".moe",".cc",".co",".dev"],Uo=["https://",".io",".us",".eu",".jp",".de"],Oo=["https://",".top",".one",".online",".me",".ca"],Lo=JSON.parse('{"Actual":{"N":{"alphabet":{"a":"人","b":"镜","c":"鹏","d":"曲","e":"霞","f":"绸","g":"裳","h":"路","i":"岩","j":"叶","k":"鲤","l":"月","m":"雪","n":"冰","o":"局","p":"恋","q":"福","r":"铃","s":"琴","t":"家","u":"天","v":"韵","w":"书","x":"莺","y":"璃","z":"雨","A":"文","B":"涧","C":"水","D":"花","E":"风","F":"棋","G":"楼","H":"鹤","I":"鸢","J":"灯","K":"雁","L":"星","M":"声","N":"树","O":"茶","P":"竹","Q":"兰","R":"苗","S":"心","T":"语","U":"礼","V":"梦","W":"庭","X":"木","Y":"驿","Z":"火"},"numbersymbol":{"0":"森","1":"夏","2":"光","3":"林","4":"物","5":"云","6":"夜","7":"城","8":"春","9":"空","+":"雀","/":"鹂","=":"鸳"}},"V":{"alphabet":{"a":"关","b":"赴","c":"呈","d":"添","e":"停","f":"成","g":"走","h":"达","i":"行","j":"称","k":"见","l":"学","m":"听","n":"买","o":"作","p":"弹","q":"写","r":"定","s":"谈","t":"动","u":"旅","v":"返","w":"度","x":"开","y":"筑","z":"选","A":"流","B":"指","C":"换","D":"探","E":"放","F":"看","G":"报","H":"事","I":"泊","J":"现","K":"迸","L":"彰","M":"需","N":"飞","O":"游","P":"求","Q":"御","R":"航","S":"歌","T":"读","U":"振","V":"登","W":"任","X":"留","Y":"奏","Z":"连"},"numbersymbol":{"0":"知","1":"至","2":"致","3":"去","4":"画","5":"说","6":"进","7":"信","8":"取","9":"问","+":"笑","/":"视","=":"言"}},"MV":["欲","应","可","能","将","请","想","必","当"],"A":{"alphabet":{"a":"莹","b":"畅","c":"新","d":"高","e":"静","f":"美","g":"绿","h":"佳","i":"善","j":"良","k":"瀚","l":"明","m":"早","n":"宏","o":"青","p":"遥","q":"速","r":"慧","s":"绚","t":"绮","u":"寒","v":"冷","w":"银","x":"灵","y":"绣","z":"北","A":"临","B":"南","C":"俊","D":"捷","E":"骏","F":"益","G":"雅","H":"舒","I":"智","J":"谜","K":"彩","L":"余","M":"短","N":"秋","O":"乐","P":"怡","Q":"瑞","R":"惠","S":"和","T":"纯","U":"悦","V":"迷","W":"长","X":"少","Y":"近","Z":"清"},"numbersymbol":{"0":"远","1":"极","2":"安","3":"聪","4":"秀","5":"旧","6":"浩","7":"盈","8":"快","9":"悠","+":"后","/":"轻","=":"坚"}},"AD":{"alphabet":{"a":"诚","b":"畅","c":"新","d":"高","e":"静","f":"恒","g":"愈","h":"谨","i":"善","j":"良","k":"频","l":"笃","m":"早","n":"湛","o":"昭","p":"遥","q":"速","r":"朗","s":"祗","t":"攸","u":"徐","v":"咸","w":"皆","x":"灵","y":"恭","z":"弥","A":"临","B":"允","C":"公","D":"捷","E":"淳","F":"益","G":"雅","H":"舒","I":"嘉","J":"勤","K":"协","L":"永","M":"短","N":"歆","O":"乐","P":"怡","Q":"已","R":"忻","S":"和","T":"谧","U":"悦","V":"稍","W":"长","X":"少","Y":"近","Z":"尚"},"numbersymbol":{"0":"远","1":"极","2":"安","3":"竟","4":"悉","5":"渐","6":"颇","7":"辄","8":"快","9":"悠","+":"后","/":"轻","=":"曾"}}},"Virtual":{"zhi":["之"],"hu":["乎"],"zhe":["者"],"ye":["也"],"for":["为"],"ba":["把"],"le":["了"],"er":["而"],"this":["此","斯"],"still":["仍"],"with":["与","同"],"also":["亦","也"],"is":["是","乃"],"not":["未","莫"],"or":["或"],"more":["更"],"make":["使","将","让"],"and":["与","同"],"anti":["非","不"],"why":["为何","奈何","何哉"],"but":["但","却","则","而","况","且"],"like":["似","如","若"],"if":["若","倘"],"int":["哉","呼","噫"],"self":["自"],"by":["以","于"]},"Sentences":{"Begin":["1D/非/N/ye","1B/N/曰/R","1B/若夫/N","1C/anti/MV/V/ye/P","2B/A/N/曰/R","2B/N/以/A","2C/N/anti/在/A","2C/N/make/N/zhi","2C/MV/N/zhe/A","2E/有/N/则/A","2C/V/zhe/V/zhi","2D/but/MV/A/zhe/A","3C/N/V/by/N","3B/初,/N/V/by/N","3B/夫/N/anti/V/by/N","3B/AD/V/zhi/谓/A","3B/V/而/V/zhi/zhi/谓/A","3B/N/,/N/zhi/N/ye/P","3D/A/之/V/者/必/有/N/P","4D/非/N/不/A/,/V/不/A","4C/A/N/AD/V","4C/V/N/以/V/N","4E/N/不在/A/,/有/N/则/A/P","4D/A/N/常有/,/而/A/N/不常有/P","4D/V/N/者/,/N/之/N/也/P","4E/N/有/MV/V/,/N/有/AD/然/P","4D/N/无/N/,/无以/V/N","4D/V/之/不/为/N/,/V/之/不/为/N/P","5D/V/N/而/V/A/,/V/zhi/道/ye/P","5E/N/zhi/V/V/,/实为/A/A/P","5C/本/MV/V/A/,/anti/V/N/N","5C/N/之/无/N/,/N/V/之/N","5D/V/N/而/V/之/者/,/非/其/N/AD/也/P","5B/今/V/N/以/V/A/N","5B/N/乃/V/V/N/zhi/N","5B/今/N/乃/A/N/A/N","5C/A/N/V/A/N","5B/夫/N/、/N/不/MV/AD/V/N","5D/不/有/A/N/,/何/V/A/N/Q","5D/以/A/N/为/N/者/,/N/MV/弗/而/V/之/P","6B/以/N/V/,/like/V/N/V/N","6B/A/N/zhi/N/,/V/zhi/以/V/其/N","6B/A/N/V/于/N/而/V/N","6B/A/N/未/V/N/、/N/之/N","6B/V/A/N/若/V/A/N","6D/不/V/N/,/不/V/N/,/当/以/AD/V/论/P","6D/A/则为/V/N/,/A/则为/V/N/P","6D/若/居/A/N/之/N/,/则/当/A/N/之/V/P","6D/N/无/N/则/V/,/N/无/N/则/V/P","7D/夫/A/之/N/V/N/者/,/其/所以/AD/V/者/N/也/P","6D/A/者/V/而/V/之/,/A/者/V/而/V/之/P","6D/N/受/命/于/N/,/固/AD/然/V/于/A/N/P","7C/N/以/A/A/,/AD/V/A/N","7B/V/N/A/,/A/N/V/N","7B/N/V/以/N/V/,/V/不/V/N","7C/N/N/V/N/,/A/于/N/N","7D/MV/AD/V/A/N/,/but/V/V/不/A","7C/或/V/N/V/N/,/V/N/于/N","7E/则有/N/A/N/A/,/N/N/具/V","7D/V/A/N/zhe/,/常/V/其/所/A/,/而/V/其/所/A/P","7D/A/N/之/N/,/常/V/于/其/所/AD/V/而/不/V/之/处/P","7D/A/N/之/N/不在/N/,/在乎/A/N/之/N/也/P","8D/V/A/N/,/V/A/N/,/by/MV/A/zhi/N/P","8D/N/anti/AD/V/zhe/by/AD/V/zhe/V/,/anti/MV/AD/V/P","8D/N/anti/MV/V/N/,/still/继/N/V/,/why/,/and/N/而/anti/V/N/ye/P","8C/V/N/A/A/,/V/N/A/A","8C/N/V/A/N/,/N/V/A/N","8C/N/在/A/N/,/A/N/zhi/A/,/V/于/N/P","8C/A/N/AD/V/,/N/N/AD/V","8C/A/N/V/N/,/N/N/V/N/P","8B/尝/V/A/N/,/AD/V/A/N/zhi/N","8D/予/V/夫/A/N/A/N/,/在/A/N/之/N","8D/N/V/于/A/N/,/而/N/V/于/A/N","8D/虽/无/N/N/zhi/V/,/亦/V/以/AD/V/A/N/P","8D/A/N/之/A/N/,/常/为/A/N/之/A/N/P","9D/A/N/V/zhi/而不/V/zhi/、亦/make/A/N/er/复/V/A/N/ye/P","9D/N/MV/V/N/V/V/,/but/N/N/AD/V/P","9B/以/N/,/当/V/A/N/,/非/N/V/N/所/MV/AD/V/P","9C/此/N/有/A/N/A/N/,/A/N/A/N/P","9D/是/N/ye/,/N/A/N/A/,/N/A/N/A/P"],"Main":["1B/非/N/ye","1B/N/曰/R","1C/anti/MV/V/ye","2C/N/make/N/zhi","2C/MV/N/zhe/A","2E/有/N/则/A","2C/V/zhe/V/zhi","2C/but/MV/A/zhe/A","3C/N/with/N/V","3B/N/曰,何/A/zhi/V/Q","4C/A/N/AD/V","4C/V/N/以/V/N","4D/N/无/N/,/无以/V/N/P","4D/V/N/者/,/N/之/N/也/P","4E/N/不在/A/,/有/N/则/A/P","4C/N/有/MV/V/,/N/有/AD/然/P","4D/N/非/V/而/V/之/者/,/孰/MV/无/N/P","4D/A/N/常有/,/而/A/N/不常有/P","4C/不/以/N/V/,/不/以/N/V/P","4D/V/之/不/为/N/,/V/之/不/为/N/P","5B/今/V/N/以/V/A/N","5B/N/乃/V/V/N/zhi/N","5C/本/MV/V/A/,/anti/V/N/N","5D/V/N/而/V/之/者/,/非/其/N/AD/也/P","5D/以/A/N/为/N/者/,/N/MV/弗/而/V/之/P","5D/故/夫/A/N/之/N/,/不/可/make/其/V/于/N/也/P","5B/今/N/乃/A/N/A/N","5E/每/有/V/N/,/便/AD/然/V/N/P","5D/N/V/而/A/N/V/也","5E/不/有/A/N/,/何/V/A/N/Q","5C/N/之/无/N/,/N/V/之/N","6D/N/A/N/A/,/则/所/V/得/其/A/P","6B/以/N/V/,/like/V/N/V/N","6B/V/A/N/若/V/A/N","6C/N/V/,/V/N/V/N","6E/虽/V/V/A/A/,/A/A/不/同/P","6D/而/A/N/zhi/N/,/V/zhi/以/V/其/N/P","6B/A/N/V/于/N/而/V/N","6B/A/N/未/V/N/、/N/之/N","6C/V/A/N/,/V/A/N","6D/V/MV/with/其/N/,/而/V/MV/V/以/N/者/,/N/也/P","6D/A/N/必/有/A/N/V/之者/、/予/可/无/N/也/P","6D/将/有/V/,/则/V/A/N/以/V/N/P","6D/不/V/N/,/不/V/N/,/当/以/AD/V/论/P","6D/A/则为/V/N/,/A/则为/V/N/P","6D/N/无/N/则/V/,/N/无/N/则/V/P","6D/A/者/V/而/V/之/,/A/者/V/而/V/之/P","6D/若/居/A/N/之/N/,/则/当/A/N/之/V/P","6D/N/受/命/于/N/,/固/AD/然/V/于/A/N/P","7D/夫/A/之/N/V/N/者/,/其/所以/AD/V/者/N/也/P","7B/N/V/以/N/V/,/V/不/V/N","7C/N/N/V/N/,/A/于/N/N","7D/MV/AD/V/A/N/,/but/V/V/不/A","7C/或/V/N/V/N/,/V/N/于/N","7D/V/A/N/zhe/,/常/V/其/所/A/,/而/V/其/所/A/P","7D/A/N/之/不/V/也/AD/矣/,/欲/N/之/无/N/也/AD/矣/P","7D/A/N/之/N/,/常/V/于/其/所/AD/V/而/不/V/之/处/P","7D/A/N/之/N/不在/N/,/在乎/A/N/之/N/也/P","7D/A/N/之/N/,/V/之/N/而/V/之/N/也/P","7D/是故/A/N/不必不如/N/,/N/不必/A/于/A/N/P","7B/有/A/N/、/A/N/、/A/N/之/N/P","8D/N/anti/MV/V/N/,/still/继/N/V/,/why/,/and/N/而/anti/V/N/ye/P","8E/是/故/无/A/无/A/,/无/A/无/A/,/N/之/所/V/、/N/之/所/V/ye/P","8C/V/N/A/A/,/V/N/A/A","8B/N/在/A/N/,/A/N/zhi/A/,/V/于/N/P","8B/like/A/N/V/N/,/不/V/N/V/之/N/P","8C/A/N/AD/V/,/N/N/AD/V","8D/A/N/之/A/N/,/常/为/A/N/之/A/N/P","8C/A/N/V/N/,/N/N/V/N/P","8D/虽/无/N/N/zhi/V/,/亦/V/以/AD/V/A/N/P","8D/予/V/夫/A/N/A/N/,/在/A/N/之/N","8D/故/V/A/N/者/,/当/V/A/N/之/A/N/P","8D/N/V/于/A/N/,/而/N/V/于/A/N","8B/A/N/MV/A/N/之/A/,/V/N/中/之/A","8D/N/V/于/A/N/之上/,/AD/V/于/A/N/之间/P","8B/使/其/A/N/AD/V/,/A/N/AD/V/P","9B/N/MV/V/N/V/V/,/but/N/N/AD/V","9D/A/N/V/zhi/而不/V/zhi/、亦/make/A/N/er/复/V/A/N/ye/P","9D/以/N/,/当/V/A/N/,/非/N/V/N/所/MV/AD/V/P","9C/此/N/有/A/N/A/N/,/A/N/A/N/P","9E/是/N/ye/,/N/A/N/A/,/N/A/N/A","9E/V/A/N/,/N/A/N/A/,/乃/AD/V"],"End":["1B/非/N/ye","1C/anti/MV/V/ye","2C/唯/N/V/zhi","2B/V/by/N","2D/其/also/A/hu/其/V/ye/P","2C/N/make/N/zhi","2C/MV/N/zhe/A","2E/有/N/则/A","2C/V/zhe/V/zhi","2C/but/MV/A/zhe/A","3C/V/在/A/N","3D/今/zhi/V/zhe/,/亦将有/V/于/this/N/P","3D/某也/A/,/某也/A/,/可/不/A/哉","4B/V/N/zhi/N/by/N","4C/A/N/AD/V","4C/V/N/以/V/N","4D/N/无/N/,/无以/V/N","4D/V/N/者/,/N/之/N/也/P","4D/噫/,/A/N/ye/,/N/谁/与/V/Q","4C/不/以/N/V/,/不/以/N/V/P","4D/V/之/不/为/N/,/V/之/不/为/N/P","5B/请/V/N/zhi/N/中/,/是/N/zhi/N/P","5D/今/V/N/以/V/A/N","5B/N/乃/V/V/N/zhi/N","5C/本/MV/V/A/,/anti/V/N/N","5D/V/N/而/V/之/者/,/非/其/N/AD/也/P","5D/以/A/N/为/N/者/,/N/MV/弗/而/V/之/P","5D/故/夫/A/N/之/N/,/不/可/make/其/V/于/N/也/P","5B/今/N/乃/A/N/A/N","5D/N/V/而/A/N/V/也","5E/不/有/A/N/,/何/V/A/N/Q","5C/N/之/无/N/,/N/V/之/N","6D/以/N/V/,/like/V/N/V/N","6D/A/zhi/V/N/,/亦/like/今/zhi/V/N/,/A/夫/P","6D/A/者/V/而/V/之/,/A/者/V/而/V/之/P","6D/若/居/A/N/之/N/,/则/当/A/N/之/V/P","6B/N/V/,/V/N/V/N","6E/V/N/之/N/,/为/N/V/者/,/可以/V/矣/P","6D/V/MV/with/其/N/,/而/V/MV/V/以/N/者/,/N/也/P","6D/A/N/必/有/A/N/V/之者/、/予/可/无/N/也/P","6E/虽/V/V/A/A/,/A/A/不/同/P","6D/将/有/V/,/则/V/A/N/以/V/N/P","6D/不/V/N/,/不/V/N/,/当/以/AD/V/论/P","6D/A/则为/V/N/,/A/则为/V/N/P","6D/N/受/命/于/N/,/固/AD/然/V/于/A/N/P","6D/N/无/N/则/V/,/N/无/N/则/V/P","6D/N/A/N/A/,/则/所/V/得/其/A/P","7D/夫/A/之/N/V/N/者/,/其/所以/AD/V/者/N/也/P","7D/N/V/以/N/V/,/V/不/V/N","7C/N/N/V/N/,/A/于/N/N","7D/MV/AD/V/A/N/,/but/V/V/不/A","7E/或/V/N/V/N/,/V/N/于/N","7D/A/N/之/N/不在/N/,/在乎/A/N/之/N/也/P","7D/A/N/之/N/,/V/之/N/而/V/之/N/也/P","7D/是故/A/N/不必不如/N/,/N/不必/A/于/A/N/P","7B/有/A/N/、/A/N/、/A/N/之/N/P","8E/虽/N/A/N/A/,/所/以/V/N/,其/N/A/ye/P","8B/like/A/N/V/N/,/不/V/N/V/之/N/P","8D/何必/V/N/V/N/,/V/N/zhi/N/N/哉/P","8D/N/anti/MV/V/N/,/still/继/N/V/,/why/,/and/N/而/anti/V/N/ye/P","8C/V/N/A/A/,/V/N/A/A","8B/N/在/A/N/,/A/N/zhi/A/,/V/于/N/P","8C/A/N/AD/V/,/N/N/AD/V","8D/虽/无/N/N/zhi/V/,/亦/V/以/AD/V/A/N/P","8D/故/V/A/N/者/,/当/V/A/N/之/A/N/P","8D/N/V/于/A/N/之上/,/AD/V/于/A/N/之间/P","8C/使/其/A/N/AD/V/,/A/N/AD/V/P","9D/A/N/V/zhi/而不/V/zhi/、亦/make/A/N/er/复/V/A/N/ye/P","9B/N/MV/V/N/V/V/,/but/N/N/AD/V","9D/以/N/,/当/V/A/N/,/非/N/V/N/所/MV/AD/V/P","9C/此/N/有/A/N/A/N/,/A/N/A/N/P","9B/是/N/ye/,/N/A/N/A/,/N/A/N/A/P"]}}');let Mo={},To="";const Ho={q:["褔"]};function Fo(t,e,r){let n=Ve.SHA256(e),i=jo(n),a=new Uint8Array(i.byteLength+2);a.set(i,0),a.set([r[0],r[1]],i.byteLength),i=a;let s=Ve.lib.WordArray.create(i),o=jo(Ve.SHA256(s)),h=new Uint8Array(16);for(var l=0;l<16;l++)h[l]=o[l];let c=Ve.lib.WordArray.create(h),f=Ve.lib.WordArray.create(t);return jo(Ve.AES.encrypt(f,n,{mode:Ve.mode.CTR,padding:Ve.pad.NoPadding,iv:c}).ciphertext)}function Io(t){let e=Oi.gzip(t);return e.byteLength>=t.byteLength?t:e}function Zo(t){let e,r,n=new Array;for(let s=0;s0;)r=e%10,n.push(r),e=Math.floor(e/10);let i=0,a=0;for(let s=0;s=10&&(n[s]=n[s]%10+Math.floor(n[s]/10))),i+=n[s];return a=10-i%10,a}function jo(t){const e=new Uint8Array(t.sigBytes);for(let r=0;r>>2]>>>24-r%4*8&255;return e}function Wo(t){let e=W.fromUint8Array(t);return W.decode(e)}function Ko(t){return Math.floor(ko.random()*t)}function Xo(t,e){return t.slice(e)+t.slice(0,e)}function Yo(t,e){return t.slice(t.length-e)+t.slice(0,t.length-e)}function qo(t){let e,r,n,i,a,s;return e=fo.indexOf(t),r=Ao.indexOf(t),n=fo.indexOf(uo[e]),i=Ao.indexOf(wo[r]),a=fo.indexOf(_o[n]),s=Ao.indexOf(mo[i]),-1!=e?po[a]:-1!=r?vo[s]:No}function Go(t){let e,r,n,i,a,s;return e=po.indexOf(t),r=vo.indexOf(t),n=_o.indexOf(fo[e]),i=mo.indexOf(Ao[r]),a=uo.indexOf(fo[n]),s=wo.indexOf(Ao[i]),-1!=e?fo[a]:-1!=r?Ao[s]:No}function Qo(){let t=0;32==lo&&(lo=0),t=co[lo]%10,0==t&&(t=10),t%2==0?(uo=Xo(uo,6),wo=Xo(wo,6),_o=Yo(_o,t),mo=Yo(mo,t),po=Xo(po,t/2+1),vo=Xo(vo,t/2+1)):(uo=Yo(uo,3),wo=Yo(wo,3),_o=Xo(_o,t),mo=Xo(mo,t),po=Yo(po,(t+7)/2),vo=Yo(vo,(t+7)/2)),lo++}function Jo(){lo=0,co=new Array(32),uo="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",_o="FbPoDRStyJKAUcdahfVXlqwnOGpHZejzvmrBCigQILxkYMuWTEsN",po="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",wo="1234567890+/=",mo="5=0764+389/12",vo="1234567890+/=",ko=new us(Date.now())}function $o(t){let e=jo(Ve.SHA256(t));co=e}function th(t){for(let e=t.length-1;e>0;e--){const r=Math.floor(Math.random()*(e+1));[t[e],t[r]]=[t[r],t[e]]}return t}function eh(t,e=0,r,n){if(e>100||e<0)throw"Incorrect Random Index";if(r&&n)throw"Contradictory Mode Setting";if(t>100){let i=function(t){if(0===t)return[0];const e=Math.ceil(t/100),r=Math.floor(t/e),n=t%e,i=[];for(let a=0;a{a=a.concat(eh(t,e,r,n)),a[a.length-1].push("Z")})),a}let i,a=function(t){if(t<=3)return[];let e=Math.floor(.2*t);return[e,t-2*e,e]}(t),s=[new Array,new Array,new Array],o=[];for(let h=0;h<3;h++){let t=a[h];for(let r=0;r6){let t=Ko(91);n=t<30?a[a.length-3]:t>=30&&t<60?a[a.length-2]:a[a.length-1]}else n=a.pop();else i>100&&i<=200&&(n=a[Ko(a.length)]);s[h].push(n),r+=n}}s=function(t,e){return t.map((t=>(t.length>6&&t.filter((t=>t<3)).length/t.length>.35&&(t=function(t,e){const r=t.filter((t=>t<3)),n=t.filter((t=>t>=3)),i=Math.max(0,Math.floor((1-e)*r.length)),a=[],s=[],o=[...r];for(let b=0;bt+e),0),l=Math.ceil(h/9),c=Math.min(s.length,Math.floor(h/3));let f=l,u=1/0;for(let b=l;b<=c;b++){const t=Math.floor(h/b),e=h%b,r=[];for(let a=0;at+Math.pow(e-n,2)),0)/b;i0;){r=!1;for(let t=0;t25?a[Ko(a.length)]:0==Ko(2)?0!=l.length?l[Ko(l.length)]:a[Ko(a.length)]:0!=c.length?c[Ko(c.length)]:a[Ko(a.length)],o.push(i)}}return o}function rh(t,e,r,n,i,a){Jo(),$o(e);let s=new Uint8Array;s=t.output,Wo(s);let o=new Uint8Array(s.byteLength+1);if(o.set(s,0),o.set([Zo(s)],s.byteLength),s=o,s.byteLength<=1024){let t=s.byteLength;s=function(t){let e,r=new Uint8Array(2048),n=Wo(t),i=255;for(let o=1;o<6;o++){if(-1!=n.indexOf(xo[o])){i=254;break}if(-1!=n.indexOf(Vo[o])){i=245;break}}if(255==i)for(let o=1;o<6;o++){if(-1!=n.indexOf(Do[o])){i=253;break}if(-1!=n.indexOf(Bo[o])){i=252;break}if(-1!=n.indexOf(zo[o])){i=244;break}if(-1!=n.indexOf(Co[o])){i=251;break}if(-1!=n.indexOf(So[o])){i=250;break}}if(255==i)for(let o=1;o<6;o++){if(-1!=n.indexOf(Eo[o])){i=249;break}if(-1!=n.indexOf(Po[o])){i=248;break}if(-1!=n.indexOf(Ro[o])){i=247;break}if(-1!=n.indexOf(Uo[o])){i=246;break}if(-1!=n.indexOf(Oo[o])){i=243;break}}switch(i){case 255:e=Ia(t,t.byteLength,r);break;case 254:e=Ia(t,t.byteLength,r,xo);break;case 245:e=Ia(t,t.byteLength,r,Vo);break;case 253:e=Ia(t,t.byteLength,r,Do);break;case 252:e=Ia(t,t.byteLength,r,Bo);break;case 244:e=Ia(t,t.byteLength,r,zo);break;case 251:e=Ia(t,t.byteLength,r,Co);break;case 250:e=Ia(t,t.byteLength,r,So);break;case 249:e=Ia(t,t.byteLength,r,Eo);break;case 248:e=Ia(t,t.byteLength,r,Po);break;case 247:e=Ia(t,t.byteLength,r,Ro);break;case 246:e=Ia(t,t.byteLength,r,Uo);break;case 243:e=Ia(t,t.byteLength,r,Oo)}let a=r.subarray(0,e);if(a.byteLength>=t.byteLength)return t;let s=new Uint8Array(a.byteLength+2);return s.set(a,0),s.set([i,255],a.byteLength),a=s,a}(s),s.byteLength==t&&(s=Io(s))}else s=Io(s);let h=new Array;h.push(Ko(256)),h.push(Ko(256)),s=Fo(s,e,h),o=new Uint8Array(s.byteLength+2),o.set(s,0),o.set(h,s.byteLength),s=o;let l=function(t){let e=0;for(let r=t.length-1;r>=t.length-4;r--)"="==t[r]&&e++;return t.slice(0,t.length-e)}(W.fromUint8Array(s)),c="",f="",u=l.length,d=eh(l.length,n,i,a),_=0,p=!1,b=!1,g=0,y=0,A=!1,w=0,m=!1;Qo();for(let v=0;v0&&(c+="” ",w=0,A=!1),m=!1;break}if(r&&!b&&!m){let t=g+(y+1);g<3||v==d.length-2?t>=3&&v!=d.length-2?(c+="。",g=0):(A&&w>0&&(c+="” ",w=0,A=!1),A||0!=w||(c+=",",g+=y+1)):(c+="。",g=0)}A&&w>0&&(c+="” ",w=0,A=!1),b&&(g=0),m&&(m=!1)}if(!r){let t="";for(let e=0;e{Mo[fo[t]].push(e),To+=e})),To+=Lo.Actual.N.alphabet[fo[t]],To+=Lo.Actual.A.alphabet[fo[t]],To+=Lo.Actual.V.alphabet[fo[t]],Lo.Actual.A.alphabet[fo[t]]!=Lo.Actual.AD.alphabet[fo[t]]&&(Mo[fo[t]].push(Lo.Actual.AD.alphabet[fo[t]]),To+=Lo.Actual.AD.alphabet[fo[t]]);for(let t=0;t<13;t++)Mo[Ao[t]]=[],Mo[Ao[t]].push(Lo.Actual.N.numbersymbol[Ao[t]]),Mo[Ao[t]].push(Lo.Actual.A.numbersymbol[Ao[t]]),Mo[Ao[t]].push(Lo.Actual.V.numbersymbol[Ao[t]]),To+=Lo.Actual.N.numbersymbol[Ao[t]],To+=Lo.Actual.A.numbersymbol[Ao[t]],To+=Lo.Actual.V.numbersymbol[Ao[t]],Lo.Actual.A.numbersymbol[Ao[t]]!=Lo.Actual.AD.numbersymbol[Ao[t]]&&(Mo[Ao[t]].push(Lo.Actual.AD.numbersymbol[Ao[t]]),To+=Lo.Actual.AD.numbersymbol[Ao[t]])}(),$o(e);let r=Wo(t.output),n="",i="",a="",s="",o=r.length;for(let d=0;d255)return t;let n,i=r,a=t.subarray(0,t.byteLength-2),s=new Uint8Array(2048);switch(i){case 255:n=cs(a,a.byteLength,s,Li,Mi,Ti,Hi);break;case 254:n=cs(a,a.byteLength,s,Li,Mi,xo,Hi);break;case 245:n=cs(a,a.byteLength,s,Li,Mi,Vo,Hi);break;case 253:n=cs(a,a.byteLength,s,Li,Mi,Do,Hi);break;case 252:n=cs(a,a.byteLength,s,Li,Mi,Bo,Hi);break;case 244:n=cs(a,a.byteLength,s,Li,Mi,zo,Hi);break;case 251:n=cs(a,a.byteLength,s,Li,Mi,Co,Hi);break;case 250:n=cs(a,a.byteLength,s,Li,Mi,So,Hi);break;case 249:n=cs(a,a.byteLength,s,Li,Mi,Eo,Hi);break;case 248:n=cs(a,a.byteLength,s,Li,Mi,Po,Hi);break;case 247:n=cs(a,a.byteLength,s,Li,Mi,Ro,Hi);break;case 246:n=cs(a,a.byteLength,s,Li,Mi,Uo,Hi);break;case 243:n=cs(a,a.byteLength,s,Li,Mi,Oo,Hi)}return s.subarray(0,n)}(l)}catch(u){throw"Error Decoding. Bad Input or Incorrect Key."}if(!function(t){let e=t[t.byteLength-1];return Zo(t.subarray(0,t.byteLength-1))==e}(l))throw"Error Decrypting. Checksum Mismatch.";l=l.subarray(0,l.byteLength-1);let f=new Object;return f.output=Wo(l),f.output_B=l,Jo(),f}function ih(t,e){let r,n,i,a,s=String(t);if(r=fo.indexOf(s),n=bo.indexOf(s),i=go.indexOf(s),a=yo.indexOf(s),-1!=r||-1!=n){if("N"==e){for(let o in Lo.Actual.N.alphabet)if(Lo.Actual.N.alphabet.hasOwnProperty(o)){if(o==s)return Lo.Actual.N.alphabet[qo(o)];if(o.toUpperCase()==s)return String(Lo.Actual.N.alphabet[qo(o.toUpperCase())])}}else if("V"==e){for(let o in Lo.Actual.V.alphabet)if(Lo.Actual.V.alphabet.hasOwnProperty(o)){if(o==s)return Lo.Actual.V.alphabet[qo(o)];if(o.toUpperCase()==s)return String(Lo.Actual.V.alphabet[qo(o.toUpperCase())])}}else if("A"==e){for(let o in Lo.Actual.A.alphabet)if(Lo.Actual.A.alphabet.hasOwnProperty(o)){if(o==s)return Lo.Actual.A.alphabet[qo(o)];if(o.toUpperCase()==s)return String(Lo.Actual.A.alphabet[qo(o.toUpperCase())])}}else if("AD"==e)for(let o in Lo.Actual.AD.alphabet)if(Lo.Actual.AD.alphabet.hasOwnProperty(o)){if(o==s)return Lo.Actual.AD.alphabet[qo(o)];if(o.toUpperCase()==s)return String(Lo.Actual.AD.alphabet[qo(o.toUpperCase())])}}else if(-1!=i||-1!=a)if("N"==e){for(let o in Lo.Actual.N.numbersymbol)if(Lo.Actual.N.numbersymbol.hasOwnProperty(o)&&o==s)return Lo.Actual.N.numbersymbol[qo(o)]}else if("V"==e){for(let o in Lo.Actual.V.numbersymbol)if(Lo.Actual.V.numbersymbol.hasOwnProperty(o)&&o==s)return Lo.Actual.V.numbersymbol[qo(o)]}else if("A"==e){for(let o in Lo.Actual.A.numbersymbol)if(Lo.Actual.A.numbersymbol.hasOwnProperty(o)&&o==s)return Lo.Actual.A.numbersymbol[qo(o)]}else if("AD"==e)for(let o in Lo.Actual.AD.numbersymbol)if(Lo.Actual.AD.numbersymbol.hasOwnProperty(o)&&o==s)return Lo.Actual.AD.numbersymbol[qo(o)];return No}function ah(t){let e,r=String(t);for(let n in Mo)Mo[n].forEach((t=>{r==t&&(e=Go(n))}));return e||No}const sh=class n{constructor(i=n.TEXT,a=n.TEXT){if(h(this,t,""),h(this,e,""),h(this,r,null),i!=n.TEXT&&i!=n.UINT8)throw"Unexpected Argument";if(a!=n.TEXT&&a!=n.UINT8)throw"Unexpected Argument";l(this,t,i),l(this,e,a)}Input(e,i,a="ABRACADABRA",s=!1){if(o(this,t)==n.UINT8){if("[object Uint8Array]"!=Object.prototype.toString.call(e))throw"Unexpected Input Type";let t,o=new TextDecoder("utf-8",{fatal:!0}),c=!1,f=String();try{f=o.decode(e)}catch(h){c=!0}c?(t=new no(e,!0,!1),l(this,r,ao(t,a,s))):(t=io(f),t.isEncrypted&&i!=n.ENCRYPT||i==n.DECRYPT?l(this,r,so(t,a)):l(this,r,ao(t,a,s)))}else if(o(this,t)==n.TEXT){if("[object String]"!=Object.prototype.toString.call(e))throw"Unexpected Input Type";let t=io(e);t.isEncrypted&&i!=n.ENCRYPT||i==n.DECRYPT?l(this,r,so(t,a)):l(this,r,ao(t,a,s))}return 0}Output(){if(null==o(this,r))throw"Null Output, please input some data at first.";return"object"==typeof o(this,r)?o(this,e)==n.TEXT?o(this,r).output:null!=o(this,r).output_B?o(this,r).output_B:(new TextEncoder).encode(o(this,r).output):"string"==typeof o(this,r)?o(this,e)==n.TEXT?o(this,r):(new TextEncoder).encode(o(this,r)):void 0}Input_Next(e,i,a="ABRACADABRA",s=!0,h=50,c=!1,f=!1){if(o(this,t)==n.UINT8){if("[object Uint8Array]"!=Object.prototype.toString.call(e))throw"Unexpected Input Type";if(i==n.ENCRYPT){let t=new Object;t.output=e,l(this,r,rh(t,a,s,h,c,f))}else if(i==n.DECRYPT){let t=new Object;t.output=e,l(this,r,nh(t,a))}return 0}if(o(this,t)==n.TEXT){if("[object String]"!=Object.prototype.toString.call(e))throw"Unexpected Input Type";let t=new Object;return t.output=js(e),i==n.ENCRYPT?l(this,r,rh(t,a,s,h,c,f)):i==n.DECRYPT&&l(this,r,nh(t,a)),0}return 0}};t=new WeakMap,e=new WeakMap,r=new WeakMap,a(sh,"TEXT","TEXT"),a(sh,"UINT8","UINT8"),a(sh,"ENCRYPT","ENCRYPT"),a(sh,"DECRYPT","DECRYPT"),a(sh,"AUTO","AUTO");let oh=sh;export{oh as A}; diff --git a/docs/assets/bg-BQx4j7kW.webp b/docs/assets/bg-BQx4j7kW.webp deleted file mode 100644 index cbac6ea..0000000 Binary files a/docs/assets/bg-BQx4j7kW.webp and /dev/null differ diff --git a/docs/assets/deps-CXr6hmS8.js b/docs/assets/deps-CXr6hmS8.js deleted file mode 100644 index a70a626..0000000 --- a/docs/assets/deps-CXr6hmS8.js +++ /dev/null @@ -1,7 +0,0 @@ -var e;function t(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}const n={},r=[],o=()=>{},i=()=>!1,s=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),a=e=>e.startsWith("onUpdate:"),l=Object.assign,c=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},d=Object.prototype.hasOwnProperty,u=(e,t)=>d.call(e,t),h=Array.isArray,p=e=>"[object Map]"===k(e),f=e=>"[object Set]"===k(e),m=e=>"[object Date]"===k(e),g=e=>"function"==typeof e,v=e=>"string"==typeof e,y=e=>"symbol"==typeof e,b=e=>null!==e&&"object"==typeof e,w=e=>(b(e)||g(e))&&g(e.then)&&g(e.catch),_=Object.prototype.toString,k=e=>_.call(e),C=e=>k(e).slice(8,-1),x=e=>"[object Object]"===k(e),S=e=>v(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,$=t(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),E=t("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),A=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},T=/-(\w)/g,P=A((e=>e.replace(T,((e,t)=>t?t.toUpperCase():"")))),I=/\B([A-Z])/g,R=A((e=>e.replace(I,"-$1").toLowerCase())),M=A((e=>e.charAt(0).toUpperCase()+e.slice(1))),N=A((e=>e?`on${M(e)}`:"")),L=(e,t)=>!Object.is(e,t),D=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},F=e=>{const t=parseFloat(e);return isNaN(t)?e:t},V=e=>{const t=v(e)?Number(e):NaN;return isNaN(t)?e:t};let B;const U=()=>B||(B="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}),H=t("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error");function z(e){if(h(e)){const t={};for(let n=0;n{if(e){const n=e.split(q);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function Y(e){let t="";if(v(e))t=e;else if(h(e))for(let n=0;nte(e,t)))}const re=e=>v(e)?e:null==e?"":h(e)||b(e)&&(e.toString===_||!g(e.toString))?JSON.stringify(e,oe,2):String(e),oe=(e,t)=>t&&t.__v_isRef?oe(e,t.value):p(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],r)=>(e[ie(t,r)+" =>"]=n,e)),{})}:f(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>ie(e)))}:y(t)?ie(t):!b(t)||h(t)||x(t)?t:String(t),ie=(e,t="")=>{var n;return y(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};let se,ae;class le{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=se,!e&&se&&(this.index=(se.scopes||(se.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=se;try{return se=this,e()}finally{se=t}}}on(){se=this}off(){se=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t=5)break}}1===this._dirtyLevel&&(this._dirtyLevel=0),be()}return this._dirtyLevel>=5}set dirty(e){this._dirtyLevel=e?5:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=me,t=ae;try{return me=!0,ae=this,this._runnings++,he(this),this.fn()}finally{pe(this),this._runnings--,ae=t,me=e}}stop(){this.active&&(he(this),pe(this),this.onStop&&this.onStop(),this.active=!1)}}function he(e){e._trackId++,e._depsLength=0}function pe(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t0){r._dirtyLevel=2;continue}let n;r._dirtyLevel{const n=new Map;return n.cleanup=e,n.computed=t,n},$e=new WeakMap,Ee=Symbol(""),Ae=Symbol("");function Te(e,t,n){if(me&&ae){let t=$e.get(e);t||$e.set(e,t=new Map);let r=t.get(n);r||t.set(n,r=Se((()=>t.delete(n)))),ke(ae,r)}}function Pe(e,t,n,r,o,i){const s=$e.get(e);if(!s)return;let a=[];if("clear"===t)a=[...s.values()];else if("length"===n&&h(e)){const e=Number(r);s.forEach(((t,n)=>{("length"===n||!y(n)&&n>=e)&&a.push(t)}))}else switch(void 0!==n&&a.push(s.get(n)),t){case"add":h(e)?S(n)&&a.push(s.get("length")):(a.push(s.get(Ee)),p(e)&&a.push(s.get(Ae)));break;case"delete":h(e)||(a.push(s.get(Ee)),p(e)&&a.push(s.get(Ae)));break;case"set":p(e)&&a.push(s.get(Ee))}we();for(const l of a)l&&xe(l,5);_e()}const Ie=t("__proto__,__v_isRef,__isVue"),Re=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(y)),Me=function(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=_t(this);for(let t=0,o=this.length;t{e[t]=function(...e){ye(),we();const n=_t(this)[t].apply(this,e);return _e(),be(),n}})),e}();function Ne(e){y(e)||(e=String(e));const t=_t(this);return Te(t,0,e),t.hasOwnProperty(e)}class Le{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const r=this._isReadonly,o=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return o;if("__v_raw"===t)return n===(r?o?ht:ut:o?dt:ct).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const i=h(e);if(!r){if(i&&u(Me,t))return Reflect.get(Me,t,n);if("hasOwnProperty"===t)return Ne}const s=Reflect.get(e,t,n);return(y(t)?Re.has(t):Ie(t))?s:(r||Te(e,0,t),o?s:At(s)?i&&S(t)?s:s.value:b(s)?r?mt(s):pt(s):s)}}class De extends Le{constructor(e=!1){super(!1,e)}set(e,t,n,r){let o=e[t];if(!this._isShallow){const t=yt(o);if(bt(n)||yt(n)||(o=_t(o),n=_t(n)),!h(e)&&At(o)&&!At(n))return!t&&(o.value=n,!0)}const i=h(e)&&S(t)?Number(t)e,ze=e=>Reflect.getPrototypeOf(e);function je(e,t,n=!1,r=!1){const o=_t(e=e.__v_raw),i=_t(t);n||(L(t,i)&&Te(o,0,t),Te(o,0,i));const{has:s}=ze(o),a=r?He:n?xt:Ct;return s.call(o,t)?a(e.get(t)):s.call(o,i)?a(e.get(i)):void(e!==o&&e.get(t))}function qe(e,t=!1){const n=this.__v_raw,r=_t(n),o=_t(e);return t||(L(e,o)&&Te(r,0,e),Te(r,0,o)),e===o?n.has(e):n.has(e)||n.has(o)}function We(e,t=!1){return e=e.__v_raw,!t&&Te(_t(e),0,Ee),Reflect.get(e,"size",e)}function Ke(e){e=_t(e);const t=_t(this);return ze(t).has.call(t,e)||(t.add(e),Pe(t,"add",e,e)),this}function Ye(e,t){t=_t(t);const n=_t(this),{has:r,get:o}=ze(n);let i=r.call(n,e);i||(e=_t(e),i=r.call(n,e));const s=o.call(n,e);return n.set(e,t),i?L(t,s)&&Pe(n,"set",e,t):Pe(n,"add",e,t),this}function Ge(e){const t=_t(this),{has:n,get:r}=ze(t);let o=n.call(t,e);o||(e=_t(e),o=n.call(t,e)),r&&r.call(t,e);const i=t.delete(e);return o&&Pe(t,"delete",e,void 0),i}function Je(){const e=_t(this),t=0!==e.size,n=e.clear();return t&&Pe(e,"clear",void 0,void 0),n}function Xe(e,t){return function(n,r){const o=this,i=o.__v_raw,s=_t(i),a=t?He:e?xt:Ct;return!e&&Te(s,0,Ee),i.forEach(((e,t)=>n.call(r,a(e),a(t),o)))}}function Ze(e,t,n){return function(...r){const o=this.__v_raw,i=_t(o),s=p(i),a="entries"===e||e===Symbol.iterator&&s,l="keys"===e&&s,c=o[e](...r),d=n?He:t?xt:Ct;return!t&&Te(i,0,l?Ae:Ee),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:a?[d(e[0]),d(e[1])]:d(e),done:t}},[Symbol.iterator](){return this}}}}function Qe(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}const[et,tt,nt,rt]=function(){const e={get(e){return je(this,e)},get size(){return We(this)},has:qe,add:Ke,set:Ye,delete:Ge,clear:Je,forEach:Xe(!1,!1)},t={get(e){return je(this,e,!1,!0)},get size(){return We(this)},has:qe,add:Ke,set:Ye,delete:Ge,clear:Je,forEach:Xe(!1,!0)},n={get(e){return je(this,e,!0)},get size(){return We(this,!0)},has(e){return qe.call(this,e,!0)},add:Qe("add"),set:Qe("set"),delete:Qe("delete"),clear:Qe("clear"),forEach:Xe(!0,!1)},r={get(e){return je(this,e,!0,!0)},get size(){return We(this,!0)},has(e){return qe.call(this,e,!0)},add:Qe("add"),set:Qe("set"),delete:Qe("delete"),clear:Qe("clear"),forEach:Xe(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((o=>{e[o]=Ze(o,!1,!1),n[o]=Ze(o,!0,!1),t[o]=Ze(o,!1,!0),r[o]=Ze(o,!0,!0)})),[e,n,t,r]}();function ot(e,t){const n=t?e?rt:nt:e?tt:et;return(t,r,o)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(u(n,r)&&r in t?n:t,r,o)}const it={get:ot(!1,!1)},st={get:ot(!1,!0)},at={get:ot(!0,!1)},lt={get:ot(!0,!0)},ct=new WeakMap,dt=new WeakMap,ut=new WeakMap,ht=new WeakMap;function pt(e){return yt(e)?e:gt(e,!1,Fe,it,ct)}function ft(e){return gt(e,!1,Be,st,dt)}function mt(e){return gt(e,!0,Ve,at,ut)}function gt(e,t,n,r,o){if(!b(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const i=o.get(e);if(i)return i;const s=(a=e).__v_skip||!Object.isExtensible(a)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(C(a));var a;if(0===s)return e;const l=new Proxy(e,2===s?r:n);return o.set(e,l),l}function vt(e){return yt(e)?vt(e.__v_raw):!(!e||!e.__v_isReactive)}function yt(e){return!(!e||!e.__v_isReadonly)}function bt(e){return!(!e||!e.__v_isShallow)}function wt(e){return!!e&&!!e.__v_raw}function _t(e){const t=e&&e.__v_raw;return t?_t(t):e}function kt(e){return Object.isExtensible(e)&&O(e,"__v_skip",!0),e}const Ct=e=>b(e)?pt(e):e,xt=e=>b(e)?mt(e):e;class St{constructor(e,t,n,r){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new ue((()=>e(this._value)),(()=>Et(this,3===this.effect._dirtyLevel?3:4))),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=_t(this);return e._cacheable&&!e.effect.dirty||!L(e._value,e._value=e.effect.run())||Et(e,5),$t(e),e.effect._dirtyLevel>=2&&Et(e,3),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function $t(e){var t;me&&ae&&(e=_t(e),ke(ae,null!=(t=e.dep)?t:e.dep=Se((()=>e.dep=void 0),e instanceof St?e:void 0)))}function Et(e,t=5,n,r){const o=(e=_t(e)).dep;o&&xe(o,t)}function At(e){return!(!e||!0!==e.__v_isRef)}function Tt(e){return Pt(e,!1)}function Pt(e,t){return At(e)?e:new It(e,t)}class It{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:_t(e),this._value=t?e:Ct(e)}get value(){return $t(this),this._value}set value(e){const t=this.__v_isShallow||bt(e)||yt(e);e=t?e:_t(e),L(e,this._rawValue)&&(this._rawValue,this._rawValue=e,this._value=t?e:Ct(e),Et(this,5))}}function Rt(e){return At(e)?e.value:e}const Mt={get:(e,t,n)=>Rt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return At(o)&&!At(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Nt(e){return vt(e)?e:new Proxy(e,Mt)}class Lt{constructor(e){this.dep=void 0,this.__v_isRef=!0;const{get:t,set:n}=e((()=>$t(this)),(()=>Et(this)));this._get=t,this._set=n}get value(){return this._get()}set value(e){this._set(e)}}function Dt(e){return new Lt(e)}class Ot{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,t){const n=$e.get(e);return n&&n.get(t)}(_t(this._object),this._key)}}class Ft{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Vt(e,t,n){const r=e[t];return At(r)?r:new Ot(e,t,n)}function Bt(e,t,n,r){try{return r?e(...r):e()}catch(o){Ht(o,t,n)}}function Ut(e,t,n,r){if(g(e)){const o=Bt(e,t,n,r);return o&&w(o)&&o.catch((e=>{Ht(e,t,n)})),o}if(h(e)){const o=[];for(let i=0;i>>1,o=qt[r],i=on(o);ion(e)-on(t)));if(Kt.length=0,Yt)return void Yt.push(...e);for(Yt=e,Gt=0;Gtnull==e.id?1/0:e.id,sn=(e,t)=>{const n=on(e)-on(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function an(e){jt=!1,zt=!0,qt.sort(sn);try{for(Wt=0;Wtv(e)?e.trim():e))),t&&(i=r.map(F))}let l,c=o[l=N(t)]||o[l=N(P(t))];!c&&s&&(c=o[l=N(R(t))]),c&&Ut(c,e,6,i);const d=o[l+"Once"];if(d){if(e.emitted){if(e.emitted[l])return}else e.emitted={};e.emitted[l]=!0,Ut(d,e,6,i)}}function un(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(void 0!==o)return o;const i=e.emits;let s={},a=!1;if(!g(e)){const r=e=>{const n=un(e,t,!0);n&&(a=!0,l(s,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return i||a?(h(i)?i.forEach((e=>s[e]=null)):l(s,i),b(e)&&r.set(e,s),s):(b(e)&&r.set(e,null),null)}function hn(e,t){return!(!e||!s(t))&&(t=t.slice(2).replace(/Once$/,""),u(e,t[0].toLowerCase()+t.slice(1))||u(e,R(t))||u(e,t))}let pn=null,fn=null;function mn(e){const t=pn;return pn=e,fn=e&&e.type.__scopeId||null,t}function gn(e,t=pn,n){if(!t)return e;if(e._n)return e;const r=(...n)=>{r._d&&ei(-1);const o=mn(t);let i;try{i=e(...n)}finally{mn(o),r._d&&ei(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function vn(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[i],slots:s,attrs:l,emit:c,render:d,renderCache:u,props:h,data:p,setupState:f,ctx:m,inheritAttrs:g}=e,v=mn(e);let y,b;try{if(4&n.shapeFlag){const e=o||r,t=e;y=fi(d.call(t,e,u,h,f,p,m)),b=l}else{const e=t;y=fi(e.length>1?e(h,{attrs:l,slots:s,emit:c}):e(h,null)),b=t.props?l:yn(l)}}catch(_){Go.length=0,Ht(_,e,1),y=ci(Ko)}let w=y;if(b&&!1!==g){const e=Object.keys(b),{shapeFlag:t}=w;e.length&&7&t&&(i&&e.some(a)&&(b=bn(b,i)),w=ui(w,b,!1,!0))}return n.dirs&&(w=ui(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&(w.transition=n.transition),y=w,mn(v),y}const yn=e=>{let t;for(const n in e)("class"===n||"style"===n||s(n))&&((t||(t={}))[n]=e[n]);return t},bn=(e,t)=>{const n={};for(const r in e)a(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function wn(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let o=0;oe.__isSuspense;let En=0;const An={name:"Suspense",__isSuspense:!0,process(e,t,n,r,o,i,s,a,l,c){if(null==e)!function(e,t,n,r,o,i,s,a,l){const{p:c,o:{createElement:d}}=l,u=d("div"),h=e.suspense=In(e,o,r,t,u,n,i,s,a,l);c(null,h.pendingBranch=e.ssContent,u,null,r,h,i,s),h.deps>0?(Pn(e,"onPending"),Pn(e,"onFallback"),c(null,e.ssFallback,t,n,r,null,i,s),Nn(h,e.ssFallback)):h.resolve(!1,!0)}(t,n,r,o,i,s,a,l,c);else{if(i&&i.deps>0&&!e.suspense.isInFallback)return t.suspense=e.suspense,t.suspense.vnode=t,void(t.el=e.el);!function(e,t,n,r,o,i,s,a,{p:l,um:c,o:{createElement:d}}){const u=t.suspense=e.suspense;u.vnode=t,t.el=e.el;const h=t.ssContent,p=t.ssFallback,{activeBranch:f,pendingBranch:m,isInFallback:g,isHydrating:v}=u;if(m)u.pendingBranch=h,ii(h,m)?(l(m,h,u.hiddenContainer,null,o,u,i,s,a),u.deps<=0?u.resolve():g&&(v||(l(f,p,n,r,o,null,i,s,a),Nn(u,p)))):(u.pendingId=En++,v?(u.isHydrating=!1,u.activeBranch=m):c(m,o,u),u.deps=0,u.effects.length=0,u.hiddenContainer=d("div"),g?(l(null,h,u.hiddenContainer,null,o,u,i,s,a),u.deps<=0?u.resolve():(l(f,p,n,r,o,null,i,s,a),Nn(u,p))):f&&ii(h,f)?(l(f,h,n,r,o,u,i,s,a),u.resolve(!0)):(l(null,h,u.hiddenContainer,null,o,u,i,s,a),u.deps<=0&&u.resolve()));else if(f&&ii(h,f))l(f,h,n,r,o,u,i,s,a),Nn(u,h);else if(Pn(t,"onPending"),u.pendingBranch=h,512&h.shapeFlag?u.pendingId=h.component.suspenseId:u.pendingId=En++,l(null,h,u.hiddenContainer,null,o,u,i,s,a),u.deps<=0)u.resolve();else{const{timeout:e,pendingId:t}=u;e>0?setTimeout((()=>{u.pendingId===t&&u.fallback(p)}),e):0===e&&u.fallback(p)}}(e,t,n,r,o,s,a,l,c)}},hydrate:function(e,t,n,r,o,i,s,a,l){const c=t.suspense=In(t,r,n,e.parentNode,document.createElement("div"),null,o,i,s,a,!0),d=l(e,c.pendingBranch=t.ssContent,n,c,i,s);return 0===c.deps&&c.resolve(!1,!0),d},create:In,normalize:function(e){const{shapeFlag:t,children:n}=e,r=32&t;e.ssContent=Rn(r?n.default:n),e.ssFallback=r?Rn(n.fallback):ci(Ko)}},Tn=An;function Pn(e,t){const n=e.props&&e.props[t];g(n)&&n()}function In(e,t,n,r,o,i,s,a,l,c,d=!1){const{p:u,m:h,um:p,n:f,o:{parentNode:m,remove:g}}=c;let v;const y=function(e){const t=e.props&&e.props.suspensible;return null!=t&&!1!==t}(e);y&&t&&t.pendingBranch&&(v=t.pendingId,t.deps++);const b=e.props?V(e.props.timeout):void 0,w=i,_={vnode:e,parent:t,parentComponent:n,namespace:s,container:r,hiddenContainer:o,deps:0,pendingId:En++,timeout:"number"==typeof b?b:-1,activeBranch:null,pendingBranch:null,isInFallback:!d,isHydrating:d,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){const{vnode:r,activeBranch:o,pendingBranch:s,pendingId:a,effects:l,parentComponent:c,container:d}=_;let u=!1;_.isHydrating?_.isHydrating=!1:e||(u=o&&s.transition&&"out-in"===s.transition.mode,u&&(o.transition.afterLeave=()=>{a===_.pendingId&&(h(s,d,i===w?f(o):i,0),tn(l))}),o&&(m(o.el)!==_.hiddenContainer&&(i=f(o)),p(o,c,_,!0)),u||h(s,d,i,0)),Nn(_,s),_.pendingBranch=null,_.isInFallback=!1;let g=_.parent,b=!1;for(;g;){if(g.pendingBranch){g.effects.push(...l),b=!0;break}g=g.parent}b||u||tn(l),_.effects=[],y&&t&&t.pendingBranch&&v===t.pendingId&&(t.deps--,0!==t.deps||n||t.resolve()),Pn(r,"onResolve")},fallback(e){if(!_.pendingBranch)return;const{vnode:t,activeBranch:n,parentComponent:r,container:o,namespace:i}=_;Pn(t,"onFallback");const s=f(n),c=()=>{_.isInFallback&&(u(null,e,o,s,r,null,i,a,l),Nn(_,e))},d=e.transition&&"out-in"===e.transition.mode;d&&(n.transition.afterLeave=c),_.isInFallback=!0,p(n,r,null,!0),d||c()},move(e,t,n){_.activeBranch&&h(_.activeBranch,e,t,n),_.container=e},next:()=>_.activeBranch&&f(_.activeBranch),registerDep(e,t,n){const r=!!_.pendingBranch;r&&_.deps++;const o=e.vnode.el;e.asyncDep.catch((t=>{Ht(t,e,0)})).then((i=>{if(e.isUnmounted||_.isUnmounted||_.pendingId!==e.suspenseId)return;e.asyncResolved=!0;const{vnode:a}=e;Mi(e,i,!1),o&&(a.el=o);const l=!o&&e.subTree.el;t(e,a,m(o||e.subTree.el),o?null:f(e.subTree),_,s,n),l&&g(l),_n(e,a.el),r&&0==--_.deps&&_.resolve()}))},unmount(e,t){_.isUnmounted=!0,_.activeBranch&&p(_.activeBranch,n,e,t),_.pendingBranch&&p(_.pendingBranch,n,e,t)}};return _}function Rn(e){let t;if(g(e)){const n=Qo&&e._c;n&&(e._d=!1,Xo()),e=e(),n&&(e._d=!0,t=Jo,Zo())}if(h(e)){const t=function(e,t=!0){let n;for(let r=0;rt!==e))),e}function Mn(e,t){t&&t.pendingBranch?h(e)?t.effects.push(...e):t.effects.push(e):tn(e)}function Nn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let o=t.el;for(;!o&&t.component;)o=(t=t.component.subTree).el;n.el=o,r&&r.subTree===n&&(r.vnode.el=o,_n(r,o))}function Ln(e,t,n=ki,r=!1){if(n){const o=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...r)=>{ye();const o=$i(n),i=Ut(t,n,e,r);return o(),be(),i});return r?o.unshift(i):o.push(i),i}}const Dn=e=>(t,n=ki)=>{Ii&&"sp"!==e||Ln(e,((...e)=>t(...e)),n)},On=Dn("bm"),Fn=Dn("m"),Vn=Dn("bu"),Bn=Dn("u"),Un=Dn("bum"),Hn=Dn("um"),zn=Dn("sp"),jn=Dn("rtg"),qn=Dn("rtc");function Wn(e,t=ki){Ln("ec",e,t)}function Kn(e,t,n,r){const o=e.dirs,i=t&&t.dirs;for(let s=0;s!!e.type.__asyncLoader;function Jn(e,t){const{ref:n,props:r,children:o,ce:i}=t.vnode,s=ci(e,r,o);return s.ref=n,s.ce=i,delete t.vnode.ce,s}function Xn(e,t,n={},r,o){if(pn.isCE||pn.parent&&Gn(pn.parent)&&pn.parent.isCE)return"default"!==t&&(n.name=t),ci("slot",n,r&&r());let i=e[t];i&&i._c&&(i._d=!1),Xo();const s=i&&Zn(i(n)),a=ri(qo,{key:n.key||s&&s.key||`_${t}`},s||(r?r():[]),s&&1===e._?64:-2);return!o&&a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),i&&i._c&&(i._d=!0),a}function Zn(e){return e.some((e=>!oi(e)||e.type!==Ko&&!(e.type===qo&&!Zn(e.children))))?e:null}const Qn=e=>e?Ai(e)?Fi(e):Qn(e.parent):null,er=l(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Qn(e.parent),$root:e=>Qn(e.root),$emit:e=>e.emit,$options:e=>cr(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Qt(e.update)}),$nextTick:e=>e.n||(e.n=Zt.bind(e.proxy)),$watch:e=>co.bind(e)}),tr=(e,t)=>e!==n&&!e.__isScriptSetup&&u(e,t),nr={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:r,setupState:o,data:i,props:s,accessCache:a,type:l,appContext:c}=e;let d;if("$"!==t[0]){const l=a[t];if(void 0!==l)switch(l){case 1:return o[t];case 2:return i[t];case 4:return r[t];case 3:return s[t]}else{if(tr(o,t))return a[t]=1,o[t];if(i!==n&&u(i,t))return a[t]=2,i[t];if((d=e.propsOptions[0])&&u(d,t))return a[t]=3,s[t];if(r!==n&&u(r,t))return a[t]=4,r[t];sr&&(a[t]=0)}}const h=er[t];let p,f;return h?("$attrs"===t&&Te(e.attrs,0,""),h(e)):(p=l.__cssModules)&&(p=p[t])?p:r!==n&&u(r,t)?(a[t]=4,r[t]):(f=c.config.globalProperties,u(f,t)?f[t]:void 0)},set({_:e},t,r){const{data:o,setupState:i,ctx:s}=e;return tr(i,t)?(i[t]=r,!0):o!==n&&u(o,t)?(o[t]=r,!0):!(u(e.props,t)||"$"===t[0]&&t.slice(1)in e||(s[t]=r,0))},has({_:{data:e,setupState:t,accessCache:r,ctx:o,appContext:i,propsOptions:s}},a){let l;return!!r[a]||e!==n&&u(e,a)||tr(t,a)||(l=s[0])&&u(l,a)||u(o,a)||u(er,a)||u(i.config.globalProperties,a)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:u(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},rr=l({},nr,{get(e,t){if(t!==Symbol.unscopables)return nr.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!H(t)});function or(){const e=Ci();return e.setupContext||(e.setupContext=Oi(e))}function ir(e){return h(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}let sr=!0;function ar(e,t,n){Ut(h(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function lr(e,t,n,r){const o=r.includes(".")?uo(n,r):()=>n[r];if(v(e)){const n=t[e];g(n)&&ao(o,n)}else if(g(e))ao(o,e.bind(n));else if(b(e))if(h(e))e.forEach((e=>lr(e,t,n,r)));else{const r=g(e.handler)?e.handler.bind(n):t[e.handler];g(r)&&ao(o,r,e)}}function cr(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:s}}=e.appContext,a=i.get(t);let l;return a?l=a:o.length||n||r?(l={},o.length&&o.forEach((e=>dr(l,e,s,!0))),dr(l,t,s)):l=t,b(t)&&i.set(t,l),l}function dr(e,t,n,r=!1){const{mixins:o,extends:i}=t;i&&dr(e,i,n,!0),o&&o.forEach((t=>dr(e,t,n,!0)));for(const s in t)if(r&&"expose"===s);else{const r=ur[s]||n&&n[s];e[s]=r?r(e[s],t[s]):t[s]}return e}const ur={data:hr,props:gr,emits:gr,methods:mr,computed:mr,beforeCreate:fr,created:fr,beforeMount:fr,mounted:fr,beforeUpdate:fr,updated:fr,beforeDestroy:fr,beforeUnmount:fr,destroyed:fr,unmounted:fr,activated:fr,deactivated:fr,errorCaptured:fr,serverPrefetch:fr,components:mr,directives:mr,watch:function(e,t){if(!e)return t;if(!t)return e;const n=l(Object.create(null),e);for(const r in t)n[r]=fr(e[r],t[r]);return n},provide:hr,inject:function(e,t){return mr(pr(e),pr(t))}};function hr(e,t){return t?e?function(){return l(g(e)?e.call(this,this):e,g(t)?t.call(this,this):t)}:t:e}function pr(e){if(h(e)){const t={};for(let n=0;n(i.has(e)||(e&&g(e.install)?(i.add(e),e.install(a,...t)):g(e)&&(i.add(e),e(a,...t))),a),mixin:e=>(o.mixins.includes(e)||o.mixins.push(e),a),component:(e,t)=>t?(o.components[e]=t,a):o.components[e],directive:(e,t)=>t?(o.directives[e]=t,a):o.directives[e],mount(i,l,c){if(!s){const d=ci(n,r);return d.appContext=o,!0===c?c="svg":!1===c&&(c=void 0),l&&t?t(d,i):e(d,i,c),s=!0,a._container=i,i.__vue_app__=a,Fi(d.component)}},unmount(){s&&(e(null,a._container),delete a._container.__vue_app__)},provide:(e,t)=>(o.provides[e]=t,a),runWithContext(e){const t=wr;wr=a;try{return e()}finally{wr=t}}};return a}}let wr=null;function _r(e,t){if(ki){let n=ki.provides;const r=ki.parent&&ki.parent.provides;r===n&&(n=ki.provides=Object.create(r)),n[e]=t}}function kr(e,t,n=!1){const r=ki||pn;if(r||wr){const o=r?null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:wr._context.provides;if(o&&e in o)return o[e];if(arguments.length>1)return n&&g(t)?t.call(r&&r.proxy):t}}const Cr={},xr=()=>Object.create(Cr),Sr=e=>Object.getPrototypeOf(e)===Cr;function $r(e,t,r,o){const[i,s]=e.propsOptions;let a,l=!1;if(t)for(let n in t){if($(n))continue;const c=t[n];let d;i&&u(i,d=P(n))?s&&s.includes(d)?(a||(a={}))[d]=c:r[d]=c:hn(e.emitsOptions,n)||n in o&&c===o[n]||(o[n]=c,l=!0)}if(s){const t=_t(r),o=a||n;for(let n=0;n{p=!0;const[n,r]=Ar(e,t,!0);l(c,n),r&&d.push(...r)};!o&&t.mixins.length&&t.mixins.forEach(n),e.extends&&n(e.extends),e.mixins&&e.mixins.forEach(n)}if(!a&&!p)return b(e)&&i.set(e,r),r;if(h(a))for(let r=0;r-1,r[1]=n<0||t-1||u(r,"default"))&&d.push(e)}}}const f=[c,d];return b(e)&&i.set(e,f),f}function Tr(e){return"$"!==e[0]&&!$(e)}function Pr(e){return null===e?"null":"function"==typeof e?e.name||"":"object"==typeof e&&e.constructor&&e.constructor.name||""}function Ir(e,t){return Pr(e)===Pr(t)}function Rr(e,t){return h(t)?t.findIndex((t=>Ir(t,e))):g(t)&&Ir(t,e)?0:-1}const Mr=e=>"_"===e[0]||"$stable"===e,Nr=e=>h(e)?e.map(fi):[fi(e)],Lr=(e,t,n)=>{if(t._n)return t;const r=gn(((...e)=>Nr(t(...e))),n);return r._c=!1,r},Dr=(e,t,n)=>{const r=e._ctx;for(const o in e){if(Mr(o))continue;const n=e[o];if(g(n))t[o]=Lr(0,n,r);else if(null!=n){const e=Nr(n);t[o]=()=>e}}},Or=(e,t)=>{const n=Nr(t);e.slots.default=()=>n},Fr=(e,t)=>{const n=e.slots=xr();if(32&e.vnode.shapeFlag){const e=t._;e?(l(n,t),O(n,"_",e,!0)):Dr(t,n)}else t&&Or(e,t)},Vr=(e,t,r)=>{const{vnode:o,slots:i}=e;let s=!0,a=n;if(32&o.shapeFlag){const e=t._;e?r&&1===e?s=!1:(l(i,t),r||1!==e||delete i._):(s=!t.$stable,Dr(t,i)),a=t}else t&&(Or(e,t),a={default:1});if(s)for(const n in i)Mr(n)||null!=a[n]||delete i[n]};function Br(e,t,r,o,i=!1){if(h(e))return void e.forEach(((e,n)=>Br(e,t&&(h(t)?t[n]:t),r,o,i)));if(Gn(o)&&!i)return;const s=4&o.shapeFlag?Fi(o.component):o.el,a=i?null:s,{i:l,r:d}=e,p=t&&t.r,f=l.refs===n?l.refs={}:l.refs,m=l.setupState;if(null!=p&&p!==d&&(v(p)?(f[p]=null,u(m,p)&&(m[p]=null)):At(p)&&(p.value=null)),g(d))Bt(d,l,12,[a,f]);else{const t=v(d),n=At(d);if(t||n){const o=()=>{if(e.f){const n=t?u(m,d)?m[d]:f[d]:d.value;i?h(n)&&c(n,s):h(n)?n.includes(s)||n.push(s):t?(f[d]=[s],u(m,d)&&(m[d]=f[d])):(d.value=[s],e.k&&(f[e.k]=d.value))}else t?(f[d]=a,u(m,d)&&(m[d]=a)):n&&(d.value=a,e.k&&(f[e.k]=a))};a?(o.id=-1,Wr(o,r)):o()}}}let Ur=!1;const Hr=()=>{Ur||(console.error("Hydration completed but contains mismatches."),Ur=!0)},zr=e=>{return(t=e).namespaceURI.includes("svg")&&"foreignObject"!==t.tagName?"svg":(e=>e.namespaceURI.includes("MathML"))(e)?"mathml":void 0;var t},jr=e=>8===e.nodeType;function qr(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:i,parentNode:a,remove:l,insert:c,createComment:d}}=e,u=(n,r,s,l,d,b=!1)=>{b=b||!!r.dynamicChildren;const w=jr(n)&&"["===n.data,_=()=>m(n,r,s,l,d,w),{type:k,ref:C,shapeFlag:x,patchFlag:S}=r;let $=n.nodeType;r.el=n,-2===S&&(b=!1,r.dynamicChildren=null);let E=null;switch(k){case Wo:3!==$?""===r.children?(c(r.el=o(""),a(n),n),E=n):E=_():(n.data!==r.children&&(Hr(),n.data=r.children),E=i(n));break;case Ko:y(n)?(E=i(n),v(r.el=n.content.firstChild,n,s)):E=8!==$||w?_():i(n);break;case Yo:if(w&&($=(n=i(n)).nodeType),1===$||3===$){E=n;const e=!r.children.length;for(let t=0;t{a=a||!!t.dynamicChildren;const{type:c,props:d,patchFlag:u,shapeFlag:h,dirs:f,transition:m}=t,g="input"===c||"option"===c;if(g||-1!==u){f&&Kn(t,null,n,"created");let c,b=!1;if(y(e)){b=Zr(o,m)&&n&&n.vnode.props&&n.vnode.props.appear;const r=e.content.firstChild;b&&m.beforeEnter(r),v(r,e,n),t.el=e=r}if(16&h&&(!d||!d.innerHTML&&!d.textContent)){let r=p(e.firstChild,t,e,n,o,i,a);for(;r;){Hr();const e=r;r=r.nextSibling,l(e)}}else 8&h&&e.textContent!==t.children&&(Hr(),e.textContent=t.children);if(d)if(g||!a||48&u)for(const t in d)(g&&(t.endsWith("value")||"indeterminate"===t)||s(t)&&!$(t)||"."===t[0])&&r(e,t,null,d[t],void 0,void 0,n);else d.onClick&&r(e,"onClick",null,d.onClick,void 0,void 0,n);(c=d&&d.onVnodeBeforeMount)&&yi(c,n,t),f&&Kn(t,null,n,"beforeMount"),((c=d&&d.onVnodeMounted)||f||b)&&Mn((()=>{c&&yi(c,n,t),b&&m.enter(e),f&&Kn(t,null,n,"mounted")}),o)}return e.nextSibling},p=(e,t,r,i,s,a,l)=>{l=l||!!t.dynamicChildren;const d=t.children,h=d.length;for(let p=0;p{const{slotScopeIds:l}=t;l&&(o=o?o.concat(l):l);const u=a(e),h=p(i(e),t,u,n,r,o,s);return h&&jr(h)&&"]"===h.data?i(t.anchor=h):(Hr(),c(t.anchor=d("]"),u,h),h)},m=(e,t,r,o,s,c)=>{if(Hr(),t.el=null,c){const t=g(e);for(;;){const n=i(e);if(!n||n===t)break;l(n)}}const d=i(e),u=a(e);return l(e),n(null,t,u,d,r,o,zr(u),s),d},g=(e,t="[",n="]")=>{let r=0;for(;e;)if((e=i(e))&&jr(e)&&(e.data===t&&r++,e.data===n)){if(0===r)return i(e);r--}return e},v=(e,t,n)=>{const r=t.parentNode;r&&r.replaceChild(e,t);let o=n;for(;o;)o.vnode.el===t&&(o.vnode.el=o.subTree.el=e),o=o.parent},y=e=>1===e.nodeType&&"template"===e.tagName.toLowerCase();return[(e,t)=>{if(!t.hasChildNodes())return n(null,e,t),rn(),void(t._vnode=e);u(t.firstChild,e,null,null,null),rn(),t._vnode=e},u]}const Wr=Mn;function Kr(e){return Gr(e)}function Yr(e){return Gr(e,qr)}function Gr(e,t){U().__VUE__=!0;const{insert:i,remove:s,patchProp:a,createElement:l,createText:c,createComment:d,setText:h,setElementText:p,parentNode:f,nextSibling:m,setScopeId:g=o,insertStaticContent:v}=e,y=(e,t,n,r=null,o=null,i=null,s=void 0,a=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!ii(e,t)&&(r=G(e),j(e,o,i,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:c,ref:d,shapeFlag:u}=t;switch(c){case Wo:b(e,t,n,r);break;case Ko:w(e,t,n,r);break;case Yo:null==e&&_(t,n,r,s);break;case qo:I(e,t,n,r,o,i,s,a,l);break;default:1&u?k(e,t,n,r,o,i,s,a,l):6&u?M(e,t,n,r,o,i,s,a,l):(64&u||128&u)&&c.process(e,t,n,r,o,i,s,a,l,Z)}null!=d&&o&&Br(d,e&&e.ref,i,t||e,!t)},b=(e,t,n,r)=>{if(null==e)i(t.el=c(t.children),n,r);else{const n=t.el=e.el;t.children!==e.children&&h(n,t.children)}},w=(e,t,n,r)=>{null==e?i(t.el=d(t.children||""),n,r):t.el=e.el},_=(e,t,n,r)=>{[e.el,e.anchor]=v(e.children,t,n,r,e.el,e.anchor)},k=(e,t,n,r,o,i,s,a,l)=>{"svg"===t.type?s="svg":"math"===t.type&&(s="mathml"),null==e?C(t,n,r,o,i,s,a,l):E(e,t,o,i,s,a,l)},C=(e,t,n,r,o,s,c,d)=>{let u,h;const{props:f,shapeFlag:m,transition:g,dirs:v}=e;if(u=e.el=l(e.type,s,f&&f.is,f),8&m?p(u,e.children):16&m&&S(e.children,u,null,r,o,Jr(e,s),c,d),v&&Kn(e,null,r,"created"),x(u,e,e.scopeId,c,r),f){for(const t in f)"value"===t||$(t)||a(u,t,null,f[t],s,e.children,r,o,Y);"value"in f&&a(u,"value",null,f.value,s),(h=f.onVnodeBeforeMount)&&yi(h,r,e)}v&&Kn(e,null,r,"beforeMount");const y=Zr(o,g);y&&g.beforeEnter(u),i(u,t,n),((h=f&&f.onVnodeMounted)||y||v)&&Wr((()=>{h&&yi(h,r,e),y&&g.enter(u),v&&Kn(e,null,r,"mounted")}),o)},x=(e,t,n,r,o)=>{if(n&&g(e,n),r)for(let i=0;i{for(let c=l;c{const c=t.el=e.el;let{patchFlag:d,dynamicChildren:u,dirs:h}=t;d|=16&e.patchFlag;const f=e.props||n,m=t.props||n;let g;if(r&&Xr(r,!1),(g=m.onVnodeBeforeUpdate)&&yi(g,r,t,e),h&&Kn(t,e,r,"beforeUpdate"),r&&Xr(r,!0),u?A(e.dynamicChildren,u,c,r,o,Jr(t,i),s):l||V(e,t,c,null,r,o,Jr(t,i),s,!1),d>0){if(16&d)T(c,t,f,m,r,o,i);else if(2&d&&f.class!==m.class&&a(c,"class",null,m.class,i),4&d&&a(c,"style",f.style,m.style,i),8&d){const n=t.dynamicProps;for(let t=0;t{g&&yi(g,r,t,e),h&&Kn(t,e,r,"updated")}),o)},A=(e,t,n,r,o,i,s)=>{for(let a=0;a{if(r!==o){if(r!==n)for(const n in r)$(n)||n in o||a(e,n,r[n],null,l,t.children,i,s,Y);for(const n in o){if($(n))continue;const c=o[n],d=r[n];c!==d&&"value"!==n&&a(e,n,d,c,l,t.children,i,s,Y)}"value"in o&&a(e,"value",r.value,o.value,l)}},I=(e,t,n,r,o,s,a,l,d)=>{const u=t.el=e?e.el:c(""),h=t.anchor=e?e.anchor:c("");let{patchFlag:p,dynamicChildren:f,slotScopeIds:m}=t;m&&(l=l?l.concat(m):m),null==e?(i(u,n,r),i(h,n,r),S(t.children||[],n,h,o,s,a,l,d)):p>0&&64&p&&f&&e.dynamicChildren?(A(e.dynamicChildren,f,n,o,s,a,l),(null!=t.key||o&&t===o.subTree)&&Qr(e,t,!0)):V(e,t,n,h,o,s,a,l,d)},M=(e,t,n,r,o,i,s,a,l)=>{t.slotScopeIds=a,null==e?512&t.shapeFlag?o.ctx.activate(t,n,r,s,l):N(t,n,r,o,i,s,l):L(e,t,l)},N=(e,t,n,r,o,i,s)=>{const a=e.component=_i(e,r,o);if(po(e)&&(a.ctx.renderer=Z),Ri(a),a.asyncDep){if(o&&o.registerDep(a,O,s),!e.el){const e=a.subTree=ci(Ko);w(null,e,t,n)}}else O(a,e,t,n,o,i,s)},L=(e,t,n)=>{const r=t.component=e.component;if(function(e,t,n){const{props:r,children:o,component:i}=e,{props:s,children:a,patchFlag:l}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!o&&!a||a&&a.$stable)||r!==s&&(r?!s||wn(r,s,c):!!s);if(1024&l)return!0;if(16&l)return r?wn(r,s,c):!!s;if(8&l){const e=t.dynamicProps;for(let t=0;tWt&&qt.splice(t,1)}(r.update),r.effect.dirty=!0,r.update()}else t.el=e.el,r.vnode=t},O=(e,t,n,r,i,s,a)=>{const l=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:o,vnode:c}=e;{const n=eo(e);if(n)return t&&(t.el=c.el,F(e,t,a)),void n.asyncDep.then((()=>{e.isUnmounted||l()}))}let d,u=t;Xr(e,!1),t?(t.el=c.el,F(e,t,a)):t=c,n&&D(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&yi(d,o,t,c),Xr(e,!0);const h=vn(e),p=e.subTree;e.subTree=h,y(p,h,f(p.el),G(p),e,i,s),t.el=h.el,null===u&&_n(e,h.el),r&&Wr(r,i),(d=t.props&&t.props.onVnodeUpdated)&&Wr((()=>yi(d,o,t,c)),i)}else{let o;const{el:a,props:l}=t,{bm:c,m:d,parent:u}=e,h=Gn(t);if(Xr(e,!1),c&&D(c),!h&&(o=l&&l.onVnodeBeforeMount)&&yi(o,u,t),Xr(e,!0),a&&ee){const n=()=>{e.subTree=vn(e),ee(a,e.subTree,e,i,null)};h?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{const o=e.subTree=vn(e);y(null,o,n,r,e,i,s),t.el=o.el}if(d&&Wr(d,i),!h&&(o=l&&l.onVnodeMounted)){const e=t;Wr((()=>yi(o,u,e)),i)}(256&t.shapeFlag||u&&Gn(u.vnode)&&256&u.vnode.shapeFlag)&&e.a&&Wr(e.a,i),e.isMounted=!0,t=n=r=null}},c=e.effect=new ue(l,o,(()=>Qt(d)),e.scope),d=e.update=()=>{c.dirty&&c.run()};d.id=e.uid,Xr(e,!0),d()},F=(e,t,n)=>{t.component=e;const r=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,r){const{props:o,attrs:i,vnode:{patchFlag:s}}=e,a=_t(o),[l]=e.propsOptions;let c=!1;if(!(r||s>0)||16&s){let r;$r(e,t,o,i)&&(c=!0);for(const i in a)t&&(u(t,i)||(r=R(i))!==i&&u(t,r))||(l?!n||void 0===n[i]&&void 0===n[r]||(o[i]=Er(l,a,i,void 0,e,!0)):delete o[i]);if(i!==a)for(const e in i)t&&u(t,e)||(delete i[e],c=!0)}else if(8&s){const n=e.vnode.dynamicProps;for(let r=0;r{const c=e&&e.children,d=e?e.shapeFlag:0,u=t.children,{patchFlag:h,shapeFlag:f}=t;if(h>0){if(128&h)return void H(c,u,n,r,o,i,s,a,l);if(256&h)return void B(c,u,n,r,o,i,s,a,l)}8&f?(16&d&&Y(c,o,i),u!==c&&p(n,u)):16&d?16&f?H(c,u,n,r,o,i,s,a,l):Y(c,o,i,!0):(8&d&&p(n,""),16&f&&S(u,n,r,o,i,s,a,l))},B=(e,t,n,o,i,s,a,l,c)=>{t=t||r;const d=(e=e||r).length,u=t.length,h=Math.min(d,u);let p;for(p=0;pu?Y(e,i,s,!0,!1,h):S(t,n,o,i,s,a,l,c,h)},H=(e,t,n,o,i,s,a,l,c)=>{let d=0;const u=t.length;let h=e.length-1,p=u-1;for(;d<=h&&d<=p;){const r=e[d],o=t[d]=c?mi(t[d]):fi(t[d]);if(!ii(r,o))break;y(r,o,n,null,i,s,a,l,c),d++}for(;d<=h&&d<=p;){const r=e[h],o=t[p]=c?mi(t[p]):fi(t[p]);if(!ii(r,o))break;y(r,o,n,null,i,s,a,l,c),h--,p--}if(d>h){if(d<=p){const e=p+1,r=ep)for(;d<=h;)j(e[d],i,s,!0),d++;else{const f=d,m=d,g=new Map;for(d=m;d<=p;d++){const e=t[d]=c?mi(t[d]):fi(t[d]);null!=e.key&&g.set(e.key,d)}let v,b=0;const w=p-m+1;let _=!1,k=0;const C=new Array(w);for(d=0;d=w){j(r,i,s,!0);continue}let o;if(null!=r.key)o=g.get(r.key);else for(v=m;v<=p;v++)if(0===C[v-m]&&ii(r,t[v])){o=v;break}void 0===o?j(r,i,s,!0):(C[o-m]=d+1,o>=k?k=o:_=!0,y(r,t[o],n,null,i,s,a,l,c),b++)}const x=_?function(e){const t=e.slice(),n=[0];let r,o,i,s,a;const l=e.length;for(r=0;r>1,e[n[a]]0&&(t[r]=n[i-1]),n[i]=r)}}for(i=n.length,s=n[i-1];i-- >0;)n[i]=s,s=t[s];return n}(C):r;for(v=x.length-1,d=w-1;d>=0;d--){const e=m+d,r=t[e],h=e+1{const{el:s,type:a,transition:l,children:c,shapeFlag:d}=e;if(6&d)z(e.component.subTree,t,n,r);else if(128&d)e.suspense.move(t,n,r);else if(64&d)a.move(e,t,n,Z);else if(a!==qo)if(a!==Yo)if(2!==r&&1&d&&l)if(0===r)l.beforeEnter(s),i(s,t,n),Wr((()=>l.enter(s)),o);else{const{leave:e,delayLeave:r,afterLeave:o}=l,a=()=>i(s,t,n),c=()=>{e(s,(()=>{a(),o&&o()}))};r?r(s,a,c):c()}else i(s,t,n);else(({el:e,anchor:t},n,r)=>{let o;for(;e&&e!==t;)o=m(e),i(e,n,r),e=o;i(t,n,r)})(e,t,n);else{i(s,t,n);for(let e=0;e{const{type:i,props:s,ref:a,children:l,dynamicChildren:c,shapeFlag:d,patchFlag:u,dirs:h,memoIndex:p}=e;if(null!=a&&Br(a,null,n,e,!0),null!=p&&(t.renderCache[p]=void 0),256&d)return void t.ctx.deactivate(e);const f=1&d&&h,m=!Gn(e);let g;if(m&&(g=s&&s.onVnodeBeforeUnmount)&&yi(g,t,e),6&d)K(e.component,n,r);else{if(128&d)return void e.suspense.unmount(n,r);f&&Kn(e,null,t,"beforeUnmount"),64&d?e.type.remove(e,t,n,o,Z,r):c&&(i!==qo||u>0&&64&u)?Y(c,t,n,!1,!0):(i===qo&&384&u||!o&&16&d)&&Y(l,t,n),r&&q(e)}(m&&(g=s&&s.onVnodeUnmounted)||f)&&Wr((()=>{g&&yi(g,t,e),f&&Kn(e,null,t,"unmounted")}),n)},q=e=>{const{type:t,el:n,anchor:r,transition:o}=e;if(t===qo)return void W(n,r);if(t===Yo)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=m(e),s(e),e=n;s(t)})(e);const i=()=>{s(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&e.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:r}=o,s=()=>t(n,i);r?r(e.el,i,s):s()}else i()},W=(e,t)=>{let n;for(;e!==t;)n=m(e),s(e),e=n;s(t)},K=(e,t,n)=>{const{bum:r,scope:o,update:i,subTree:s,um:a,m:l,a:c}=e;to(l),to(c),r&&D(r),o.stop(),i&&(i.active=!1,j(s,e,t,n)),a&&Wr(a,t),Wr((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},Y=(e,t,n,r=!1,o=!1,i=0)=>{for(let s=i;s6&e.shapeFlag?G(e.component.subTree):128&e.shapeFlag?e.suspense.next():m(e.anchor||e.el);let J=!1;const X=(e,t,n)=>{null==e?t._vnode&&j(t._vnode,null,null,!0):y(t._vnode||null,e,t,null,null,null,n),J||(J=!0,nn(),rn(),J=!1),t._vnode=e},Z={p:y,um:j,m:z,r:q,mt:N,mc:S,pc:V,pbc:A,n:G,o:e};let Q,ee;return t&&([Q,ee]=t(Z)),{render:X,hydrate:Q,createApp:br(X,Q)}}function Jr({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Xr({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Zr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Qr(e,t,n=!1){const r=e.children,o=t.children;if(h(r)&&h(o))for(let i=0;ikr(no);function oo(e,t){return lo(e,null,{flush:"post"})}function io(e,t){return lo(e,null,{flush:"sync"})}const so={};function ao(e,t,n){return lo(e,t,n)}function lo(e,t,{immediate:r,deep:i,flush:s,once:a,onTrack:l,onTrigger:d}=n){if(t&&a){const e=t;t=(...t)=>{e(...t),$()}}const u=ki,p=e=>!0===i?e:ho(e,!1===i?1:void 0);let f,m,v=!1,y=!1;if(At(e)?(f=()=>e.value,v=bt(e)):vt(e)?(f=()=>p(e),v=!0):h(e)?(y=!0,v=e.some((e=>vt(e)||bt(e))),f=()=>e.map((e=>At(e)?e.value:vt(e)?p(e):g(e)?Bt(e,u,2):void 0))):f=g(e)?t?()=>Bt(e,u,2):()=>(m&&m(),Ut(e,u,3,[w])):o,t&&i){const e=f;f=()=>ho(e())}let b,w=e=>{m=x.onStop=()=>{Bt(e,u,4),m=x.onStop=void 0}};if(Ii){if(w=o,t?r&&Ut(t,u,3,[f(),y?[]:void 0,w]):f(),"sync"!==s)return o;{const e=ro();b=e.__watcherHandles||(e.__watcherHandles=[])}}let _=y?new Array(e.length).fill(so):so;const k=()=>{if(x.active&&x.dirty)if(t){const e=x.run();(i||v||(y?e.some(((e,t)=>L(e,_[t]))):L(e,_)))&&(m&&m(),Ut(t,u,3,[e,_===so?void 0:y&&_[0]===so?[]:_,w]),_=e)}else x.run()};let C;k.allowRecurse=!!t,"sync"===s?C=k:"post"===s?C=()=>Wr(k,u&&u.suspense):(k.pre=!0,u&&(k.id=u.uid),C=()=>Qt(k));const x=new ue(f,o,C),S=de(),$=()=>{x.stop(),S&&c(S.effects,x)};return t?r?k():_=x.run():"post"===s?Wr(x.run.bind(x),u&&u.suspense):x.run(),b&&b.push($),$}function co(e,t,n){const r=this.proxy,o=v(e)?e.includes(".")?uo(r,e):()=>r[e]:e.bind(r,r);let i;g(t)?i=t:(i=t.handler,n=t);const s=$i(this),a=lo(o,i.bind(r),n);return s(),a}function uo(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{ho(e,t,n)}));else if(x(e)){for(const r in e)ho(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&ho(e[r],t,n)}return e}const po=e=>e.type.__isKeepAlive,fo={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=Ci(),r=n.ctx;if(!r.renderer)return()=>{const e=t.default&&t.default();return e&&1===e.length?e[0]:e};const o=new Map,i=new Set;let s=null;const a=n.suspense,{renderer:{p:l,m:c,um:d,o:{createElement:u}}}=r,h=u("div");function p(e){_o(e),d(e,n,a,!0)}function f(e){o.forEach(((t,n)=>{const r=Vi(t.type);!r||e&&e(r)||m(n)}))}function m(e){const t=o.get(e);s&&ii(t,s)?s&&_o(s):p(t),o.delete(e),i.delete(e)}r.activate=(e,t,n,r,o)=>{const i=e.component;c(e,t,n,0,a),l(i.vnode,e,t,n,i,a,r,e.slotScopeIds,o),Wr((()=>{i.isDeactivated=!1,i.a&&D(i.a);const t=e.props&&e.props.onVnodeMounted;t&&yi(t,i.parent,e)}),a)},r.deactivate=e=>{const t=e.component;to(t.m),to(t.a),c(e,h,null,1,a),Wr((()=>{t.da&&D(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&yi(n,t.parent,e),t.isDeactivated=!0}),a)},ao((()=>[e.include,e.exclude]),(([e,t])=>{e&&f((t=>go(e,t))),t&&f((e=>!go(t,e)))}),{flush:"post",deep:!0});let g=null;const v=()=>{null!=g&&($n(n.subTree.type)?Wr((()=>{o.set(g,ko(n.subTree))}),n.subTree.suspense):o.set(g,ko(n.subTree)))};return Fn(v),Bn(v),Un((()=>{o.forEach((e=>{const{subTree:t,suspense:r}=n,o=ko(t);if(e.type!==o.type||e.key!==o.key)p(e);else{_o(o);const e=o.component.da;e&&Wr(e,r)}}))})),()=>{if(g=null,!t.default)return null;const n=t.default(),r=n[0];if(n.length>1)return s=null,n;if(!oi(r)||!(4&r.shapeFlag||128&r.shapeFlag))return s=null,r;let a=ko(r);const l=a.type,c=Vi(Gn(a)?a.type.__asyncResolved||{}:l),{include:d,exclude:u,max:h}=e;if(d&&(!c||!go(d,c))||u&&c&&go(u,c))return s=a,r;const p=null==a.key?l:a.key,f=o.get(p);return a.el&&(a=ui(a),128&r.shapeFlag&&(r.ssContent=a)),g=p,f?(a.el=f.el,a.component=f.component,a.transition&&Lo(a,a.transition),a.shapeFlag|=512,i.delete(p),i.add(p)):(i.add(p),h&&i.size>parseInt(h,10)&&m(i.values().next().value)),a.shapeFlag|=256,s=a,$n(r.type)?r:a}}},mo=fo;function go(e,t){return h(e)?e.some((e=>go(e,t))):v(e)?e.split(",").includes(t):"[object RegExp]"===k(e)&&e.test(t)}function vo(e,t){bo(e,"a",t)}function yo(e,t){bo(e,"da",t)}function bo(e,t,n=ki){const r=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(Ln(t,r,n),n){let e=n.parent;for(;e&&e.parent;)po(e.parent.vnode)&&wo(r,t,n,e),e=e.parent}}function wo(e,t,n,r){const o=Ln(t,e,r,!0);Hn((()=>{c(r[t],o)}),n)}function _o(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function ko(e){return 128&e.shapeFlag?e.ssContent:e}const Co=Symbol("_leaveCb"),xo=Symbol("_enterCb");function So(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Fn((()=>{e.isMounted=!0})),Un((()=>{e.isUnmounting=!0})),e}const $o=[Function,Array],Eo={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:$o,onEnter:$o,onAfterEnter:$o,onEnterCancelled:$o,onBeforeLeave:$o,onLeave:$o,onAfterLeave:$o,onLeaveCancelled:$o,onBeforeAppear:$o,onAppear:$o,onAfterAppear:$o,onAppearCancelled:$o},Ao=e=>{const t=e.subTree;return t.component?Ao(t.component):t},To={name:"BaseTransition",props:Eo,setup(e,{slots:t}){const n=Ci(),r=So();return()=>{const o=t.default&&Do(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1)for(const e of o)if(e.type!==Ko){i=e;break}const s=_t(e),{mode:a}=s;if(r.isLeaving)return Mo(i);const l=No(i);if(!l)return Mo(i);let c=Ro(l,s,r,n,(e=>c=e));Lo(l,c);const d=n.subTree,u=d&&No(d);if(u&&u.type!==Ko&&!ii(l,u)&&Ao(n).type!==Ko){const e=Ro(u,s,r,n);if(Lo(u,e),"out-in"===a&&l.type!==Ko)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,!1!==n.update.active&&(n.effect.dirty=!0,n.update())},Mo(i);"in-out"===a&&l.type!==Ko&&(e.delayLeave=(e,t,n)=>{Io(r,u)[String(u.key)]=u,e[Co]=()=>{t(),e[Co]=void 0,delete c.delayedLeave},c.delayedLeave=n})}return i}}},Po=To;function Io(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Ro(e,t,n,r,o){const{appear:i,mode:s,persisted:a=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:d,onEnterCancelled:u,onBeforeLeave:p,onLeave:f,onAfterLeave:m,onLeaveCancelled:g,onBeforeAppear:v,onAppear:y,onAfterAppear:b,onAppearCancelled:w}=t,_=String(e.key),k=Io(n,e),C=(e,t)=>{e&&Ut(e,r,9,t)},x=(e,t)=>{const n=t[1];C(e,t),h(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},S={mode:s,persisted:a,beforeEnter(t){let r=l;if(!n.isMounted){if(!i)return;r=v||l}t[Co]&&t[Co](!0);const o=k[_];o&&ii(e,o)&&o.el[Co]&&o.el[Co](),C(r,[t])},enter(e){let t=c,r=d,o=u;if(!n.isMounted){if(!i)return;t=y||c,r=b||d,o=w||u}let s=!1;const a=e[xo]=t=>{s||(s=!0,C(t?o:r,[e]),S.delayedLeave&&S.delayedLeave(),e[xo]=void 0)};t?x(t,[e,a]):a()},leave(t,r){const o=String(e.key);if(t[xo]&&t[xo](!0),n.isUnmounting)return r();C(p,[t]);let i=!1;const s=t[Co]=n=>{i||(i=!0,r(),C(n?g:m,[t]),t[Co]=void 0,k[o]===e&&delete k[o])};k[o]=e,f?x(f,[t,s]):s()},clone(e){const i=Ro(e,t,n,r,o);return o&&o(i),i}};return S}function Mo(e){if(po(e))return(e=ui(e)).children=null,e}function No(e){if(!po(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&g(n.default))return n.default()}}function Lo(e,t){6&e.shapeFlag&&e.component?Lo(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Do(e,t=!1,n){let r=[],o=0;for(let i=0;i1)for(let i=0;ie&&(e.disabled||""===e.disabled),Fo=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,Vo=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,Bo=(e,t)=>{const n=e&&e.to;return v(n)?t?t(n):null:n},Uo={name:"Teleport",__isTeleport:!0,process(e,t,n,r,o,i,s,a,l,c){const{mc:d,pc:u,pbc:h,o:{insert:p,querySelector:f,createText:m,createComment:g}}=c,v=Oo(t.props);let{shapeFlag:y,children:b,dynamicChildren:w}=t;if(null==e){const e=t.el=m(""),c=t.anchor=m("");p(e,n,r),p(c,n,r);const u=t.target=Bo(t.props,f),h=t.targetAnchor=m("");u&&(p(h,u),"svg"===s||Fo(u)?s="svg":("mathml"===s||Vo(u))&&(s="mathml"));const g=(e,t)=>{16&y&&d(b,e,t,o,i,s,a,l)};v?g(n,c):u&&g(u,h)}else{t.el=e.el;const r=t.anchor=e.anchor,d=t.target=e.target,p=t.targetAnchor=e.targetAnchor,m=Oo(e.props),g=m?n:d,y=m?r:p;if("svg"===s||Fo(d)?s="svg":("mathml"===s||Vo(d))&&(s="mathml"),w?(h(e.dynamicChildren,w,g,o,i,s,a),Qr(e,t,!0)):l||u(e,t,g,y,o,i,s,a,!1),v)m?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ho(t,n,r,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=Bo(t.props,f);e&&Ho(t,e,null,c,0)}else m&&Ho(t,d,p,c,1)}jo(t)},remove(e,t,n,r,{um:o,o:{remove:i}},s){const{shapeFlag:a,children:l,anchor:c,targetAnchor:d,target:u,props:h}=e;if(u&&i(d),s&&i(c),16&a){const e=s||!Oo(h);for(let r=0;r0?Jo||r:null,Zo(),Qo>0&&Jo&&Jo.push(e),e}function ni(e,t,n,r,o,i){return ti(li(e,t,n,r,o,i,!0))}function ri(e,t,n,r,o){return ti(ci(e,t,n,r,o,!0))}function oi(e){return!!e&&!0===e.__v_isVNode}function ii(e,t){return e.type===t.type&&e.key===t.key}const si=({key:e})=>null!=e?e:null,ai=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?v(e)||At(e)||g(e)?{i:pn,r:e,k:t,f:!!n}:e:null);function li(e,t=null,n=null,r=0,o=null,i=(e===qo?0:1),s=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&si(t),ref:t&&ai(t),scopeId:fn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:pn};return a?(gi(l,n),128&i&&e.normalize(l)):n&&(l.shapeFlag|=v(n)?8:16),Qo>0&&!s&&Jo&&(l.patchFlag>0||6&i)&&32!==l.patchFlag&&Jo.push(l),l}const ci=function(e,t=null,n=null,r=0,o=null,i=!1){if(e&&e!==Cn||(e=Ko),oi(e)){const r=ui(e,t,!0);return n&&gi(r,n),Qo>0&&!i&&Jo&&(6&r.shapeFlag?Jo[Jo.indexOf(e)]=r:Jo.push(r)),r.patchFlag=-2,r}var s;if(g(s=e)&&"__vccOpts"in s&&(e=e.__vccOpts),t){t=di(t);let{class:e,style:n}=t;e&&!v(e)&&(t.class=Y(e)),b(n)&&(wt(n)&&!h(n)&&(n=l({},n)),t.style=z(n))}return li(e,t,n,r,o,v(e)?1:$n(e)?128:e.__isTeleport?64:b(e)?4:g(e)?2:0,i,!0)};function di(e){return e?wt(e)||Sr(e)?l({},e):e:null}function ui(e,t,n=!1,r=!1){const{props:o,ref:i,patchFlag:s,children:a,transition:l}=e,c=t?vi(o||{},t):o,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&si(c),ref:t&&t.ref?n&&i?h(i)?i.concat(ai(t)):[i,ai(t)]:ai(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==qo?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ui(e.ssContent),ssFallback:e.ssFallback&&ui(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&Lo(d,l.clone(d)),d}function hi(e=" ",t=0){return ci(Wo,null,e,t)}function pi(e="",t=!1){return t?(Xo(),ri(Ko,null,e)):ci(Ko,null,e)}function fi(e){return null==e||"boolean"==typeof e?ci(Ko):h(e)?ci(qo,null,e.slice()):"object"==typeof e?mi(e):ci(Wo,null,String(e))}function mi(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:ui(e)}function gi(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(h(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),gi(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||Sr(t)?3===r&&pn&&(1===pn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=pn}}else g(t)?(t={default:t,_ctx:pn},n=32):(t=String(t),64&r?(n=16,t=[hi(t)]):n=8);e.children=t,e.shapeFlag|=n}function vi(...e){const t={};for(let n=0;nki||pn;let xi,Si;{const e=U(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};xi=t("__VUE_INSTANCE_SETTERS__",(e=>ki=e)),Si=t("__VUE_SSR_SETTERS__",(e=>Ii=e))}const $i=e=>{const t=ki;return xi(e),e.scope.on(),()=>{e.scope.off(),xi(t)}},Ei=()=>{ki&&ki.scope.off(),xi(null)};function Ai(e){return 4&e.vnode.shapeFlag}let Ti,Pi,Ii=!1;function Ri(e,t=!1){t&&Si(t);const{props:n,children:r}=e.vnode,o=Ai(e);!function(e,t,n,r=!1){const o={},i=xr();e.propsDefaults=Object.create(null),$r(e,t,o,i);for(const s in e.propsOptions[0])s in o||(o[s]=void 0);n?e.props=r?o:ft(o):e.type.props?e.props=o:e.props=i,e.attrs=i}(e,n,o,t),Fr(e,r);const i=o?function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,nr);const{setup:r}=n;if(r){const n=e.setupContext=r.length>1?Oi(e):null,o=$i(e);ye();const i=Bt(r,e,0,[e.props,n]);if(be(),o(),w(i)){if(i.then(Ei,Ei),t)return i.then((n=>{Mi(e,n,t)})).catch((t=>{Ht(t,e,0)}));e.asyncDep=i}else Mi(e,i,t)}else Li(e,t)}(e,t):void 0;return t&&Si(!1),i}function Mi(e,t,n){g(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:b(t)&&(e.setupState=Nt(t)),Li(e,n)}function Ni(e){Ti=e,Pi=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,rr))}}function Li(e,t,n){const r=e.type;if(!e.render){if(!t&&Ti&&!r.render){const t=r.template||cr(e).template;if(t){const{isCustomElement:n,compilerOptions:o}=e.appContext.config,{delimiters:i,compilerOptions:s}=r,a=l(l({isCustomElement:n,delimiters:i},o),s);r.render=Ti(t,a)}}e.render=r.render||o,Pi&&Pi(e)}{const t=$i(e);ye();try{!function(e){const t=cr(e),n=e.proxy,r=e.ctx;sr=!1,t.beforeCreate&&ar(t.beforeCreate,e,"bc");const{data:i,computed:s,methods:a,watch:l,provide:c,inject:d,created:u,beforeMount:p,mounted:f,beforeUpdate:m,updated:v,activated:y,deactivated:w,beforeDestroy:_,beforeUnmount:k,destroyed:C,unmounted:x,render:S,renderTracked:$,renderTriggered:E,errorCaptured:A,serverPrefetch:T,expose:P,inheritAttrs:I,components:R,directives:M,filters:N}=t;if(d&&function(e,t,n=o){h(e)&&(e=pr(e));for(const r in e){const n=e[r];let o;o=b(n)?"default"in n?kr(n.from||r,n.default,!0):kr(n.from||r):kr(n),At(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:e=>o.value=e}):t[r]=o}}(d,r,null),a)for(const o in a){const e=a[o];g(e)&&(r[o]=e.bind(n))}if(i){const t=i.call(n,n);b(t)&&(e.data=pt(t))}if(sr=!0,s)for(const h in s){const e=s[h],t=g(e)?e.bind(n,n):g(e.get)?e.get.bind(n,n):o,i=!g(e)&&g(e.set)?e.set.bind(n):o,a=Bi({get:t,set:i});Object.defineProperty(r,h,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(l)for(const o in l)lr(l[o],r,n,o);if(c){const e=g(c)?c.call(n):c;Reflect.ownKeys(e).forEach((t=>{_r(t,e[t])}))}function L(e,t){h(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(u&&ar(u,e,"c"),L(On,p),L(Fn,f),L(Vn,m),L(Bn,v),L(vo,y),L(yo,w),L(Wn,A),L(qn,$),L(jn,E),L(Un,k),L(Hn,x),L(zn,T),h(P))if(P.length){const t=e.exposed||(e.exposed={});P.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});S&&e.render===o&&(e.render=S),null!=I&&(e.inheritAttrs=I),R&&(e.components=R),M&&(e.directives=M)}(e)}finally{be(),t()}}}const Di={get:(e,t)=>(Te(e,0,""),e[t])};function Oi(e){return{attrs:new Proxy(e.attrs,Di),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function Fi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Nt(kt(e.exposed)),{get:(t,n)=>n in t?t[n]:n in er?er[n](e):void 0,has:(e,t)=>t in e||t in er})):e.proxy}function Vi(e,t=!0){return g(e)?e.displayName||e.name:e.name||t&&e.__name}const Bi=(e,t)=>function(e,t,n=!1){let r,i;const s=g(e);return s?(r=e,i=o):(r=e.get,i=e.set),new St(r,i,s||!i,n)}(e,0,Ii);function Ui(e,t,n){const r=arguments.length;return 2===r?b(t)&&!h(t)?oi(t)?ci(e,null,[t]):ci(e,t):ci(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&oi(n)&&(n=[n]),ci(e,t,n))}function Hi(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let r=0;r0&&Jo&&Jo.push(e),!0}const zi="3.4.29",ji=o,qi={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."},Wi=ln,Ki={createComponentInstance:_i,setupComponent:Ri,renderComponentRoot:vn,setCurrentRenderingInstance:mn,isVNode:oi,normalizeVNode:fi,getComponentPublicInstance:Fi},Yi="undefined"!=typeof document?document:null,Gi=Yi&&Yi.createElement("template"),Ji={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o="svg"===t?Yi.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?Yi.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?Yi.createElement(e,{is:n}):Yi.createElement(e);return"select"===e&&r&&null!=r.multiple&&o.setAttribute("multiple",r.multiple),o},createText:e=>Yi.createTextNode(e),createComment:e=>Yi.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Yi.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,i){const s=n?n.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),o!==i&&(o=o.nextSibling););else{Gi.innerHTML="svg"===r?`${e}`:"mathml"===r?`${e}`:e;const o=Gi.content;if("svg"===r||"mathml"===r){const e=o.firstChild;for(;e.firstChild;)o.appendChild(e.firstChild);o.removeChild(e)}t.insertBefore(o,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Xi="transition",Zi="animation",Qi=Symbol("_vtc"),es=(e,{slots:t})=>Ui(Po,is(e),t);es.displayName="Transition";const ts={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},ns=es.props=l({},Eo,ts),rs=(e,t=[])=>{h(e)?e.forEach((e=>e(...t))):e&&e(...t)},os=e=>!!e&&(h(e)?e.some((e=>e.length>1)):e.length>1);function is(e){const t={};for(const l in e)l in ts||(t[l]=e[l]);if(!1===e.css)return t;const{name:n="v",type:r,duration:o,enterFromClass:i=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:d=s,appearToClass:u=a,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:f=`${n}-leave-to`}=e,m=function(e){if(null==e)return null;if(b(e))return[ss(e.enter),ss(e.leave)];{const t=ss(e);return[t,t]}}(o),g=m&&m[0],v=m&&m[1],{onBeforeEnter:y,onEnter:w,onEnterCancelled:_,onLeave:k,onLeaveCancelled:C,onBeforeAppear:x=y,onAppear:S=w,onAppearCancelled:$=_}=t,E=(e,t,n)=>{ls(e,t?u:a),ls(e,t?d:s),n&&n()},A=(e,t)=>{e._isLeaving=!1,ls(e,h),ls(e,f),ls(e,p),t&&t()},T=e=>(t,n)=>{const o=e?S:w,s=()=>E(t,e,n);rs(o,[t,s]),cs((()=>{ls(t,e?c:i),as(t,e?u:a),os(o)||us(t,r,g,s)}))};return l(t,{onBeforeEnter(e){rs(y,[e]),as(e,i),as(e,s)},onBeforeAppear(e){rs(x,[e]),as(e,c),as(e,d)},onEnter:T(!1),onAppear:T(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>A(e,t);as(e,h),as(e,p),ms(),cs((()=>{e._isLeaving&&(ls(e,h),as(e,f),os(k)||us(e,r,v,n))})),rs(k,[e,n])},onEnterCancelled(e){E(e,!1),rs(_,[e])},onAppearCancelled(e){E(e,!0),rs($,[e])},onLeaveCancelled(e){A(e),rs(C,[e])}})}function ss(e){return V(e)}function as(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e[Qi]||(e[Qi]=new Set)).add(t)}function ls(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const n=e[Qi];n&&(n.delete(t),n.size||(e[Qi]=void 0))}function cs(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let ds=0;function us(e,t,n,r){const o=e._endId=++ds,i=()=>{o===e._endId&&r()};if(n)return setTimeout(i,n);const{type:s,timeout:a,propCount:l}=hs(e,t);if(!s)return r();const c=s+"end";let d=0;const u=()=>{e.removeEventListener(c,h),i()},h=t=>{t.target===e&&++d>=l&&u()};setTimeout((()=>{d(n[e]||"").split(", "),o=r(`${Xi}Delay`),i=r(`${Xi}Duration`),s=ps(o,i),a=r(`${Zi}Delay`),l=r(`${Zi}Duration`),c=ps(a,l);let d=null,u=0,h=0;return t===Xi?s>0&&(d=Xi,u=s,h=i.length):t===Zi?c>0&&(d=Zi,u=c,h=l.length):(u=Math.max(s,c),d=u>0?s>c?Xi:Zi:null,h=d?d===Xi?i.length:l.length:0),{type:d,timeout:u,propCount:h,hasTransform:d===Xi&&/\b(transform|all)(,|$)/.test(r(`${Xi}Property`).toString())}}function ps(e,t){for(;e.lengthfs(t)+fs(e[n]))))}function fs(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function ms(){return document.body.offsetHeight}const gs=Symbol("_vod"),vs=Symbol("_vsh"),ys={beforeMount(e,{value:t},{transition:n}){e[gs]="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):bs(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),bs(e,!0),r.enter(e)):r.leave(e,(()=>{bs(e,!1)})):bs(e,t))},beforeUnmount(e,{value:t}){bs(e,t)}};function bs(e,t){e.style.display=t?e[gs]:"none",e[vs]=!t}const ws=Symbol("");function _s(e,t){if(128&e.shapeFlag){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push((()=>{_s(n.activeBranch,t)}))}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)ks(e.el,t);else if(e.type===qo)e.children.forEach((e=>_s(e,t)));else if(e.type===Yo){let{el:n,anchor:r}=e;for(;n&&(ks(n,t),n!==r);)n=n.nextSibling}}function ks(e,t){if(1===e.nodeType){const n=e.style;let r="";for(const e in t)n.setProperty(`--${e}`,t[e]),r+=`--${e}: ${t[e]};`;n[ws]=r}}const Cs=/(^|;)\s*display\s*:/,xs=/\s*!important$/;function Ss(e,t,n){if(h(n))n.forEach((n=>Ss(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=function(e,t){const n=Es[t];if(n)return n;let r=P(t);if("filter"!==r&&r in e)return Es[t]=r;r=M(r);for(let o=0;o<$s.length;o++){const n=$s[o]+r;if(n in e)return Es[t]=n}return t}(e,t);xs.test(n)?e.setProperty(R(r),n.replace(xs,""),"important"):e[r]=n}}const $s=["Webkit","Moz","ms"],Es={},As="http://www.w3.org/1999/xlink";function Ts(e,t,n,r,o,i=Q(t)){r&&t.startsWith("xlink:")?null==n?e.removeAttributeNS(As,t.slice(6,t.length)):e.setAttributeNS(As,t,n):null==n||i&&!ee(n)?e.removeAttribute(t):e.setAttribute(t,i?"":String(n))}function Ps(e,t,n,r){e.addEventListener(t,n,r)}const Is=Symbol("_vei");const Rs=/(?:Once|Passive|Capture)$/;let Ms=0;const Ns=Promise.resolve(),Ls=()=>Ms||(Ns.then((()=>Ms=0)),Ms=Date.now()),Ds=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123;function Os(e,t,n){const r=Yn(e,t);class o extends Vs{constructor(e){super(r,e,n)}}return o.def=r,o}const Fs="undefined"!=typeof HTMLElement?HTMLElement:class{};class Vs extends Fs{constructor(e,t={},n){super(),this._def=e,this._props=t,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this._ob=null,this.shadowRoot&&n?n(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,Zt((()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),ya(null,this.shadowRoot),this._instance=null)}))}_resolveDef(){this._resolved=!0;for(let n=0;n{for(const t of e)this._setAttr(t.attributeName)})),this._ob.observe(this,{attributes:!0});const e=(e,t=!1)=>{const{props:n,styles:r}=e;let o;if(n&&!h(n))for(const i in n){const e=n[i];(e===Number||e&&e.type===Number)&&(i in this._props&&(this._props[i]=V(this._props[i])),(o||(o=Object.create(null)))[P(i)]=!0)}this._numberProps=o,t&&this._resolveProps(e),this._applyStyles(r),this._update()},t=this._def.__asyncLoader;t?t().then((t=>e(t,!0))):e(this._def)}_resolveProps(e){const{props:t}=e,n=h(t)?t:Object.keys(t||{});for(const r of Object.keys(this))"_"!==r[0]&&n.includes(r)&&this._setProp(r,this[r],!0,!1);for(const r of n.map(P))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(e){this._setProp(r,e)}})}_setAttr(e){let t=this.hasAttribute(e)?this.getAttribute(e):void 0;const n=P(e);this._numberProps&&this._numberProps[n]&&(t=V(t)),this._setProp(n,t,!1)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,r=!0){t!==this._props[e]&&(this._props[e]=t,r&&this._instance&&this._update(),n&&(!0===t?this.setAttribute(R(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(R(e),t+""):t||this.removeAttribute(R(e))))}_update(){ya(this._createVNode(),this.shadowRoot)}_createVNode(){const e=ci(this._def,l({},this._props));return this._instance||(e.ce=e=>{this._instance=e,e.isCE=!0;const t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,{detail:t}))};e.emit=(e,...n)=>{t(e,n),R(e)!==e&&t(R(e),n)};let n=this;for(;n=n&&(n.parentNode||n.host);)if(n instanceof Vs){e.parent=n._instance,e.provides=n._instance.provides;break}}),e}_applyStyles(e){e&&e.forEach((e=>{const t=document.createElement("style");t.textContent=e,this.shadowRoot.appendChild(t)}))}}const Bs=new WeakMap,Us=new WeakMap,Hs=Symbol("_moveCb"),zs=Symbol("_enterCb"),js={name:"TransitionGroup",props:l({},ns,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Ci(),r=So();let o,i;return Bn((()=>{if(!o.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){const r=e.cloneNode(),o=e[Qi];o&&o.forEach((e=>{e.split(/\s+/).forEach((e=>e&&r.classList.remove(e)))})),n.split(/\s+/).forEach((e=>e&&r.classList.add(e))),r.style.display="none";const i=1===t.nodeType?t:t.parentNode;i.appendChild(r);const{hasTransform:s}=hs(r);return i.removeChild(r),s}(o[0].el,n.vnode.el,t))return;o.forEach(Ws),o.forEach(Ks);const r=o.filter(Ys);ms(),r.forEach((e=>{const n=e.el,r=n.style;as(n,t),r.transform=r.webkitTransform=r.transitionDuration="";const o=n[Hs]=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",o),n[Hs]=null,ls(n,t))};n.addEventListener("transitionend",o)}))})),()=>{const s=_t(e),a=is(s);let l=s.tag||qo;if(o=[],i)for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return h(t)?e=>D(t,e):t};function Js(e){e.target.composing=!0}function Xs(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Zs=Symbol("_assign"),Qs={created(e,{modifiers:{lazy:t,trim:n,number:r}},o){e[Zs]=Gs(o);const i=r||o.props&&"number"===o.props.type;Ps(e,t?"change":"input",(t=>{if(t.target.composing)return;let r=e.value;n&&(r=r.trim()),i&&(r=F(r)),e[Zs](r)})),n&&Ps(e,"change",(()=>{e.value=e.value.trim()})),t||(Ps(e,"compositionstart",Js),Ps(e,"compositionend",Xs),Ps(e,"change",Xs))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:o,number:i}},s){if(e[Zs]=Gs(s),e.composing)return;const a=null==t?"":t;if((!i&&"number"!==e.type||/^0\d/.test(e.value)?e.value:F(e.value))!==a){if(document.activeElement===e&&"range"!==e.type){if(r&&t===n)return;if(o&&e.value.trim()===a)return}e.value=a}}},ea={deep:!0,created(e,t,n){e[Zs]=Gs(n),Ps(e,"change",(()=>{const t=e._modelValue,n=ia(e),r=e.checked,o=e[Zs];if(h(t)){const e=ne(t,n),i=-1!==e;if(r&&!i)o(t.concat(n));else if(!r&&i){const n=[...t];n.splice(e,1),o(n)}}else if(f(t)){const e=new Set(t);r?e.add(n):e.delete(n),o(e)}else o(sa(e,r))}))},mounted:ta,beforeUpdate(e,t,n){e[Zs]=Gs(n),ta(e,t,n)}};function ta(e,{value:t,oldValue:n},r){e._modelValue=t,h(t)?e.checked=ne(t,r.props.value)>-1:f(t)?e.checked=t.has(r.props.value):t!==n&&(e.checked=te(t,sa(e,!0)))}const na={created(e,{value:t},n){e.checked=te(t,n.props.value),e[Zs]=Gs(n),Ps(e,"change",(()=>{e[Zs](ia(e))}))},beforeUpdate(e,{value:t,oldValue:n},r){e[Zs]=Gs(r),t!==n&&(e.checked=te(t,r.props.value))}},ra={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const o=f(t);Ps(e,"change",(()=>{const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?F(ia(e)):ia(e)));e[Zs](e.multiple?o?new Set(t):t:t[0]),e._assigning=!0,Zt((()=>{e._assigning=!1}))})),e[Zs]=Gs(r)},mounted(e,{value:t,modifiers:{number:n}}){oa(e,t)},beforeUpdate(e,t,n){e[Zs]=Gs(n)},updated(e,{value:t,modifiers:{number:n}}){e._assigning||oa(e,t)}};function oa(e,t,n){const r=e.multiple,o=h(t);if(!r||o||f(t)){for(let n=0,i=e.options.length;nString(e)===String(s))):ne(t,s)>-1}else i.selected=t.has(s);else if(te(ia(i),t))return void(e.selectedIndex!==n&&(e.selectedIndex=n))}r||-1===e.selectedIndex||(e.selectedIndex=-1)}}function ia(e){return"_value"in e?e._value:e.value}function sa(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const aa={created(e,t,n){ca(e,t,n,null,"created")},mounted(e,t,n){ca(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){ca(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){ca(e,t,n,r,"updated")}};function la(e,t){switch(e){case"SELECT":return ra;case"TEXTAREA":return Qs;default:switch(t){case"checkbox":return ea;case"radio":return na;default:return Qs}}}function ca(e,t,n,r,o){const i=la(e.tagName,n.props&&n.props.type)[o];i&&i(e,t,n,r)}const da=["ctrl","shift","alt","meta"],ua={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>da.some((n=>e[`${n}Key`]&&!t.includes(n)))},ha={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},pa=l({patchProp:(e,t,n,r,o,i,l,c,d)=>{const u="svg"===o;"class"===t?function(e,t,n){const r=e[Qi];r&&(t=(t?[t,...r]:[...r]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,r,u):"style"===t?function(e,t,n){const r=e.style,o=v(n);let i=!1;if(n&&!o){if(t)if(v(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&Ss(r,t,"")}else for(const e in t)null==n[e]&&Ss(r,e,"");for(const e in n)"display"===e&&(i=!0),Ss(r,e,n[e])}else if(o){if(t!==n){const e=r[ws];e&&(n+=";"+e),r.cssText=n,i=Cs.test(n)}}else t&&e.removeAttribute("style");gs in e&&(e[gs]=i?r.display:"",e[vs]&&(r.display="none"))}(e,n,r):s(t)?a(t)||function(e,t,n,r,o=null){const i=e[Is]||(e[Is]={}),s=i[t];if(r&&s)s.value=r;else{const[n,d]=function(e){let t;if(Rs.test(e)){let n;for(t={};n=e.match(Rs);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):R(e.slice(2)),t]}(t);r?Ps(e,n,i[t]=function(e,t){const n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();Ut(function(e,t){if(h(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=Ls(),n}(r,o),d):s&&(a=n,l=s,c=d,e.removeEventListener(a,l,c),i[t]=void 0)}var a,l,c}(e,t,0,r,l):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,r){if(r)return"innerHTML"===t||"textContent"===t||!!(t in e&&Ds(t)&&g(n));if("spellcheck"===t||"draggable"===t||"translate"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}return(!Ds(t)||!v(n))&&t in e}(e,t,r,u))?(function(e,t,n,r,o,i,s){if("innerHTML"===t||"textContent"===t)return r&&s(r,o,i),void(e[t]=null==n?"":n);const a=e.tagName;if("value"===t&&"PROGRESS"!==a&&!a.includes("-")){const r="OPTION"===a?e.getAttribute("value")||"":e.value,o=null==n?"":String(n);return r===o&&"_value"in e||(e.value=o),null==n&&e.removeAttribute(t),void(e._value=n)}let l=!1;if(""===n||null==n){const r=typeof e[t];"boolean"===r?n=ee(n):null==n&&"string"===r?(n="",l=!0):"number"===r&&(n=0,l=!0)}try{e[t]=n}catch(c){}l&&e.removeAttribute(t)}(e,t,r,i,l,c,d),"value"!==t&&"checked"!==t&&"selected"!==t||Ts(e,t,r,u,0,"value"!==t)):("true-value"===t?e._trueValue=r:"false-value"===t&&(e._falseValue=r),Ts(e,t,r,u))}},Ji);let fa,ma=!1;function ga(){return fa||(fa=Kr(pa))}function va(){return fa=ma?fa:Yr(pa),ma=!0,fa}const ya=(...e)=>{ga().render(...e)},ba=(...e)=>{va().hydrate(...e)},wa=(...e)=>{const t=ga().createApp(...e),{mount:n}=t;return t.mount=e=>{const r=ka(e);if(!r)return;const o=t._component;g(o)||o.render||o.template||(o.template=r.innerHTML),r.innerHTML="";const i=n(r,!1,_a(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function _a(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}function ka(e){return v(e)?document.querySelector(e):e}let Ca=!1;const xa=Object.freeze(Object.defineProperty({__proto__:null,BaseTransition:Po,BaseTransitionPropsValidators:Eo,Comment:Ko,DeprecationTypes:null,EffectScope:le,ErrorCodes:{SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",WATCH_GETTER:2,2:"WATCH_GETTER",WATCH_CALLBACK:3,3:"WATCH_CALLBACK",WATCH_CLEANUP:4,4:"WATCH_CLEANUP",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER"},ErrorTypeStrings:qi,Fragment:qo,KeepAlive:mo,ReactiveEffect:ue,Static:Yo,Suspense:Tn,Teleport:zo,Text:Wo,TrackOpTypes:{GET:"get",HAS:"has",ITERATE:"iterate"},Transition:es,TransitionGroup:qs,TriggerOpTypes:{SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},VueElement:Vs,assertNumber:function(e,t){},callWithAsyncErrorHandling:Ut,callWithErrorHandling:Bt,camelize:P,capitalize:M,cloneVNode:ui,compatUtils:null,computed:Bi,createApp:wa,createBlock:ri,createCommentVNode:pi,createElementBlock:ni,createElementVNode:li,createHydrationRenderer:Yr,createPropsRestProxy:function(e,t){const n={};for(const r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n},createRenderer:Kr,createSSRApp:(...e)=>{const t=va().createApp(...e),{mount:n}=t;return t.mount=e=>{const t=ka(e);if(t)return n(t,!0,_a(t))},t},createSlots:function(e,t){for(let n=0;n{const t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e},createStaticVNode:function(e,t){const n=ci(Yo,null,e);return n.staticCount=t,n},createTextVNode:hi,createVNode:ci,customRef:Dt,defineAsyncComponent:function(e){g(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:i,suspensible:s=!0,onError:a}=e;let l,c=null,d=0;const u=()=>{let e;return c||(e=c=t().catch((e=>{if(e=e instanceof Error?e:new Error(String(e)),a)return new Promise(((t,n)=>{a(e,(()=>t((d++,c=null,u()))),(()=>n(e)),d+1)}));throw e})).then((t=>e!==c&&c?c:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),l=t,t))))};return Yn({name:"AsyncComponentWrapper",__asyncLoader:u,get __asyncResolved(){return l},setup(){const e=ki;if(l)return()=>Jn(l,e);const t=t=>{c=null,Ht(t,e,13,!r)};if(s&&e.suspense||Ii)return u().then((t=>()=>Jn(t,e))).catch((e=>(t(e),()=>r?ci(r,{error:e}):null)));const a=Tt(!1),d=Tt(),h=Tt(!!o);return o&&setTimeout((()=>{h.value=!1}),o),null!=i&&setTimeout((()=>{if(!a.value&&!d.value){const e=new Error(`Async component timed out after ${i}ms.`);t(e),d.value=e}}),i),u().then((()=>{a.value=!0,e.parent&&po(e.parent.vnode)&&(e.parent.effect.dirty=!0,Qt(e.parent.update))})).catch((e=>{t(e),d.value=e})),()=>a.value&&l?Jn(l,e):d.value&&r?ci(r,{error:d.value}):n&&!h.value?ci(n):void 0}})},defineComponent:Yn,defineCustomElement:Os,defineEmits:function(){return null},defineExpose:function(e){},defineModel:function(){},defineOptions:function(e){},defineProps:function(){return null},defineSSRCustomElement:(e,t)=>Os(e,t,ba),defineSlots:function(){return null},devtools:Wi,effect:function(e,t){e.effect instanceof ue&&(e=e.effect.fn);const n=new ue(e,o,(()=>{n.dirty&&n.run()}));t&&(l(n,t),t.scope&&ce(n,t.scope)),t&&t.lazy||n.run();const r=n.run.bind(n);return r.effect=n,r},effectScope:function(e){return new le(e)},getCurrentInstance:Ci,getCurrentScope:de,getTransitionRawChildren:Do,guardReactiveProps:di,h:Ui,handleError:Ht,hasInjectionContext:function(){return!!(ki||pn||wr)},hydrate:ba,initCustomFormatter:function(){},initDirectivesForSSR:()=>{Ca||(Ca=!0,Qs.getSSRProps=({value:e})=>({value:e}),na.getSSRProps=({value:e},t)=>{if(t.props&&te(t.props.value,e))return{checked:!0}},ea.getSSRProps=({value:e},t)=>{if(h(e)){if(t.props&&ne(e,t.props.value)>-1)return{checked:!0}}else if(f(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},aa.getSSRProps=(e,t)=>{if("string"!=typeof t.type)return;const n=la(t.type.toUpperCase(),t.props&&t.props.type);return n.getSSRProps?n.getSSRProps(e,t):void 0},ys.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}})},inject:kr,isMemoSame:Hi,isProxy:wt,isReactive:vt,isReadonly:yt,isRef:At,isRuntimeOnly:()=>!Ti,isShallow:bt,isVNode:oi,markRaw:kt,mergeDefaults:function(e,t){const n=ir(e);for(const r in t){if(r.startsWith("__skip"))continue;let e=n[r];e?h(e)||g(e)?e=n[r]={type:e,default:t[r]}:e.default=t[r]:null===e&&(e=n[r]={default:t[r]}),e&&t[`__skip_${r}`]&&(e.skipFactory=!0)}return n},mergeModels:function(e,t){return e&&t?h(e)&&h(t)?e.concat(t):l({},ir(e),ir(t)):e||t},mergeProps:vi,nextTick:Zt,normalizeClass:Y,normalizeProps:function(e){if(!e)return null;let{class:t,style:n}=e;return t&&!v(t)&&(e.class=Y(t)),n&&(e.style=z(n)),e},normalizeStyle:z,onActivated:vo,onBeforeMount:On,onBeforeUnmount:Un,onBeforeUpdate:Vn,onDeactivated:yo,onErrorCaptured:Wn,onMounted:Fn,onRenderTracked:qn,onRenderTriggered:jn,onScopeDispose:function(e){se&&se.cleanups.push(e)},onServerPrefetch:zn,onUnmounted:Hn,onUpdated:Bn,openBlock:Xo,popScopeId:function(){fn=null},provide:_r,proxyRefs:Nt,pushScopeId:function(e){fn=e},queuePostFlushCb:tn,reactive:pt,readonly:mt,ref:Tt,registerRuntimeCompiler:Ni,render:ya,renderList:function(e,t,n,r){let o;const i=n&&n[r];if(h(e)||v(e)){o=new Array(e.length);for(let n=0,r=e.length;nt(e,n,void 0,i&&i[n])));else{const n=Object.keys(e);o=new Array(n.length);for(let r=0,s=n.length;rln.emit(e,...t))),cn=[]):"undefined"!=typeof window&&window.HTMLElement&&!(null==(o=null==(r=window.navigator)?void 0:r.userAgent)?void 0:o.includes("jsdom"))?((n.__VUE_DEVTOOLS_HOOK_REPLAY__=n.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push((t=>{e(t,n)})),setTimeout((()=>{ln||(n.__VUE_DEVTOOLS_HOOK_REPLAY__=null,cn=[])}),3e3)):cn=[]},setTransitionHooks:Lo,shallowReactive:ft,shallowReadonly:function(e){return gt(e,!0,Ue,lt,ht)},shallowRef:function(e){return Pt(e,!0)},ssrContextKey:no,ssrUtils:Ki,stop:function(e){e.effect.stop()},toDisplayString:re,toHandlerKey:N,toHandlers:function(e,t){const n={};for(const r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:N(r)]=e[r];return n},toRaw:_t,toRef:function(e,t,n){return At(e)?e:g(e)?new Ft(e):b(e)&&arguments.length>1?Vt(e,t,n):Tt(e)},toRefs:function(e){const t=h(e)?new Array(e.length):{};for(const n in e)t[n]=Vt(e,n);return t},toValue:function(e){return g(e)?e():Rt(e)},transformVNodeArgs:function(e){},triggerRef:function(e){Et(e,5)},unref:Rt,useAttrs:function(){return or().attrs},useCssModule:function(e="$style"){{const t=Ci();if(!t)return n;const r=t.type.__cssModules;if(!r)return n;return r[e]||n}},useCssVars:function(e){const t=Ci();if(!t)return;const n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach((e=>ks(e,n)))},r=()=>{const r=e(t.proxy);_s(t.subTree,r),n(r)};Fn((()=>{oo(r);const e=new MutationObserver(r);e.observe(t.subTree.el.parentNode,{childList:!0}),Hn((()=>e.disconnect()))}))},useModel:function(e,t,r=n){const o=Ci(),i=P(t),s=R(t),a=Dt(((n,a)=>{let l;return io((()=>{const n=e[t];L(l,n)&&(l=n,a())})),{get:()=>(n(),r.get?r.get(l):l),set(e){const n=o.vnode.props;n&&(t in n||i in n||s in n)&&(`onUpdate:${t}`in n||`onUpdate:${i}`in n||`onUpdate:${s}`in n)||!L(e,l)||(l=e,a()),o.emit(`update:${t}`,r.set?r.set(e):e)}}})),l="modelValue"===t?"modelModifiers":`${t}Modifiers`;return a[Symbol.iterator]=()=>{let t=0;return{next:()=>t<2?{value:t++?e[l]||{}:a,done:!1}:{done:!0}}},a},useSSRContext:ro,useSlots:function(){return or().slots},useTransitionState:So,vModelCheckbox:ea,vModelDynamic:aa,vModelRadio:na,vModelSelect:ra,vModelText:Qs,vShow:ys,version:zi,warn:ji,watch:ao,watchEffect:function(e,t){return lo(e,null,t)},watchPostEffect:oo,watchSyncEffect:io,withAsyncContext:function(e){const t=Ci();let n=e();return Ei(),w(n)&&(n=n.catch((e=>{throw $i(t),e}))),[n,()=>$i(t)]},withCtx:gn,withDefaults:function(e,t){return null},withDirectives:function(e,t){if(null===pn)return e;const r=Fi(pn),o=e.dirs||(e.dirs=[]);for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=n=>{if(!("key"in n))return;const r=R(n.key);return t.some((e=>e===r||ha[e]===r))?e(n):void 0})},withMemo:function(e,t,n,r){const o=n[r];if(o&&Hi(o,e))return o;const i=t();return i.memo=e.slice(),i.memoIndex=r,n[r]=i},withModifiers:(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(n,...r)=>{for(let e=0;egn},Symbol.toStringTag,{value:"Module"})),Sa=Symbol(""),$a=Symbol(""),Ea=Symbol(""),Aa=Symbol(""),Ta=Symbol(""),Pa=Symbol(""),Ia=Symbol(""),Ra=Symbol(""),Ma=Symbol(""),Na=Symbol(""),La=Symbol(""),Da=Symbol(""),Oa=Symbol(""),Fa=Symbol(""),Va=Symbol(""),Ba=Symbol(""),Ua=Symbol(""),Ha=Symbol(""),za=Symbol(""),ja=Symbol(""),qa=Symbol(""),Wa=Symbol(""),Ka=Symbol(""),Ya=Symbol(""),Ga=Symbol(""),Ja=Symbol(""),Xa=Symbol(""),Za=Symbol(""),Qa=Symbol(""),el=Symbol(""),tl=Symbol(""),nl=Symbol(""),rl=Symbol(""),ol=Symbol(""),il=Symbol(""),sl=Symbol(""),al=Symbol(""),ll=Symbol(""),cl=Symbol(""),dl={[Sa]:"Fragment",[$a]:"Teleport",[Ea]:"Suspense",[Aa]:"KeepAlive",[Ta]:"BaseTransition",[Pa]:"openBlock",[Ia]:"createBlock",[Ra]:"createElementBlock",[Ma]:"createVNode",[Na]:"createElementVNode",[La]:"createCommentVNode",[Da]:"createTextVNode",[Oa]:"createStaticVNode",[Fa]:"resolveComponent",[Va]:"resolveDynamicComponent",[Ba]:"resolveDirective",[Ua]:"resolveFilter",[Ha]:"withDirectives",[za]:"renderList",[ja]:"renderSlot",[qa]:"createSlots",[Wa]:"toDisplayString",[Ka]:"mergeProps",[Ya]:"normalizeClass",[Ga]:"normalizeStyle",[Ja]:"normalizeProps",[Xa]:"guardReactiveProps",[Za]:"toHandlers",[Qa]:"camelize",[el]:"capitalize",[tl]:"toHandlerKey",[nl]:"setBlockTracking",[rl]:"pushScopeId",[ol]:"popScopeId",[il]:"withCtx",[sl]:"unref",[al]:"isRef",[ll]:"withMemo",[cl]:"isMemoSame"},ul={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function hl(e,t,n,r,o,i,s,a=!1,l=!1,c=!1,d=ul){return e&&(a?(e.helper(Pa),e.helper(kl(e.inSSR,c))):e.helper(_l(e.inSSR,c)),s&&e.helper(Ha)),{type:13,tag:t,props:n,children:r,patchFlag:o,dynamicProps:i,directives:s,isBlock:a,disableTracking:l,isComponent:c,loc:d}}function pl(e,t=ul){return{type:17,loc:t,elements:e}}function fl(e,t=ul){return{type:15,loc:t,properties:e}}function ml(e,t){return{type:16,loc:ul,key:v(e)?gl(e,!0):e,value:t}}function gl(e,t=!1,n=ul,r=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:r}}function vl(e,t=ul){return{type:8,loc:t,children:e}}function yl(e,t=[],n=ul){return{type:14,loc:n,callee:e,arguments:t}}function bl(e,t=void 0,n=!1,r=!1,o=ul){return{type:18,params:e,returns:t,newline:n,isSlot:r,loc:o}}function wl(e,t,n,r=!0){return{type:19,test:e,consequent:t,alternate:n,newline:r,loc:ul}}function _l(e,t){return e||t?Ma:Na}function kl(e,t){return e||t?Ia:Ra}function Cl(e,{helper:t,removeHelper:n,inSSR:r}){e.isBlock||(e.isBlock=!0,n(_l(r,e.isComponent)),t(Pa),t(kl(r,e.isComponent)))}const xl=new Uint8Array([123,123]),Sl=new Uint8Array([125,125]);function $l(e){return e>=97&&e<=122||e>=65&&e<=90}function El(e){return 32===e||10===e||9===e||12===e||13===e}function Al(e){return 47===e||62===e||El(e)}function Tl(e){const t=new Uint8Array(e.length);for(let n=0;n4===e.type&&e.isStatic;function Fl(e){switch(e){case"Teleport":case"teleport":return $a;case"Suspense":case"suspense":return Ea;case"KeepAlive":case"keep-alive":return Aa;case"BaseTransition":case"base-transition":return Ta}}const Vl=/^\d|[^\$\w\xA0-\uFFFF]/,Bl=e=>!Vl.test(e),Ul=/[A-Za-z_$\xA0-\uFFFF]/,Hl=/[\.\?\w$\xA0-\uFFFF]/,zl=/\s+[.[]\s*|\s*[.[]\s+/g,jl=e=>{e=e.trim().replace(zl,(e=>e.trim()));let t=0,n=[],r=0,o=0,i=null;for(let s=0;s4===e.key.type&&e.key.content===r))}return n}function nc(e,t){return`_${t}_${e.replace(/[^\w]/g,((t,n)=>"-"===t?"_":e.charCodeAt(n).toString()))}`}const rc=/([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/,oc={parseMode:"base",ns:0,delimiters:["{{","}}"],getNamespace:()=>0,isVoidTag:i,isPreTag:i,isCustomElement:i,onError:Nl,onWarn:Ll,comments:!1,prefixIdentifiers:!1};let ic=oc,sc=null,ac="",lc=null,cc=null,dc="",uc=-1,hc=-1,pc=0,fc=!1,mc=null;const gc=[],vc=new class{constructor(e,t){this.stack=e,this.cbs=t,this.state=1,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=1,this.inRCDATA=!1,this.inXML=!1,this.inVPre=!1,this.newlines=[],this.mode=0,this.delimiterOpen=xl,this.delimiterClose=Sl,this.delimiterIndex=-1,this.currentSequence=void 0,this.sequenceIndex=0}get inSFCRoot(){return 2===this.mode&&0===this.stack.length}reset(){this.state=1,this.mode=0,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=1,this.inRCDATA=!1,this.currentSequence=void 0,this.newlines.length=0,this.delimiterOpen=xl,this.delimiterClose=Sl}getPos(e){let t=1,n=e+1;for(let r=this.newlines.length-1;r>=0;r--){const o=this.newlines[r];if(e>o){t=r+2,n=e-o;break}}return{column:n,line:t,offset:e}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(e){60===e?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):this.inVPre||e!==this.delimiterOpen[0]||(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(e))}stateInterpolationOpen(e){if(e===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){const e=this.index+1-this.delimiterOpen.length;e>this.sectionStart&&this.cbs.ontext(this.sectionStart,e),this.state=3,this.sectionStart=e}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(e)):(this.state=1,this.stateText(e))}stateInterpolation(e){e===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(e))}stateInterpolationClose(e){e===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(e))}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?Al(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.inRCDATA=!1;this.sequenceIndex=0,this.state=6,this.stateInTagName(e)}stateInRCDATA(e){if(this.sequenceIndex===this.currentSequence.length){if(62===e||El(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=e||(28===this.state?this.currentSequence===Pl.CdataEnd?this.cbs.oncdata(this.sectionStart,e):this.cbs.oncomment(this.sectionStart,e):6===this.state||11===this.state||18===this.state||17===this.state||12===this.state||13===this.state||14===this.state||15===this.state||16===this.state||20===this.state||19===this.state||21===this.state||9===this.state||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){}}(gc,{onerr:Oc,ontext(e,t){kc(wc(e,t),e,t)},ontextentity(e,t,n){kc(e,t,n)},oninterpolation(e,t){if(fc)return kc(wc(e,t),e,t);let n=e+vc.delimiterOpen.length,r=t-vc.delimiterClose.length;for(;El(ac.charCodeAt(n));)n++;for(;El(ac.charCodeAt(r-1));)r--;let o=wc(n,r);o.includes("&")&&(o=ic.decodeEntities(o,!1)),Rc({type:5,content:Dc(o,!1,Mc(n,r)),loc:Mc(e,t)})},onopentagname(e,t){const n=wc(e,t);lc={type:1,tag:n,ns:ic.getNamespace(n,gc[0],ic.ns),tagType:0,props:[],children:[],loc:Mc(e-1,t),codegenNode:void 0}},onopentagend(e){_c(e)},onclosetag(e,t){const n=wc(e,t);if(!ic.isVoidTag(n)){let r=!1;for(let e=0;e0&&Oc(24,gc[0].loc.start.offset);for(let n=0;n<=e;n++)Cc(gc.shift(),t,n(7===e.type?e.rawName:e.name)===n))&&Oc(2,t)},onattribend(e,t){if(lc&&cc){if(Nc(cc.loc,t),0!==e)if(dc.includes("&")&&(dc=ic.decodeEntities(dc,!0)),6===cc.type)"class"===cc.name&&(dc=Ic(dc).trim()),1!==e||dc||Oc(13,t),cc.value={type:2,content:dc,loc:1===e?Mc(uc,hc):Mc(uc-1,hc+1)},vc.inSFCRoot&&"template"===lc.tag&&"lang"===cc.name&&dc&&"html"!==dc&&vc.enterRCDATA(Tl("{const o=t.start.offset+n;return Dc(e,!1,Mc(o,o+e.length),0,r?1:0)},a={source:s(i.trim(),n.indexOf(i,o.length)),value:void 0,key:void 0,index:void 0,finalized:!1};let l=o.trim().replace(bc,"").trim();const c=o.indexOf(l),d=l.match(yc);if(d){l=l.replace(yc,"").trim();const e=d[1].trim();let t;if(e&&(t=n.indexOf(e,c+l.length),a.key=s(e,t,!0)),d[2]){const r=d[2].trim();r&&(a.index=s(r,n.indexOf(r,a.key?t+e.length:c+l.length),!0))}}return l&&(a.value=s(l,c,!0)),a}(cc.exp));let t=-1;"bind"===cc.name&&(t=cc.modifiers.indexOf("sync"))>-1&&Ml("COMPILER_V_BIND_SYNC",ic,cc.loc,cc.rawName)&&(cc.name="model",cc.modifiers.splice(t,1))}7===cc.type&&"pre"===cc.name||lc.props.push(cc)}dc="",uc=hc=-1},oncomment(e,t){ic.comments&&Rc({type:3,content:wc(e,t),loc:Mc(e-4,t+3)})},onend(){const e=ac.length;for(let t=0;t64&&n<91||Fl(e)||ic.isBuiltInComponent&&ic.isBuiltInComponent(e)||ic.isNativeTag&&!ic.isNativeTag(e))return!0;var n;for(let r=0;r6===e.type&&"inline-template"===e.name));n&&Ml("COMPILER_INLINE_TEMPLATE",ic,n.loc)&&e.children.length&&(n.value={type:2,content:wc(e.children[0].loc.start.offset,e.children[e.children.length-1].loc.end.offset),loc:n.loc})}}function xc(e,t){let n=e;for(;ac.charCodeAt(n)!==t&&n>=0;)n--;return n}const Sc=new Set(["if","else","else-if","for","slot"]);function $c({tag:e,props:t}){if("template"===e)for(let n=0;n0){if(r>=2){e.codegenNode.patchFlag="-1",e.codegenNode=t.hoist(e.codegenNode),i++;continue}}else{const n=e.codegenNode;if(13===n.type){const r=Wc(n);if((!r||512===r||1===r)&&jc(e,t)>=2){const r=qc(e);r&&(n.props=t.hoist(r))}n.dynamicProps&&(n.dynamicProps=t.hoist(n.dynamicProps))}}}if(1===e.type){const n=1===e.tagType;n&&t.scopes.vSlot++,Bc(e,t),n&&t.scopes.vSlot--}else if(11===e.type)Bc(e,t,1===e.children.length);else if(9===e.type)for(let n=0;n1)for(let o=0;o`_${dl[E.helper(e)]}`,replaceNode(e){E.parent.children[E.childIndex]=E.currentNode=e},removeNode(e){const t=E.parent.children,n=e?t.indexOf(e):E.currentNode?E.childIndex:-1;e&&e!==E.currentNode?E.childIndex>n&&(E.childIndex--,E.onNodeRemoved()):(E.currentNode=null,E.onNodeRemoved()),E.parent.children.splice(n,1)},onNodeRemoved:o,addIdentifiers(e){},removeIdentifiers(e){},hoist(e){v(e)&&(e=gl(e)),E.hoists.push(e);const t=gl(`_hoisted_${E.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache:(e,t=!1)=>function(e,t,n=!1){return{type:20,index:e,value:t,isVNode:n,loc:ul}}(E.cached++,e,t)};return E.filters=new Set,E}(e,t);Yc(e,r),t.hoistStatic&&Fc(e,r),t.ssr||function(e,t){const{helper:n}=t,{children:r}=e;if(1===r.length){const n=r[0];if(Vc(e,n)&&n.codegenNode){const r=n.codegenNode;13===r.type&&Cl(r,t),e.codegenNode=r}else e.codegenNode=n}else if(r.length>1){let r=64;e.codegenNode=hl(t,n(Sa),void 0,e.children,r+"",void 0,void 0,!0,void 0,!1)}}(e,r),e.helpers=new Set([...r.helpers.keys()]),e.components=[...r.components],e.directives=[...r.directives],e.imports=r.imports,e.hoists=r.hoists,e.temps=r.temps,e.cached=r.cached,e.transformed=!0,e.filters=[...r.filters]}function Yc(e,t){t.currentNode=e;const{nodeTransforms:n}=t,r=[];for(let i=0;i{n--};for(;nt===e:t=>e.test(t);return(e,r)=>{if(1===e.type){const{props:o}=e;if(3===e.tagType&&o.some(Gl))return;const i=[];for(let s=0;s`${dl[e]}: _${dl[e]}`;function Zc(e,t,{helper:n,push:r,newline:o,isTS:i}){const s=n("filter"===t?Ua:"component"===t?Fa:Ba);for(let a=0;a3||!1;t.push("["),n&&t.indent(),ed(e,t,n),n&&t.deindent(),t.push("]")}function ed(e,t,n=!1,r=!0){const{push:o,newline:i}=t;for(let s=0;se||"null"))}([i,s,a,l,c]),t),n(")"),u&&n(")"),d&&(n(", "),td(d,t),n(")"))}(e,t);break;case 14:!function(e,t){const{push:n,helper:r,pure:o}=t,i=v(e.callee)?e.callee:r(e.callee);o&&n(Jc),n(i+"(",-2,e),ed(e.arguments,t),n(")")}(e,t);break;case 15:!function(e,t){const{push:n,indent:r,deindent:o,newline:i}=t,{properties:s}=e;if(!s.length)return void n("{}",-2,e);const a=s.length>1||!1;n(a?"{":"{ "),a&&r();for(let l=0;l "),(l||a)&&(n("{"),r()),s?(l&&n("return "),h(s)?Qc(s,t):td(s,t)):a&&td(a,t),(l||a)&&(o(),n("}")),c&&(e.isNonScopedSlot&&n(", undefined, true"),n(")"))}(e,t);break;case 19:!function(e,t){const{test:n,consequent:r,alternate:o,newline:i}=e,{push:s,indent:a,deindent:l,newline:c}=t;if(4===n.type){const e=!Bl(n.content);e&&s("("),nd(n,t),e&&s(")")}else s("("),td(n,t),s(")");i&&a(),t.indentLevel++,i||s(" "),s("? "),td(r,t),t.indentLevel--,i&&c(),i||s(" "),s(": ");const d=19===o.type;d||t.indentLevel++,td(o,t),d||t.indentLevel--,i&&l(!0)}(e,t);break;case 20:!function(e,t){const{push:n,helper:r,indent:o,deindent:i,newline:s}=t;n(`_cache[${e.index}] || (`),e.isVNode&&(o(),n(`${r(nl)}(-1),`),s()),n(`_cache[${e.index}] = `),td(e.value,t),e.isVNode&&(n(","),s(),n(`${r(nl)}(1),`),s(),n(`_cache[${e.index}]`),i()),n(")")}(e,t);break;case 21:ed(e.body,t,!0,!1)}var n}function nd(e,t){const{content:n,isStatic:r}=e;t.push(r?JSON.stringify(n):n,-3,e)}function rd(e,t){for(let n=0;nfunction(e,t,n,r){if(!("else"===t.name||t.exp&&t.exp.content.trim())){const r=t.exp?t.exp.loc:e.loc;n.onError(Dl(28,t.loc)),t.exp=gl("true",!1,r)}if("if"===t.name){const o=sd(e,t),i={type:9,loc:e.loc,branches:[o]};if(n.replaceNode(i),r)return r(i,o,!0)}else{const o=n.parent.children;let i=o.indexOf(e);for(;i-- >=-1;){const s=o[i];if(s&&3===s.type)n.removeNode(s);else{if(!s||2!==s.type||s.content.trim().length){if(s&&9===s.type){"else-if"===t.name&&void 0===s.branches[s.branches.length-1].condition&&n.onError(Dl(30,e.loc)),n.removeNode();const o=sd(e,t);s.branches.push(o);const i=r&&r(s,o,!1);Yc(o,n),i&&i(),n.currentNode=null}else n.onError(Dl(30,e.loc));break}n.removeNode(s)}}}}(e,t,n,((e,t,r)=>{const o=n.parent.children;let i=o.indexOf(e),s=0;for(;i-- >=0;){const e=o[i];e&&9===e.type&&(s+=e.branches.length)}return()=>{if(r)e.codegenNode=ad(t,s,n);else{(function(e){for(;;)if(19===e.type){if(19!==e.alternate.type)return e;e=e.alternate}else 20===e.type&&(e=e.value)}(e.codegenNode)).alternate=ad(t,s+e.branches.length-1,n)}}}))));function sd(e,t){const n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!ql(e,"for")?e.children:[e],userKey:Wl(e,"key"),isTemplateIf:n}}function ad(e,t,n){return e.condition?wl(e.condition,ld(e,t,n),yl(n.helper(La),['""',"true"])):ld(e,t,n)}function ld(e,t,n){const{helper:r}=n,o=ml("key",gl(`${t}`,!1,ul,2)),{children:i}=e,s=i[0];if(1!==i.length||1!==s.type){if(1===i.length&&11===s.type){const e=s.codegenNode;return ec(e,o,n),e}{let t=64;return hl(n,r(Sa),fl([o]),i,t+"",void 0,void 0,!0,!1,!1,e.loc)}}{const e=s.codegenNode,t=14===(a=e).type&&a.callee===ll?a.arguments[1].returns:a;return 13===t.type&&Cl(t,n),ec(t,o,n),e}var a}const cd=(e,t,n)=>{const{modifiers:r,loc:o}=e,i=e.arg;let{exp:s}=e;if(s&&4===s.type&&!s.content.trim()&&(s=void 0),!s){if(4!==i.type||!i.isStatic)return n.onError(Dl(52,i.loc)),{props:[ml(i,gl("",!0,o))]};dd(e),s=e.exp}return 4!==i.type?(i.children.unshift("("),i.children.push(') || ""')):i.isStatic||(i.content=`${i.content} || ""`),r.includes("camel")&&(4===i.type?i.isStatic?i.content=P(i.content):i.content=`${n.helperString(Qa)}(${i.content})`:(i.children.unshift(`${n.helperString(Qa)}(`),i.children.push(")"))),n.inSSR||(r.includes("prop")&&ud(i,"."),r.includes("attr")&&ud(i,"^")),{props:[ml(i,s)]}},dd=(e,t)=>{const n=e.arg,r=P(n.content);e.exp=gl(r,!1,n.loc)},ud=(e,t)=>{4===e.type?e.isStatic?e.content=t+e.content:e.content=`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},hd=Gc("for",((e,t,n)=>{const{helper:r,removeHelper:o}=n;return function(e,t,n,r){if(!t.exp)return void n.onError(Dl(31,t.loc));const o=t.forParseResult;if(!o)return void n.onError(Dl(32,t.loc));pd(o);const{addIdentifiers:i,removeIdentifiers:s,scopes:a}=n,{source:l,value:c,key:d,index:u}=o,h={type:11,loc:t.loc,source:l,valueAlias:c,keyAlias:d,objectIndexAlias:u,parseResult:o,children:Jl(e)?e.children:[e]};n.replaceNode(h),a.vFor++;const p=r&&r(h);return()=>{a.vFor--,p&&p()}}(e,t,n,(t=>{const i=yl(r(za),[t.source]),s=Jl(e),a=ql(e,"memo"),l=Wl(e,"key",!1,!0);l&&7===l.type&&!l.exp&&dd(l);const c=l&&(6===l.type?l.value?gl(l.value.content,!0):void 0:l.exp),d=l&&c?ml("key",c):null,u=4===t.source.type&&t.source.constType>0,h=u?64:l?128:256;return t.codegenNode=hl(n,r(Sa),void 0,i,h+"",void 0,void 0,!0,!u,!1,e.loc),()=>{let l;const{children:h}=t,p=1!==h.length||1!==h[0].type,f=Xl(e)?e:s&&1===e.children.length&&Xl(e.children[0])?e.children[0]:null;if(f?(l=f.codegenNode,s&&d&&ec(l,d,n)):p?l=hl(n,r(Sa),d?fl([d]):void 0,e.children,"64",void 0,void 0,!0,void 0,!1):(l=h[0].codegenNode,s&&d&&ec(l,d,n),l.isBlock!==!u&&(l.isBlock?(o(Pa),o(kl(n.inSSR,l.isComponent))):o(_l(n.inSSR,l.isComponent))),l.isBlock=!u,l.isBlock?(r(Pa),r(kl(n.inSSR,l.isComponent))):r(_l(n.inSSR,l.isComponent))),a){const e=bl(fd(t.parseResult,[gl("_cached")]));e.body={type:21,body:[vl(["const _memo = (",a.exp,")"]),vl(["if (_cached",...c?[" && _cached.key === ",c]:[],` && ${n.helperString(cl)}(_cached, _memo)) return _cached`]),vl(["const _item = ",l]),gl("_item.memo = _memo"),gl("return _item")],loc:ul},i.arguments.push(e,gl("_cache"),gl(String(n.cached++)))}else i.arguments.push(bl(fd(t.parseResult),l,!0))}}))}));function pd(e,t){e.finalized||(e.finalized=!0)}function fd({value:e,key:t,index:n},r=[]){return function(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map(((e,t)=>e||gl("_".repeat(t+1),!1)))}([e,t,n,...r])}const md=gl("undefined",!1),gd=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)){const n=ql(e,"slot");if(n)return n.exp,t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},vd=(e,t,n,r)=>bl(e,n,!1,!0,n.length?n[0].loc:r);function yd(e,t,n=vd){t.helper(il);const{children:r,loc:o}=e,i=[],s=[];let a=t.scopes.vSlot>0||t.scopes.vFor>0;const l=ql(e,"slot",!0);if(l){const{arg:e,exp:t}=l;e&&!Ol(e)&&(a=!0),i.push(ml(e||gl("default",!0),n(t,void 0,r,o)))}let c=!1,d=!1;const u=[],h=new Set;let p=0;for(let g=0;g{const i=n(e,void 0,r,o);return t.compatConfig&&(i.isNonScopedSlot=!0),ml("default",i)};c?u.length&&u.some((e=>_d(e)))&&(d?t.onError(Dl(39,u[0].loc)):i.push(e(void 0,u))):i.push(e(void 0,r))}const f=a?2:wd(e.children)?3:1;let m=fl(i.concat(ml("_",gl(f+"",!1))),o);return s.length&&(m=yl(t.helper(qa),[m,pl(s)])),{slots:m,hasDynamicSlots:a}}function bd(e,t,n){const r=[ml("name",e),ml("fn",t)];return null!=n&&r.push(ml("key",gl(String(n),!0))),fl(r)}function wd(e){for(let t=0;tfunction(){if(1!==(e=t.currentNode).type||0!==e.tagType&&1!==e.tagType)return;const{tag:n,props:r}=e,o=1===e.tagType;let i=o?function(e,t,n=!1){let{tag:r}=e;const o=Ed(r),i=Wl(e,"is",!1,!0);if(i)if(o||Rl("COMPILER_IS_ON_ELEMENT",t)){let e;if(6===i.type?e=i.value&&gl(i.value.content,!0):(e=i.exp,e||(e=gl("is",!1,i.loc))),e)return yl(t.helper(Va),[e])}else 6===i.type&&i.value.content.startsWith("vue:")&&(r=i.value.content.slice(4));const s=Fl(r)||t.isBuiltInComponent(r);return s?(n||t.helper(s),s):(t.helper(Fa),t.components.add(r),nc(r,"component"))}(e,t):`"${n}"`;const s=b(i)&&i.callee===Va;let a,l,c,d,u,h,p=0,f=s||i===$a||i===Ea||!o&&("svg"===n||"foreignObject"===n||"math"===n);if(r.length>0){const n=xd(e,t,void 0,o,s);a=n.props,p=n.patchFlag,u=n.dynamicPropNames;const r=n.directives;h=r&&r.length?pl(r.map((e=>function(e,t){const n=[],r=kd.get(e);r?n.push(t.helperString(r)):(t.helper(Ba),t.directives.add(e.name),n.push(nc(e.name,"directive")));const{loc:o}=e;if(e.exp&&n.push(e.exp),e.arg&&(e.exp||n.push("void 0"),n.push(e.arg)),Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));const t=gl("true",!1,o);n.push(fl(e.modifiers.map((e=>ml(e,t))),o))}return pl(n,e.loc)}(e,t)))):void 0,n.shouldUseBlock&&(f=!0)}if(e.children.length>0)if(i===Aa&&(f=!0,p|=1024),o&&i!==$a&&i!==Aa){const{slots:n,hasDynamicSlots:r}=yd(e,t);l=n,r&&(p|=1024)}else if(1===e.children.length&&i!==$a){const n=e.children[0],r=n.type,o=5===r||8===r;o&&0===Uc(n,t)&&(p|=1),l=o||2===r?n:e.children}else l=e.children;0!==p&&(c=String(p),u&&u.length&&(d=function(e){let t="[";for(let n=0,r=e.length;n0;let f=!1,m=0,g=!1,v=!1,b=!1,w=!1,_=!1,k=!1;const C=[],x=e=>{d.length&&(u.push(fl(Sd(d),l)),d=[]),e&&u.push(e)},S=()=>{t.scopes.vFor>0&&d.push(ml(gl("ref_for",!0),gl("true")))},A=({key:e,value:n})=>{if(Ol(e)){const i=e.content,a=s(i);if(!a||r&&!o||"onclick"===i.toLowerCase()||"onUpdate:modelValue"===i||$(i)||(w=!0),a&&$(i)&&(k=!0),a&&14===n.type&&(n=n.arguments[0]),20===n.type||(4===n.type||8===n.type)&&Uc(n,t)>0)return;"ref"===i?g=!0:"class"===i?v=!0:"style"===i?b=!0:"key"===i||C.includes(i)||C.push(i),!r||"class"!==i&&"style"!==i||C.includes(i)||C.push(i)}else _=!0};for(let s=0;s1?yl(t.helper(Ka),u,l):u[0]):d.length&&(T=fl(Sd(d),l)),_?m|=16:(v&&!r&&(m|=2),b&&!r&&(m|=4),C.length&&(m|=8),w&&(m|=32)),f||0!==m&&32!==m||!(g||k||h.length>0)||(m|=512),!t.inSSR&&T)switch(T.type){case 15:let e=-1,n=-1,r=!1;for(let t=0;t{if(Xl(e)){const{children:n,loc:r}=e,{slotName:o,slotProps:i}=function(e,t){let n,r='"default"';const o=[];for(let i=0;i0){const{props:r,directives:i}=xd(e,t,o,!1,!1);n=r,i.length&&t.onError(Dl(36,i[0].loc))}return{slotName:r,slotProps:n}}(e,t),s=[t.prefixIdentifiers?"_ctx.$slots":"$slots",o,"{}","undefined","true"];let a=2;i&&(s[2]=i,a=3),n.length&&(s[3]=bl([],n,!1,!1,r),a=4),t.scopeId&&!t.slotted&&(a=5),s.splice(a),e.codegenNode=yl(t.helper(ja),s,r)}},Td=/^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,Pd=(e,t,n,r)=>{const{loc:o,modifiers:i,arg:s}=e;let a;if(e.exp||i.length||n.onError(Dl(35,o)),4===s.type)if(s.isStatic){let e=s.content;e.startsWith("vue:")&&(e=`vnode-${e.slice(4)}`),a=gl(0!==t.tagType||e.startsWith("vnode")||!/[A-Z]/.test(e)?N(P(e)):`on:${e}`,!0,s.loc)}else a=vl([`${n.helperString(tl)}(`,s,")"]);else a=s,a.children.unshift(`${n.helperString(tl)}(`),a.children.push(")");let l=e.exp;l&&!l.content.trim()&&(l=void 0);let c=n.cacheHandlers&&!l&&!n.inVOnce;if(l){const e=jl(l.content),t=!(e||Td.test(l.content)),n=l.content.includes(";");(t||c&&e)&&(l=vl([`${t?"$event":"(...args)"} => ${n?"{":"("}`,l,n?"}":")"]))}let d={props:[ml(a,l||gl("() => {}",!1,o))]};return r&&(d=r(d)),c&&(d.props[0].value=n.cache(d.props[0].value)),d.props.forEach((e=>e.key.isHandlerKey=!0)),d},Id=(e,t)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{const n=e.children;let r,o=!1;for(let e=0;e7===e.type&&!t.directiveTransforms[e.name]))||"template"===e.tag)))for(let e=0;e{if(1===e.type&&ql(e,"once",!0)){if(Rd.has(e)||t.inVOnce||t.inSSR)return;return Rd.add(e),t.inVOnce=!0,t.helper(nl),()=>{t.inVOnce=!1;const e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0))}}},Nd=(e,t,n)=>{const{exp:r,arg:o}=e;if(!r)return n.onError(Dl(41,e.loc)),Ld();const i=r.loc.source,s=4===r.type?r.content:i,a=n.bindingMetadata[i];if("props"===a||"props-aliased"===a)return n.onError(Dl(44,r.loc)),Ld();if(!s.trim()||!jl(s))return n.onError(Dl(42,r.loc)),Ld();const l=o||gl("modelValue",!0),c=o?Ol(o)?`onUpdate:${P(o.content)}`:vl(['"onUpdate:" + ',o]):"onUpdate:modelValue";let d;d=vl([(n.isTS?"($event: any)":"$event")+" => ((",r,") = $event)"]);const u=[ml(l,e.exp),ml(c,d)];if(e.modifiers.length&&1===t.tagType){const t=e.modifiers.map((e=>(Bl(e)?e:JSON.stringify(e))+": true")).join(", "),n=o?Ol(o)?`${o.content}Modifiers`:vl([o,' + "Modifiers"']):"modelModifiers";u.push(ml(n,gl(`{ ${t} }`,!1,e.loc,2)))}return Ld(u)};function Ld(e=[]){return{props:e}}const Dd=/[\w).+\-_$\]]/,Od=(e,t)=>{Rl("COMPILER_FILTERS",t)&&(5===e.type&&Fd(e.content,t),1===e.type&&e.props.forEach((e=>{7===e.type&&"for"!==e.name&&e.exp&&Fd(e.exp,t)})))};function Fd(e,t){if(4===e.type)Vd(e,t);else for(let n=0;n=0&&(e=n.charAt(t)," "===e);t--);e&&Dd.test(e)||(d=!0)}}else void 0===s?(f=i+1,s=n.slice(0,i).trim()):g();function g(){m.push(n.slice(f,i).trim()),f=i+1}if(void 0===s?s=n.slice(0,i).trim():0!==f&&g(),m.length){for(i=0;i{if(1===e.type){const n=ql(e,"memo");if(!n||Ud.has(e))return;return Ud.add(e),()=>{const r=e.codegenNode||t.currentNode.codegenNode;r&&13===r.type&&(1!==e.tagType&&Cl(r,t),e.codegenNode=yl(t.helper(ll),[n.exp,bl(void 0,r),"_cache",String(t.cached++)]))}}};function zd(e,t={}){const n=t.onError||Nl,r="module"===t.mode;!0===t.prefixIdentifiers?n(Dl(47)):r&&n(Dl(48)),t.cacheHandlers&&n(Dl(49)),t.scopeId&&!r&&n(Dl(50));const o=l({},t,{prefixIdentifiers:!1}),i=v(e)?function(e,t){if(vc.reset(),lc=null,cc=null,dc="",uc=-1,hc=-1,gc.length=0,ac=e,ic=l({},oc),t){let e;for(e in t)null!=t[e]&&(ic[e]=t[e])}vc.mode="html"===ic.parseMode?1:"sfc"===ic.parseMode?2:0,vc.inXML=1===ic.ns||2===ic.ns;const n=t&&t.delimiters;n&&(vc.delimiterOpen=Tl(n[0]),vc.delimiterClose=Tl(n[1]));const r=sc=function(e,t=""){return{type:0,source:t,children:[],helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:0,temps:0,codegenNode:void 0,loc:ul}}(0,e);return vc.parse(ac),r.loc=Mc(0,e.length),r.children=Ac(r.children),sc=null,r}(e,o):e,[s,a]=[[Md,id,Hd,hd,Od,Ad,Cd,gd,Id],{on:Pd,bind:cd,model:Nd}];return Kc(i,l({},o,{nodeTransforms:[...s,...t.nodeTransforms||[]],directiveTransforms:l({},a,t.directiveTransforms||{})})),function(e,t={}){const n=function(e,{mode:t="function",prefixIdentifiers:n="module"===t,sourceMap:r=!1,filename:o="template.vue.html",scopeId:i=null,optimizeImports:s=!1,runtimeGlobalName:a="Vue",runtimeModuleName:l="vue",ssrRuntimeModuleName:c="vue/server-renderer",ssr:d=!1,isTS:u=!1,inSSR:h=!1}){const p={mode:t,prefixIdentifiers:n,sourceMap:r,filename:o,scopeId:i,optimizeImports:s,runtimeGlobalName:a,runtimeModuleName:l,ssrRuntimeModuleName:c,ssr:d,isTS:u,inSSR:h,source:e.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:e=>`_${dl[e]}`,push(e,t=-2,n){p.code+=e},indent(){f(++p.indentLevel)},deindent(e=!1){e?--p.indentLevel:f(--p.indentLevel)},newline(){f(p.indentLevel)}};function f(e){p.push("\n"+" ".repeat(e),0)}return p}(e,t);t.onContextCreated&&t.onContextCreated(n);const{mode:r,push:o,prefixIdentifiers:i,indent:s,deindent:a,newline:l,scopeId:c,ssr:d}=n,u=Array.from(e.helpers),h=u.length>0,p=!i&&"module"!==r;if(function(e,t){const{ssr:n,prefixIdentifiers:r,push:o,newline:i,runtimeModuleName:s,runtimeGlobalName:a,ssrRuntimeModuleName:l}=t,c=a,d=Array.from(e.helpers);d.length>0&&(o(`const _Vue = ${c}\n`,-1),e.hoists.length)&&o(`const { ${[Ma,Na,La,Da,Oa].filter((e=>d.includes(e))).map(Xc).join(", ")} } = _Vue\n`,-1),function(e,t){if(!e.length)return;t.pure=!0;const{push:n,newline:r,helper:o,scopeId:i,mode:s}=t;r();for(let a=0;a0)&&l()),e.directives.length&&(Zc(e.directives,"directive",n),e.temps>0&&l()),e.filters&&e.filters.length&&(l(),Zc(e.filters,"filter",n),l()),e.temps>0){o("let ");for(let t=0;t0?", ":""}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(o("\n",0),l()),d||o("return "),e.codegenNode?td(e.codegenNode,n):o("null"),p&&(a(),o("}")),a(),o("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}(i,o)}const jd=Symbol(""),qd=Symbol(""),Wd=Symbol(""),Kd=Symbol(""),Yd=Symbol(""),Gd=Symbol(""),Jd=Symbol(""),Xd=Symbol(""),Zd=Symbol(""),Qd=Symbol("");var eu;let tu;eu={[jd]:"vModelRadio",[qd]:"vModelCheckbox",[Wd]:"vModelText",[Kd]:"vModelSelect",[Yd]:"vModelDynamic",[Gd]:"withModifiers",[Jd]:"withKeys",[Xd]:"vShow",[Zd]:"Transition",[Qd]:"TransitionGroup"},Object.getOwnPropertySymbols(eu).forEach((e=>{dl[e]=eu[e]}));const nu={parseMode:"html",isVoidTag:Z,isNativeTag:e=>G(e)||J(e)||X(e),isPreTag:e=>"pre"===e,decodeEntities:function(e,t=!1){return tu||(tu=document.createElement("div")),t?(tu.innerHTML=`
`,tu.children[0].getAttribute("foo")):(tu.innerHTML=e,tu.textContent)},isBuiltInComponent:e=>"Transition"===e||"transition"===e?Zd:"TransitionGroup"===e||"transition-group"===e?Qd:void 0,getNamespace(e,t,n){let r=t?t.ns:n;if(t&&2===r)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some((e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content)))&&(r=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(r=0);else t&&1===r&&("foreignObject"!==t.tag&&"desc"!==t.tag&&"title"!==t.tag||(r=0));if(0===r){if("svg"===e)return 1;if("math"===e)return 2}return r}},ru=(e,t)=>{const n=K(e);return gl(JSON.stringify(n),!1,t,3)};function ou(e,t){return Dl(e,t)}const iu=t("passive,once,capture"),su=t("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),au=t("left,right"),lu=t("onkeyup,onkeydown,onkeypress",!0),cu=(e,t)=>Ol(e)&&"onclick"===e.content.toLowerCase()?gl(t,!0):4!==e.type?vl(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e,du=(e,t)=>{1!==e.type||0!==e.tagType||"script"!==e.tag&&"style"!==e.tag||t.removeNode()},uu=[e=>{1===e.type&&e.props.forEach(((t,n)=>{6===t.type&&"style"===t.name&&t.value&&(e.props[n]={type:7,name:"bind",arg:gl("style",!0,t.loc),exp:ru(t.value.content,t.loc),modifiers:[],loc:t.loc})}))}],hu={cloak:()=>({props:[]}),html:(e,t,n)=>{const{exp:r,loc:o}=e;return r||n.onError(ou(53,o)),t.children.length&&(n.onError(ou(54,o)),t.children.length=0),{props:[ml(gl("innerHTML",!0,o),r||gl("",!0))]}},text:(e,t,n)=>{const{exp:r,loc:o}=e;return r||n.onError(ou(55,o)),t.children.length&&(n.onError(ou(56,o)),t.children.length=0),{props:[ml(gl("textContent",!0),r?Uc(r,n)>0?r:yl(n.helperString(Wa),[r],o):gl("",!0))]}},model:(e,t,n)=>{const r=Nd(e,t,n);if(!r.props.length||1===t.tagType)return r;e.arg&&n.onError(ou(58,e.arg.loc));const{tag:o}=t,i=n.isCustomElement(o);if("input"===o||"textarea"===o||"select"===o||i){let s=Wd,a=!1;if("input"===o||i){const r=Wl(t,"type");if(r){if(7===r.type)s=Yd;else if(r.value)switch(r.value.content){case"radio":s=jd;break;case"checkbox":s=qd;break;case"file":a=!0,n.onError(ou(59,e.loc))}}else t.props.some((e=>!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic)))&&(s=Yd)}else"select"===o&&(s=Kd);a||(r.needRuntime=n.helper(s))}else n.onError(ou(57,e.loc));return r.props=r.props.filter((e=>!(4===e.key.type&&"modelValue"===e.key.content))),r},on:(e,t,n)=>Pd(e,t,n,(t=>{const{modifiers:r}=e;if(!r.length)return t;let{key:o,value:i}=t.props[0];const{keyModifiers:s,nonKeyModifiers:a,eventOptionModifiers:l}=((e,t,n,r)=>{const o=[],i=[],s=[];for(let a=0;a{const{exp:r,loc:o}=e;return r||n.onError(ou(61,o)),{props:[],needRuntime:n.helper(Xd)}}},pu=new WeakMap;function fu(e,t,n,r){var o,i=arguments.length,s=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(i<3?o(s):i>3?o(t,n,s):o(t,n))||s);return i>3&&s&&Object.defineProperty(t,n,s),s}Ni((function(e,t){if(!v(e)){if(!e.nodeType)return o;e=e.innerHTML}const r=e,i=function(e){let t=pu.get(null!=e?e:n);return t||(t=Object.create(null),pu.set(null!=e?e:n,t)),t}(t),s=i[r];if(s)return s;if("#"===e[0]){const t=document.querySelector(e);e=t?t.innerHTML:""}const a=l({hoistStatic:!0,onError:void 0,onWarn:o},t);a.isCustomElement||"undefined"==typeof customElements||(a.isCustomElement=e=>!!customElements.get(e));const{code:c}=function(e,t={}){return zd(e,l({},nu,t,{nodeTransforms:[du,...uu,...t.nodeTransforms||[]],directiveTransforms:l({},hu,t.directiveTransforms||{}),transformHoist:null}))}(e,a),d=new Function("Vue",c)(xa);return d._rc=!0,i[r]=d})),"function"==typeof SuppressedError&&SuppressedError;const mu=globalThis,gu=mu.ShadowRoot&&(void 0===mu.ShadyCSS||mu.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,vu=Symbol(),yu=new WeakMap;let bu=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==vu)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(gu&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=yu.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&yu.set(t,e))}return e}toString(){return this.cssText}};const wu=(e,...t)=>{const n=1===e.length?e[0]:t.reduce(((t,n,r)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[r+1]),e[0]);return new bu(n,e,vu)},_u=gu?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const r of e.cssRules)t+=r.cssText;return new bu("string"==typeof(n=t)?n:n+"",void 0,vu);var n})(e):e,{is:ku,defineProperty:Cu,getOwnPropertyDescriptor:xu,getOwnPropertyNames:Su,getOwnPropertySymbols:$u,getPrototypeOf:Eu}=Object,Au=globalThis,Tu=Au.trustedTypes,Pu=Tu?Tu.emptyScript:"",Iu=Au.reactiveElementPolyfillSupport,Ru=(e,t)=>e,Mu={toAttribute(e,t){switch(t){case Boolean:e=e?Pu:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(r){n=null}}return n}},Nu=(e,t)=>!ku(e,t),Lu={attribute:!0,type:String,converter:Mu,reflect:!1,hasChanged:Nu};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),Au.litPropertyMetadata??(Au.litPropertyMetadata=new WeakMap);class Du extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Lu){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),r=this.getPropertyDescriptor(e,n,t);void 0!==r&&Cu(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){const{get:r,set:o}=xu(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get(){return null==r?void 0:r.call(this)},set(t){const i=null==r?void 0:r.call(this);o.call(this,t),this.requestUpdate(e,i,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Lu}static _$Ei(){if(this.hasOwnProperty(Ru("elementProperties")))return;const e=Eu(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Ru("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Ru("properties"))){const e=this.properties,t=[...Su(e),...$u(e)];for(const n of t)this.createProperty(n,e[n])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(const[t,n]of this.elementProperties){const e=this._$Eu(t,n);void 0!==e&&this._$Eh.set(e,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(_u(e))}else void 0!==e&&t.push(_u(e));return t}static _$Eu(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),null==(e=this.constructor.l)||e.forEach((e=>e(this)))}addController(e){var t;(this._$EO??(this._$EO=new Set)).add(e),void 0!==this.renderRoot&&this.isConnected&&(null==(t=e.hostConnected)||t.call(e))}removeController(e){var t;null==(t=this._$EO)||t.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{if(gu)e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const n of t){const t=document.createElement("style"),r=mu.litNonce;void 0!==r&&t.setAttribute("nonce",r),t.textContent=n.cssText,e.appendChild(t)}})(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null==(e=this._$EO)||e.forEach((e=>{var t;return null==(t=e.hostConnected)?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null==(e=this._$EO)||e.forEach((e=>{var t;return null==(t=e.hostDisconnected)?void 0:t.call(e)}))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EC(e,t){var n;const r=this.constructor.elementProperties.get(e),o=this.constructor._$Eu(e,r);if(void 0!==o&&!0===r.reflect){const i=(void 0!==(null==(n=r.converter)?void 0:n.toAttribute)?r.converter:Mu).toAttribute(t,r.type);this._$Em=e,null==i?this.removeAttribute(o):this.setAttribute(o,i),this._$Em=null}}_$AK(e,t){var n;const r=this.constructor,o=r._$Eh.get(e);if(void 0!==o&&this._$Em!==o){const e=r.getPropertyOptions(o),i="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null==(n=e.converter)?void 0:n.fromAttribute)?e.converter:Mu;this._$Em=o,this[o]=i.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,n){if(void 0!==e){if(n??(n=this.constructor.getPropertyOptions(e)),!(n.hasChanged??Nu)(this[e],t))return;this.P(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,t,n){this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$Em!==e&&(this._$Ej??(this._$Ej=new Set)).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,n]of e)!0!==n.wrapped||this._$AL.has(t)||void 0===this[t]||this.P(t,this[t],n)}let t=!1;const n=this._$AL;try{t=this.shouldUpdate(n),t?(this.willUpdate(n),null==(e=this._$EO)||e.forEach((e=>{var t;return null==(t=e.hostUpdate)?void 0:t.call(e)})),this.update(n)):this._$EU()}catch(r){throw t=!1,this._$EU(),r}t&&this._$AE(n)}willUpdate(e){}_$AE(e){var t;null==(t=this._$EO)||t.forEach((e=>{var t;return null==(t=e.hostUpdated)?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&(this._$Ej=this._$Ej.forEach((e=>this._$EC(e,this[e])))),this._$EU()}updated(e){}firstUpdated(e){}}Du.elementStyles=[],Du.shadowRootOptions={mode:"open"},Du[Ru("elementProperties")]=new Map,Du[Ru("finalized")]=new Map,null==Iu||Iu({ReactiveElement:Du}),(Au.reactiveElementVersions??(Au.reactiveElementVersions=[])).push("2.0.4");const Ou=globalThis,Fu=Ou.trustedTypes,Vu=Fu?Fu.createPolicy("lit-html",{createHTML:e=>e}):void 0,Bu="$lit$",Uu=`lit$${Math.random().toFixed(9).slice(2)}$`,Hu="?"+Uu,zu=`<${Hu}>`,ju=document,qu=()=>ju.createComment(""),Wu=e=>null===e||"object"!=typeof e&&"function"!=typeof e,Ku=Array.isArray,Yu="[ \t\n\f\r]",Gu=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ju=/-->/g,Xu=/>/g,Zu=RegExp(`>|${Yu}(?:([^\\s"'>=/]+)(${Yu}*=${Yu}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),Qu=/'/g,eh=/"/g,th=/^(?:script|style|textarea|title)$/i,nh=(e=>(e,...t)=>({_$litType$:1,strings:e,values:t}))(),rh=Symbol.for("lit-noChange"),oh=Symbol.for("lit-nothing"),ih=new WeakMap,sh=ju.createTreeWalker(ju,129);function ah(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==Vu?Vu.createHTML(t):t}class lh{constructor({strings:e,_$litType$:t},n){let r;this.parts=[];let o=0,i=0;const s=e.length-1,a=this.parts,[l,c]=((e,t)=>{const n=e.length-1,r=[];let o,i=2===t?"":"",s=Gu;for(let a=0;a"===l[0]?(s=o??Gu,c=-1):void 0===l[1]?c=-2:(c=s.lastIndex-l[2].length,n=l[1],s=void 0===l[3]?Zu:'"'===l[3]?eh:Qu):s===eh||s===Qu?s=Zu:s===Ju||s===Xu?s=Gu:(s=Zu,o=void 0);const u=s===Zu&&e[a+1].startsWith("/>")?" ":"";i+=s===Gu?t+zu:c>=0?(r.push(n),t.slice(0,c)+Bu+t.slice(c)+Uu+u):t+Uu+(-2===c?a:u)}return[ah(e,i+(e[n]||"")+(2===t?"":"")),r]})(e,t);if(this.el=lh.createElement(l,n),sh.currentNode=this.el.content,2===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(r=sh.nextNode())&&a.length0){r.textContent=Fu?Fu.emptyScript:"";for(let n=0;n2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=oh}_$AI(e,t=this,n,r){const o=this.strings;let i=!1;if(void 0===o)e=ch(this,e,t,0),i=!Wu(e)||e!==this._$AH&&e!==rh,i&&(this._$AH=e);else{const r=e;let s,a;for(e=o[0],s=0;s{const r=(null==n?void 0:n.renderBefore)??t;let o=r._$litPart$;if(void 0===o){const e=(null==n?void 0:n.renderBefore)??null;r._$litPart$=o=new uh(t.insertBefore(qu(),e),e,void 0,n??{})}return o._$AI(e),o})(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),null==(e=this._$Do)||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null==(e=this._$Do)||e.setConnected(!1)}render(){return rh}};yh._$litElement$=!0,yh.finalized=!0,null==(e=globalThis.litElementHydrateSupport)||e.call(globalThis,{LitElement:yh});const bh=globalThis.litElementPolyfillSupport;null==bh||bh({LitElement:yh}),(globalThis.litElementVersions??(globalThis.litElementVersions=[])).push("4.0.6");const wh=e=>(t,n)=>{void 0!==n?n.addInitializer((()=>{customElements.define(e,t)})):customElements.define(e,t)},_h={attribute:!0,type:String,converter:Mu,reflect:!1,hasChanged:Nu},kh=(e=_h,t,n)=>{const{kind:r,metadata:o}=n;let i=globalThis.litPropertyMetadata.get(o);if(void 0===i&&globalThis.litPropertyMetadata.set(o,i=new Map),i.set(n.name,e),"accessor"===r){const{name:r}=n;return{set(n){const o=t.get.call(this);t.set.call(this,n),this.requestUpdate(r,o,e)},init(t){return void 0!==t&&this.P(r,void 0,e),t}}}if("setter"===r){const{name:r}=n;return function(n){const o=this[r];t.call(this,n),this.requestUpdate(r,o,e)}}throw Error("Unsupported decorator location: "+r)};function Ch(e){return(t,n)=>"object"==typeof n?kh(e,t,n):((e,t,n)=>{const r=t.hasOwnProperty(n);return t.constructor.createProperty(n,r?{...e,wrapped:!0}:e),r?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}function xh(e){return Ch({...e,state:!0,attribute:!1})}class Sh extends yh{emit(e,t){const n=new CustomEvent(e,Object.assign({bubbles:!0,cancelable:!1,composed:!0,detail:{}},t));return this.dispatchEvent(n)}}const $h=e=>null!==e&&"false"!==e.toLowerCase(),Eh=wu`:host{box-sizing:border-box}:host *,:host ::after,:host ::before{box-sizing:inherit}:host :focus,:host :focus-visible,:host(:focus),:host(:focus-visible){outline:0}[hidden]{display:none!important}`,Ah=wu`:host{position:relative;display:flex;flex:1 1 auto;overflow:hidden}:host([full-height]:not([full-height=false i])){height:100%}`;let Th=class extends Sh{constructor(){super(...arguments),this.fullHeight=!1}render(){return nh``}};function Ph(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function Ih(e={},t={}){Object.keys(t).forEach((n=>{void 0===e[n]?e[n]=t[n]:Ph(t[n])&&Ph(e[n])&&Object.keys(t[n]).length>0&&Ih(e[n],t[n])}))}Th.styles=[Eh,Ah],fu([Ch({type:Boolean,reflect:!0,converter:$h,attribute:"full-height"})],Th.prototype,"fullHeight",void 0),Th=fu([wh("mdui-layout")],Th);const Rh={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function Mh(){const e="undefined"!=typeof document?document:{};return Ih(e,Rh),e}const Nh={document:Rh,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function Lh(){const e="undefined"!=typeof window?window:{};return Ih(e,Nh),e}const Dh=e=>"function"==typeof e,Oh=e=>"string"==typeof e,Fh=e=>"number"==typeof e,Vh=e=>void 0===e,Bh=e=>null===e,Uh=e=>"undefined"!=typeof Window&&e instanceof Window,Hh=e=>"undefined"!=typeof Document&&e instanceof Document,zh=e=>"undefined"!=typeof Element&&e instanceof Element,jh=e=>!Dh(e)&&!Uh(e)&&Fh(e.length),qh=e=>"object"==typeof e&&null!==e,Wh=e=>Hh(e)?e.documentElement:e,Kh=e=>e.replace(/-([a-z])/g,((e,t)=>t.toUpperCase())),Yh=e=>e?e.replace(/^./,e[0].toLowerCase()).replace(/[A-Z]/g,(e=>"-"+e.toLowerCase())):e,Gh=()=>!1,Jh=(e,t)=>{for(let n=0;n{const n=Object.keys(e);for(let r=0;r{this[t]=e})),this.length=e.length,this):this}}const Qh=(e=Mh())=>/complete|interactive/.test(e.readyState),ep=e=>Mh().createElement(e),tp=(e,t)=>e.appendChild(t),np=e=>e.parentNode?e.parentNode.removeChild(e):e,rp=(e,t)=>{const n=ep(t);return n.innerHTML=e,[].slice.call(n.childNodes)},op=(()=>{const e=function(t){if(!t)return new Zh;if(t instanceof Zh)return t;if(Dh(t)){const n=Mh();return Qh(n)?t.call(n,e):n.addEventListener("DOMContentLoaded",(()=>t.call(n,e)),{once:!0}),new Zh([n])}if(Oh(t)){const e=t.trim();if(e.startsWith("<")&&e.endsWith(">")){let t="div";return Xh({li:"ul",tr:"tbody",td:"tr",th:"tr",tbody:"table",option:"select"},((n,r)=>{if(e.startsWith(`<${n}`))return t=r,!1})),new Zh(rp(e,t))}const n=Mh();return new Zh(n.querySelectorAll(t))}return!jh(t)||"undefined"!=typeof Node&&t instanceof Node?new Zh([t]):new Zh(t)};return e.fn=Zh.prototype,e})();op.fn.each=function(e){return Jh(this,((t,n)=>e.call(t,n,t)))},op.fn.get=function(e){return void 0===e?[].slice.call(this):this[e>=0?e:e+this.length]},Jh(["insertBefore","insertAfter"],((e,t)=>{op.fn[e]=function(e){const n=t?op(this.get().reverse()):this,r=op(e),o=[];return r.each(((e,r)=>{r.parentNode&&n.each(((n,i)=>{const s=e?i.cloneNode(!0):i,a=t?r.nextSibling:r;o.push(s),r.parentNode.insertBefore(s,a)}))})),op(t?o.reverse():o)}})),op.fn.map=function(e){return new Zh(function(e,t){const n=Lh();let r;const o=[];return s=(e,i)=>{r=t.call(n,i,e),null!=r&&o.push(r)},jh(i=e)?Jh(i,((e,t)=>s.call(e,t,e))):Xh(i,s),[].concat(...o);var i,s}(this,((t,n)=>e.call(t,n,t))))},op.fn.is=function(e){let t=!1;if(Dh(e))return this.each(((n,r)=>{e.call(r,n,r)&&(t=!0)})),t;if(Oh(e))return this.each(((n,r)=>{Hh(r)||Uh(r)||r.matches.call(r,e)&&(t=!0)})),t;const n=op(e);return this.each(((e,r)=>{n.each(((e,n)=>{r===n&&(t=!0)}))})),t},op.fn.remove=function(e){return this.each(((t,n)=>{e&&!op(n).is(e)||np(n)}))},Jh(["appendTo","prependTo"],((e,t)=>{op.fn[e]=function(e){const n=[],r=op(e).map(((e,r)=>{const o=r.childNodes,i=o.length;if(i)return o[t?0:i-1];const s=ep("div");return tp(r,s),n.push(s),s})),o=this[t?"insertBefore":"insertAfter"](r);return op(n).remove(),o}})),op.fn.find=function(e){const t=[];return this.each(((n,r)=>{var o,i;o=t,i=op(r.querySelectorAll(e)).get(),Jh(i,(e=>{o.push(e)}))})),new Zh(t)};const ip=Lh().CustomEvent;class sp extends ip{constructor(e,t){super(e,t),this.data=t.data,this.namespace=t.namespace}}const ap=new WeakMap;let lp=1;const cp=e=>(ap.has(e)||ap.set(e,++lp),ap.get(e)),dp=new Map,up=e=>{const t=cp(e);return dp.get(t)||dp.set(t,[]).get(t)},hp=e=>{const t=e.split(".");return{type:t[0],namespace:t.slice(1).sort().join(" ")}},pp=e=>new RegExp("(?:^| )"+e.replace(" "," .* ?")+"(?: |$)");function fp(e,t,n){return e?t(e):null==n?void 0:n(e)}function mp(e,t=!1){return(n,r)=>{const{update:o}=n;e in n&&(n.update=function(n){if(n.has(e)){const o=n.get(e),i=this[e];o!==i&&(t&&!this.hasUpdated||this[r](o,i))}o.call(this,n)})}}function gp(e,t,n){return e?new Promise((r=>{if(n.duration===1/0)throw new Error("Promise-based animations must be finite.");Fh(n.duration)&&isNaN(n.duration)&&(n.duration=0),""===n.easing&&(n.easing="linear");const o=e.animate(t,n);o.addEventListener("cancel",r,{once:!0}),o.addEventListener("finish",r,{once:!0})})):Promise.resolve()}function vp(e){return e?Promise.all(e.getAnimations().map((e=>new Promise((t=>{const n=requestAnimationFrame(t);e.addEventListener("cancel",(()=>n),{once:!0}),e.addEventListener("finish",(()=>n),{once:!0}),e.cancel()}))))):Promise.resolve()}op.fn.off=function(e,t,n){return qh(e)?(Xh(e,((e,n)=>{this.off(e,t,n)})),this):((!1===t||Dh(t))&&(n=t,t=void 0),!1===n&&(n=Gh),this.each((function(){((e,t,n,r)=>{const o=up(e),i=t=>{delete o[t.id],e.removeEventListener(t.type,t.proxy,!1)};t?t.split(" ").forEach((t=>{t&&((e,t,n,r)=>{const o=hp(t);return up(e).filter((e=>e&&(!o.type||e.type===o.type)&&(!o.namespace||pp(o.namespace).test(e.namespace))&&(!n||cp(e.func)===cp(n))&&(!r||e.selector===r)))})(e,t,n,r).forEach((e=>{i(e)}))})):o.forEach((e=>{i(e)}))})(this,e,n,t)})))},op.fn.on=function(e,t,n,r,o){if(qh(e))return Oh(t)||(n=n||t,t=void 0),Xh(e,((e,r)=>{this.on(e,t,n,r,o)})),this;if(null==n&&null==r?(r=t,n=t=void 0):null==r&&(Oh(t)?(r=n,n=void 0):(r=n,n=t,t=void 0)),!1===r)r=Gh;else if(!r)return this;if(o){const e=this,n=r;r=function(o,...i){return e.off(o.type,t,r),n.call(this,o,...i)}}return this.each((function(){((e,t,n,r,o)=>{let i=!1;qh(r)&&r.useCapture&&(i=!0),t.split(" ").forEach((t=>{if(!t)return;const s=hp(t),a=(e,t)=>{!1===n.apply(t,null===e.detail?[e]:[e].concat(e.detail))&&(e.preventDefault(),e.stopPropagation())},l=t=>{t.namespace&&!pp(t.namespace).test(s.namespace)||(t.data=r,o?op(e).find(o).get().reverse().forEach((e=>{var n,r;(e===t.target||(n=e)!==(r=t.target)&&Wh(n).contains(r))&&a(t,e)})):a(t,e))},c={type:s.type,namespace:s.namespace,func:n,selector:o,id:up(e).length,proxy:l};up(e).push(c),e.addEventListener(c.type,l,i)}))})(this,e,r,n,t)}))};const yp=(e,t)=>Lh().getComputedStyle(e).getPropertyValue(Yh(t)),bp=e=>"border-box"===yp(e,"box-sizing"),wp=(e,t,n)=>{const r="width"===t?["Left","Right"]:["Top","Bottom"];return[0,1].reduce(((t,o,i)=>{let s=n+r[i];return"border"===n&&(s+="Width"),t+parseFloat(yp(e,s)||"0")}),0)},_p=["animation-iteration-count","column-count","fill-opacity","flex-grow","flex-shrink","font-weight","grid-area","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","line-height","opacity","order","orphans","widows","z-index","zoom"],kp=(e,t,n)=>{const r=e.getAttribute(t);return Bh(r)?n:r},Cp=(e,t)=>{e.removeAttribute(t)},xp=(e,t,n)=>{Bh(n)?Cp(e,t):e.setAttribute(t,n)};Jh(["attr","prop","css"],((e,t)=>{const n=(e,n)=>0===t?kp(e,n):1===t?e[n]:((e,t)=>{if("width"===t||"height"===t){const n=e.getBoundingClientRect()[t];return bp(e)?`${n}px`:n-wp(e,t,"border")-wp(e,t,"padding")+"px"}return yp(e,t)})(e,n);op.fn[e]=function(r,o){if(qh(r))return Xh(r,((t,n)=>{this[e](t,n)})),this;if(1===arguments.length){const e=this[0];return zh(e)?n(e,r):void 0}return this.each(((e,i)=>{((e,n,r)=>{if(!Vh(r))0===t?xp(e,n,r):1!==t?(n=Yh(n),e.style.setProperty(n,Fh(r)?`${r}${n.startsWith("--")||_p.includes(n)?"":"px"}`:r)):e[n]=r})(i,r,Dh(o)?o.call(i,e,n(i,r)):o)}))}}));const Sp=(e,t,n,r,o,i)=>{const s=n=>wp(e,t.toLowerCase(),n)*i;return 2===r&&o&&(n+=s("margin")),bp(e)?(0===r&&(n-=s("border")),1===r&&(n-=s("border"),n-=s("padding"))):(0===r&&(n+=s("padding")),2===r&&(n+=s("border"),n+=s("padding"))),n},$p=(e,t,n,r)=>{const o=Mh(),i=`client${t}`,s=`scroll${t}`,a=`offset${t}`,l=`inner${t}`;if(Uh(e))return 2===n?e[l]:Wh(o)[i];if(Hh(e)){const t=Wh(e);return Math.max(e.body[s],t[s],e.body[a],t[a],t[i])}const c=parseFloat(yp(e,t.toLowerCase())||"0");return Sp(e,t,c,n,r,1)};Jh(["Width","Height"],(e=>{Jh([`inner${e}`,e.toLowerCase(),`outer${e}`],((t,n)=>{op.fn[t]=function(t,r){const o=!0===t||!0===r;return arguments.length&&(n<2||!("boolean"==typeof t))?this.each(((r,i)=>((e,t,n,r,o,i)=>{let s=Dh(i)?i.call(e,t,$p(e,n,r,o)):i;if(null==s)return;const a=op(e),l=n.toLowerCase();if(Oh(s)&&["auto","inherit",""].includes(s))return void a.css(l,s);const c=s.toString().replace(/\b[0-9.]*/,""),d=parseFloat(s);s=Sp(e,n,d,r,o,-1)+(c||"px"),a.css(l,s)})(i,r,e,n,o,t))):this.length?$p(this[0],e,n,o):void 0}}))}));const Ep=e=>{const t=Lh(),n=Mh(),r=t.getComputedStyle(n.documentElement),o=zh(e)?op(e).innerWidth():Fh(e)?e:op(t).innerWidth(),i=e=>{const t=r.getPropertyValue(`--mdui-breakpoint-${e}`).toLowerCase();return parseFloat(t)};return{up:e=>o>=i(e),down:e=>o{switch(e){case"xs":return"sm";case"sm":return"md";case"md":return"lg";case"lg":return"xl";case"xl":return"xxl"}})(e))},not(e){return!this.only(e)},between(e,t){return this.up(e)&&this.down(t)}}},Ap=(e,t)=>{const n=`--mdui-motion-duration-${t}`,r=op(e).css(n).trim().toLowerCase();return r.endsWith("ms")?parseFloat(r):1e3*parseFloat(r)};let Tp,Pp,Ip=0;const Rp=(e,t)=>{const n=op(e),r=++Ip,o={unobserve:()=>{n.each(((e,t)=>{const n=Tp.get(t),o=n.coArr.findIndex((e=>e.key===r));-1!==o&&n.coArr.splice(o,1),n.coArr.length?Tp.set(t,n):(Pp.unobserve(t),Tp.delete(t))}))}};return Tp||(Tp=new WeakMap,Pp=new ResizeObserver((e=>{e.forEach((e=>{const t=e.target,n=Tp.get(t);n.entry=e,n.coArr.forEach((t=>{t.callback.call(o,e,o)}))}))}))),n.each(((e,n)=>{const i=Tp.get(n)??{coArr:[]};i.coArr.length&&i.entry&&t.call(o,i.entry,o),i.coArr.push({callback:t,key:r}),Tp.set(n,i),Pp.observe(n)})),o},Mp=nh`${oh}`,Np=wu`:host{display:inline-block;width:1em;height:1em;line-height:1;font-size:1.5rem}`,Lp=e=>(...t)=>({_$litDirective$:e,values:t});let Dp=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}},Op=class extends Dp{constructor(e){if(super(e),this.it=oh,2!==e.type)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===oh||null==e)return this._t=void 0,this.it=e;if(e===rh)return e;if("string"!=typeof e)throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;const t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};Op.directiveName="unsafeHTML",Op.resultType=1;class Fp extends Op{}Fp.directiveName="unsafeSVG",Fp.resultType=2;const Vp=Lp(Fp),Bp=e=>nh`${Vp(e)}`;let Up=class extends yh{render(){return Bp('')}};Up.styles=Np,Up=fu([wh("mdui-icon-clear")],Up);const Hp=e=>void 0===e.strings,zp={},jp=(e,t)=>{var n;const r=e._$AN;if(void 0===r)return!1;for(const o of r)null==(n=o._$AO)||n.call(o,t,!1),jp(o,t);return!0},qp=e=>{let t,n;do{if(void 0===(t=e._$AM))break;n=t._$AN,n.delete(e),e=t}while(0===(null==n?void 0:n.size))},Wp=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(void 0===n)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),Gp(t)}};function Kp(e){void 0!==this._$AN?(qp(this),this._$AM=e,Wp(this)):this._$AM=e}function Yp(e,t=!1,n=0){const r=this._$AH,o=this._$AN;if(void 0!==o&&0!==o.size)if(t)if(Array.isArray(r))for(let i=n;i{2==e.type&&(e._$AP??(e._$AP=Yp),e._$AQ??(e._$AQ=Kp))};class Jp extends Dp{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),Wp(this),this.isConnected=e._$AU}_$AO(e,t=!0){var n,r;e!==this.isConnected&&(this.isConnected=e,e?null==(n=this.reconnected)||n.call(this):null==(r=this.disconnected)||r.call(this)),t&&(jp(this,e),qp(this))}setValue(e){if(Hp(this._$Ct))this._$Ct._$AI(e,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}}const Xp=()=>new Zp;let Zp=class{};const Qp=new WeakMap,ef=Lp(class extends Jp{render(e){return oh}update(e,[t]){var n;const r=t!==this.Y;return r&&void 0!==this.Y&&this.rt(void 0),(r||this.lt!==this.ct)&&(this.Y=t,this.ht=null==(n=e.options)?void 0:n.host,this.rt(this.ct=e.element)),oh}rt(e){if(this.isConnected||(e=void 0),"function"==typeof this.Y){const t=this.ht??globalThis;let n=Qp.get(t);void 0===n&&(n=new WeakMap,Qp.set(t,n)),void 0!==n.get(this.Y)&&this.Y.call(this.ht,void 0),n.set(this.Y,e),void 0!==e&&this.Y.call(this.ht,e)}else this.Y.value=e}get lt(){var e,t;return"function"==typeof this.Y?null==(e=Qp.get(this.ht??globalThis))?void 0:e.get(this.Y):null==(t=this.Y)?void 0:t.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});class tf{constructor(e,...t){this.slotNames=[],(this.host=e).addController(this),this.slotNames=t,this.onSlotChange=this.onSlotChange.bind(this)}hostConnected(){this.host.shadowRoot.addEventListener("slotchange",this.onSlotChange),Qh()||op((()=>{this.host.requestUpdate()}))}hostDisconnected(){this.host.shadowRoot.removeEventListener("slotchange",this.onSlotChange)}test(e){return"[default]"===e?this.hasDefaultSlot():this.hasNamedSlot(e)}hasDefaultSlot(){return[...this.host.childNodes].some((e=>e.nodeType===e.TEXT_NODE&&""!==e.textContent.trim()||e.nodeType===e.ELEMENT_NODE&&!e.hasAttribute("slot")))}hasNamedSlot(e){return null!==this.host.querySelector(`:scope > [slot="${e}"]`)}onSlotChange(e){const t=e.target;(this.slotNames.includes("[default]")&&!t.name||t.name&&this.slotNames.includes(t.name))&&this.host.requestUpdate()}}const nf=e=>e??oh;function rf(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n,r=0;r[...new Set(e)];class af{constructor(e,t){this.defined=!1,(this.host=e).addController(this),this.relatedElements=t.relatedElements,this.needDomReady=t.needDomReady||!!t.relatedElements,this.onSlotChange=this.onSlotChange.bind(this)}hostConnected(){this.host.shadowRoot.addEventListener("slotchange",this.onSlotChange)}hostDisconnected(){this.host.shadowRoot.removeEventListener("slotchange",this.onSlotChange)}isDefined(){return!!this.defined||(this.defined=(!this.needDomReady||Qh())&&!this.getUndefinedLocalNames().length,this.defined)}async whenDefined(){if(this.defined)return Promise.resolve();const e=Mh();this.needDomReady&&!Qh(e)&&await new Promise((t=>{e.addEventListener("DOMContentLoaded",(()=>t()),{once:!0})}));const t=this.getUndefinedLocalNames();if(t.length){const e=[];t.forEach((t=>{e.push(customElements.whenDefined(t))})),await Promise.all(e)}this.defined=!0}getScopeLocalNameSelector(){const e=this.relatedElements;return e?Array.isArray(e)?e.map((e=>`${e}:not(:defined)`)).join(","):Object.keys(e).filter((t=>!e[t])).map((e=>`${e}:not(:defined)`)).join(","):null}getGlobalLocalNameSelector(){const e=this.relatedElements;return!e||Array.isArray(e)?null:Object.keys(e).filter((t=>e[t])).map((e=>`${e}:not(:defined)`)).join(",")}getUndefinedLocalNames(){const e=this.getScopeLocalNameSelector(),t=this.getGlobalLocalNameSelector(),n=[...e?[...this.host.querySelectorAll(e)]:[],...t?[...Mh().querySelectorAll(t)]:[]].map((e=>e.localName));return sf(n)}onSlotChange(){const e=this.getScopeLocalNameSelector();e&&this.host.querySelectorAll(e).length&&(this.defined=!1)}}const lf=new WeakMap,cf=new WeakMap;class df{constructor(e,t){(this.host=e).addController(this),this.definedController=new af(e,{needDomReady:!0}),this.options={form:e=>{const t=op(e).attr("form");return t?e.getRootNode().getElementById(t):e.closest("form")},name:e=>e.name,value:e=>e.value,defaultValue:e=>e.defaultValue,setValue:(e,t)=>e.value=t,disabled:e=>e.disabled,reportValidity:e=>!Dh(e.reportValidity)||e.reportValidity(),...t},this.onFormData=this.onFormData.bind(this),this.onFormSubmit=this.onFormSubmit.bind(this),this.onFormReset=this.onFormReset.bind(this),this.reportFormValidity=this.reportFormValidity.bind(this)}hostConnected(){this.definedController.whenDefined().then((()=>{this.form=this.options.form(this.host),this.form&&this.attachForm(this.form)}))}hostDisconnected(){this.detachForm()}hostUpdated(){this.definedController.whenDefined().then((()=>{const e=this.options.form(this.host);e||this.detachForm(),e&&this.form!==e&&(this.detachForm(),this.attachForm(e))}))}getForm(){return this.form??null}reset(e){this.doAction("reset",e)}submit(e){this.doAction("submit",e)}attachForm(e){e?(this.form=e,of.has(this.form)?of.get(this.form).add(this.host):of.set(this.form,new Set([this.host])),this.form.addEventListener("formdata",this.onFormData),this.form.addEventListener("submit",this.onFormSubmit),this.form.addEventListener("reset",this.onFormReset),lf.has(this.form)||(lf.set(this.form,this.form.reportValidity),this.form.reportValidity=()=>this.reportFormValidity())):this.form=void 0}detachForm(){this.form&&(of.get(this.form).delete(this.host),this.form.removeEventListener("formdata",this.onFormData),this.form.removeEventListener("submit",this.onFormSubmit),this.form.removeEventListener("reset",this.onFormReset),lf.has(this.form)&&!of.get(this.form).size&&(this.form.reportValidity=lf.get(this.form),lf.delete(this.form)))}doAction(e,t){if(!this.form)return;const n=op(``}isButton(){return!this.href}}Pf.styles=[Eh,Tf],fu([Ch({type:Boolean,reflect:!0,converter:$h})],Pf.prototype,"disabled",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],Pf.prototype,"loading",void 0),fu([Ch({reflect:!0})],Pf.prototype,"name",void 0),fu([Ch({reflect:!0})],Pf.prototype,"value",void 0),fu([Ch({reflect:!0})],Pf.prototype,"type",void 0),fu([Ch({reflect:!0})],Pf.prototype,"form",void 0),fu([Ch({reflect:!0,attribute:"formaction"})],Pf.prototype,"formAction",void 0),fu([Ch({reflect:!0,attribute:"formenctype"})],Pf.prototype,"formEnctype",void 0),fu([Ch({reflect:!0,attribute:"formmethod"})],Pf.prototype,"formMethod",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h,attribute:"formnovalidate"})],Pf.prototype,"formNoValidate",void 0),fu([Ch({reflect:!0,attribute:"formtarget"})],Pf.prototype,"formTarget",void 0);const If="important",Rf=" !"+If,Mf=Lp(class extends Dp{constructor(e){var t;if(super(e),1!==e.type||"style"!==e.name||(null==(t=e.strings)?void 0:t.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,n)=>{const r=e[n];return null==r?t:t+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${r};`}),"")}update(e,[t]){const{style:n}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(const r of this.ft)null==t[r]&&(this.ft.delete(r),r.includes("-")?n.removeProperty(r):n[r]=null);for(const r in t){const e=t[r];if(null!=e){this.ft.add(r);const t="string"==typeof e&&e.endsWith(Rf);r.includes("-")||t?n.setProperty(r,t?e.slice(0,-11):e,t?If:""):n[r]=e}}return rh}});class Nf{constructor(e){this.Y=e}disconnect(){this.Y=void 0}reconnect(e){this.Y=e}deref(){return this.Y}}class Lf{constructor(){this.Z=void 0,this.q=void 0}get(){return this.Z}pause(){this.Z??(this.Z=new Promise((e=>this.q=e)))}resume(){var e;null==(e=this.q)||e.call(this),this.Z=this.q=void 0}}const Df=e=>!(e=>null===e||"object"!=typeof e&&"function"!=typeof e)(e)&&"function"==typeof e.then,Of=1073741823,Ff=Lp(class extends Jp{constructor(){super(...arguments),this._$Cwt=Of,this._$Cbt=[],this._$CK=new Nf(this),this._$CX=new Lf}render(...e){return e.find((e=>!Df(e)))??rh}update(e,t){const n=this._$Cbt;let r=n.length;this._$Cbt=t;const o=this._$CK,i=this._$CX;this.isConnected||this.disconnected();for(let s=0;sthis._$Cwt);s++){const e=t[s];if(!Df(e))return this._$Cwt=s,e;s{for(;i.get();)await i.get();const n=o.deref();if(void 0!==n){const r=n._$Cbt.indexOf(e);r>-1&&r{t.dispatchEvent(i)}))};const Vf="ajaxSuccess",Bf="ajaxError",Uf="ajaxComplete",Hf={},zf=(e,t)=>`${e}&${t}`.replace(/[&?]{1,2}/,"?"),jf=wu`:host{display:inline-block;width:1em;height:1em;font-weight:400;font-family:'Material Icons';font-display:block;font-style:normal;line-height:1;direction:ltr;letter-spacing:normal;white-space:nowrap;text-transform:none;word-wrap:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-moz-osx-font-smoothing:grayscale;font-size:1.5rem}::slotted(svg),svg{width:100%;height:100%;fill:currentcolor}`;let qf=class extends Sh{constructor(){super(...arguments),this.hasSlotController=new tf(this,"[default]")}render(){return this.hasSlotController.test("[default]")?nh``:(()=>{if(this.name){const[e,t]=this.name.split("--");return nh`${e}`}return this.src?nh`${Ff((e=>{const t=Mh(),n=Lh();let r=!1;const o={},i={},s=(e=>{const t={url:"",method:"GET",data:"",processData:!0,async:!0,cache:!0,username:"",password:"",headers:{},xhrFields:{},statusCode:{},dataType:"",contentType:"application/x-www-form-urlencoded",timeout:0,global:!0};return Xh(Hf,((e,n)=>{["beforeSend","success","error","complete","statusCode"].includes(e)||Vh(n)||(t[e]=n)})),Cf({},t,e)})(e),a=s.method.toUpperCase();let{data:l,url:c}=s;c=c||n.location.toString();const{processData:d,async:u,cache:h,username:p,password:f,headers:m,xhrFields:g,statusCode:v,dataType:y,contentType:b,timeout:w,global:_}=s,k=["GET","HEAD"].includes(a);!l||!k&&!d||Oh(l)||l instanceof ArrayBuffer||l instanceof Blob||l instanceof Document||l instanceof FormData||(l=(e=>{if(!qh(e)&&!Array.isArray(e))return"";const t=[],n=(e,r)=>{let o;qh(r)?Xh(r,((t,i)=>{o=Array.isArray(r)&&!qh(i)?"":t,n(`${e}[${o}]`,i)})):(o=null==r||""===r?"=":`=${encodeURIComponent(r)}`,t.push(encodeURIComponent(e)+o))};return Array.isArray(e)?Jh(e,(({name:e,value:t})=>n(e,t))):Xh(e,n),t.join("&")})(l)),l&&k&&(c=zf(c,l),l=null);const C=(e,n,...a)=>{let l,c;_&&op(t).trigger(e,"success"===n?i:o),n in Hf&&(l=Hf[n](...a)),s[n]&&(c=s[n](...a)),"beforeSend"===n&&[l,c].includes(!1)&&(r=!0)};return(()=>{let e;return new Promise(((t,d)=>{const _=e=>d(new Error(e));k&&!h&&(c=zf(c,`_=${Date.now()}`));const x=new XMLHttpRequest;let S;if(x.open(a,c,u,p,f),(b||l&&!k&&!1!==b)&&x.setRequestHeader("Content-Type",b),"json"===y&&x.setRequestHeader("Accept","application/json, text/javascript"),Xh(m,((e,t)=>{Vh(t)||x.setRequestHeader(e,t+"")})),(e=>{const t=Lh();return/^([\w-]+:)?\/\/([^/]+)/.test(e)&&RegExp.$2!==t.location.host})(c)||x.setRequestHeader("X-Requested-With","XMLHttpRequest"),Xh(g,((e,t)=>{x[e]=t})),o.xhr=i.xhr=x,o.options=i.options=s,x.onload=()=>{S&&clearTimeout(S);const n=(r=x.status)>=200&&r<300||[0,304].includes(r);var r;let o;if(n)if(e=204===x.status||"HEAD"===a?"nocontent":304===x.status?"notmodified":"success","json"===y||!y&&(x.getResponseHeader("content-type")||"").includes("json")){try{o="HEAD"===a?void 0:JSON.parse(x.responseText),i.response=o}catch(s){e="parsererror",C(Bf,"error",x,e),_(e)}"parsererror"!==e&&(C(Vf,"success",o,e,x),t(o))}else o="HEAD"===a?void 0:"text"===x.responseType||""===x.responseType?x.responseText:x.response,i.response=o,C(Vf,"success",o,e,x),t(o);else e="error",C(Bf,"error",x,e),_(e);Jh([Hf.statusCode??{},v],(t=>{t[x.status]&&(n?t[x.status](o,e,x):t[x.status](x,e))})),C(Uf,"complete",x,e)},x.onerror=()=>{S&&clearTimeout(S),C(Bf,"error",x,x.statusText),C(Uf,"complete",x,"error"),_(x.statusText)},x.onabort=()=>{let e="abort";S&&(e="timeout",clearTimeout(S)),C(Bf,"error",x,e),C(Uf,"complete",x,e),_(e)},C("ajaxStart","beforeSend",x,s),r)return _("cancel");w>0&&(S=n.setTimeout((()=>x.abort()),w)),x.send(l)}))})()})({url:this.src}).then(Vp))}`:nh``})()}};qf.styles=[Eh,jf],fu([Ch({reflect:!0})],qf.prototype,"name",void 0),fu([Ch({reflect:!0})],qf.prototype,"src",void 0),qf=fu([wh("mdui-icon")],qf);const Wf=wu`:host{--shape-corner:var(--mdui-shape-corner-full);position:relative;display:inline-block;flex-shrink:0;overflow:hidden;text-align:center;border-radius:var(--shape-corner);cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:1.5rem;width:2.5rem;height:2.5rem}:host([variant=standard]){color:rgb(var(--mdui-color-on-surface-variant));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=filled]){color:rgb(var(--mdui-color-primary));background-color:rgb(var(--mdui-color-surface-container-highest));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=tonal]){color:rgb(var(--mdui-color-on-surface-variant));background-color:rgb(var(--mdui-color-surface-container-highest));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=outlined]){border:.0625rem solid rgb(var(--mdui-color-outline));color:rgb(var(--mdui-color-on-surface-variant));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}:host([variant=outlined][pressed]){color:rgb(var(--mdui-color-on-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([variant=standard][selected]:not([selected=false i])){color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=filled]:not([selectable])),:host([variant=filled][selectable=false i]),:host([variant=filled][selected]:not([selected=false i])){color:rgb(var(--mdui-color-on-primary));background-color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-primary)}:host([variant=tonal]:not([selectable])),:host([variant=tonal][selectable=false i]),:host([variant=tonal][selected]:not([selected=false i])){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var( - --mdui-color-on-secondary-container - )}:host([variant=outlined][selected]:not([selected=false i])){border:none;color:rgb(var(--mdui-color-inverse-on-surface));background-color:rgb(var(--mdui-color-inverse-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-inverse-on-surface)}:host([variant=filled][disabled]:not([disabled=false i])),:host([variant=outlined][disabled]:not([disabled=false i])),:host([variant=tonal][disabled]:not([disabled=false i])){background-color:rgba(var(--mdui-color-on-surface),.12);border-color:rgba(var(--mdui-color-on-surface),.12)}:host([disabled]:not([disabled=false i])),:host([loading]:not([loading=false i])){cursor:default;pointer-events:none}:host([disabled]:not([disabled=false i])){color:rgba(var(--mdui-color-on-surface),.38)!important}:host([loading]:not([loading=false i])) .button,:host([loading]:not([loading=false i])) mdui-ripple{opacity:0}.button{float:left;width:100%}.icon,.selected-icon mdui-icon,::slotted(*){font-size:inherit}mdui-circular-progress{display:flex;position:absolute;top:calc(50% - 1.5rem / 2);left:calc(50% - 1.5rem / 2);width:1.5rem;height:1.5rem}:host([variant=filled]:not([disabled])) mdui-circular-progress,:host([variant=filled][disabled=false i]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-primary))}:host([disabled]:not([disabled=false i])) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}`;let Kf=class extends Pf{constructor(){super(...arguments),this.variant="standard",this.selectable=!1,this.selected=!1,this.rippleRef=Xp(),this.hasSlotController=new tf(this,"[default]","selected-icon")}get rippleElement(){return this.rippleRef.value}onSelectedChange(){this.emit("change")}firstUpdated(e){super.firstUpdated(e),this.addEventListener("click",(()=>{this.selectable&&!this.disabled&&(this.selected=!this.selected)}))}render(){return nh`${this.isButton()?this.renderButton({className:"button",part:"button",content:this.renderIcon()}):this.disabled||this.loading?nh`${this.renderIcon()}`:this.renderAnchor({className:"button",part:"button",content:this.renderIcon()})} ${this.renderLoading()}`}renderIcon(){const e=()=>this.hasSlotController.test("[default]")?nh``:this.icon?nh``:Mp;return this.selected?(()=>this.hasSlotController.test("selected-icon")||this.selectedIcon?nh``:e())():e()}};Kf.styles=[Pf.styles,Wf],fu([Ch({reflect:!0})],Kf.prototype,"variant",void 0),fu([Ch({reflect:!0})],Kf.prototype,"icon",void 0),fu([Ch({reflect:!0,attribute:"selected-icon"})],Kf.prototype,"selectedIcon",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],Kf.prototype,"selectable",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],Kf.prototype,"selected",void 0),fu([mp("selected",!0)],Kf.prototype,"onSelectedChange",null),Kf=fu([wh("mdui-button-icon")],Kf);const Yf=wu`:host{--shape-corner:var(--mdui-shape-corner-full);position:relative;display:inline-block;flex-shrink:0;overflow:hidden;text-align:center;border-radius:var(--shape-corner);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);min-width:3rem;height:2.5rem;color:rgb(var(--mdui-color-primary));font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height)}.button{width:100%;padding:0 1rem}:host([full-width]:not([full-width=false i])){display:block}:host([variant=elevated]){box-shadow:var(--mdui-elevation-level1);background-color:rgb(var(--mdui-color-surface-container-low));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=filled]){color:rgb(var(--mdui-color-on-primary));background-color:rgb(var(--mdui-color-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-primary)}:host([variant=tonal]){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));--mdui-comp-ripple-state-layer-color:var( - --mdui-color-on-secondary-container - )}:host([variant=outlined]){border:.0625rem solid rgb(var(--mdui-color-outline));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=text]){--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([variant=outlined][focus-visible]){border-color:rgb(var(--mdui-color-primary))}:host([variant=elevated][hover]){box-shadow:var(--mdui-elevation-level2)}:host([variant=filled][hover]),:host([variant=tonal][hover]){box-shadow:var(--mdui-elevation-level1)}:host([disabled]:not([disabled=false i])),:host([loading]:not([loading=false i])){cursor:default;pointer-events:none}:host([disabled]:not([disabled=false i])){color:rgba(var(--mdui-color-on-surface),38%);box-shadow:var(--mdui-elevation-level0)}:host([variant=elevated][disabled]:not([disabled=false i])),:host([variant=filled][disabled]:not([disabled=false i])),:host([variant=tonal][disabled]:not([disabled=false i])){background-color:rgba(var(--mdui-color-on-surface),12%)}:host([variant=outlined][disabled]:not([disabled=false i])){border-color:rgba(var(--mdui-color-on-surface),12%)}.label{display:inline-flex;padding-right:.5rem;padding-left:.5rem}.end-icon,.icon{display:inline-flex;font-size:1.28571429em}.end-icon mdui-icon,.icon mdui-icon,::slotted([slot=end-icon]),::slotted([slot=icon]){font-size:inherit}mdui-circular-progress{display:inline-flex;width:1.125rem;height:1.125rem}:host([variant=filled]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-primary))}:host([variant=tonal]) mdui-circular-progress{stroke:rgb(var(--mdui-color-on-secondary-container))}:host([disabled]:not([disabled=false i])) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}`;let Gf=class extends Pf{constructor(){super(...arguments),this.variant="filled",this.fullWidth=!1,this.rippleRef=Xp()}get rippleElement(){return this.rippleRef.value}render(){return nh`${this.isButton()?this.renderButton({className:"button",part:"button",content:this.renderInner()}):this.disabled||this.loading?nh`${this.renderInner()}`:this.renderAnchor({className:"button",part:"button",content:this.renderInner()})}`}renderIcon(){return this.loading?this.renderLoading():nh`${this.icon?nh``:Mp}`}renderLabel(){return nh``}renderEndIcon(){return nh`${this.endIcon?nh``:Mp}`}renderInner(){return[this.renderIcon(),this.renderLabel(),this.renderEndIcon()]}};Gf.styles=[Pf.styles,Yf],fu([Ch({reflect:!0})],Gf.prototype,"variant",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h,attribute:"full-width"})],Gf.prototype,"fullWidth",void 0),fu([Ch({reflect:!0})],Gf.prototype,"icon",void 0),fu([Ch({reflect:!0,attribute:"end-icon"})],Gf.prototype,"endIcon",void 0),Gf=fu([wh("mdui-button")],Gf);const Jf=wu`:host{--shape-corner:var(--mdui-shape-corner-extra-small);--z-index:2400;position:fixed;z-index:var(--z-index);display:none;align-items:center;flex-wrap:wrap;border-radius:var(--shape-corner);transform:scaleY(0);transition:transform 0s var(--mdui-motion-easing-linear) var(--mdui-motion-duration-short4);min-width:20rem;max-width:36rem;padding:.25rem 0;box-shadow:var(--mdui-elevation-level3);background-color:rgb(var(--mdui-color-inverse-surface));color:rgb(var(--mdui-color-inverse-on-surface));font-size:var(--mdui-typescale-body-medium-size);font-weight:var(--mdui-typescale-body-medium-weight);letter-spacing:var(--mdui-typescale-body-medium-tracking);line-height:var(--mdui-typescale-body-medium-line-height)}:host([placement^=top]){transform-origin:top}:host([placement^=bottom]){transform-origin:bottom}:host([placement=bottom-start]:not([mobile])),:host([placement=top-start]:not([mobile])){left:1rem}:host([placement=bottom-end]:not([mobile])),:host([placement=top-end]:not([mobile])){right:1rem}:host([placement=bottom]:not([mobile])),:host([placement=top]:not([mobile])){left:50%;transform:scaleY(0) translateX(-50%)}:host([mobile]){min-width:0;left:1rem;right:1rem}:host([open]){transform:scaleY(1);transition:top var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard),bottom var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard),transform var(--mdui-motion-duration-medium4) var(--mdui-motion-easing-emphasized-decelerate)}:host([placement=bottom][open]:not([mobile])),:host([placement=top][open]:not([mobile])){transform:scaleY(1) translateX(-50%)}.message{display:block;margin:.625rem 1rem}:host([message-line='1']) .message{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host([message-line='2']) .message{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.action-group{display:flex;align-items:center;margin-left:auto;padding-right:.5rem}.action,.close-button{display:inline-flex;align-items:center;justify-content:center}.action{color:rgb(var(--mdui-color-inverse-primary));font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking)}.action mdui-button,::slotted(mdui-button[slot=action][variant=outlined]),::slotted(mdui-button[slot=action][variant=text]){color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;--mdui-comp-ripple-state-layer-color:var(--mdui-color-inverse-primary)}.action mdui-button::part(button){padding:0 .5rem}.close-button{margin:0 -.25rem 0 .25rem;font-size:1.5rem;color:rgb(var(--mdui-color-inverse-on-surface))}.close-button mdui-button-icon,::slotted(mdui-button-icon[slot=close-button][variant=outlined]),::slotted(mdui-button-icon[slot=close-button][variant=standard]){font-size:inherit;color:inherit;--mdui-comp-ripple-state-layer-color:var(--mdui-color-inverse-on-surface)}.close-button .i,::slotted([slot=close-icon]){font-size:inherit}`,Xf=[];let Zf=!1,Qf=class extends Sh{constructor(){super(),this.open=!1,this.placement="bottom",this.actionLoading=!1,this.closeable=!1,this.autoCloseDelay=5e3,this.closeOnOutsideClick=!1,this.mobile=!1,this.onDocumentClick=this.onDocumentClick.bind(this)}async onOpenChange(){const e=((e,t)=>op(this).css("--mdui-motion-easing-linear").trim())(),t=Array.from(this.renderRoot.querySelectorAll(".message, .action-group"));if(this.open){const n=this.hasUpdated;if(n||await this.updateComplete,n&&!this.emit("open",{cancelable:!0}))return;window.clearTimeout(this.closeTimeout),this.autoCloseDelay&&(this.closeTimeout=window.setTimeout((()=>{this.open=!1}),this.autoCloseDelay)),this.style.display="flex",await Promise.all([vp(this),...t.map((e=>vp(e)))]),Xf.push({height:this.clientHeight,snackbar:this}),await this.reorderStack(this);const r=Ap(this,"medium4");return await Promise.all([gp(this,[{opacity:0},{opacity:1,offset:.5},{opacity:1}],{duration:n?r:0,easing:e,fill:"forwards"}),...t.map((t=>gp(t,[{opacity:0},{opacity:0,offset:.2},{opacity:1,offset:.8},{opacity:1}],{duration:n?r:0,easing:e})))]),void(n&&this.emit("opened"))}if(!this.open&&this.hasUpdated){if(!this.emit("close",{cancelable:!0}))return;window.clearTimeout(this.closeTimeout),await Promise.all([vp(this),...t.map((e=>vp(e)))]);const n=Ap(this,"short4");await Promise.all([gp(this,[{opacity:1},{opacity:0}],{duration:n,easing:e,fill:"forwards"}),...t.map((t=>gp(t,[{opacity:1},{opacity:0,offset:.75},{opacity:0}],{duration:n,easing:e})))]),this.style.display="none",this.emit("closed");const r=Xf.findIndex((e=>e.snackbar===this));return Xf.splice(r,1),void(Xf[r]&&await this.reorderStack(Xf[r].snackbar))}}async onStackChange(){await this.reorderStack(this)}connectedCallback(){super.connectedCallback(),document.addEventListener("pointerdown",this.onDocumentClick),this.mobile=Ep().down("sm"),this.observeResize=Rp(document.documentElement,(async()=>{const e=Ep().down("sm");this.mobile!==e&&(this.mobile=e,Zf||(Zf=!0,await this.reorderStack(),Zf=!1))}))}disconnectedCallback(){var e;super.disconnectedCallback(),document.removeEventListener("pointerdown",this.onDocumentClick),window.clearTimeout(this.closeTimeout),this.open&&(this.open=!1),null==(e=this.observeResize)||e.unobserve()}render(){return nh`
${this.action?nh`${this.action}`:Mp}${fp(this.closeable,(()=>nh`${this.closeIcon?nh``:nh``}`))}
`}async reorderStack(e){for(let t=e?Xf.findIndex((t=>t.snackbar===e)):0;t{if(e.placement.startsWith(n)){const r=Xf.filter(((e,r)=>re+t.height),0);e.style[n]=`calc(${o}px + ${r.length+1}rem)`,e.style["top"===n?"bottom":"top"]="auto"}})):["top","top-start","top-end","bottom","bottom-start","bottom-end"].forEach((n=>{if(e.placement===n){const r=Xf.filter(((e,r)=>re+t.height),0);e.style[n.startsWith("top")?"top":"bottom"]=`calc(${o}px + ${r.length+1}rem)`,e.style[n.startsWith("top")?"bottom":"top"]="auto"}}))}}onDocumentClick(e){if(!this.open||!this.closeOnOutsideClick)return;const t=e.target;this.contains(t)||this===t||(this.open=!1)}onActionClick(e){e.stopPropagation(),this.emit("action-click")}onCloseClick(){this.open=!1}};Qf.styles=[Eh,Jf],fu([Ch({type:Boolean,reflect:!0,converter:$h})],Qf.prototype,"open",void 0),fu([Ch({reflect:!0})],Qf.prototype,"placement",void 0),fu([Ch({reflect:!0,attribute:"action"})],Qf.prototype,"action",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h,attribute:"action-loading"})],Qf.prototype,"actionLoading",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],Qf.prototype,"closeable",void 0),fu([Ch({reflect:!0,attribute:"close-icon"})],Qf.prototype,"closeIcon",void 0),fu([Ch({type:Number,reflect:!0,attribute:"message-line"})],Qf.prototype,"messageLine",void 0),fu([Ch({type:Number,reflect:!0,attribute:"auto-close-delay"})],Qf.prototype,"autoCloseDelay",void 0),fu([Ch({type:Boolean,reflect:!0,attribute:"close-on-outside-click",converter:$h})],Qf.prototype,"closeOnOutsideClick",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],Qf.prototype,"mobile",void 0),fu([mp("open")],Qf.prototype,"onOpenChange",null),fu([mp("placement",!0),mp("messageLine",!0)],Qf.prototype,"onStackChange",null),Qf=fu([wh("mdui-snackbar")],Qf);const em=Lp(class extends Dp{constructor(e){if(super(e),3!==e.type&&1!==e.type&&4!==e.type)throw Error("The `live` directive is not allowed on child or event bindings");if(!Hp(e))throw Error("`live` bindings can only contain a single expression")}render(e){return e}update(e,[t]){if(t===rh||t===oh)return t;const n=e.element,r=e.name;if(3===e.type){if(t===n[r])return rh}else if(4===e.type){if(!!t===n.hasAttribute(r))return rh}else if(1===e.type&&n.getAttribute(r)===t+"")return rh;return((e,t=zp)=>{e._$AH=t})(e),t}});function tm(e="value"){return(t,n)=>{const r=t.constructor,o=r.prototype.attributeChangedCallback;r.prototype.attributeChangedCallback=function(t,i,s){const a=r.getPropertyOptions(e);if(t===(Oh(a.attribute)?a.attribute:e)){const t=a.converter||Mu,r=(Dh(t)?t:(null==t?void 0:t.fromAttribute)??Mu.fromAttribute)(s,a.type);this[e]!==r&&(this[n]=r)}o.call(this,t,i,s)}}}let nm=class extends yh{render(){return Bp('')}};nm.styles=Np,nm=fu([wh("mdui-icon-check")],nm);const rm=wu`:host{--shape-corner:var(--mdui-shape-corner-full);--shape-corner-thumb:var(--mdui-shape-corner-full);position:relative;display:inline-block;cursor:pointer;-webkit-tap-highlight-color:transparent;height:2.5rem}:host([disabled]:not([disabled=false i])){cursor:default;pointer-events:none}label{display:inline-flex;align-items:center;width:100%;height:100%;white-space:nowrap;cursor:inherit;-webkit-user-select:none;user-select:none;touch-action:manipulation;zoom:1;-webkit-user-drag:none}.track{position:relative;display:flex;align-items:center;border-radius:var(--shape-corner);transition-property:background-color,border-width;transition-duration:var(--mdui-motion-duration-short4);transition-timing-function:var(--mdui-motion-easing-standard);height:2rem;width:3.25rem;border:.125rem solid rgb(var(--mdui-color-outline));background-color:rgb(var(--mdui-color-surface-container-highest))}:host([checked]:not([checked=false i])) .track{background-color:rgb(var(--mdui-color-primary));border-width:0}.invalid .track{background-color:rgb(var(--mdui-color-error-container));border-color:rgb(var(--mdui-color-error))}:host([disabled]:not([disabled=false i])) .track{background-color:rgba(var(--mdui-color-surface-container-highest),.12);border-color:rgba(var(--mdui-color-on-surface),.12)}:host([disabled][checked]:not([disabled=false i],[checked=false i])) .track{background-color:rgba(var(--mdui-color-on-surface),.12)}input{position:absolute;padding:0;opacity:0;pointer-events:none;width:1.25rem;height:1.25rem;margin:0 0 0 .625rem}mdui-ripple{border-radius:50%;transition-property:left,top;transition-duration:var(--mdui-motion-duration-short4);transition-timing-function:var(--mdui-motion-easing-standard);width:2.5rem;height:2.5rem}.thumb{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:var(--shape-corner-thumb);transition-property:width,height,left,background-color;transition-duration:var(--mdui-motion-duration-short4);transition-timing-function:var(--mdui-motion-easing-standard);height:1rem;width:1rem;left:.375rem;background-color:rgb(var(--mdui-color-outline));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}.thumb mdui-ripple{left:-.75rem;top:-.75rem}.has-unchecked-icon .thumb{height:1.5rem;width:1.5rem;left:.125rem}.has-unchecked-icon .thumb mdui-ripple{left:-.5rem;top:-.5rem}:host([focus-visible]) .thumb,:host([hover]) .thumb,:host([pressed]) .thumb{background-color:rgb(var(--mdui-color-on-surface-variant))}:host([checked]:not([checked=false i])) .thumb{height:1.5rem;width:1.5rem;left:1.5rem;background-color:rgb(var(--mdui-color-on-primary));--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}:host([checked]:not([checked=false i])) .thumb mdui-ripple{left:-.5rem;top:-.5rem}:host([pressed]) .thumb{height:1.75rem;width:1.75rem;left:0}:host([pressed]) .thumb mdui-ripple{left:-.375rem;top:-.375rem}:host([pressed][checked]:not([checked=false i])) .thumb{left:1.375rem}:host([focus-visible][checked]:not([checked=false i])) .thumb,:host([hover][checked]:not([checked=false i])) .thumb,:host([pressed][checked]:not([checked=false i])) .thumb{background-color:rgb(var(--mdui-color-primary-container))}.invalid .thumb{background-color:rgb(var(--mdui-color-error));--mdui-comp-ripple-state-layer-color:var(--mdui-color-error)}:host([focus-visible]) .invalid .thumb,:host([hover]) .invalid .thumb,:host([pressed]) .invalid .thumb{background-color:rgb(var(--mdui-color-error))}:host([disabled]:not([disabled=false i])) .thumb{background-color:rgba(var(--mdui-color-on-surface),.38)}:host([disabled][checked]:not([disabled=false i],[checked=false i])) .thumb{background-color:rgb(var(--mdui-color-surface))}.checked-icon,.unchecked-icon{display:flex;position:absolute;transition-property:opacity,transform;font-size:1rem}.unchecked-icon{opacity:1;transform:scale(1);transition-delay:var(--mdui-motion-duration-short1);transition-duration:var(--mdui-motion-duration-short3);transition-timing-function:var(--mdui-motion-easing-linear);color:rgb(var(--mdui-color-surface-container-highest))}:host([checked]:not([checked=false i])) .unchecked-icon{opacity:0;transform:scale(.92);transition-delay:0s;transition-duration:var(--mdui-motion-duration-short1)}:host([disabled]:not([disabled=false i])) .unchecked-icon{color:rgba(var(--mdui-color-surface-container-highest),.38)}.checked-icon{opacity:0;transform:scale(.92);transition-delay:0s;transition-duration:var(--mdui-motion-duration-short1);transition-timing-function:var(--mdui-motion-easing-linear);color:rgb(var(--mdui-color-on-primary-container))}:host([checked]:not([checked=false i])) .checked-icon{opacity:1;transform:scale(1);transition-delay:var(--mdui-motion-duration-short1);transition-duration:var(--mdui-motion-duration-short3)}.invalid .checked-icon{color:rgb(var(--mdui-color-error-container))}:host([disabled]:not([disabled=false i])) .checked-icon{color:rgba(var(--mdui-color-on-surface),.38)}.checked-icon .i,.unchecked-icon .i,::slotted([slot=checked-icon]),::slotted([slot=unchecked-icon]){font-size:inherit;color:inherit}`;let om=class extends(Af(ff(Sh))){constructor(){super(...arguments),this.disabled=!1,this.checked=!1,this.defaultChecked=!1,this.required=!1,this.name="",this.value="on",this.invalid=!1,this.rippleRef=Xp(),this.inputRef=Xp(),this.formController=new df(this,{value:e=>e.checked?e.value:void 0,defaultValue:e=>e.defaultChecked,setValue:(e,t)=>e.checked=t}),this.hasSlotController=new tf(this,"unchecked-icon")}get validity(){return this.inputRef.value.validity}get validationMessage(){return this.inputRef.value.validationMessage}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return this.disabled}get focusElement(){return this.inputRef.value}get focusDisabled(){return this.disabled}async onDisabledChange(){await this.updateComplete,this.invalid=!this.inputRef.value.checkValidity()}async onCheckedChange(){var e;await this.updateComplete;const t=this.formController.getForm();t&&(null==(e=cf.get(t))?void 0:e.has(this))?(this.invalid=!1,cf.get(t).delete(this)):this.invalid=!this.inputRef.value.checkValidity()}checkValidity(){const e=this.inputRef.value.checkValidity();return e||this.emit("invalid",{bubbles:!1,cancelable:!0,composed:!1}),e}reportValidity(){return this.invalid=!this.inputRef.value.reportValidity(),this.invalid&&(this.emit("invalid",{bubbles:!1,cancelable:!0,composed:!1})||(this.blur(),this.focus())),!this.invalid}setCustomValidity(e){this.inputRef.value.setCustomValidity(e),this.invalid=!this.inputRef.value.checkValidity()}render(){return nh``}onChange(){this.checked=this.inputRef.value.checked,this.emit("change")}};om.styles=[Eh,rm],fu([Ch({type:Boolean,reflect:!0,converter:$h})],om.prototype,"disabled",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],om.prototype,"checked",void 0),fu([tm("checked")],om.prototype,"defaultChecked",void 0),fu([Ch({reflect:!0,attribute:"unchecked-icon"})],om.prototype,"uncheckedIcon",void 0),fu([Ch({reflect:!0,attribute:"checked-icon"})],om.prototype,"checkedIcon",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],om.prototype,"required",void 0),fu([Ch({reflect:!0})],om.prototype,"form",void 0),fu([Ch({reflect:!0})],om.prototype,"name",void 0),fu([Ch({reflect:!0})],om.prototype,"value",void 0),fu([xh()],om.prototype,"invalid",void 0),fu([mp("disabled",!0),mp("required",!0)],om.prototype,"onDisabledChange",null),fu([mp("checked",!0)],om.prototype,"onCheckedChange",null),om=fu([wh("mdui-switch")],om);const im=wu`:host{--shape-corner:var(--mdui-shape-corner-medium);position:relative;display:inline-block;overflow:hidden;border-radius:var(--shape-corner);-webkit-tap-highlight-color:transparent;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([clickable]:not([clickable=false i])){cursor:pointer}:host([variant=elevated]){background-color:rgb(var(--mdui-color-surface-container-low));box-shadow:var(--mdui-elevation-level1)}:host([variant=filled]){background-color:rgb(var(--mdui-color-surface-container-highest))}:host([variant=outlined]){background-color:rgb(var(--mdui-color-surface));border:.0625rem solid rgb(var(--mdui-color-outline))}:host([variant=elevated][hover]){box-shadow:var(--mdui-elevation-level2)}:host([variant=filled][hover]),:host([variant=outlined][hover]){box-shadow:var(--mdui-elevation-level1)}:host([variant=elevated][dragged]),:host([variant=filled][dragged]),:host([variant=outlined][dragged]){box-shadow:var(--mdui-elevation-level3)}:host([disabled]:not([disabled=false i])){opacity:.38;cursor:default;-webkit-user-select:none;user-select:none}:host([variant=elevated][disabled]:not([disabled=false i])){background-color:rgb(var(--mdui-color-surface-variant));box-shadow:var(--mdui-elevation-level0)}:host([variant=filled][disabled]:not([disabled=false i])){background-color:rgb(var(--mdui-color-surface));box-shadow:var(--mdui-elevation-level1)}:host([variant=outlined][disabled]:not([disabled=false i])){box-shadow:var(--mdui-elevation-level0);border-color:rgba(var(--mdui-color-outline),.32)}.link{position:relative;display:inline-block;width:100%;height:100%;color:inherit;font-size:inherit;letter-spacing:inherit;text-decoration:none;touch-action:manipulation;-webkit-user-drag:none}`;let sm=class extends(uf(Af(ff(Sh)))){constructor(){super(...arguments),this.variant="elevated",this.clickable=!1,this.disabled=!1,this.rippleRef=Xp()}get rippleElement(){return this.rippleRef.value}get rippleDisabled(){return this.disabled||!this.href&&!this.clickable}get focusElement(){return this.href&&!this.disabled?this.renderRoot.querySelector("._a"):this}get focusDisabled(){return this.rippleDisabled}render(){return nh`${this.href&&!this.disabled?this.renderAnchor({className:"link",content:nh``}):nh``}`}};sm.styles=[Eh,im],fu([Ch({reflect:!0})],sm.prototype,"variant",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],sm.prototype,"clickable",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],sm.prototype,"disabled",void 0),sm=fu([wh("mdui-card")],sm);const am=wu`:host{--shape-corner:var(--mdui-shape-corner-small);position:relative;display:inline-block;flex-shrink:0;overflow:hidden;border-radius:var(--shape-corner);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);height:2rem;background-color:rgb(var(--mdui-color-surface));border:.0625rem solid rgb(var(--mdui-color-outline));color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-label-large-size);font-weight:var(--mdui-typescale-label-large-weight);letter-spacing:var(--mdui-typescale-label-large-tracking);line-height:var(--mdui-typescale-label-large-line-height);--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface-variant)}.button{padding-right:.4375rem;padding-left:.4375rem}:host([variant=input]) .button{padding-right:.1875rem;padding-left:.1875rem}:host([selected]:not([selected=false i])) .button{padding-right:.5rem;padding-left:.5rem}:host([selected][variant=input]:not([selected=false i])) .button{padding-right:.25rem;padding-left:.25rem}:host([elevated]:not([elevated=false i])) .button{padding-right:.5rem;padding-left:.5rem}:host([variant=assist]){color:rgb(var(--mdui-color-on-surface));--mdui-comp-ripple-state-layer-color:var(--mdui-color-on-surface)}:host([elevated]:not([elevated=false i])){border-width:0;background-color:rgb(var(--mdui-color-surface-container-low));box-shadow:var(--mdui-elevation-level1)}:host([selected]:not([selected=false i])){color:rgb(var(--mdui-color-on-secondary-container));background-color:rgb(var(--mdui-color-secondary-container));border-width:0;--mdui-comp-ripple-state-layer-color:var( - --mdui-color-on-secondary-container - )}:host([disabled]:not([disabled=false i])),:host([loading]:not([loading=false i])){cursor:default;pointer-events:none}:host([disabled]:not([disabled=false i])){border-color:rgba(var(--mdui-color-on-surface),12%);color:rgba(var(--mdui-color-on-surface),38%);box-shadow:var(--mdui-elevation-level0)}:host([disabled][elevated]:not([disabled=false i],[elevated=false i])),:host([disabled][selected]:not([disabled=false i],[selected=false i])){background-color:rgba(var(--mdui-color-on-surface),12%)}:host([selected][hover]:not([selected=false i])){box-shadow:var(--mdui-elevation-level1)}:host([elevated][hover]:not([elevated=false i])){color:rgb(var(--mdui-color-on-secondary-container));box-shadow:var(--mdui-elevation-level2)}:host([variant=filter][hover]),:host([variant=input][hover]),:host([variant=suggestion][hover]){color:rgb(var(--mdui-color-on-surface-variant))}:host([variant=filter][focus-visible]),:host([variant=input][focus-visible]),:host([variant=suggestion][focus-visible]){border-color:rgb(var(--mdui-color-on-surface-variant))}:host([dragged]),:host([dragged][hover]){box-shadow:var(--mdui-elevation-level4)}.button{overflow:visible}.label{display:inline-flex;padding-right:.5rem;padding-left:.5rem}.end-icon,.icon,.selected-icon{display:inline-flex;font-size:1.28571429em;color:rgb(var(--mdui-color-on-surface-variant))}:host([variant=assist]) .end-icon,:host([variant=assist]) .icon,:host([variant=assist]) .selected-icon{color:rgb(var(--mdui-color-primary))}:host([selected]:not([selected=false i])) .end-icon,:host([selected]:not([selected=false i])) .icon,:host([selected]:not([selected=false i])) .selected-icon{color:rgb(var(--mdui-color-on-secondary-container))}:host([disabled]:not([disabled=false i])) .end-icon,:host([disabled]:not([disabled=false i])) .icon,:host([disabled]:not([disabled=false i])) .selected-icon{opacity:.38;color:rgb(var(--mdui-color-on-surface))}.end-icon .i,.icon .i,.selected-icon .i,::slotted([slot=end-icon]),::slotted([slot=icon]),::slotted([slot=selected-icon]){font-size:inherit}:host([variant=input]) .has-icon .icon,:host([variant=input]) .has-icon .selected-icon,:host([variant=input]) .has-icon mdui-circular-progress{margin-left:.25rem}:host([variant=input]) .has-end-icon .end-icon{margin-right:.25rem}mdui-circular-progress{display:inline-flex;width:1.125rem;height:1.125rem}:host([disabled]:not([disabled=false i])) mdui-circular-progress{stroke:rgba(var(--mdui-color-on-surface),38%)}::slotted(mdui-avatar[slot=end-icon]),::slotted(mdui-avatar[slot=icon]),::slotted(mdui-avatar[slot=selected-icon]){width:1.5rem;height:1.5rem}:host([disabled]:not([disabled=false i])) ::slotted(mdui-avatar[slot=end-icon]),:host([disabled]:not([disabled=false i])) ::slotted(mdui-avatar[slot=icon]),:host([disabled]:not([disabled=false i])) ::slotted(mdui-avatar[slot=selected-icon]){opacity:.38}::slotted(mdui-avatar[slot=icon]),::slotted(mdui-avatar[slot=selected-icon]){margin-left:-.25rem;margin-right:-.125rem}::slotted(mdui-avatar[slot=end-icon]){margin-right:-.25rem;margin-left:-.125rem}.delete-icon{display:inline-flex;font-size:1.28571429em;transition:background-color var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);border-radius:var(--mdui-shape-corner-full);margin-right:-.25rem;margin-left:-.25rem;padding:.25rem;color:rgb(var(--mdui-color-on-surface-variant))}.delete-icon:hover{background-color:rgba(var(--mdui-color-on-surface-variant),12%)}.has-end-icon .delete-icon{margin-left:.25rem}:host([variant=assiat]) .delete-icon{color:rgb(var(--mdui-color-primary))}:host([variant=input]) .delete-icon{margin-right:.0625rem}:host([disabled]:not([disabled=false i])) .delete-icon{color:rgba(var(--mdui-color-on-surface),38%)}.delete-icon .i,::slotted([slot=delete-icon]){font-size:inherit}::slotted(mdui-avatar[slot=delete-icon]){width:1.125rem;height:1.125rem}`;let lm=class extends Pf{constructor(){super(),this.variant="assist",this.elevated=!1,this.selectable=!1,this.selected=!1,this.deletable=!1,this.rippleRef=Xp(),this.hasSlotController=new tf(this,"icon","selected-icon","end-icon"),this.onClick=this.onClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this)}get rippleElement(){return this.rippleRef.value}onSelectedChange(){this.emit("change")}firstUpdated(e){super.firstUpdated(e),this.addEventListener("click",this.onClick),this.addEventListener("keydown",this.onKeyDown)}render(){const e=this.icon||this.hasSlotController.test("icon"),t=this.endIcon||this.hasSlotController.test("end-icon"),n=this.selectedIcon||["assist","filter"].includes(this.variant)||e||this.hasSlotController.test("selected-icon"),r=rf({button:!0,"has-icon":this.loading||!this.selected&&e||this.selected&&n,"has-end-icon":t});return nh`${this.isButton()?this.renderButton({className:r,part:"button",content:this.renderInner()}):this.disabled||this.loading?nh`${this.renderInner()}`:this.renderAnchor({className:r,part:"button",content:this.renderInner()})}`}onClick(){this.disabled||this.loading||this.selectable&&(this.selected=!this.selected)}onKeyDown(e){this.disabled||this.loading||(this.selectable&&" "===e.key&&(e.preventDefault(),this.selected=!this.selected),this.deletable&&["Delete","Backspace"].includes(e.key)&&this.emit("delete"))}onDelete(e){e.stopPropagation(),this.emit("delete")}renderIcon(){if(this.loading)return this.renderLoading();const e=()=>this.icon?nh``:Mp;return this.selected?nh`${(()=>this.selectedIcon?nh``:"assist"===this.variant||"filter"===this.variant?nh``:e())()}`:nh`${e()}`}renderLabel(){return nh``}renderEndIcon(){return nh`${this.endIcon?nh``:Mp}`}renderDeleteIcon(){return this.deletable?nh`${this.deleteIcon?nh``:nh``}`:Mp}renderInner(){return[this.renderIcon(),this.renderLabel(),this.renderEndIcon(),this.renderDeleteIcon()]}};lm.styles=[Pf.styles,am],fu([Ch({reflect:!0})],lm.prototype,"variant",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],lm.prototype,"elevated",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],lm.prototype,"selectable",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],lm.prototype,"selected",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],lm.prototype,"deletable",void 0),fu([Ch({reflect:!0})],lm.prototype,"icon",void 0),fu([Ch({reflect:!0,attribute:"selected-icon"})],lm.prototype,"selectedIcon",void 0),fu([Ch({reflect:!0,attribute:"end-icon"})],lm.prototype,"endIcon",void 0),fu([Ch({reflect:!0,attribute:"delete-icon"})],lm.prototype,"deleteIcon",void 0),fu([mp("selected",!0)],lm.prototype,"onSelectedChange",null),lm=fu([wh("mdui-chip")],lm);for(let pg=0;pg<256;pg++)(pg>>4&15).toString(16),(15&pg).toString(16);let cm=new class{constructor(){this.settled=!1,this.promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this.settled=!0,this._resolve(e)}reject(e){this.settled=!0,this._reject(e)}};cm.resolve();let dm=class extends yh{render(){return Bp('')}};dm.styles=Np,dm=fu([wh("mdui-icon-cancel--outlined")],dm);let um=class extends yh{render(){return Bp('')}};um.styles=Np,um=fu([wh("mdui-icon-error")],um);let hm=class extends yh{render(){return Bp('')}};hm.styles=Np,hm=fu([wh("mdui-icon-visibility-off")],hm);let pm=class extends yh{render(){return Bp('')}};pm.styles=Np,pm=fu([wh("mdui-icon-visibility")],pm);let fm=!1;const mm=new Map,gm=e=>{mm.delete(e)},vm=wu`:host{display:inline-block;width:100%}:host([disabled]:not([disabled=false i])){pointer-events:none}:host([type=hidden]){display:none}.container{position:relative;display:flex;align-items:center;height:100%;padding:.125rem .125rem .125rem 1rem;transition:box-shadow var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard)}.container.has-icon{padding-left:.75rem}.container.has-action,.container.has-right-icon,.container.has-suffix{padding-right:.75rem}:host([variant=filled]) .container{box-shadow:inset 0 -.0625rem 0 0 rgb(var(--mdui-color-on-surface-variant));background-color:rgb(var(--mdui-color-surface-container-highest));border-radius:var(--mdui-shape-corner-extra-small) var(--mdui-shape-corner-extra-small) 0 0}:host([variant=filled]) .container.invalid,:host([variant=filled]) .container.invalid-style{box-shadow:inset 0 -.0625rem 0 0 rgb(var(--mdui-color-error))}:host([variant=filled]:hover) .container{box-shadow:inset 0 -.0625rem 0 0 rgb(var(--mdui-color-on-surface))}:host([variant=filled]:hover) .container.invalid,:host([variant=filled]:hover) .container.invalid-style{box-shadow:inset 0 -.0625rem 0 0 rgb(var(--mdui-color-on-error-container))}:host([variant=filled][focused-style]) .container,:host([variant=filled][focused]) .container{box-shadow:inset 0 -.125rem 0 0 rgb(var(--mdui-color-primary))}:host([variant=filled][focused-style]) .container.invalid,:host([variant=filled][focused-style]) .container.invalid-style,:host([variant=filled][focused]) .container.invalid,:host([variant=filled][focused]) .container.invalid-style{box-shadow:inset 0 -.125rem 0 0 rgb(var(--mdui-color-error))}:host([variant=filled][disabled]:not([disabled=false i])) .container{box-shadow:inset 0 -.0625rem 0 0 rgba(var(--mdui-color-on-surface),38%);background-color:rgba(var(--mdui-color-on-surface),4%)}:host([variant=outlined]) .container{box-shadow:inset 0 0 0 .0625rem rgb(var(--mdui-color-outline));border-radius:var(--mdui-shape-corner-extra-small)}:host([variant=outlined]) .container.invalid,:host([variant=outlined]) .container.invalid-style{box-shadow:inset 0 0 0 .0625rem rgb(var(--mdui-color-error))}:host([variant=outlined]:hover) .container{box-shadow:inset 0 0 0 .0625rem rgb(var(--mdui-color-on-surface))}:host([variant=outlined]:hover) .container.invalid,:host([variant=outlined]:hover) .container.invalid-style{box-shadow:inset 0 0 0 .0625rem rgb(var(--mdui-color-on-error-container))}:host([variant=outlined][focused-style]) .container,:host([variant=outlined][focused]) .container{box-shadow:inset 0 0 0 .125rem rgb(var(--mdui-color-primary))}:host([variant=outlined][focused-style]) .container.invalid,:host([variant=outlined][focused-style]) .container.invalid-style,:host([variant=outlined][focused]) .container.invalid,:host([variant=outlined][focused]) .container.invalid-style{box-shadow:inset 0 0 0 .125rem rgb(var(--mdui-color-error))}:host([variant=outlined][disabled]:not([disabled=false i])) .container{box-shadow:inset 0 0 0 .125rem rgba(var(--mdui-color-on-surface),12%)}.action,.icon,.prefix,.right-icon,.suffix{display:flex;-webkit-user-select:none;user-select:none;color:rgb(var(--mdui-color-on-surface-variant))}:host([disabled]:not([disabled=false i])) .action,:host([disabled]:not([disabled=false i])) .icon,:host([disabled]:not([disabled=false i])) .prefix,:host([disabled]:not([disabled=false i])) .right-icon,:host([disabled]:not([disabled=false i])) .suffix{color:rgba(var(--mdui-color-on-surface),38%)}.invalid .right-icon,.invalid-style .right-icon{color:rgb(var(--mdui-color-error))}:host(:hover) .invalid .right-icon,:host(:hover) .invalid-style .right-icon{color:rgb(var(--mdui-color-on-error-container))}:host([focused-style]) .invalid .right-icon,:host([focused-style]) .invalid-style .right-icon,:host([focused]) .invalid .right-icon,:host([focused]) .invalid-style .right-icon{color:rgb(var(--mdui-color-error))}.action,.icon,.right-icon{font-size:1.5rem}.action mdui-button-icon,.icon mdui-button-icon,.right-icon mdui-button-icon,::slotted(mdui-button-icon[slot]){margin-left:-.5rem;margin-right:-.5rem}.action .i,.icon .i,.right-icon .i,::slotted([slot$=icon]){font-size:inherit}.has-icon .icon{margin-right:1rem}.has-prefix .prefix{padding-right:.125rem}.has-action .action{margin-left:.75rem}.has-suffix .suffix{padding-right:.25rem;padding-left:.125rem}.has-right-icon .right-icon{margin-left:.75rem}.prefix,.suffix{display:none;font-size:var(--mdui-typescale-body-large-size);font-weight:var(--mdui-typescale-body-large-weight);letter-spacing:var(--mdui-typescale-body-large-tracking);line-height:var(--mdui-typescale-body-large-line-height)}:host([variant=filled][label]) .prefix,:host([variant=filled][label]) .suffix{padding-top:1rem}.has-value .prefix,.has-value .suffix,:host([focused-style]) .prefix,:host([focused-style]) .suffix,:host([focused]) .prefix,:host([focused]) .suffix{display:flex}.input-container{display:flex;width:100%;height:100%}.label{position:absolute;pointer-events:none;max-width:calc(100% - 1rem);display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;transition:all var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard);top:1rem;color:rgb(var(--mdui-color-on-surface-variant));font-size:var(--mdui-typescale-body-large-size);font-weight:var(--mdui-typescale-body-large-weight);letter-spacing:var(--mdui-typescale-body-large-tracking);line-height:var(--mdui-typescale-body-large-line-height)}.invalid .label,.invalid-style .label{color:rgb(var(--mdui-color-error))}:host([variant=outlined]) .label{padding:0 .25rem;margin:0 -.25rem}:host([variant=outlined]:hover) .label{color:rgb(var(--mdui-color-on-surface))}:host([variant=filled]:hover) .invalid .label,:host([variant=filled]:hover) .invalid-style .label,:host([variant=outlined]:hover) .invalid .label,:host([variant=outlined]:hover) .invalid-style .label{color:rgb(var(--mdui-color-on-error-container))}:host([variant=filled][focused-style]) .label,:host([variant=filled][focused]) .label,:host([variant=outlined][focused-style]) .label,:host([variant=outlined][focused]) .label{color:transparent;}:host([variant=filled]) .has-value .label,:host([variant=filled][focused-style]) .label,:host([variant=filled][focused]) .label,:host([variant=filled][type=date]) .label,:host([variant=filled][type=datetime-local]) .label,:host([variant=filled][type=month]) .label,:host([variant=filled][type=time]) .label,:host([variant=filled][type=week]) .label{font-size:var(--mdui-typescale-body-small-size);font-weight:var(--mdui-typescale-body-small-weight);letter-spacing:var(--mdui-typescale-body-small-tracking);line-height:var(--mdui-typescale-body-small-line-height);top:.25rem}:host([variant=outlined]) .has-value .label,:host([variant=outlined][focused-style]) .label,:host([variant=outlined][focused]) .label,:host([variant=outlined][type=date]) .label,:host([variant=outlined][type=datetime-local]) .label,:host([variant=outlined][type=month]) .label,:host([variant=outlined][type=time]) .label,:host([variant=outlined][type=week]) .label{font-size:var(--mdui-typescale-body-small-size);font-weight:var(--mdui-typescale-body-small-weight);letter-spacing:var(--mdui-typescale-body-small-tracking);line-height:var(--mdui-typescale-body-small-line-height);top:-.5rem;left:.75rem;color:transparent;background-color:rgb(var(--mdui-color-background))}:host([variant=filled][focused-style]) .invalid .label,:host([variant=filled][focused-style]) .invalid-style .label,:host([variant=filled][focused]) .invalid .label,:host([variant=filled][focused]) .invalid-style .label,:host([variant=outlined][focused-style]) .invalid .label,:host([variant=outlined][focused-style]) .invalid-style .label,:host([variant=outlined][focused]) .invalid .label,:host([variant=outlined][focused]) .invalid-style .label{color:rgb(var(--mdui-color-error))}:host([variant=filled][disabled]:not([disabled=false i])) .label,:host([variant=outlined][disabled]:not([disabled=false i])) .label{color:rgba(var(--mdui-color-on-surface),38%)}.input{display:block;width:100%;border:none;outline:0;background:0 0;appearance:none;resize:none;cursor:inherit;font-family:inherit;padding:.875rem .875rem .875rem 0;font-size:var(--mdui-typescale-body-large-size);font-weight:var(--mdui-typescale-body-large-weight);letter-spacing:var(--mdui-typescale-body-large-tracking);line-height:var(--mdui-typescale-body-large-line-height);color:rgb(var(--mdui-color-on-surface));caret-color:rgb(var(--mdui-color-primary))}.has-action .input,.has-right-icon .input{padding-right:.25rem}.has-suffix .input{padding-right:0}.input.hide-input{opacity:0;height:0;min-height:0;width:0;padding:0!important;overflow:hidden}.input::placeholder{color:rgb(var(--mdui-color-on-surface-variant))}.invalid .input,.invalid-style .input{caret-color:rgb(var(--mdui-color-error))}:host([disabled]:not([disabled=false i])) .input{color:rgba(var(--mdui-color-on-surface),38%)}:host([end-aligned]:not([end-aligned=false i])) .input{text-align:right}textarea.input{padding-top:0;margin-top:.875rem}:host([variant=filled]) .label+.input{padding-top:1.375rem;padding-bottom:.375rem}:host([variant=filled]) .label+textarea.input{padding-top:0;margin-top:1.375rem}.supporting{display:flex;justify-content:space-between;padding:.25rem 1rem;color:rgb(var(--mdui-color-on-surface-variant))}.supporting.invalid,.supporting.invalid-style{color:rgb(var(--mdui-color-error))}.helper{display:block;opacity:1;transition:opacity var(--mdui-motion-duration-short4) var(--mdui-motion-easing-linear);font-size:var(--mdui-typescale-body-small-size);font-weight:var(--mdui-typescale-body-small-weight);letter-spacing:var(--mdui-typescale-body-small-tracking);line-height:var(--mdui-typescale-body-small-line-height)}:host([disabled]:not([disabled=false i])) .helper{color:rgba(var(--mdui-color-on-surface),38%)}:host([helper-on-focus]:not([helper-on-focus=false i])) .helper{opacity:0}:host([helper-on-focus][focused-style]:not([helper-on-focus=false i])) .helper,:host([helper-on-focus][focused]:not([helper-on-focus=false i])) .helper{opacity:1}.error{font-size:var(--mdui-typescale-body-small-size);font-weight:var(--mdui-typescale-body-small-weight);letter-spacing:var(--mdui-typescale-body-small-tracking);line-height:var(--mdui-typescale-body-small-line-height)}.counter{flex-wrap:nowrap;padding-left:1rem;font-size:var(--mdui-typescale-body-small-size);font-weight:var(--mdui-typescale-body-small-weight);letter-spacing:var(--mdui-typescale-body-small-tracking);line-height:var(--mdui-typescale-body-small-line-height)}::-ms-reveal{display:none}.input[type=number]::-webkit-inner-spin-button,.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;display:none}.input[type=number]{-moz-appearance:textfield}.input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}`;let ym=class extends(ff(Sh)){constructor(){super(...arguments),this.variant="filled",this.type="text",this.name="",this.value="",this.defaultValue="",this.helperOnFocus=!1,this.clearable=!1,this.endAligned=!1,this.readonly=!1,this.disabled=!1,this.required=!1,this.autosize=!1,this.counter=!1,this.togglePassword=!1,this.spellcheck=!1,this.invalid=!1,this.invalidStyle=!1,this.focusedStyle=!1,this.isPasswordVisible=!1,this.hasValue=!1,this.error="",this.inputRef=Xp(),this.formController=new df(this),this.hasSlotController=new tf(this,"icon","end-icon","helper","input"),this.readonlyButClearable=!1}get validity(){return this.inputRef.value.validity}get validationMessage(){return this.inputRef.value.validationMessage}get valueAsNumber(){var e;return(null==(e=this.inputRef.value)?void 0:e.valueAsNumber)??parseFloat(this.value)}set valueAsNumber(e){const t=document.createElement("input");t.type="number",t.valueAsNumber=e,this.value=t.value}get focusElement(){return this.inputRef.value}get focusDisabled(){return this.disabled}get isFocusedStyle(){return this.focused||this.focusedStyle}get isTextarea(){return this.rows&&this.rows>1||this.autosize}onDisabledChange(){this.inputRef.value.disabled=this.disabled,this.invalid=!this.inputRef.value.checkValidity()}async onValueChange(){var e;if(this.hasValue=!["",null].includes(this.value),this.hasUpdated){await this.updateComplete,this.setTextareaHeight();const t=this.formController.getForm();t&&(null==(e=cf.get(t))?void 0:e.has(this))?(this.invalid=!1,cf.get(t).delete(this)):this.invalid=!this.inputRef.value.checkValidity()}}onRowsChange(){this.setTextareaHeight()}async onMaxRowsChange(){if(!this.autosize)return;this.hasUpdated||await this.updateComplete;const e=op(this.inputRef.value);e.css("max-height",parseFloat(e.css("line-height"))*(this.maxRows??1)+parseFloat(e.css("padding-top"))+parseFloat(e.css("padding-bottom")))}async onMinRowsChange(){if(!this.autosize)return;this.hasUpdated||await this.updateComplete;const e=op(this.inputRef.value);e.css("min-height",parseFloat(e.css("line-height"))*(this.minRows??1)+parseFloat(e.css("padding-top"))+parseFloat(e.css("padding-bottom")))}connectedCallback(){super.connectedCallback(),this.updateComplete.then((()=>{this.setTextareaHeight(),this.observeResize=Rp(this.inputRef.value,(()=>this.setTextareaHeight()))}))}disconnectedCallback(){var e;super.disconnectedCallback(),null==(e=this.observeResize)||e.unobserve(),gm(this)}select(){this.inputRef.value.select()}setSelectionRange(e,t,n="none"){this.inputRef.value.setSelectionRange(e,t,n)}setRangeText(e,t,n,r="preserve"){this.inputRef.value.setRangeText(e,t,n,r),this.value!==this.inputRef.value.value&&(this.value=this.inputRef.value.value,this.setTextareaHeight(),this.emit("input"),this.emit("change"))}checkValidity(){const e=this.inputRef.value.checkValidity();return e||this.emit("invalid",{bubbles:!1,cancelable:!0,composed:!1}),e}reportValidity(){return this.invalid=!this.inputRef.value.reportValidity(),this.invalid&&(this.emit("invalid",{bubbles:!1,cancelable:!0,composed:!1}),this.focus()),!this.invalid}setCustomValidity(e){this.setCustomValidityInternal(e),gm(this)}render(){const e=!!this.icon||this.hasSlotController.test("icon"),t=!!this.endIcon||this.hasSlotController.test("end-icon"),n=this.invalid||this.invalidStyle,r="password"===this.type&&this.togglePassword&&!this.disabled,o=this.clearable&&!this.disabled&&(!this.readonly||this.readonlyButClearable)&&("number"==typeof this.value||this.value.length>0),i=!!this.prefix||this.hasSlotController.test("prefix"),s=!!this.suffix||this.hasSlotController.test("suffix"),a=!!this.helper||this.hasSlotController.test("helper"),l=n&&!(!this.error&&!this.inputRef.value.validationMessage),c=this.counter&&!!this.maxlength,d=this.hasSlotController.test("input"),u={invalid:this.invalid,"invalid-style":this.invalidStyle},h=mf({container:!0,"has-value":this.hasValue,"has-icon":e,"has-right-icon":t||n,"has-action":o||r,"has-prefix":i,"has-suffix":s,"is-firefox":navigator.userAgent.includes("Firefox"),...u});return nh`
${this.renderPrefix()}
${this.renderLabel()} ${this.isTextarea?this.renderTextArea(d):this.renderInput(d)} ${fp(d,(()=>nh``))}
${this.renderSuffix()}${this.renderClearButton(o)} ${this.renderTogglePasswordButton(r)} ${this.renderRightIcon(n)}
${fp(l||a||c,(()=>nh`
${this.renderHelper(l,a)} ${this.renderCounter(c)}
`))}`}setCustomValidityInternal(e){this.inputRef.value.setCustomValidity(e),this.invalid=!this.inputRef.value.checkValidity(),this.requestUpdate()}onChange(){this.value=this.inputRef.value.value,this.isTextarea&&this.setTextareaHeight(),this.emit("change")}onClear(e){this.value="",this.emit("clear"),this.emit("input"),this.emit("change"),this.focus(),e.stopPropagation()}onInput(e){e.stopPropagation(),this.value=this.inputRef.value.value,this.isTextarea&&this.setTextareaHeight(),this.emit("input")}onInvalid(e){e.preventDefault()}onKeyDown(e){const t=e.metaKey||e.ctrlKey||e.shiftKey||e.altKey;"Enter"!==e.key||t||setTimeout((()=>{e.defaultPrevented||this.formController.submit()}))}onTextAreaKeyUp(){if(this.pattern){const e=new RegExp(this.pattern);this.value&&!this.value.match(e)?(this.setCustomValidityInternal(this.getPatternErrorMsg()),((e,t)=>{fm||(fm=!0,Lh().addEventListener("lit-localize-status",(e=>{"ready"===e.detail.status&&mm.forEach((e=>{e.forEach((e=>e()))}))})));const n=mm.get(e)||[];n.push(t),mm.set(e,n)})(this,(()=>{this.setCustomValidityInternal(this.getPatternErrorMsg())}))):(this.setCustomValidityInternal(""),gm(this))}}onTogglePassword(){this.isPasswordVisible=!this.isPasswordVisible}getPatternErrorMsg(){return"string"!=typeof(t=e="Please match the requested format.")&&"strTag"in t?((e,t,n)=>{let r=e[0];for(let o=1;o${this.label}`:Mp}renderPrefix(){return nh`${this.icon?nh``:Mp}${this.prefix}`}renderSuffix(){return nh`${this.suffix}`}renderRightIcon(e){return e?nh`${this.errorIcon?nh``:nh``}`:nh`${this.endIcon?nh``:Mp}`}renderClearButton(e){return fp(e,(()=>nh`${this.clearIcon?nh``:nh``}`))}renderTogglePasswordButton(e){return fp(e,(()=>nh`${this.isPasswordVisible?nh`${this.showPasswordIcon?nh``:nh``}`:nh`${this.hidePasswordIcon?nh``:nh``}`}`))}renderInput(e){return nh``}renderTextArea(e){return nh``}renderHelper(e,t){return e?nh`
${this.error||this.inputRef.value.validationMessage}
`:t?nh`${this.helper}`:nh``}renderCounter(e){return e?nh`
${this.value.length}/${this.maxlength}
`:Mp}};ym.styles=[Eh,vm],fu([Ch({reflect:!0})],ym.prototype,"variant",void 0),fu([Ch({reflect:!0})],ym.prototype,"type",void 0),fu([Ch({reflect:!0})],ym.prototype,"name",void 0),fu([Ch()],ym.prototype,"value",void 0),fu([tm()],ym.prototype,"defaultValue",void 0),fu([Ch({reflect:!0})],ym.prototype,"label",void 0),fu([Ch({reflect:!0})],ym.prototype,"placeholder",void 0),fu([Ch({reflect:!0})],ym.prototype,"helper",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h,attribute:"helper-on-focus"})],ym.prototype,"helperOnFocus",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],ym.prototype,"clearable",void 0),fu([Ch({reflect:!0,attribute:"clear-icon"})],ym.prototype,"clearIcon",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h,attribute:"end-aligned"})],ym.prototype,"endAligned",void 0),fu([Ch({reflect:!0})],ym.prototype,"prefix",void 0),fu([Ch({reflect:!0})],ym.prototype,"suffix",void 0),fu([Ch({reflect:!0})],ym.prototype,"icon",void 0),fu([Ch({reflect:!0,attribute:"end-icon"})],ym.prototype,"endIcon",void 0),fu([Ch({reflect:!0,attribute:"error-icon"})],ym.prototype,"errorIcon",void 0),fu([Ch({reflect:!0})],ym.prototype,"form",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],ym.prototype,"readonly",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],ym.prototype,"disabled",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],ym.prototype,"required",void 0),fu([Ch({type:Number,reflect:!0})],ym.prototype,"rows",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],ym.prototype,"autosize",void 0),fu([Ch({type:Number,reflect:!0,attribute:"min-rows"})],ym.prototype,"minRows",void 0),fu([Ch({type:Number,reflect:!0,attribute:"max-rows"})],ym.prototype,"maxRows",void 0),fu([Ch({type:Number,reflect:!0})],ym.prototype,"minlength",void 0),fu([Ch({type:Number,reflect:!0})],ym.prototype,"maxlength",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],ym.prototype,"counter",void 0),fu([Ch({type:Number,reflect:!0})],ym.prototype,"min",void 0),fu([Ch({type:Number,reflect:!0})],ym.prototype,"max",void 0),fu([Ch({type:Number,reflect:!0})],ym.prototype,"step",void 0),fu([Ch({reflect:!0})],ym.prototype,"pattern",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h,attribute:"toggle-password"})],ym.prototype,"togglePassword",void 0),fu([Ch({reflect:!0,attribute:"show-password-icon"})],ym.prototype,"showPasswordIcon",void 0),fu([Ch({reflect:!0,attribute:"hide-password-icon"})],ym.prototype,"hidePasswordIcon",void 0),fu([Ch({reflect:!0})],ym.prototype,"autocapitalize",void 0),fu([Ch({reflect:!0})],ym.prototype,"autocorrect",void 0),fu([Ch({reflect:!0})],ym.prototype,"autocomplete",void 0),fu([Ch({reflect:!0})],ym.prototype,"enterkeyhint",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],ym.prototype,"spellcheck",void 0),fu([Ch({reflect:!0})],ym.prototype,"inputmode",void 0),fu([xh()],ym.prototype,"invalid",void 0),fu([xh()],ym.prototype,"invalidStyle",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h,attribute:"focused-style"})],ym.prototype,"focusedStyle",void 0),fu([xh()],ym.prototype,"isPasswordVisible",void 0),fu([xh()],ym.prototype,"hasValue",void 0),fu([xh()],ym.prototype,"error",void 0),fu([mp("disabled",!0)],ym.prototype,"onDisabledChange",null),fu([mp("value")],ym.prototype,"onValueChange",null),fu([mp("rows",!0)],ym.prototype,"onRowsChange",null),fu([mp("maxRows")],ym.prototype,"onMaxRowsChange",null),fu([mp("minRows")],ym.prototype,"onMinRowsChange",null),ym=fu([wh("mdui-text-field")],ym);const bm=wu`:host{position:relative;display:block;width:100%;-webkit-tap-highlight-color:transparent;height:2.5rem;padding:0 1.25rem}label{position:relative;display:block;width:100%;height:100%}input[type=range]{position:absolute;inset:0;z-index:4;height:100%;cursor:pointer;opacity:0;appearance:none;width:calc(100% + 20rem * 2 / 16);margin:0 -1.25rem;padding:0 .75rem}:host([disabled]:not([disabled=false i])) input[type=range]{cursor:not-allowed}.track-active,.track-inactive{position:absolute;top:50%;height:.25rem;margin-top:-.125rem}.track-inactive{left:-.125rem;right:-.125rem;border-radius:var(--mdui-shape-corner-full);background-color:rgb(var(--mdui-color-surface-container-highest))}.invalid .track-inactive{background-color:rgba(var(--mdui-color-error),.12)}:host([disabled]:not([disabled=false i])) .track-inactive{background-color:rgba(var(--mdui-color-on-surface),.12)}.track-active{background-color:rgb(var(--mdui-color-primary))}.invalid .track-active{background-color:rgb(var(--mdui-color-error))}:host([disabled]:not([disabled=false i])) .track-active{background-color:rgba(var(--mdui-color-on-surface),.38)}.handle{position:absolute;top:50%;transform:translate(-50%);cursor:pointer;z-index:2;width:2.5rem;height:2.5rem;margin-top:-1.25rem;--mdui-comp-ripple-state-layer-color:var(--mdui-color-primary)}.invalid .handle{--mdui-comp-ripple-state-layer-color:var(--mdui-color-error)}.handle .elevation,.handle::before{position:absolute;display:block;content:' ';left:.625rem;top:.625rem;width:1.25rem;height:1.25rem;border-radius:var(--mdui-shape-corner-full)}.handle .elevation{background-color:rgb(var(--mdui-color-primary));box-shadow:var(--mdui-elevation-level1)}.invalid .handle .elevation{background-color:rgb(var(--mdui-color-error))}:host([disabled]:not([disabled=false i])) .handle .elevation{background-color:rgba(var(--mdui-color-on-surface),.38);box-shadow:var(--mdui-elevation-level0)}.handle::before{background-color:rgb(var(--mdui-color-background))}.handle mdui-ripple{border-radius:var(--mdui-shape-corner-full)}.label{position:absolute;left:50%;transform:translateX(-50%) scale(0);transform-origin:center bottom;display:flex;align-items:center;justify-content:center;cursor:default;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;transition:transform var(--mdui-motion-duration-short2) var(--mdui-motion-easing-standard);bottom:2.5rem;min-width:1.75rem;height:1.75rem;padding:.375rem .5rem;border-radius:var(--mdui-shape-corner-full);color:rgb(var(--mdui-color-on-primary));font-size:var(--mdui-typescale-label-medium-size);font-weight:var(--mdui-typescale-label-medium-weight);letter-spacing:var(--mdui-typescale-label-medium-tracking);line-height:var(--mdui-typescale-label-medium-line-height);background-color:rgb(var(--mdui-color-primary))}.invalid .label{color:rgb(var(--mdui-color-on-error));background-color:rgb(var(--mdui-color-error))}.label::after{content:' ';position:absolute;z-index:-1;transform:rotate(45deg);width:.875rem;height:.875rem;bottom:-.125rem;background-color:rgb(var(--mdui-color-primary))}.invalid .label::after{background-color:rgb(var(--mdui-color-error))}.label-visible{transform:translateX(-50%) scale(1);transition:transform var(--mdui-motion-duration-short4) var(--mdui-motion-easing-standard)}.tickmark{position:absolute;top:50%;transform:translate(-50%);width:.125rem;height:.125rem;margin-top:-.0625rem;border-radius:var(--mdui-shape-corner-full);background-color:rgba(var(--mdui-color-on-surface-variant),.38)}.invalid .tickmark{background-color:rgba(var(--mdui-color-error),.38)}.tickmark.active{background-color:rgba(var(--mdui-color-on-primary),.38)}.invalid .tickmark.active{background-color:rgba(var(--mdui-color-on-error),.38)}:host([disabled]:not([disabled=false i])) .tickmark{background-color:rgba(var(--mdui-color-on-surface),.38)}`;class wm extends(Af(ff(Sh))){constructor(){super(...arguments),this.min=0,this.max=100,this.step=1,this.tickmarks=!1,this.nolabel=!1,this.disabled=!1,this.name="",this.invalid=!1,this.labelVisible=!1,this.inputRef=Xp(),this.trackActiveRef=Xp(),this.labelFormatter=e=>e.toString()}get validity(){return this.inputRef.value.validity}get validationMessage(){return this.inputRef.value.validationMessage}get rippleDisabled(){return this.disabled}get focusElement(){return this.inputRef.value}get focusDisabled(){return this.disabled}onDisabledChange(){this.invalid=!this.inputRef.value.checkValidity()}checkValidity(){const e=this.inputRef.value.checkValidity();return e||this.emit("invalid",{bubbles:!1,cancelable:!0,composed:!1}),e}reportValidity(){return this.invalid=!this.inputRef.value.reportValidity(),this.invalid&&(this.emit("invalid",{bubbles:!1,cancelable:!0,composed:!1})||(this.blur(),this.focus())),!this.invalid}setCustomValidity(e){this.inputRef.value.setCustomValidity(e),this.invalid=!this.inputRef.value.checkValidity()}fixValue(e){const{min:t,max:n,step:r}=this;e=Math.min(Math.max(e,t),n);let o=t+Math.round((e-t)/r)*r;return o>n&&(o-=r),o}getCandidateValues(){return Array.from({length:this.max-this.min+1},((e,t)=>t+this.min)).filter((e=>!((e-this.min)%this.step)))}renderLabel(e){return fp(!this.nolabel,(()=>nh`
${this.labelFormatter(e)}
`))}onChange(){this.emit("change")}}wm.styles=[Eh,bm],fu([Ch({type:Number,reflect:!0})],wm.prototype,"min",void 0),fu([Ch({type:Number,reflect:!0})],wm.prototype,"max",void 0),fu([Ch({type:Number,reflect:!0})],wm.prototype,"step",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],wm.prototype,"tickmarks",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],wm.prototype,"nolabel",void 0),fu([Ch({type:Boolean,reflect:!0,converter:$h})],wm.prototype,"disabled",void 0),fu([Ch({reflect:!0})],wm.prototype,"form",void 0),fu([Ch({reflect:!0})],wm.prototype,"name",void 0),fu([xh()],wm.prototype,"invalid",void 0),fu([xh()],wm.prototype,"labelVisible",void 0),fu([Ch({attribute:!1})],wm.prototype,"labelFormatter",void 0),fu([mp("disabled",!0)],wm.prototype,"onDisabledChange",null);const _m=wu`.track-active{left:-.125rem;border-radius:var(--mdui-shape-corner-full) 0 0 var(--mdui-shape-corner-full)}`;let km=class extends wm{constructor(){super(...arguments),this.value=0,this.defaultValue=0,this.rippleRef=Xp(),this.handleRef=Xp(),this.formController=new df(this)}get rippleElement(){return this.rippleRef.value}async onValueChange(){var e;this.value=this.fixValue(this.value);const t=this.formController.getForm();t&&(null==(e=cf.get(t))?void 0:e.has(this))?(this.invalid=!1,cf.get(t).delete(this)):(await this.updateComplete,this.invalid=!this.inputRef.value.checkValidity()),this.updateStyle()}connectedCallback(){super.connectedCallback(),this.value=this.fixValue(this.value)}firstUpdated(e){super.firstUpdated(e);const t=()=>{this.disabled||(this.labelVisible=!0)},n=()=>{this.disabled||(this.labelVisible=!1)};this.addEventListener("touchstart",t),this.addEventListener("mousedown",t),this.addEventListener("touchend",n),this.addEventListener("mouseup",n),this.updateStyle()}render(){return nh``}updateStyle(){const e=(this.value-this.min)/(this.max-this.min)*100;this.trackActiveRef.value.style.width=`${e}%`,this.handleRef.value.style.left=`${e}%`}onInput(){this.value=parseFloat(this.inputRef.value.value),this.updateStyle()}};function Cm(e){return e<0?-1:0===e?0:1}function xm(e,t,n){return(1-n)*e+n*t}function Sm(e,t,n){return nt?t:n}function $m(e){return(e%=360)<0&&(e+=360),e}function Em(e,t){return[e[0]*t[0][0]+e[1]*t[0][1]+e[2]*t[0][2],e[0]*t[1][0]+e[1]*t[1][1]+e[2]*t[1][2],e[0]*t[2][0]+e[1]*t[2][1]+e[2]*t[2][2]]}km.styles=[wm.styles,_m],fu([Ch({type:Number})],km.prototype,"value",void 0),fu([tm()],km.prototype,"defaultValue",void 0),fu([mp("value",!0)],km.prototype,"onValueChange",null),km=fu([wh("mdui-slider")],km);const Am=[[.41233895,.35762064,.18051042],[.2126,.7152,.0722],[.01932141,.11916382,.95034478]],Tm=[[3.2413774792388685,-1.5376652402851851,-.49885366846268053],[-.9691452513005321,1.8758853451067872,.04156585616912061],[.05562093689691305,-.20395524564742123,1.0571799111220335]],Pm=[95.047,100,108.883];function Im(e,t,n){return(255<<24|(255&e)<<16|(255&t)<<8|255&n)>>>0}function Rm(e){return Im(Bm(e[0]),Bm(e[1]),Bm(e[2]))}function Mm(e){return e>>16&255}function Nm(e){return e>>8&255}function Lm(e){return 255&e}function Dm(e){var t;return 116*Um((t=e,Em([Vm(Mm(t)),Vm(Nm(t)),Vm(Lm(t))],Am))[1]/100)-16}function Om(e){return 100*function(e){const t=e*e*e;return t>216/24389?t:(116*e-16)/(24389/27)}((e+16)/116)}function Fm(e){return 116*Um(e/100)-16}function Vm(e){const t=e/255;return t<=.040449936?t/12.92*100:100*Math.pow((t+.055)/1.055,2.4)}function Bm(e){const t=e/100;let n=0;return n=t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,(r=Math.round(255*n))<0?0:r>255?255:r;var r}function Um(e){return e>216/24389?Math.pow(e,1/3):(24389/27*e+16)/116}class Hm{static make(e=function(){return Pm}(),t=200/Math.PI*Om(50)/100,n=50,r=2,o=!1){const i=e,s=.401288*i[0]+.650173*i[1]+-.051461*i[2],a=-.250268*i[0]+1.204414*i[1]+.045854*i[2],l=-.002079*i[0]+.048952*i[1]+.953127*i[2],c=.8+r/10,d=c>=.9?xm(.59,.69,10*(c-.9)):xm(.525,.59,10*(c-.8));let u=o?1:c*(1-1/3.6*Math.exp((-t-42)/92));u=u>1?1:u<0?0:u;const h=c,p=[u*(100/s)+1-u,u*(100/a)+1-u,u*(100/l)+1-u],f=1/(5*t+1),m=f*f*f*f,g=1-m,v=m*t+.1*g*g*Math.cbrt(5*t),y=Om(n)/e[1],b=1.48+Math.sqrt(y),w=.725/Math.pow(y,.2),_=w,k=[Math.pow(v*p[0]*s/100,.42),Math.pow(v*p[1]*a/100,.42),Math.pow(v*p[2]*l/100,.42)],C=[400*k[0]/(k[0]+27.13),400*k[1]/(k[1]+27.13),400*k[2]/(k[2]+27.13)];return new Hm(y,(2*C[0]+C[1]+.05*C[2])*w,w,_,d,h,p,v,Math.pow(v,.25),b)}constructor(e,t,n,r,o,i,s,a,l,c){this.n=e,this.aw=t,this.nbb=n,this.ncb=r,this.c=o,this.nc=i,this.rgbD=s,this.fl=a,this.fLRoot=l,this.z=c}}Hm.DEFAULT=Hm.make();class zm{constructor(e,t,n,r,o,i,s,a,l){this.hue=e,this.chroma=t,this.j=n,this.q=r,this.m=o,this.s=i,this.jstar=s,this.astar=a,this.bstar=l}distance(e){const t=this.jstar-e.jstar,n=this.astar-e.astar,r=this.bstar-e.bstar,o=Math.sqrt(t*t+n*n+r*r);return 1.41*Math.pow(o,.63)}static fromInt(e){return zm.fromIntInViewingConditions(e,Hm.DEFAULT)}static fromIntInViewingConditions(e,t){const n=(65280&e)>>8,r=255&e,o=Vm((16711680&e)>>16),i=Vm(n),s=Vm(r),a=.41233895*o+.35762064*i+.18051042*s,l=.2126*o+.7152*i+.0722*s,c=.01932141*o+.11916382*i+.95034478*s,d=.401288*a+.650173*l-.051461*c,u=-.250268*a+1.204414*l+.045854*c,h=-.002079*a+.048952*l+.953127*c,p=t.rgbD[0]*d,f=t.rgbD[1]*u,m=t.rgbD[2]*h,g=Math.pow(t.fl*Math.abs(p)/100,.42),v=Math.pow(t.fl*Math.abs(f)/100,.42),y=Math.pow(t.fl*Math.abs(m)/100,.42),b=400*Cm(p)*g/(g+27.13),w=400*Cm(f)*v/(v+27.13),_=400*Cm(m)*y/(y+27.13),k=(11*b+-12*w+_)/11,C=(b+w-2*_)/9,x=(20*b+20*w+21*_)/20,S=(40*b+20*w+_)/20,$=180*Math.atan2(C,k)/Math.PI,E=$<0?$+360:$>=360?$-360:$,A=E*Math.PI/180,T=S*t.nbb,P=100*Math.pow(T/t.aw,t.c*t.z),I=4/t.c*Math.sqrt(P/100)*(t.aw+4)*t.fLRoot,R=E<20.14?E+360:E,M=5e4/13*(.25*(Math.cos(R*Math.PI/180+2)+3.8))*t.nc*t.ncb*Math.sqrt(k*k+C*C)/(x+.305),N=Math.pow(M,.9)*Math.pow(1.64-Math.pow(.29,t.n),.73),L=N*Math.sqrt(P/100),D=L*t.fLRoot,O=50*Math.sqrt(N*t.c/(t.aw+4)),F=(1+100*.007)*P/(1+.007*P),V=1/.0228*Math.log(1+.0228*D),B=V*Math.cos(A),U=V*Math.sin(A);return new zm(E,L,P,I,D,O,F,B,U)}static fromJch(e,t,n){return zm.fromJchInViewingConditions(e,t,n,Hm.DEFAULT)}static fromJchInViewingConditions(e,t,n,r){const o=4/r.c*Math.sqrt(e/100)*(r.aw+4)*r.fLRoot,i=t*r.fLRoot,s=t/Math.sqrt(e/100),a=50*Math.sqrt(s*r.c/(r.aw+4)),l=n*Math.PI/180,c=(1+100*.007)*e/(1+.007*e),d=1/.0228*Math.log(1+.0228*i),u=d*Math.cos(l),h=d*Math.sin(l);return new zm(n,t,e,o,i,a,c,u,h)}static fromUcs(e,t,n){return zm.fromUcsInViewingConditions(e,t,n,Hm.DEFAULT)}static fromUcsInViewingConditions(e,t,n,r){const o=t,i=n,s=Math.sqrt(o*o+i*i),a=(Math.exp(.0228*s)-1)/.0228/r.fLRoot;let l=Math.atan2(i,o)*(180/Math.PI);l<0&&(l+=360);const c=e/(1-.007*(e-100));return zm.fromJchInViewingConditions(c,a,l,r)}toInt(){return this.viewed(Hm.DEFAULT)}viewed(e){const t=0===this.chroma||0===this.j?0:this.chroma/Math.sqrt(this.j/100),n=Math.pow(t/Math.pow(1.64-Math.pow(.29,e.n),.73),1/.9),r=this.hue*Math.PI/180,o=.25*(Math.cos(r+2)+3.8),i=e.aw*Math.pow(this.j/100,1/e.c/e.z),s=o*(5e4/13)*e.nc*e.ncb,a=i/e.nbb,l=Math.sin(r),c=Math.cos(r),d=23*(a+.305)*n/(23*s+11*n*c+108*n*l),u=d*c,h=d*l,p=(460*a+451*u+288*h)/1403,f=(460*a-891*u-261*h)/1403,m=(460*a-220*u-6300*h)/1403,g=Math.max(0,27.13*Math.abs(p)/(400-Math.abs(p))),v=Cm(p)*(100/e.fl)*Math.pow(g,1/.42),y=Math.max(0,27.13*Math.abs(f)/(400-Math.abs(f))),b=Cm(f)*(100/e.fl)*Math.pow(y,1/.42),w=Math.max(0,27.13*Math.abs(m)/(400-Math.abs(m))),_=Cm(m)*(100/e.fl)*Math.pow(w,1/.42),k=v/e.rgbD[0],C=b/e.rgbD[1],x=_/e.rgbD[2];return function(e,t,n){const r=Tm,o=r[0][0]*e+r[0][1]*t+r[0][2]*n,i=r[1][0]*e+r[1][1]*t+r[1][2]*n,s=r[2][0]*e+r[2][1]*t+r[2][2]*n;return Im(Bm(o),Bm(i),Bm(s))}(1.86206786*k-1.01125463*C+.14918677*x,.38752654*k+.62144744*C-.00897398*x,-.0158415*k-.03412294*C+1.04996444*x)}static fromXyzInViewingConditions(e,t,n,r){const o=.401288*e+.650173*t-.051461*n,i=-.250268*e+1.204414*t+.045854*n,s=-.002079*e+.048952*t+.953127*n,a=r.rgbD[0]*o,l=r.rgbD[1]*i,c=r.rgbD[2]*s,d=Math.pow(r.fl*Math.abs(a)/100,.42),u=Math.pow(r.fl*Math.abs(l)/100,.42),h=Math.pow(r.fl*Math.abs(c)/100,.42),p=400*Cm(a)*d/(d+27.13),f=400*Cm(l)*u/(u+27.13),m=400*Cm(c)*h/(h+27.13),g=(11*p+-12*f+m)/11,v=(p+f-2*m)/9,y=(20*p+20*f+21*m)/20,b=(40*p+20*f+m)/20,w=180*Math.atan2(v,g)/Math.PI,_=w<0?w+360:w>=360?w-360:w,k=_*Math.PI/180,C=b*r.nbb,x=100*Math.pow(C/r.aw,r.c*r.z),S=4/r.c*Math.sqrt(x/100)*(r.aw+4)*r.fLRoot,$=_<20.14?_+360:_,E=5e4/13*(1/4*(Math.cos($*Math.PI/180+2)+3.8))*r.nc*r.ncb*Math.sqrt(g*g+v*v)/(y+.305),A=Math.pow(E,.9)*Math.pow(1.64-Math.pow(.29,r.n),.73),T=A*Math.sqrt(x/100),P=T*r.fLRoot,I=50*Math.sqrt(A*r.c/(r.aw+4)),R=(1+100*.007)*x/(1+.007*x),M=Math.log(1+.0228*P)/.0228,N=M*Math.cos(k),L=M*Math.sin(k);return new zm(_,T,x,S,P,I,R,N,L)}xyzInViewingConditions(e){const t=0===this.chroma||0===this.j?0:this.chroma/Math.sqrt(this.j/100),n=Math.pow(t/Math.pow(1.64-Math.pow(.29,e.n),.73),1/.9),r=this.hue*Math.PI/180,o=.25*(Math.cos(r+2)+3.8),i=e.aw*Math.pow(this.j/100,1/e.c/e.z),s=o*(5e4/13)*e.nc*e.ncb,a=i/e.nbb,l=Math.sin(r),c=Math.cos(r),d=23*(a+.305)*n/(23*s+11*n*c+108*n*l),u=d*c,h=d*l,p=(460*a+451*u+288*h)/1403,f=(460*a-891*u-261*h)/1403,m=(460*a-220*u-6300*h)/1403,g=Math.max(0,27.13*Math.abs(p)/(400-Math.abs(p))),v=Cm(p)*(100/e.fl)*Math.pow(g,1/.42),y=Math.max(0,27.13*Math.abs(f)/(400-Math.abs(f))),b=Cm(f)*(100/e.fl)*Math.pow(y,1/.42),w=Math.max(0,27.13*Math.abs(m)/(400-Math.abs(m))),_=Cm(m)*(100/e.fl)*Math.pow(w,1/.42),k=v/e.rgbD[0],C=b/e.rgbD[1],x=_/e.rgbD[2];return[1.86206786*k-1.01125463*C+.14918677*x,.38752654*k+.62144744*C-.00897398*x,-.0158415*k-.03412294*C+1.04996444*x]}}class jm{static sanitizeRadians(e){return(e+8*Math.PI)%(2*Math.PI)}static trueDelinearized(e){const t=e/100;let n=0;return n=t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,255*n}static chromaticAdaptation(e){const t=Math.pow(Math.abs(e),.42);return 400*Cm(e)*t/(t+27.13)}static hueOf(e){const t=Em(e,jm.SCALED_DISCOUNT_FROM_LINRGB),n=jm.chromaticAdaptation(t[0]),r=jm.chromaticAdaptation(t[1]),o=jm.chromaticAdaptation(t[2]),i=(11*n+-12*r+o)/11,s=(n+r-2*o)/9;return Math.atan2(s,i)}static areInCyclicOrder(e,t,n){return jm.sanitizeRadians(t-e)100.01||b[1]>100.01||b[2]>100.01?0:Rm(b);r-=(C-n)*r/(2*C)}return 0}static solveToInt(e,t,n){if(t<1e-4||n<1e-4||n>99.9999)return function(e){const t=Bm(Om(e));return Im(t,t,t)}(n);const r=(e=$m(e))/180*Math.PI,o=Om(n),i=jm.findResultByJ(r,t,o);return 0!==i?i:Rm(jm.bisectToLimit(o,r))}static solveToCam(e,t,n){return zm.fromInt(jm.solveToInt(e,t,n))}}jm.SCALED_DISCOUNT_FROM_LINRGB=[[.001200833568784504,.002389694492170889,.0002795742885861124],[.0005891086651375999,.0029785502573438758,.0003270666104008398],[.00010146692491640572,.0005364214359186694,.0032979401770712076]],jm.LINRGB_FROM_SCALED_DISCOUNT=[[1373.2198709594231,-1100.4251190754821,-7.278681089101213],[-271.815969077903,559.6580465940733,-32.46047482791194],[1.9622899599665666,-57.173814538844006,308.7233197812385]],jm.Y_FROM_LINRGB=[.2126,.7152,.0722],jm.CRITICAL_PLANES=[.015176349177441876,.045529047532325624,.07588174588720938,.10623444424209313,.13658714259697685,.16693984095186062,.19729253930674434,.2276452376616281,.2579979360165119,.28835063437139563,.3188300904430532,.350925934958123,.3848314933096426,.42057480301049466,.458183274052838,.4976837250274023,.5391024159806381,.5824650784040898,.6277969426914107,.6751227633498623,.7244668422128921,.775853049866786,.829304845476233,.8848452951698498,.942497089126609,1.0022825574869039,1.0642236851973577,1.1283421258858297,1.1946592148522128,1.2631959812511864,1.3339731595349034,1.407011200216447,1.4823302800086415,1.5599503113873272,1.6398909516233677,1.7221716113234105,1.8068114625156377,1.8938294463134073,1.9832442801866852,2.075074464868551,2.1693382909216234,2.2660538449872063,2.36523901573795,2.4669114995532007,2.5710888059345764,2.6777882626779785,2.7870270208169257,2.898822059350997,3.0131901897720907,3.1301480604002863,3.2497121605402226,3.3718988244681087,3.4967242352587946,3.624204428461639,3.754355295633311,3.887192587735158,4.022731918402185,4.160988767090289,4.301978482107941,4.445716283538092,4.592217266055746,4.741496401646282,4.893568542229298,5.048448422192488,5.20615066083972,5.3666897647573375,5.5300801301023865,5.696336044816294,5.865471690767354,6.037501145825082,6.212438385869475,6.390297286737924,6.571091626112461,6.7548350853498045,6.941541251256611,7.131223617812143,7.323895587840543,7.5195704746346665,7.7182615035334345,7.919981813454504,8.124744458384042,8.332562408825165,8.543448553206703,8.757415699253682,8.974476575321063,9.194643831691977,9.417930041841839,9.644347703669503,9.873909240696694,10.106627003236781,10.342513269534024,10.58158024687427,10.8238400726681,11.069304815507364,11.317986476196008,11.569896988756009,11.825048221409341,12.083451977536606,12.345119996613247,12.610063955123938,12.878295467455942,13.149826086772048,13.42466730586372,13.702830557985108,13.984327217668513,14.269168601521828,14.55736596900856,14.848930523210871,15.143873411576273,15.44220572664832,15.743938506781891,16.04908273684337,16.35764934889634,16.66964922287304,16.985093187232053,17.30399201960269,17.62635644741625,17.95219714852476,18.281524751807332,18.614349837764564,18.95068293910138,19.290534541298456,19.633915083172692,19.98083495742689,20.331304511189067,20.685334046541502,21.042933821039977,21.404114048223256,21.76888489811322,22.137256497705877,22.50923893145328,22.884842241736916,23.264076429332462,23.6469514538663,24.033477234264016,24.42366364919083,24.817520537484558,25.21505769858089,25.61628489293138,26.021211842414342,26.429848230738664,26.842203703840827,27.258287870275353,27.678110301598522,28.10168053274597,28.529008062403893,28.96010235337422,29.39497283293396,29.83362889318845,30.276079891419332,30.722335150426627,31.172403958865512,31.62629557157785,32.08401920991837,32.54558406207592,33.010999283389665,33.4802739966603,33.953417292456834,34.430438229418264,34.911345834551085,35.39614910352207,35.88485700094671,36.37747846067349,36.87402238606382,37.37449765026789,37.87891309649659,38.38727753828926,38.89959975977785,39.41588851594697,39.93615253289054,40.460400508064545,40.98864111053629,41.520882981230194,42.05713473317016,42.597404951718396,43.141702194811224,43.6900349931913,44.24241185063697,44.798841244188324,45.35933162437017,45.92389141541209,46.49252901546552,47.065252796817916,47.64207110610409,48.22299226451468,48.808024568002054,49.3971762874833,49.9904556690408,50.587870934119984,51.189430279724725,51.79514187861014,52.40501387947288,53.0190544071392,53.637271562750364,54.259673423945976,54.88626804504493,55.517063457223934,56.15206766869424,56.79128866487574,57.43473440856916,58.08241284012621,58.734331877617365,59.39049941699807,60.05092333227251,60.715611475655585,61.38457167773311,62.057811747619894,62.7353394731159,63.417162620860914,64.10328893648692,64.79372614476921,65.48848194977529,66.18756403501224,66.89098006357258,67.59873767827808,68.31084450182222,69.02730813691093,69.74813616640164,70.47333615344107,71.20291564160104,71.93688215501312,72.67524319850172,73.41800625771542,74.16517879925733,74.9167682708136,75.67278210128072,76.43322770089146,77.1981124613393,77.96744375590167,78.74122893956174,79.51947534912904,80.30219030335869,81.08938110306934,81.88105503125999,82.67721935322541,83.4778813166706,84.28304815182372,85.09272707154808,85.90692527145302,86.72564993000343,87.54890820862819,88.3767072518277,89.2090541872801,90.04595612594655,90.88742016217518,91.73345337380438,92.58406282226491,93.43925555268066,94.29903859396902,95.16341895893969,96.03240364439274,96.9059996312159,97.78421388448044,98.6670533535366,99.55452497210776];class qm{static from(e,t,n){return new qm(jm.solveToInt(e,t,n))}static fromInt(e){return new qm(e)}toInt(){return this.argb}get hue(){return this.internalHue}set hue(e){this.setInternalState(jm.solveToInt(e,this.internalChroma,this.internalTone))}get chroma(){return this.internalChroma}set chroma(e){this.setInternalState(jm.solveToInt(this.internalHue,e,this.internalTone))}get tone(){return this.internalTone}set tone(e){this.setInternalState(jm.solveToInt(this.internalHue,this.internalChroma,e))}constructor(e){this.argb=e;const t=zm.fromInt(e);this.internalHue=t.hue,this.internalChroma=t.chroma,this.internalTone=Dm(e),this.argb=e}setInternalState(e){const t=zm.fromInt(e);this.internalHue=t.hue,this.internalChroma=t.chroma,this.internalTone=Dm(e),this.argb=e}inViewingConditions(e){const t=zm.fromInt(this.toInt()).xyzInViewingConditions(e),n=zm.fromXyzInViewingConditions(t[0],t[1],t[2],Hm.make());return qm.from(n.hue,n.chroma,Fm(t[1]))}}class Wm{static harmonize(e,t){const n=qm.fromInt(e),r=qm.fromInt(t),o=(a=n.hue,l=r.hue,180-Math.abs(Math.abs(a-l)-180)),i=Math.min(.5*o,15),s=$m(n.hue+i*(c=n.hue,$m(r.hue-c)<=180?1:-1));var a,l,c;return qm.from(s,n.chroma,n.tone).toInt()}static hctHue(e,t,n){const r=Wm.cam16Ucs(e,t,n),o=zm.fromInt(r),i=zm.fromInt(e);return qm.from(o.hue,i.chroma,Dm(e)).toInt()}static cam16Ucs(e,t,n){const r=zm.fromInt(e),o=zm.fromInt(t),i=r.jstar,s=r.astar,a=r.bstar,l=i+(o.jstar-i)*n,c=s+(o.astar-s)*n,d=a+(o.bstar-a)*n;return zm.fromUcs(l,c,d).toInt()}}class Km{static ratioOfTones(e,t){return e=Sm(0,100,e),t=Sm(0,100,t),Km.ratioOfYs(Om(e),Om(t))}static ratioOfYs(e,t){const n=e>t?e:t;return(n+5)/((n===t?e:t)+5)}static lighter(e,t){if(e<0||e>100)return-1;const n=Om(e),r=t*(n+5)-5,o=Km.ratioOfYs(r,n),i=Math.abs(o-t);if(o.04)return-1;const s=Fm(r)+.4;return s<0||s>100?-1:s}static darker(e,t){if(e<0||e>100)return-1;const n=Om(e),r=(n+5)/t-5,o=Km.ratioOfYs(n,r),i=Math.abs(o-t);if(o.04)return-1;const s=Fm(r)-.4;return s<0||s>100?-1:s}static lighterUnsafe(e,t){const n=Km.lighter(e,t);return n<0?100:n}static darkerUnsafe(e,t){const n=Km.darker(e,t);return n<0?0:n}}class Ym{static isDisliked(e){const t=Math.round(e.hue)>=90&&Math.round(e.hue)<=111,n=Math.round(e.chroma)>16,r=Math.round(e.tone)<65;return t&&n&&r}static fixIfDisliked(e){return Ym.isDisliked(e)?qm.from(e.hue,e.chroma,70):e}}class Gm{static fromPalette(e){return new Gm(e.name??"",e.palette,e.tone,e.isBackground??!1,e.background,e.secondBackground,e.contrastCurve,e.toneDeltaPair)}constructor(e,t,n,r,o,i,s,a){if(this.name=e,this.palette=t,this.tone=n,this.isBackground=r,this.background=o,this.secondBackground=i,this.contrastCurve=s,this.toneDeltaPair=a,this.hctCache=new Map,!o&&i)throw new Error(`Color ${e} has secondBackgrounddefined, but background is not defined.`);if(!o&&s)throw new Error(`Color ${e} has contrastCurvedefined, but background is not defined.`);if(o&&!s)throw new Error(`Color ${e} has backgrounddefined, but contrastCurve is not defined.`)}getArgb(e){return this.getHct(e).toInt()}getHct(e){const t=this.hctCache.get(e);if(null!=t)return t;const n=this.getTone(e),r=this.palette(e).getHct(n);return this.hctCache.size>4&&this.hctCache.clear(),this.hctCache.set(e,r),r}getTone(e){const t=e.contrastLevel<0;if(this.toneDeltaPair){const n=this.toneDeltaPair(e),r=n.roleA,o=n.roleB,i=n.delta,s=n.polarity,a=n.stayTogether,l=this.background(e).getTone(e),c="nearer"===s||"lighter"===s&&!e.isDark||"darker"===s&&e.isDark,d=c?r:o,u=c?o:r,h=this.name===d.name,p=e.isDark?1:-1,f=d.contrastCurve.get(e.contrastLevel),m=u.contrastCurve.get(e.contrastLevel),g=d.tone(e);let v=Km.ratioOfTones(l,g)>=f?g:Gm.foregroundTone(l,f);const y=u.tone(e);let b=Km.ratioOfTones(l,y)>=m?y:Gm.foregroundTone(l,m);return t&&(v=Gm.foregroundTone(l,f),b=Gm.foregroundTone(l,m)),(b-v)*p>=i||(b=Sm(0,100,v+i*p),(b-v)*p>=i||(v=Sm(0,100,b-i*p))),50<=v&&v<60?p>0?(v=60,b=Math.max(b,v+i*p)):(v=49,b=Math.min(b,v+i*p)):50<=b&&b<60&&(a?p>0?(v=60,b=Math.max(b,v+i*p)):(v=49,b=Math.min(b,v+i*p)):b=p>0?60:49),h?v:b}{let n=this.tone(e);if(null==this.background)return n;const r=this.background(e).getTone(e),o=this.contrastCurve.get(e.contrastLevel);if(Km.ratioOfTones(r,n)>=o||(n=Gm.foregroundTone(r,o)),t&&(n=Gm.foregroundTone(r,o)),this.isBackground&&50<=n&&n<60&&(n=Km.ratioOfTones(49,r)>=o?49:60),this.secondBackground){const[t,r]=[this.background,this.secondBackground],[i,s]=[t(e).getTone(e),r(e).getTone(e)],[a,l]=[Math.max(i,s),Math.min(i,s)];if(Km.ratioOfTones(a,n)>=o&&Km.ratioOfTones(l,n)>=o)return n;const c=Km.lighter(a,o),d=Km.darker(l,o),u=[];return-1!==c&&u.push(c),-1!==d&&u.push(d),Gm.tonePrefersLightForeground(i)||Gm.tonePrefersLightForeground(s)?c<0?100:c:1===u.length?u[0]:d<0?0:d}return n}}static foregroundTone(e,t){const n=Km.lighterUnsafe(e,t),r=Km.darkerUnsafe(e,t),o=Km.ratioOfTones(n,e),i=Km.ratioOfTones(r,e);if(Gm.tonePrefersLightForeground(e)){const e=Math.abs(o-i)<.1&&o=t||o>=i||e?n:r}return i>=t||i>=o?r:n}static tonePrefersLightForeground(e){return Math.round(e)<60}static toneAllowsLightForeground(e){return Math.round(e)<=49}static enableLightForeground(e){return Gm.tonePrefersLightForeground(e)&&!Gm.toneAllowsLightForeground(e)?49:e}}class Jm{static fromInt(e){const t=qm.fromInt(e);return Jm.fromHct(t)}static fromHct(e){return new Jm(e.hue,e.chroma,e)}static fromHueAndChroma(e,t){const n=new Xm(e,t).create();return new Jm(e,t,n)}constructor(e,t,n){this.hue=e,this.chroma=t,this.keyColor=n,this.cache=new Map}tone(e){let t=this.cache.get(e);return void 0===t&&(t=qm.from(this.hue,this.chroma,e).toInt(),this.cache.set(e,t)),t}getHct(e){return qm.fromInt(this.tone(e))}}class Xm{constructor(e,t){this.hue=e,this.requestedChroma=t,this.chromaCache=new Map,this.maxChromaValue=200}create(){let e=0,t=100;for(;e=this.requestedChroma-.01)if(Math.abs(e-50)e.primaryPalette,tone:e=>e.primaryPalette.keyColor.tone}),og.secondaryPaletteKeyColor=Gm.fromPalette({name:"secondary_palette_key_color",palette:e=>e.secondaryPalette,tone:e=>e.secondaryPalette.keyColor.tone}),og.tertiaryPaletteKeyColor=Gm.fromPalette({name:"tertiary_palette_key_color",palette:e=>e.tertiaryPalette,tone:e=>e.tertiaryPalette.keyColor.tone}),og.neutralPaletteKeyColor=Gm.fromPalette({name:"neutral_palette_key_color",palette:e=>e.neutralPalette,tone:e=>e.neutralPalette.keyColor.tone}),og.neutralVariantPaletteKeyColor=Gm.fromPalette({name:"neutral_variant_palette_key_color",palette:e=>e.neutralVariantPalette,tone:e=>e.neutralVariantPalette.keyColor.tone}),og.background=Gm.fromPalette({name:"background",palette:e=>e.neutralPalette,tone:e=>e.isDark?6:98,isBackground:!0}),og.onBackground=Gm.fromPalette({name:"on_background",palette:e=>e.neutralPalette,tone:e=>e.isDark?90:10,background:e=>og.background,contrastCurve:new Zm(3,3,4.5,7)}),og.surface=Gm.fromPalette({name:"surface",palette:e=>e.neutralPalette,tone:e=>e.isDark?6:98,isBackground:!0}),og.surfaceDim=Gm.fromPalette({name:"surface_dim",palette:e=>e.neutralPalette,tone:e=>e.isDark?6:new Zm(87,87,80,75).get(e.contrastLevel),isBackground:!0}),og.surfaceBright=Gm.fromPalette({name:"surface_bright",palette:e=>e.neutralPalette,tone:e=>e.isDark?new Zm(24,24,29,34).get(e.contrastLevel):98,isBackground:!0}),og.surfaceContainerLowest=Gm.fromPalette({name:"surface_container_lowest",palette:e=>e.neutralPalette,tone:e=>e.isDark?new Zm(4,4,2,0).get(e.contrastLevel):100,isBackground:!0}),og.surfaceContainerLow=Gm.fromPalette({name:"surface_container_low",palette:e=>e.neutralPalette,tone:e=>e.isDark?new Zm(10,10,11,12).get(e.contrastLevel):new Zm(96,96,96,95).get(e.contrastLevel),isBackground:!0}),og.surfaceContainer=Gm.fromPalette({name:"surface_container",palette:e=>e.neutralPalette,tone:e=>e.isDark?new Zm(12,12,16,20).get(e.contrastLevel):new Zm(94,94,92,90).get(e.contrastLevel),isBackground:!0}),og.surfaceContainerHigh=Gm.fromPalette({name:"surface_container_high",palette:e=>e.neutralPalette,tone:e=>e.isDark?new Zm(17,17,21,25).get(e.contrastLevel):new Zm(92,92,88,85).get(e.contrastLevel),isBackground:!0}),og.surfaceContainerHighest=Gm.fromPalette({name:"surface_container_highest",palette:e=>e.neutralPalette,tone:e=>e.isDark?new Zm(22,22,26,30).get(e.contrastLevel):new Zm(90,90,84,80).get(e.contrastLevel),isBackground:!0}),og.onSurface=Gm.fromPalette({name:"on_surface",palette:e=>e.neutralPalette,tone:e=>e.isDark?90:10,background:e=>og.highestSurface(e),contrastCurve:new Zm(4.5,7,11,21)}),og.surfaceVariant=Gm.fromPalette({name:"surface_variant",palette:e=>e.neutralVariantPalette,tone:e=>e.isDark?30:90,isBackground:!0}),og.onSurfaceVariant=Gm.fromPalette({name:"on_surface_variant",palette:e=>e.neutralVariantPalette,tone:e=>e.isDark?80:30,background:e=>og.highestSurface(e),contrastCurve:new Zm(3,4.5,7,11)}),og.inverseSurface=Gm.fromPalette({name:"inverse_surface",palette:e=>e.neutralPalette,tone:e=>e.isDark?90:20}),og.inverseOnSurface=Gm.fromPalette({name:"inverse_on_surface",palette:e=>e.neutralPalette,tone:e=>e.isDark?20:95,background:e=>og.inverseSurface,contrastCurve:new Zm(4.5,7,11,21)}),og.outline=Gm.fromPalette({name:"outline",palette:e=>e.neutralVariantPalette,tone:e=>e.isDark?60:50,background:e=>og.highestSurface(e),contrastCurve:new Zm(1.5,3,4.5,7)}),og.outlineVariant=Gm.fromPalette({name:"outline_variant",palette:e=>e.neutralVariantPalette,tone:e=>e.isDark?30:80,background:e=>og.highestSurface(e),contrastCurve:new Zm(1,1,3,4.5)}),og.shadow=Gm.fromPalette({name:"shadow",palette:e=>e.neutralPalette,tone:e=>0}),og.scrim=Gm.fromPalette({name:"scrim",palette:e=>e.neutralPalette,tone:e=>0}),og.surfaceTint=Gm.fromPalette({name:"surface_tint",palette:e=>e.primaryPalette,tone:e=>e.isDark?80:40,isBackground:!0}),og.primary=Gm.fromPalette({name:"primary",palette:e=>e.primaryPalette,tone:e=>rg(e)?e.isDark?100:0:e.isDark?80:40,isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(3,4.5,7,7),toneDeltaPair:e=>new Qm(og.primaryContainer,og.primary,10,"nearer",!1)}),og.onPrimary=Gm.fromPalette({name:"on_primary",palette:e=>e.primaryPalette,tone:e=>rg(e)?e.isDark?10:90:e.isDark?20:100,background:e=>og.primary,contrastCurve:new Zm(4.5,7,11,21)}),og.primaryContainer=Gm.fromPalette({name:"primary_container",palette:e=>e.primaryPalette,tone:e=>ng(e)?e.sourceColorHct.tone:rg(e)?e.isDark?85:25:e.isDark?30:90,isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(1,1,3,4.5),toneDeltaPair:e=>new Qm(og.primaryContainer,og.primary,10,"nearer",!1)}),og.onPrimaryContainer=Gm.fromPalette({name:"on_primary_container",palette:e=>e.primaryPalette,tone:e=>ng(e)?Gm.foregroundTone(og.primaryContainer.tone(e),4.5):rg(e)?e.isDark?0:100:e.isDark?90:30,background:e=>og.primaryContainer,contrastCurve:new Zm(3,4.5,7,11)}),og.inversePrimary=Gm.fromPalette({name:"inverse_primary",palette:e=>e.primaryPalette,tone:e=>e.isDark?40:80,background:e=>og.inverseSurface,contrastCurve:new Zm(3,4.5,7,7)}),og.secondary=Gm.fromPalette({name:"secondary",palette:e=>e.secondaryPalette,tone:e=>e.isDark?80:40,isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(3,4.5,7,7),toneDeltaPair:e=>new Qm(og.secondaryContainer,og.secondary,10,"nearer",!1)}),og.onSecondary=Gm.fromPalette({name:"on_secondary",palette:e=>e.secondaryPalette,tone:e=>rg(e)?e.isDark?10:100:e.isDark?20:100,background:e=>og.secondary,contrastCurve:new Zm(4.5,7,11,21)}),og.secondaryContainer=Gm.fromPalette({name:"secondary_container",palette:e=>e.secondaryPalette,tone:e=>{const t=e.isDark?30:90;return rg(e)?e.isDark?30:85:ng(e)?function(e,t,n,r){let o=n,i=qm.from(e,t,n);if(i.chromas.chroma)break;if(Math.abs(s.chroma-t)<.4)break;Math.abs(s.chroma-t)og.highestSurface(e),contrastCurve:new Zm(1,1,3,4.5),toneDeltaPair:e=>new Qm(og.secondaryContainer,og.secondary,10,"nearer",!1)}),og.onSecondaryContainer=Gm.fromPalette({name:"on_secondary_container",palette:e=>e.secondaryPalette,tone:e=>rg(e)?e.isDark?90:10:ng(e)?Gm.foregroundTone(og.secondaryContainer.tone(e),4.5):e.isDark?90:30,background:e=>og.secondaryContainer,contrastCurve:new Zm(3,4.5,7,11)}),og.tertiary=Gm.fromPalette({name:"tertiary",palette:e=>e.tertiaryPalette,tone:e=>rg(e)?e.isDark?90:25:e.isDark?80:40,isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(3,4.5,7,7),toneDeltaPair:e=>new Qm(og.tertiaryContainer,og.tertiary,10,"nearer",!1)}),og.onTertiary=Gm.fromPalette({name:"on_tertiary",palette:e=>e.tertiaryPalette,tone:e=>rg(e)?e.isDark?10:90:e.isDark?20:100,background:e=>og.tertiary,contrastCurve:new Zm(4.5,7,11,21)}),og.tertiaryContainer=Gm.fromPalette({name:"tertiary_container",palette:e=>e.tertiaryPalette,tone:e=>{if(rg(e))return e.isDark?60:49;if(!ng(e))return e.isDark?30:90;const t=e.tertiaryPalette.getHct(e.sourceColorHct.tone);return Ym.fixIfDisliked(t).tone},isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(1,1,3,4.5),toneDeltaPair:e=>new Qm(og.tertiaryContainer,og.tertiary,10,"nearer",!1)}),og.onTertiaryContainer=Gm.fromPalette({name:"on_tertiary_container",palette:e=>e.tertiaryPalette,tone:e=>rg(e)?e.isDark?0:100:ng(e)?Gm.foregroundTone(og.tertiaryContainer.tone(e),4.5):e.isDark?90:30,background:e=>og.tertiaryContainer,contrastCurve:new Zm(3,4.5,7,11)}),og.error=Gm.fromPalette({name:"error",palette:e=>e.errorPalette,tone:e=>e.isDark?80:40,isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(3,4.5,7,7),toneDeltaPair:e=>new Qm(og.errorContainer,og.error,10,"nearer",!1)}),og.onError=Gm.fromPalette({name:"on_error",palette:e=>e.errorPalette,tone:e=>e.isDark?20:100,background:e=>og.error,contrastCurve:new Zm(4.5,7,11,21)}),og.errorContainer=Gm.fromPalette({name:"error_container",palette:e=>e.errorPalette,tone:e=>e.isDark?30:90,isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(1,1,3,4.5),toneDeltaPair:e=>new Qm(og.errorContainer,og.error,10,"nearer",!1)}),og.onErrorContainer=Gm.fromPalette({name:"on_error_container",palette:e=>e.errorPalette,tone:e=>rg(e)?e.isDark?90:10:e.isDark?90:30,background:e=>og.errorContainer,contrastCurve:new Zm(3,4.5,7,11)}),og.primaryFixed=Gm.fromPalette({name:"primary_fixed",palette:e=>e.primaryPalette,tone:e=>rg(e)?40:90,isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(1,1,3,4.5),toneDeltaPair:e=>new Qm(og.primaryFixed,og.primaryFixedDim,10,"lighter",!0)}),og.primaryFixedDim=Gm.fromPalette({name:"primary_fixed_dim",palette:e=>e.primaryPalette,tone:e=>rg(e)?30:80,isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(1,1,3,4.5),toneDeltaPair:e=>new Qm(og.primaryFixed,og.primaryFixedDim,10,"lighter",!0)}),og.onPrimaryFixed=Gm.fromPalette({name:"on_primary_fixed",palette:e=>e.primaryPalette,tone:e=>rg(e)?100:10,background:e=>og.primaryFixedDim,secondBackground:e=>og.primaryFixed,contrastCurve:new Zm(4.5,7,11,21)}),og.onPrimaryFixedVariant=Gm.fromPalette({name:"on_primary_fixed_variant",palette:e=>e.primaryPalette,tone:e=>rg(e)?90:30,background:e=>og.primaryFixedDim,secondBackground:e=>og.primaryFixed,contrastCurve:new Zm(3,4.5,7,11)}),og.secondaryFixed=Gm.fromPalette({name:"secondary_fixed",palette:e=>e.secondaryPalette,tone:e=>rg(e)?80:90,isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(1,1,3,4.5),toneDeltaPair:e=>new Qm(og.secondaryFixed,og.secondaryFixedDim,10,"lighter",!0)}),og.secondaryFixedDim=Gm.fromPalette({name:"secondary_fixed_dim",palette:e=>e.secondaryPalette,tone:e=>rg(e)?70:80,isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(1,1,3,4.5),toneDeltaPair:e=>new Qm(og.secondaryFixed,og.secondaryFixedDim,10,"lighter",!0)}),og.onSecondaryFixed=Gm.fromPalette({name:"on_secondary_fixed",palette:e=>e.secondaryPalette,tone:e=>10,background:e=>og.secondaryFixedDim,secondBackground:e=>og.secondaryFixed,contrastCurve:new Zm(4.5,7,11,21)}),og.onSecondaryFixedVariant=Gm.fromPalette({name:"on_secondary_fixed_variant",palette:e=>e.secondaryPalette,tone:e=>rg(e)?25:30,background:e=>og.secondaryFixedDim,secondBackground:e=>og.secondaryFixed,contrastCurve:new Zm(3,4.5,7,11)}),og.tertiaryFixed=Gm.fromPalette({name:"tertiary_fixed",palette:e=>e.tertiaryPalette,tone:e=>rg(e)?40:90,isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(1,1,3,4.5),toneDeltaPair:e=>new Qm(og.tertiaryFixed,og.tertiaryFixedDim,10,"lighter",!0)}),og.tertiaryFixedDim=Gm.fromPalette({name:"tertiary_fixed_dim",palette:e=>e.tertiaryPalette,tone:e=>rg(e)?30:80,isBackground:!0,background:e=>og.highestSurface(e),contrastCurve:new Zm(1,1,3,4.5),toneDeltaPair:e=>new Qm(og.tertiaryFixed,og.tertiaryFixedDim,10,"lighter",!0)}),og.onTertiaryFixed=Gm.fromPalette({name:"on_tertiary_fixed",palette:e=>e.tertiaryPalette,tone:e=>rg(e)?100:10,background:e=>og.tertiaryFixedDim,secondBackground:e=>og.tertiaryFixed,contrastCurve:new Zm(4.5,7,11,21)}),og.onTertiaryFixedVariant=Gm.fromPalette({name:"on_tertiary_fixed_variant",palette:e=>e.tertiaryPalette,tone:e=>rg(e)?90:30,background:e=>og.tertiaryFixedDim,secondBackground:e=>og.tertiaryFixed,contrastCurve:new Zm(3,4.5,7,11)});class ig{static of(e){return new ig(e,!1)}static contentOf(e){return new ig(e,!0)}static fromColors(e){return ig.createPaletteFromColors(!1,e)}static contentFromColors(e){return ig.createPaletteFromColors(!0,e)}static createPaletteFromColors(e,t){const n=new ig(t.primary,e);if(t.secondary){const r=new ig(t.secondary,e);n.a2=r.a1}if(t.tertiary){const r=new ig(t.tertiary,e);n.a3=r.a1}if(t.error){const r=new ig(t.error,e);n.error=r.a1}if(t.neutral){const r=new ig(t.neutral,e);n.n1=r.n1}if(t.neutralVariant){const r=new ig(t.neutralVariant,e);n.n2=r.n2}return n}constructor(e,t){const n=qm.fromInt(e),r=n.hue,o=n.chroma;t?(this.a1=Jm.fromHueAndChroma(r,o),this.a2=Jm.fromHueAndChroma(r,o/3),this.a3=Jm.fromHueAndChroma(r+60,o/2),this.n1=Jm.fromHueAndChroma(r,Math.min(o/12,4)),this.n2=Jm.fromHueAndChroma(r,Math.min(o/6,8))):(this.a1=Jm.fromHueAndChroma(r,Math.max(48,o)),this.a2=Jm.fromHueAndChroma(r,16),this.a3=Jm.fromHueAndChroma(r+60,24),this.n1=Jm.fromHueAndChroma(r,4),this.n2=Jm.fromHueAndChroma(r,8)),this.error=Jm.fromHueAndChroma(25,84)}}class sg{get primary(){return this.props.primary}get onPrimary(){return this.props.onPrimary}get primaryContainer(){return this.props.primaryContainer}get onPrimaryContainer(){return this.props.onPrimaryContainer}get secondary(){return this.props.secondary}get onSecondary(){return this.props.onSecondary}get secondaryContainer(){return this.props.secondaryContainer}get onSecondaryContainer(){return this.props.onSecondaryContainer}get tertiary(){return this.props.tertiary}get onTertiary(){return this.props.onTertiary}get tertiaryContainer(){return this.props.tertiaryContainer}get onTertiaryContainer(){return this.props.onTertiaryContainer}get error(){return this.props.error}get onError(){return this.props.onError}get errorContainer(){return this.props.errorContainer}get onErrorContainer(){return this.props.onErrorContainer}get background(){return this.props.background}get onBackground(){return this.props.onBackground}get surface(){return this.props.surface}get onSurface(){return this.props.onSurface}get surfaceVariant(){return this.props.surfaceVariant}get onSurfaceVariant(){return this.props.onSurfaceVariant}get outline(){return this.props.outline}get outlineVariant(){return this.props.outlineVariant}get shadow(){return this.props.shadow}get scrim(){return this.props.scrim}get inverseSurface(){return this.props.inverseSurface}get inverseOnSurface(){return this.props.inverseOnSurface}get inversePrimary(){return this.props.inversePrimary}static light(e){return sg.lightFromCorePalette(ig.of(e))}static dark(e){return sg.darkFromCorePalette(ig.of(e))}static lightContent(e){return sg.lightFromCorePalette(ig.contentOf(e))}static darkContent(e){return sg.darkFromCorePalette(ig.contentOf(e))}static lightFromCorePalette(e){return new sg({primary:e.a1.tone(40),onPrimary:e.a1.tone(100),primaryContainer:e.a1.tone(90),onPrimaryContainer:e.a1.tone(10),secondary:e.a2.tone(40),onSecondary:e.a2.tone(100),secondaryContainer:e.a2.tone(90),onSecondaryContainer:e.a2.tone(10),tertiary:e.a3.tone(40),onTertiary:e.a3.tone(100),tertiaryContainer:e.a3.tone(90),onTertiaryContainer:e.a3.tone(10),error:e.error.tone(40),onError:e.error.tone(100),errorContainer:e.error.tone(90),onErrorContainer:e.error.tone(10),background:e.n1.tone(99),onBackground:e.n1.tone(10),surface:e.n1.tone(99),onSurface:e.n1.tone(10),surfaceVariant:e.n2.tone(90),onSurfaceVariant:e.n2.tone(30),outline:e.n2.tone(50),outlineVariant:e.n2.tone(80),shadow:e.n1.tone(0),scrim:e.n1.tone(0),inverseSurface:e.n1.tone(20),inverseOnSurface:e.n1.tone(95),inversePrimary:e.a1.tone(80)})}static darkFromCorePalette(e){return new sg({primary:e.a1.tone(80),onPrimary:e.a1.tone(20),primaryContainer:e.a1.tone(30),onPrimaryContainer:e.a1.tone(90),secondary:e.a2.tone(80),onSecondary:e.a2.tone(20),secondaryContainer:e.a2.tone(30),onSecondaryContainer:e.a2.tone(90),tertiary:e.a3.tone(80),onTertiary:e.a3.tone(20),tertiaryContainer:e.a3.tone(30),onTertiaryContainer:e.a3.tone(90),error:e.error.tone(80),onError:e.error.tone(20),errorContainer:e.error.tone(30),onErrorContainer:e.error.tone(80),background:e.n1.tone(10),onBackground:e.n1.tone(90),surface:e.n1.tone(10),onSurface:e.n1.tone(90),surfaceVariant:e.n2.tone(30),onSurfaceVariant:e.n2.tone(80),outline:e.n2.tone(60),outlineVariant:e.n2.tone(30),shadow:e.n1.tone(0),scrim:e.n1.tone(0),inverseSurface:e.n1.tone(90),inverseOnSurface:e.n1.tone(20),inversePrimary:e.a1.tone(40)})}constructor(e){this.props=e}toJSON(){return{...this.props}}}function ag(e){const t=3===(e=e.replace("#","")).length,n=6===e.length,r=8===e.length;if(!t&&!n&&!r)throw new Error("unexpected hex "+e);let o=0,i=0,s=0;return t?(o=lg(e.slice(0,1).repeat(2)),i=lg(e.slice(1,2).repeat(2)),s=lg(e.slice(2,3).repeat(2))):n?(o=lg(e.slice(0,2)),i=lg(e.slice(2,4)),s=lg(e.slice(4,6))):r&&(o=lg(e.slice(2,4)),i=lg(e.slice(4,6)),s=lg(e.slice(6,8))),(255<<24|(255&o)<<16|(255&i)<<8|255&s)>>>0}function lg(e){return parseInt(e,16)}Jh(["before","after"],((e,t)=>{op.fn[e]=function(...e){return 1===t&&(e=e.reverse()),this.each(((n,r)=>{const o=Dh(e[0])?[e[0].call(r,n,r.innerHTML)]:e;Jh(o,(e=>{let o;var i;o=!Oh(i=e)||i.startsWith("<")&&i.endsWith(">")?n&&zh(e)?op(e.cloneNode(!0)):op(e):op(rp(e,"div")),o[t?"insertAfter":"insertBefore"](r)}))}))}})),op.fn.clone=function(){return this.map((function(){return this.cloneNode(!0)}))},Jh(["prepend","append"],((e,t)=>{op.fn[e]=function(...e){return this.each(((n,r)=>{const o=r.childNodes,i=o.length,s=i?o[t?i-1:0]:ep("div");i||tp(r,s);let a=Dh(e[0])?[e[0].call(r,n,r.innerHTML)]:e;n&&(a=a.map((e=>Oh(e)?e:op(e).clone()))),op(s)[t?"after":"before"](...a),i||np(s)}))}}));const cg=["light","dark"],dg="mdui-custom-color-scheme-";let ug=0;const hg=(e,t)=>{((e,t)=>{const n=Mh(),r=op(n.documentElement),o={light:sg.light(e).toJSON(),dark:sg.dark(e).toJSON()},i=ig.of(e);Object.assign(o.light,{"surface-dim":i.n1.tone(87),"surface-bright":i.n1.tone(98),"surface-container-lowest":i.n1.tone(100),"surface-container-low":i.n1.tone(96),"surface-container":i.n1.tone(94),"surface-container-high":i.n1.tone(92),"surface-container-highest":i.n1.tone(90),"surface-tint-color":o.light.primary}),Object.assign(o.dark,{"surface-dim":i.n1.tone(6),"surface-bright":i.n1.tone(24),"surface-container-lowest":i.n1.tone(4),"surface-container-low":i.n1.tone(10),"surface-container":i.n1.tone(12),"surface-container-high":i.n1.tone(17),"surface-container-highest":i.n1.tone(22),"surface-tint-color":o.dark.primary}),[].map((t=>{const n=Yh(t.name),r=function(e,t){let n=t.value;const r=n,o=e;n=Wm.harmonize(r,o);const i=ig.of(n).a1;return{color:t,value:n,light:{color:i.tone(40),onColor:i.tone(100),colorContainer:i.tone(90),onColorContainer:i.tone(10)},dark:{color:i.tone(80),onColor:i.tone(20),colorContainer:i.tone(30),onColorContainer:i.tone(90)}}}(e,{name:n,value:ag(t.value),blend:!0});cg.forEach((e=>{o[e][n]=r[e].color,o[e][`on-${n}`]=r[e].onColor,o[e][`${n}-container`]=r[e].colorContainer,o[e][`on-${n}-container`]=r[e].onColorContainer}))}));const s=(e,t)=>Object.entries(o[e]).map((([e,n])=>{return t(Yh(e),[Mm(r=n),Nm(r),Lm(r)].join(", "));var r})).join(""),a=dg+`${e}-${ug++}`,l=`.${a} {\n ${s("light",((e,t)=>`--mdui-color-${e}-light: ${t};`))}\n ${s("dark",((e,t)=>`--mdui-color-${e}-dark: ${t};`))}\n ${s("light",(e=>`--mdui-color-${e}: var(--mdui-color-${e}-light);`))}\n\n color: rgb(var(--mdui-color-on-background));\n background-color: rgb(var(--mdui-color-background));\n}\n\n.mdui-theme-dark .${a},\n.mdui-theme-dark.${a} {\n ${s("dark",(e=>`--mdui-color-${e}: var(--mdui-color-${e}-dark);`))}\n}\n\n@media (prefers-color-scheme: dark) {\n .mdui-theme-auto .${a},\n .mdui-theme-auto.${a} {\n ${s("dark",(e=>`--mdui-color-${e}: var(--mdui-color-${e}-dark);`))}\n }\n}`;(e=>{const t=op(e);let n=t.get().map((e=>Array.from(e.classList))).flat();n=sf(n).filter((e=>e.startsWith(dg))),t.removeClass(n.join(" "));const r=n.filter((e=>0===op(`.${e}`).length));op(r.map((e=>`#${e}`)).join(",")).remove()})(r),op(n.head).append(``),r.addClass(a)})(ag(e))};export{qo as F,Fn as a,Xo as b,ni as c,li as d,pi as e,Xn as f,Un as g,ci as h,gn as i,ri as j,Zt as k,hi as l,wa as m,z as n,On as o,Tt as r,hg as s,re as t,ao as w}; diff --git a/docs/assets/deps-PoZXHJHQ.css b/docs/assets/deps-PoZXHJHQ.css deleted file mode 100644 index 92f214e..0000000 --- a/docs/assets/deps-PoZXHJHQ.css +++ /dev/null @@ -1 +0,0 @@ -:root{--mdui-breakpoint-xs:0px;--mdui-breakpoint-sm:600px;--mdui-breakpoint-md:840px;--mdui-breakpoint-lg:1080px;--mdui-breakpoint-xl:1440px;--mdui-breakpoint-xxl:1920px}:root{--mdui-color-primary-light:103,80,164;--mdui-color-primary-container-light:234,221,255;--mdui-color-on-primary-light:255,255,255;--mdui-color-on-primary-container-light:33,0,94;--mdui-color-inverse-primary-light:208,188,255;--mdui-color-secondary-light:98,91,113;--mdui-color-secondary-container-light:232,222,248;--mdui-color-on-secondary-light:255,255,255;--mdui-color-on-secondary-container-light:30,25,43;--mdui-color-tertiary-light:125,82,96;--mdui-color-tertiary-container-light:255,216,228;--mdui-color-on-tertiary-light:255,255,255;--mdui-color-on-tertiary-container-light:55,11,30;--mdui-color-surface-light:254,247,255;--mdui-color-surface-dim-light:222,216,225;--mdui-color-surface-bright-light:254,247,255;--mdui-color-surface-container-lowest-light:255,255,255;--mdui-color-surface-container-low-light:247,242,250;--mdui-color-surface-container-light:243,237,247;--mdui-color-surface-container-high-light:236,230,240;--mdui-color-surface-container-highest-light:230,224,233;--mdui-color-surface-variant-light:231,224,236;--mdui-color-on-surface-light:28,27,31;--mdui-color-on-surface-variant-light:73,69,78;--mdui-color-inverse-surface-light:49,48,51;--mdui-color-inverse-on-surface-light:244,239,244;--mdui-color-background-light:254,247,255;--mdui-color-on-background-light:28,27,31;--mdui-color-error-light:179,38,30;--mdui-color-error-container-light:249,222,220;--mdui-color-on-error-light:255,255,255;--mdui-color-on-error-container-light:65,14,11;--mdui-color-outline-light:121,116,126;--mdui-color-outline-variant-light:196,199,197;--mdui-color-shadow-light:0,0,0;--mdui-color-surface-tint-color-light:103,80,164;--mdui-color-scrim-light:0,0,0;--mdui-color-primary-dark:208,188,255;--mdui-color-primary-container-dark:79,55,139;--mdui-color-on-primary-dark:55,30,115;--mdui-color-on-primary-container-dark:234,221,255;--mdui-color-inverse-primary-dark:103,80,164;--mdui-color-secondary-dark:204,194,220;--mdui-color-secondary-container-dark:74,68,88;--mdui-color-on-secondary-dark:51,45,65;--mdui-color-on-secondary-container-dark:232,222,248;--mdui-color-tertiary-dark:239,184,200;--mdui-color-tertiary-container-dark:99,59,72;--mdui-color-on-tertiary-dark:73,37,50;--mdui-color-on-tertiary-container-dark:255,216,228;--mdui-color-surface-dark:20,18,24;--mdui-color-surface-dim-dark:20,18,24;--mdui-color-surface-bright-dark:59,56,62;--mdui-color-surface-container-lowest-dark:15,13,19;--mdui-color-surface-container-low-dark:29,27,32;--mdui-color-surface-container-dark:33,31,38;--mdui-color-surface-container-high-dark:43,41,48;--mdui-color-surface-container-highest-dark:54,52,59;--mdui-color-surface-variant-dark:73,69,79;--mdui-color-on-surface-dark:230,225,229;--mdui-color-on-surface-variant-dark:202,196,208;--mdui-color-inverse-surface-dark:230,225,229;--mdui-color-inverse-on-surface-dark:49,48,51;--mdui-color-background-dark:20,18,24;--mdui-color-on-background-dark:230,225,229;--mdui-color-error-dark:242,184,181;--mdui-color-error-container-dark:140,29,24;--mdui-color-on-error-dark:96,20,16;--mdui-color-on-error-container-dark:249,222,220;--mdui-color-outline-dark:147,143,153;--mdui-color-outline-variant-dark:68,71,70;--mdui-color-shadow-dark:0,0,0;--mdui-color-surface-tint-color-dark:208,188,255;--mdui-color-scrim-dark:0,0,0;font-size:16px}.mdui-theme-light,:root{color-scheme:light;--mdui-color-primary:var(--mdui-color-primary-light);--mdui-color-primary-container:var(--mdui-color-primary-container-light);--mdui-color-on-primary:var(--mdui-color-on-primary-light);--mdui-color-on-primary-container:var(--mdui-color-on-primary-container-light);--mdui-color-inverse-primary:var(--mdui-color-inverse-primary-light);--mdui-color-secondary:var(--mdui-color-secondary-light);--mdui-color-secondary-container:var(--mdui-color-secondary-container-light);--mdui-color-on-secondary:var(--mdui-color-on-secondary-light);--mdui-color-on-secondary-container:var(--mdui-color-on-secondary-container-light);--mdui-color-tertiary:var(--mdui-color-tertiary-light);--mdui-color-tertiary-container:var(--mdui-color-tertiary-container-light);--mdui-color-on-tertiary:var(--mdui-color-on-tertiary-light);--mdui-color-on-tertiary-container:var(--mdui-color-on-tertiary-container-light);--mdui-color-surface:var(--mdui-color-surface-light);--mdui-color-surface-dim:var(--mdui-color-surface-dim-light);--mdui-color-surface-bright:var(--mdui-color-surface-bright-light);--mdui-color-surface-container-lowest:var(--mdui-color-surface-container-lowest-light);--mdui-color-surface-container-low:var(--mdui-color-surface-container-low-light);--mdui-color-surface-container:var(--mdui-color-surface-container-light);--mdui-color-surface-container-high:var(--mdui-color-surface-container-high-light);--mdui-color-surface-container-highest:var(--mdui-color-surface-container-highest-light);--mdui-color-surface-variant:var(--mdui-color-surface-variant-light);--mdui-color-on-surface:var(--mdui-color-on-surface-light);--mdui-color-on-surface-variant:var(--mdui-color-on-surface-variant-light);--mdui-color-inverse-surface:var(--mdui-color-inverse-surface-light);--mdui-color-inverse-on-surface:var(--mdui-color-inverse-on-surface-light);--mdui-color-background:var(--mdui-color-background-light);--mdui-color-on-background:var(--mdui-color-on-background-light);--mdui-color-error:var(--mdui-color-error-light);--mdui-color-error-container:var(--mdui-color-error-container-light);--mdui-color-on-error:var(--mdui-color-on-error-light);--mdui-color-on-error-container:var(--mdui-color-on-error-container-light);--mdui-color-outline:var(--mdui-color-outline-light);--mdui-color-outline-variant:var(--mdui-color-outline-variant-light);--mdui-color-shadow:var(--mdui-color-shadow-light);--mdui-color-surface-tint-color:var(--mdui-color-surface-tint-color-light);--mdui-color-scrim:var(--mdui-color-scrim-light);color:rgb(var(--mdui-color-on-background));background-color:rgb(var(--mdui-color-background))}.mdui-theme-dark{color-scheme:dark;--mdui-color-primary:var(--mdui-color-primary-dark);--mdui-color-primary-container:var(--mdui-color-primary-container-dark);--mdui-color-on-primary:var(--mdui-color-on-primary-dark);--mdui-color-on-primary-container:var(--mdui-color-on-primary-container-dark);--mdui-color-inverse-primary:var(--mdui-color-inverse-primary-dark);--mdui-color-secondary:var(--mdui-color-secondary-dark);--mdui-color-secondary-container:var(--mdui-color-secondary-container-dark);--mdui-color-on-secondary:var(--mdui-color-on-secondary-dark);--mdui-color-on-secondary-container:var(--mdui-color-on-secondary-container-dark);--mdui-color-tertiary:var(--mdui-color-tertiary-dark);--mdui-color-tertiary-container:var(--mdui-color-tertiary-container-dark);--mdui-color-on-tertiary:var(--mdui-color-on-tertiary-dark);--mdui-color-on-tertiary-container:var(--mdui-color-on-tertiary-container-dark);--mdui-color-surface:var(--mdui-color-surface-dark);--mdui-color-surface-dim:var(--mdui-color-surface-dim-dark);--mdui-color-surface-bright:var(--mdui-color-surface-bright-dark);--mdui-color-surface-container-lowest:var(--mdui-color-surface-container-lowest-dark);--mdui-color-surface-container-low:var(--mdui-color-surface-container-low-dark);--mdui-color-surface-container:var(--mdui-color-surface-container-dark);--mdui-color-surface-container-high:var(--mdui-color-surface-container-high-dark);--mdui-color-surface-container-highest:var(--mdui-color-surface-container-highest-dark);--mdui-color-surface-variant:var(--mdui-color-surface-variant-dark);--mdui-color-on-surface:var(--mdui-color-on-surface-dark);--mdui-color-on-surface-variant:var(--mdui-color-on-surface-variant-dark);--mdui-color-inverse-surface:var(--mdui-color-inverse-surface-dark);--mdui-color-inverse-on-surface:var(--mdui-color-inverse-on-surface-dark);--mdui-color-background:var(--mdui-color-background-dark);--mdui-color-on-background:var(--mdui-color-on-background-dark);--mdui-color-error:var(--mdui-color-error-dark);--mdui-color-error-container:var(--mdui-color-error-container-dark);--mdui-color-on-error:var(--mdui-color-on-error-dark);--mdui-color-on-error-container:var(--mdui-color-on-error-container-dark);--mdui-color-outline:var(--mdui-color-outline-dark);--mdui-color-outline-variant:var(--mdui-color-outline-variant-dark);--mdui-color-shadow:var(--mdui-color-shadow-dark);--mdui-color-surface-tint-color:var(--mdui-color-surface-tint-color-dark);--mdui-color-scrim:var(--mdui-color-scrim-dark);color:rgb(var(--mdui-color-on-background));background-color:rgb(var(--mdui-color-background))}@media (prefers-color-scheme:dark){.mdui-theme-auto{color-scheme:dark;--mdui-color-primary:var(--mdui-color-primary-dark);--mdui-color-primary-container:var(--mdui-color-primary-container-dark);--mdui-color-on-primary:var(--mdui-color-on-primary-dark);--mdui-color-on-primary-container:var(--mdui-color-on-primary-container-dark);--mdui-color-inverse-primary:var(--mdui-color-inverse-primary-dark);--mdui-color-secondary:var(--mdui-color-secondary-dark);--mdui-color-secondary-container:var(--mdui-color-secondary-container-dark);--mdui-color-on-secondary:var(--mdui-color-on-secondary-dark);--mdui-color-on-secondary-container:var(--mdui-color-on-secondary-container-dark);--mdui-color-tertiary:var(--mdui-color-tertiary-dark);--mdui-color-tertiary-container:var(--mdui-color-tertiary-container-dark);--mdui-color-on-tertiary:var(--mdui-color-on-tertiary-dark);--mdui-color-on-tertiary-container:var(--mdui-color-on-tertiary-container-dark);--mdui-color-surface:var(--mdui-color-surface-dark);--mdui-color-surface-dim:var(--mdui-color-surface-dim-dark);--mdui-color-surface-bright:var(--mdui-color-surface-bright-dark);--mdui-color-surface-container-lowest:var(--mdui-color-surface-container-lowest-dark);--mdui-color-surface-container-low:var(--mdui-color-surface-container-low-dark);--mdui-color-surface-container:var(--mdui-color-surface-container-dark);--mdui-color-surface-container-high:var(--mdui-color-surface-container-high-dark);--mdui-color-surface-container-highest:var(--mdui-color-surface-container-highest-dark);--mdui-color-surface-variant:var(--mdui-color-surface-variant-dark);--mdui-color-on-surface:var(--mdui-color-on-surface-dark);--mdui-color-on-surface-variant:var(--mdui-color-on-surface-variant-dark);--mdui-color-inverse-surface:var(--mdui-color-inverse-surface-dark);--mdui-color-inverse-on-surface:var(--mdui-color-inverse-on-surface-dark);--mdui-color-background:var(--mdui-color-background-dark);--mdui-color-on-background:var(--mdui-color-on-background-dark);--mdui-color-error:var(--mdui-color-error-dark);--mdui-color-error-container:var(--mdui-color-error-container-dark);--mdui-color-on-error:var(--mdui-color-on-error-dark);--mdui-color-on-error-container:var(--mdui-color-on-error-container-dark);--mdui-color-outline:var(--mdui-color-outline-dark);--mdui-color-outline-variant:var(--mdui-color-outline-variant-dark);--mdui-color-shadow:var(--mdui-color-shadow-dark);--mdui-color-surface-tint-color:var(--mdui-color-surface-tint-color-dark);--mdui-color-scrim:var(--mdui-color-scrim-dark);color:rgb(var(--mdui-color-on-background));background-color:rgb(var(--mdui-color-background))}}:root{--mdui-elevation-level0:none;--mdui-elevation-level1:0 .5px 1.5px 0 rgba(var(--mdui-color-shadow), 19%),0 0 1px 0 rgba(var(--mdui-color-shadow), 3.9%);--mdui-elevation-level2:0 .85px 3px 0 rgba(var(--mdui-color-shadow), 19%),0 .25px 1px 0 rgba(var(--mdui-color-shadow), 3.9%);--mdui-elevation-level3:0 1.25px 5px 0 rgba(var(--mdui-color-shadow), 19%),0 .3333px 1.5px 0 rgba(var(--mdui-color-shadow), 3.9%);--mdui-elevation-level4:0 1.85px 6.25px 0 rgba(var(--mdui-color-shadow), 19%),0 .5px 1.75px 0 rgba(var(--mdui-color-shadow), 3.9%);--mdui-elevation-level5:0 2.75px 9px 0 rgba(var(--mdui-color-shadow), 19%),0 .25px 3px 0 rgba(var(--mdui-color-shadow), 3.9%)}:root{--mdui-motion-easing-linear:cubic-bezier(0, 0, 1, 1);--mdui-motion-easing-standard:cubic-bezier(.2, 0, 0, 1);--mdui-motion-easing-standard-accelerate:cubic-bezier(.3, 0, 1, 1);--mdui-motion-easing-standard-decelerate:cubic-bezier(0, 0, 0, 1);--mdui-motion-easing-emphasized:var(--mdui-motion-easing-standard);--mdui-motion-easing-emphasized-accelerate:cubic-bezier(.3, 0, .8, .15);--mdui-motion-easing-emphasized-decelerate:cubic-bezier(.05, .7, .1, 1);--mdui-motion-duration-short1:50ms;--mdui-motion-duration-short2:.1s;--mdui-motion-duration-short3:.15s;--mdui-motion-duration-short4:.2s;--mdui-motion-duration-medium1:.25s;--mdui-motion-duration-medium2:.3s;--mdui-motion-duration-medium3:.35s;--mdui-motion-duration-medium4:.4s;--mdui-motion-duration-long1:.45s;--mdui-motion-duration-long2:.5s;--mdui-motion-duration-long3:.55s;--mdui-motion-duration-long4:.6s;--mdui-motion-duration-extra-long1:.7s;--mdui-motion-duration-extra-long2:.8s;--mdui-motion-duration-extra-long3:.9s;--mdui-motion-duration-extra-long4:1s}.mdui-prose{line-height:1.75;word-wrap:break-word}.mdui-prose :first-child{margin-top:0}.mdui-prose :last-child{margin-bottom:0}.mdui-prose code,.mdui-prose kbd,.mdui-prose pre,.mdui-prose pre tt,.mdui-prose samp{font-family:Consolas,Courier,Courier New,monospace}.mdui-prose caption{text-align:left}.mdui-prose [draggable=true],.mdui-prose [draggable]{cursor:move}.mdui-prose [draggable=false]{cursor:inherit}.mdui-prose dl,.mdui-prose form,.mdui-prose ol,.mdui-prose p,.mdui-prose ul{margin-top:1.25em;margin-bottom:1.25em}.mdui-prose a{text-decoration:none;outline:0;color:rgb(var(--mdui-color-primary))}.mdui-prose a:focus,.mdui-prose a:hover{border-bottom:.0625rem solid rgb(var(--mdui-color-primary))}.mdui-prose small{font-size:.875em}.mdui-prose strong{font-weight:600}.mdui-prose blockquote{margin:1.6em 2em;padding-left:1em;border-left:.25rem solid rgb(var(--mdui-color-surface-variant))}@media only screen and (max-width:599.98px){.mdui-prose blockquote{margin:1.6em 0}}.mdui-prose blockquote footer{font-size:86%;color:rgb(var(--mdui-color-on-surface-variant))}.mdui-prose mark{color:inherit;background-color:rgb(var(--mdui-color-secondary-container));border-bottom:.0625rem solid rgb(var(--mdui-color-secondary));margin:0 .375rem;padding:.125rem}.mdui-prose h1,.mdui-prose h2,.mdui-prose h3,.mdui-prose h4,.mdui-prose h5,.mdui-prose h6{font-weight:400}.mdui-prose h1 small,.mdui-prose h2 small,.mdui-prose h3 small,.mdui-prose h4 small,.mdui-prose h5 small,.mdui-prose h6 small{font-weight:inherit;font-size:65%;color:rgb(var(--mdui-color-on-surface-variant))}.mdui-prose h1 strong,.mdui-prose h2 strong,.mdui-prose h3 strong,.mdui-prose h4 strong,.mdui-prose h5 strong,.mdui-prose h6 strong{font-weight:600}.mdui-prose h1{font-size:2.5em;margin-top:0;margin-bottom:1.25em;line-height:1.1111}.mdui-prose h2{font-size:1.875em;margin-top:2.25em;margin-bottom:1.125em;line-height:1.3333}.mdui-prose h3{font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.6}.mdui-prose h4{font-size:1.25em;margin-top:1.875em;margin-bottom:.875em;line-height:1.5}.mdui-prose h2+*,.mdui-prose h3+*,.mdui-prose h4+*,.mdui-prose hr+*{margin-top:0}.mdui-prose code,.mdui-prose kbd{font-size:.875em;color:rgb(var(--mdui-color-on-surface-container));background-color:rgba(var(--mdui-color-surface-variant),.28);padding:.125rem .375rem;border-radius:var(--mdui-shape-corner-extra-small)}.mdui-prose kbd{font-size:.9em}.mdui-prose abbr[title]{text-decoration:none;cursor:help;border-bottom:.0625rem dotted rgb(var(--mdui-color-on-surface-variant))}.mdui-prose ins,.mdui-prose u{text-decoration:none;border-bottom:.0625rem solid rgb(var(--mdui-color-on-surface-variant))}.mdui-prose del{text-decoration:line-through}.mdui-prose hr{margin-top:3em;margin-bottom:3em;border:none;border-bottom:.0625rem solid rgb(var(--mdui-color-surface-variant))}.mdui-prose pre{margin-top:1.7143em;margin-bottom:1.7143em}.mdui-prose pre code{padding:.8571em 1.1429em;overflow-x:auto;-webkit-overflow-scrolling:touch;background-color:rgb(var(--mdui-color-surface-container));color:rgb(var(--mdui-color-on-surface-container));border-radius:var(--mdui-shape-corner-extra-small)}.mdui-prose ol,.mdui-prose ul{padding-left:1.625em}.mdui-prose ul{list-style-type:disc}.mdui-prose ol{list-style-type:decimal}.mdui-prose ol[type=A]{list-style-type:upper-alpha}.mdui-prose ol[type=a]{list-style-type:lower-alpha}.mdui-prose ol[type=I]{list-style-type:upper-roman}.mdui-prose ol[type=i]{list-style-type:lower-roman}.mdui-prose ol[type="1"]{list-style-type:decimal}.mdui-prose li{margin-top:.5em;margin-bottom:.5em}.mdui-prose ol>li,.mdui-prose ul>li{padding-left:.375em}.mdui-prose ol>li>p,.mdui-prose ul>li>p{margin-top:.75em;margin-bottom:.75em}.mdui-prose ol>li>:first-child,.mdui-prose ul>li>:first-child{margin-top:1.25em}.mdui-prose ol>li>:last-child,.mdui-prose ul>li>:last-child{margin-bottom:1.25em}.mdui-prose ol>li::marker{font-weight:400;color:rgb(var(--mdui-color-on-surface-variant))}.mdui-prose ul>li::marker{color:rgb(var(--mdui-color-on-surface-variant))}.mdui-prose ol ol,.mdui-prose ol ul,.mdui-prose ul ol,.mdui-prose ul ul{margin-top:.75em;margin-bottom:.75em}.mdui-prose fieldset,.mdui-prose img{border:none}.mdui-prose figure,.mdui-prose img,.mdui-prose video{margin-top:2em;margin-bottom:2em;max-width:100%}.mdui-prose figure>*{margin-top:0;margin-bottom:0}.mdui-prose figcaption{font-size:.875em;line-height:1.4286;margin-top:.8571em;color:rgb(var(--mdui-color-on-surface-variant))}.mdui-prose figcaption:empty:before{z-index:-1;cursor:text;content:attr(placeholder);color:rgb(var(--mdui-color-on-surface-variant))}.mdui-prose table{margin-top:2em;margin-bottom:2em;border:.0625rem solid rgb(var(--mdui-color-surface-variant));border-radius:var(--mdui-shape-corner-large)}.mdui-table{width:100%;overflow-x:auto;margin-top:2em;margin-bottom:2em;border:.0625rem solid rgb(var(--mdui-color-surface-variant));border-radius:var(--mdui-shape-corner-large)}.mdui-table table{margin-top:0;margin-bottom:0;border:none;border-radius:0}.mdui-prose table,.mdui-table table{width:100%;text-align:left;border-collapse:collapse;border-spacing:0}.mdui-prose td,.mdui-prose th,.mdui-table td,.mdui-table th{border-top:.0625rem solid rgb(var(--mdui-color-surface-variant))}.mdui-prose td:not(:first-child),.mdui-prose th:not(:first-child),.mdui-table td:not(:first-child),.mdui-table th:not(:first-child){border-left:.0625rem solid rgb(var(--mdui-color-surface-variant))}.mdui-prose td:not(:last-child),.mdui-prose th:not(:last-child),.mdui-table td:not(:last-child),.mdui-table th:not(:last-child){border-right:.0625rem solid rgb(var(--mdui-color-surface-variant))}.mdui-prose tbody:first-child tr:first-child td,.mdui-prose thead:first-child tr:first-child th,.mdui-table tbody:first-child tr:first-child td,.mdui-table thead:first-child tr:first-child th{border-top:0}.mdui-prose tfoot td,.mdui-prose tfoot th,.mdui-prose thead td,.mdui-prose thead th,.mdui-table tfoot td,.mdui-table tfoot th,.mdui-table thead td,.mdui-table thead th{position:relative;vertical-align:middle;padding:1.125rem 1rem;font-weight:var(--mdui-typescale-title-medium-weight);letter-spacing:var(--mdui-typescale-title-medium-tracking);line-height:var(--mdui-typescale-title-medium-line-height);color:rgb(var(--mdui-color-on-surface-variant));box-shadow:var(--mdui-elevation-level1)}.mdui-prose tbody td,.mdui-prose tbody th,.mdui-table tbody td,.mdui-table tbody th{padding:.875rem 1rem}.mdui-prose tbody th,.mdui-table tbody th{vertical-align:middle;font-weight:inherit}.mdui-prose tbody td,.mdui-table tbody td{vertical-align:baseline}:root{--mdui-shape-corner-none:0;--mdui-shape-corner-extra-small:.25rem;--mdui-shape-corner-small:.5rem;--mdui-shape-corner-medium:.75rem;--mdui-shape-corner-large:1rem;--mdui-shape-corner-extra-large:1.75rem;--mdui-shape-corner-full:1000rem}:root{--mdui-state-layer-hover:.08;--mdui-state-layer-focus:.12;--mdui-state-layer-pressed:.12;--mdui-state-layer-dragged:.16}:root{--mdui-typescale-display-large-weight:400;--mdui-typescale-display-medium-weight:400;--mdui-typescale-display-small-weight:400;--mdui-typescale-display-large-line-height:4rem;--mdui-typescale-display-medium-line-height:3.25rem;--mdui-typescale-display-small-line-height:2.75rem;--mdui-typescale-display-large-size:3.5625rem;--mdui-typescale-display-medium-size:2.8125rem;--mdui-typescale-display-small-size:2.25rem;--mdui-typescale-display-large-tracking:0rem;--mdui-typescale-display-medium-tracking:0rem;--mdui-typescale-display-small-tracking:0rem;--mdui-typescale-headline-large-weight:400;--mdui-typescale-headline-medium-weight:400;--mdui-typescale-headline-small-weight:400;--mdui-typescale-headline-large-line-height:2.5rem;--mdui-typescale-headline-medium-line-height:2.25rem;--mdui-typescale-headline-small-line-height:2rem;--mdui-typescale-headline-large-size:2rem;--mdui-typescale-headline-medium-size:1.75rem;--mdui-typescale-headline-small-size:1.5rem;--mdui-typescale-headline-large-tracking:0rem;--mdui-typescale-headline-medium-tracking:0rem;--mdui-typescale-headline-small-tracking:0rem;--mdui-typescale-title-large-weight:400;--mdui-typescale-title-medium-weight:500;--mdui-typescale-title-small-weight:500;--mdui-typescale-title-large-line-height:1.75rem;--mdui-typescale-title-medium-line-height:1.5rem;--mdui-typescale-title-small-line-height:1.25rem;--mdui-typescale-title-large-size:1.375rem;--mdui-typescale-title-medium-size:1rem;--mdui-typescale-title-small-size:.875rem;--mdui-typescale-title-large-tracking:0rem;--mdui-typescale-title-medium-tracking:.009375rem;--mdui-typescale-title-small-tracking:.00625rem;--mdui-typescale-label-large-weight:500;--mdui-typescale-label-medium-weight:500;--mdui-typescale-label-small-weight:500;--mdui-typescale-label-large-line-height:1.25rem;--mdui-typescale-label-medium-line-height:1rem;--mdui-typescale-label-small-line-height:.375rem;--mdui-typescale-label-large-size:.875rem;--mdui-typescale-label-medium-size:.75rem;--mdui-typescale-label-small-size:.6875rem;--mdui-typescale-label-large-tracking:.00625rem;--mdui-typescale-label-medium-tracking:.03125rem;--mdui-typescale-label-small-tracking:.03125rem;--mdui-typescale-body-large-weight:400;--mdui-typescale-body-medium-weight:400;--mdui-typescale-body-small-weight:400;--mdui-typescale-body-large-line-height:1.5rem;--mdui-typescale-body-medium-line-height:1.25rem;--mdui-typescale-body-small-line-height:1rem;--mdui-typescale-body-large-size:1rem;--mdui-typescale-body-medium-size:.875rem;--mdui-typescale-body-small-size:.75rem;--mdui-typescale-body-large-tracking:.009375rem;--mdui-typescale-body-medium-tracking:.015625rem;--mdui-typescale-body-small-tracking:.025rem}.mdui-lock-screen{overflow:hidden!important} diff --git a/docs/assets/favicon-aOK6_042.ico b/docs/assets/favicon-aOK6_042.ico deleted file mode 100644 index fec04e2..0000000 Binary files a/docs/assets/favicon-aOK6_042.ico and /dev/null differ diff --git a/docs/assets/index-B3tl3MZY.css b/docs/assets/index-B3tl3MZY.css deleted file mode 100644 index c662f88..0000000 --- a/docs/assets/index-B3tl3MZY.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:SamsungSans;src:url(./SamsungSans-Regular-BsRQoNIc.ttf)}html,body{height:100%;width:100%;margin:0;padding:0;font-family:SamsungSans,"sans-serif"}h1{margin-top:unset}#main_content{width:100%;display:grid}@font-face{font-family:Material Icons Round;font-style:normal;font-weight:400;src:url(./mdui-round-DrirKXBx.woff2) format("woff2")}.material-icons-round{font-family:Material Icons Round;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased}#ImWindowContainer{position:absolute;display:flex;width:100%;top:0;height:100%;overflow-x:hidden;overflow-y:scroll;z-index:9}#ImContentContainer{position:absolute;width:100%;height:100%;top:0;z-index:7}#ImWindowContainer::-webkit-scrollbar{width:0!important}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-in-out{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@media screen and (max-width: 380px){body{background:url(./bg-BQx4j7kW.webp);background-size:cover;background-position:-340px;zoom:80%}}@media screen and (max-width: 420px) and (min-width: 380px){body{background:url(./bg-BQx4j7kW.webp);background-size:cover;background-position:-340px;zoom:90%}}@media screen and (max-width: 700px){body{background:url(./bg-BQx4j7kW.webp);background-size:cover;background-position:-340px}#MagicBadge{position:absolute;display:grid;height:220px;width:100%;top:0;background-image:linear-gradient(0deg,#5753c900,#5753c91f 20%,#6e7ff378);grid-template-rows:min-content}#FunctionCard{width:390px;height:480px;position:relative;top:130px;padding:20px 15px 15px;align-self:center;justify-self:center;background:#0a021599;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 6px 20px #000000a8}#FloatCard{width:390px;height:50px;background:#29323c;position:relative;justify-self:center;z-index:-1;top:140px;background:#0a021599;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 6px 20px #000000a8}#CryptControl{display:grid;width:219px;grid-template-columns:30% 30% 30% 30% 30% 30%;scale:.9;column-gap:2px;margin-top:-5px;align-content:center}#PositionOccupie{display:block;width:390px;height:20px;background:transparent;position:relative;justify-self:center;z-index:-1;top:140px}}@media screen and (min-width: 700px){body{background:url(./bg-BQx4j7kW.webp);background-size:cover;background-position:center}#MagicBadge{position:absolute;display:grid;height:220px;width:100%;top:80px;background-image:linear-gradient(90deg,#5753c94d,#5753c900 20%);grid-template-rows:min-content}#FunctionCard{width:390px;height:480px;background:#0a021599;position:relative;float:right;left:calc(80% - 360px);top:70px;padding:20px 15px 15px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 6px 20px #000000a8}#FloatCard{width:150px;height:130px;position:relative;float:right;left:calc(80% - 520px);top:-80px;background:#0a021599;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 6px 20px #000000a8}#CryptControl{display:grid;grid-template-columns:50% 50%;grid-template-rows:40px 40px 40px;scale:.9;column-gap:10px;margin-top:-5px;align-content:center}#PositionOccupie{display:none}}mdui-text-field::part(label){background-color:transparent}mdui-text-field::part(input){scrollbar-width:none;line-break:anywhere}.ImScrollBarTrack{position:fixed;transition:opacity .1s linear;opacity:0;border-radius:100px;z-index:8;background-color:rgb(var(--mdui-color-surface-bright));align-self:center}.ImScrollBarTrack:hover{opacity:.701}.ImScrollBarThumb{position:absolute;background-color:rgb(var(--mdui-color-tertiary-light));opacity:inherit;border-radius:100px}.baseCard{background-color:rgb(var(--mdui-color-secondary-container));color:rgb(var(--mdui-color-secondary));padding:10px;overflow:hidden;display:flex;z-index:3}.rawCard{background:rgb(var(--mdui-color-secondary-container));color:rgb(var(--mdui-color-secondary));padding:10px;transition:all 1s ease;overflow:hidden;display:flex;z-index:3}.cardIcon{font-size:120px!important;top:-10px;right:-15px;position:absolute;opacity:.15;z-index:4;color:#000}.cardContent{display:grid;width:100%;height:100%;color:#fff} diff --git a/docs/assets/index-B_doPvbq.js b/docs/assets/index-B_doPvbq.js deleted file mode 100644 index 9bd02d6..0000000 --- a/docs/assets/index-B_doPvbq.js +++ /dev/null @@ -1 +0,0 @@ -import{r as e,o as t,a as n,c as i,b as l,d as o,e as a,f as r,n as d,w as u,g as c,h as s,i as m,j as g,t as p,F as y,k as f,l as h,m as v,s as I}from"./deps-CXr6hmS8.js";import{A as w}from"./abracadabra-cn-BTUscUVB.js";!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))t(e);new MutationObserver((e=>{for(const n of e)if("childList"===n.type)for(const e of n.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)})).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();const B=["id"],x=[o("div",{class:"ImScrollBarThumb"},null,-1)],C={__name:"ImScrollBar",props:{ContainerId:String,ContentContainerId:String,Direction:String,Length:String,Width:String,PBottom:String,PRight:String,PMarginOne:String,PMarginTwo:String,Id:String},setup(o){const a=o;var r=e(!1),d=e(!1),u=e(!1);function c(e){r.value?document.getElementById(a.Id).style.opacity="0":"mouseover"==e.type||u.value?(document.getElementById(a.Id).style.opacity="0.701",d.value=!0):"mouseout"!=e.type&&u.value||(document.getElementById(a.Id).style.opacity="0.4",setTimeout((function(){"0.701"!=document.getElementById(a.Id).style.opacity&&(document.getElementById(a.Id).style.opacity="0",d.value=!1)}),1e3))}return t((()=>{})),n((()=>{var t=document.getElementById(a.Id),n=document.getElementById(a.ContentContainerId),i=document.getElementById(a.ContainerId);"Left"==a.Direction?(t.style.float="left",t.style.height=a.Length,t.style.width=a.Width,t.style.bottom=a.PBottom,t.style.right=a.PRight,t.style.marginBottom=a.PMarginOne,t.style.marginTop=a.PMarginTwo):"Right"==a.Direction?(t.style.float="right",t.style.height=a.Length,t.style.width=a.Width,t.style.bottom=a.PBottom,t.style.right=a.PRight,t.style.marginBottom=a.PMarginOne,t.style.marginTop=a.PMarginTwo):("Top"==a.Direction||"Bottom"==a.Direction)&&(t.style.float="left",t.style.width=a.Length,t.style.height=a.Width,t.style.bottom=a.PBottom,t.style.right=a.PRight,t.style.marginLeft=a.PMarginOne,t.style.marginRight=a.PMarginTwo);const l=e("0%");var o;const d=new ResizeObserver((e=>{e.forEach((e=>{const d=e.target;if(d.id==a.ContentContainerId){const e=i;var u=d.scrollHeight,c=d.scrollWidth,s=e.clientHeight,m=e.clientWidth}if(d.id==a.ContainerId){const e=n;u=e.scrollHeight,c=e.scrollWidth,s=d.clientHeight,m=d.clientWidth}var g,p;"Left"==a.Direction||"Right"==a.Direction?(g=u,p=s):("Top"==a.Direction||"Bottom"==a.Direction)&&(g=c,p=m),r.value=g<=p;var y=p/g*100;if(g>p){var f,h=t.childNodes[0];"Left"==a.Direction||"Right"==a.Direction?(h.style.width="100%",h.style.height=y.toString()+"%",f=i.scrollTop/n.scrollHeight*100,h.style.top=f.toString()+"%"):("Top"==a.Direction||"Bottom"==a.Direction)&&(h.style.width=y.toString()+"%",h.style.height="100%",f=i.scrollLeft/n.scrollWidth*100,h.style.left=f.toString()+"%"),l.value=f,"Left"==a.Direction||"Right"==a.Direction?o=t.offsetHeight-h.offsetHeight:("Top"==a.Direction||"Bottom"==a.Direction)&&(o=t.offsetWidth-h.offsetWidth)}}))}));d.observe(i),d.observe(n);var s,m,g,p,y,f=t.childNodes[0],h=!0;f.addEventListener("mousedown",(function(e){"Left"==a.Direction||"Right"==a.Direction?(s=e.clientY,m=this.offsetTop):("Top"==a.Direction||"Bottom"==a.Direction)&&(s=e.clientX,m=this.offsetLeft),h=!1,function(){function e(e){h||(e.preventDefault(),u.value=!0,c({type:"null"}),"Left"==a.Direction||"Right"==a.Direction?g=e.clientY-s+m:("Top"==a.Direction||"Bottom"==a.Direction)&&(g=e.clientX-s+m),g>=o&&(g=o),g<=0&&(g=0),"Left"==a.Direction||"Right"==a.Direction?(f.style.top=g+"px",p=g/t.offsetHeight,y=n.scrollHeight*p,i.scrollTop=y):("Top"==a.Direction||"Bottom"==a.Direction)&&(f.style.left=g+"px",p=g/t.offsetWidth,y=n.scrollWidth*p,i.scrollLeft=y))}document.addEventListener("mouseup",(function(t){u.value=!1,c({type:"null"}),document.removeEventListener("mousemove",e),h=!0}),{once:!0}),document.addEventListener("mousemove",e)}()}));var v=null;i.addEventListener("scroll",(function(e){var t;u.value=!0,c({type:"null"}),"Left"==a.Direction||"Right"==a.Direction?(t=i.scrollTop/n.scrollHeight*100,f.style.top=t.toString()+"%"):("Top"==a.Direction||"Bottom"==a.Direction)&&(t=i.scrollLeft/n.scrollWidth*100,f.style.left=t.toString()+"%"),h&&(clearTimeout(v),v=setTimeout((function(){u.value=!1,c({type:"null"})}),200))}))})),(e,t)=>(l(),i("div",{class:"ImScrollBarTrack",id:a.Id,onMouseover:c,onMouseout:c},x,40,B))}},b=["id"],E=["name"],k={__name:"MdCard",props:{id:String,icon:String,Background:String,TextColor:String,Width:String,Height:String,Other:Object},setup(t){const n=t,u=e({});return u.value={background:n.Background,width:n.Width,height:n.Height,...n.Other},(e,c)=>(l(),i("mdui-card",{id:t.id,class:"baseCard",variant:"filled",style:d(u.value)},[n.icon?(l(),i("mdui-icon",{key:0,class:"cardIcon",name:n.icon,style:{"font-size":"140px"}},null,8,E)):a("",!0),o("div",{class:"cardContent",style:d({color:n.TextColor,"z-index":5})},[r(e.$slots,"default")],4)],12,b))}},T=o("div",{id:"MagicBadge",style:{}},[o("span",{style:{"font-size":"3rem","font-weight":"bold",margin:"10px 10px 10px 20px",height:"fit-content",width:"fit-content"}},"魔曰"),o("span",{style:{"font-size":"1rem","font-variant":"petite-caps","margin-left":"20px",height:"fit-content",width:"fit-content"}},"Abracadabra")],-1),D={id:"MainContainer",style:{display:"grid","grid-template-rows":"80px 150px 80px","grid-gap":"7px"}},R={key:0,id:"InputCard",variant:"outlined",rows:"2",label:"话语",placeholder:"你渴求吟唱的话语",style:{"grid-area":"1",height:"80px",width:"360px"}},N=o("h1",{style:{"align-self":"center","justify-self":"center"}},"选择文件",-1),A=o("p",{style:{"align-self":"center","justify-self":"center"}},"拖拽或点击",-1),L={style:{"align-self":"center","justify-self":"center","margin-bottom":"0"}},P=o("mdui-text-field",{id:"KeyCard",variant:"outlined",rows:"1",label:"魔咒",placeholder:"将一切雪藏的魔咒",style:{"grid-column":"span 3","align-self":"center",width:"360px"}},null,-1),_=o("mdui-slider",{id:"Randomness",step:"25",value:"50",min:"0",max:"100",style:{background:"#0000003b",padding:"0 25px",width:"215px","margin-left":"5px","border-radius":"25px",height:"35px"}},null,-1),F={key:2,id:"OutputText",variant:"outlined",rows:"4",label:"符文",placeholder:"回路末端的符文",style:{"grid-area":"3",height:"120px",width:"360px"}},S=o("h1",{style:{"align-self":"center","justify-self":"center"}},"输出文件",-1),O={id:"CopyrightBadger",style:{"grid-area":"4",display:"grid","grid-template-columns":"50% 50%"}},j=o("p",{style:{position:"relative",width:"fit-content",height:"fit-content",top:"60px","font-size":"1rem","font-variant":"petite-caps","text-align":"left",padding:"6px","border-radius":"inherit",margin:"0px"}},[h(" Abracadabra V3.1.10"),o("br"),o("a",{href:"https://github.com/SheepChef/Abracadabra"},"Github Repo")],-1),U=o("p",{style:{position:"relative",width:"fit-content",height:"fit-content",top:"98px","font-size":"1rem","font-variant":"petite-caps","text-align":"left",padding:"0px","border-radius":"inherit",margin:"0px",right:"4px","justify-self":"end",opacity:"0.5"}}," SheepChef © ",-1),W={id:"CryptControl"},M={key:0,style:{"align-self":"center","justify-self":"right","margin-right":"0px"}},H={key:2,style:{"align-self":"center","justify-self":"right","margin-right":"0px"}},K={key:4,style:{"align-self":"center","justify-self":"right","margin-right":"0px"}},X={key:6,style:{"align-self":"center","justify-self":"right","margin-right":"0px"}},Y={key:8,style:{"align-self":"center","justify-self":"right","margin-right":"0px"}},q={key:10,style:{"align-self":"center","justify-self":"right","margin-right":"0px"}},z=o("div",{id:"PositionOccupie"},null,-1),V=o("mdui-snackbar",{"auto-close-delay":"1500",id:"InfoBar"},null,-1),G={__name:"HomeView",setup(t){const r=e("TEXT"),d=e("TEXT"),h=e("Next"),v=e(!0),I=e(!1),B=e(!1),x=e(!1),C=e(!1),b=e(!1),E=e(!1);e("#5b6169");var G=e(new Array);const $=e(null),J=e("");function Q(e){let t=document.getElementById("InfoBar"),n=e.message;t.innerText=n,t.open=!0}function Z(e){return new Promise(((t,n)=>{const i=new FileReader;i.onload=e=>{const n=new Uint8Array(e.target.result);t(n)},i.onerror=n,i.readAsArrayBuffer(e)}))}function ee(e,t,n){const i=new Blob([e],{type:n});return new File([i],t,{type:n})}function te(e){e.preventDefault(),document.getElementById("FileCard").style.background="#6ea0be"}function ne(e){e.preventDefault(),document.getElementById("FileCard").style.background="#5b6169"}function ie(e){e.preventDefault()}function le(e){e.preventDefault(),document.getElementById("FileCard").style.background="#5b6169",re(e.dataTransfer.files)}function oe(e){re(e.target.files)}function ae(e){document.querySelector("#fileIn").click()}function re(e){G.value=[];for(let t=0;tG.value[0]),(e=>{$.value=e,J.value=e.name,window.inputfile=e})),n((()=>{var e;(["fullscreen","standalone","minimal-ui"].some((e=>window.matchMedia("(display-mode: "+e+")").matches))||(null==(e=window.navigator)?void 0:e.standalone)||document.referrer.includes("android-app://"))&&(v.value=!1),de(),document.querySelector("#Randomness").labelFormatter=e=>0==e?"长句优先":25==e?"稍随机":50==e?"适中":75==e?"较随机":100==e?"完全随机":""})),c((()=>{})),(e,t)=>(l(),i(y,null,[T,s(k,{id:"FunctionCard"},{default:m((()=>[o("div",D,["TEXT"==r.value?(l(),i("mdui-text-field",R)):a("",!0),"UINT8"==r.value?(l(),g(k,{key:1,id:"FileCard",Background:"#5b6169",Width:"360px",Height:"80px",Other:{"grid-area":1,transition:"all 1s ease"},clickable:"",onDragenter:te,onDragleave:ne,onDragover:ie,onDrop:le,onClick:ae},{default:m((()=>[N,A,o("p",L,p(J.value),1),o("input",{type:"file",id:"fileIn",style:{display:"contents"},onChange:oe},null,32)])),_:1})):a("",!0),o("div",{id:"controlBar",style:{"grid-area":"2",display:"grid","grid-template-columns":"360px"}},[P,o("div",{id:"NormalControlBar",style:{"align-self":"center",display:"none"}},[o("mdui-button",{icon:"arrow_downward--rounded",onClick:me,style:{"align-self":"center",top:"-4px",width:"230px","margin-right":"6px"}},"吟唱你的魔法"),o("mdui-button",{variant:"elevated",icon:"auto_awesome--rounded",onClick:se,style:{"align-self":"center",top:"-4px",width:"120px",border:"solid 2px white"}},"文言仿真")]),o("div",{id:"NextControlBar",style:{"align-self":"center",display:"grid","grid-template-columns":"235px 124px"}},[o("mdui-button",{icon:"arrow_downward--rounded",onClick:me,style:{"align-self":"center",top:"-4px",width:"230px","margin-right":"6px",display:"none"}},"吟唱你的魔法"),o("div",{style:{display:"grid","grid-template-rows":"40px 33px"}},[o("div",{style:{width:"fit-content","align-self":"center","justify-self":"center","margin-left":"-10px"}},[o("mdui-chip",{icon:"keyboard_double_arrow_down--rounded",onClick:ge,style:{"align-self":"center",width:"105px","text-align":"center","margin-right":"5px"}},"加密"),o("mdui-chip",{icon:"keyboard_double_arrow_down--rounded",onClick:pe,style:{"align-self":"center",width:"105px","text-align":"center"}},"解密")]),_]),o("mdui-button",{variant:"elevated",icon:"auto_fix_off--rounded",onClick:se,style:{"align-self":"center",top:"-4px",width:"120px",border:"solid 2px white"}},"传统加密")])]),"TEXT"==d.value?(l(),i("mdui-text-field",F)):a("",!0),o("mdui-button-icon",{icon:"content_copy--rounded",style:{position:"absolute",bottom:"103px",right:"22px",background:"rgb(11 11 11 / 25%)","backdrop-filter":"blur(2px)"},onClick:ye}),"UINT8"==d.value?(l(),g(k,{key:3,id:"FileCard2",Background:"#5b6169",Width:"360px",Height:"120px",Other:{"grid-area":3,transition:"all 1s ease"}},{default:m((()=>[S])),_:1})):a("",!0),o("div",O,[j,v.value?(l(),i("mdui-chip",{key:0,elevated:"",icon:"file_download--rounded",style:{position:"absolute",bottom:"40px",right:"15px",background:"rgba(11, 11, 11, 0.25)","backdrop-filter":"blur(2px)"},onClick:fe},"安装应用")):a("",!0),U])])])),_:1}),s(k,{id:"FloatCard"},{default:m((()=>[o("div",W,["Next"==h.value?(l(),i("span",M,"骈文格律")):a("",!0),"Next"==h.value?(l(),i("mdui-switch",{key:1,id:"ForcePian",style:{"align-self":"center","justify-self":"left"},"unchecked-icon":"hdr_auto--rounded","checked-icon":"auto_awesome--rounded",onChange:de},null,32)):a("",!0),"Next"==h.value?(l(),i("span",H,"逻辑优先")):a("",!0),"Next"==h.value?(l(),i("mdui-switch",{key:3,id:"ForceLogi",style:{"align-self":"center","justify-self":"left"},"unchecked-icon":"hdr_auto--rounded","checked-icon":"auto_awesome--rounded",onChange:de},null,32)):a("",!0),"Next"==h.value?(l(),i("span",K,"去除标点")):a("",!0),"Next"==h.value?(l(),i("mdui-switch",{key:5,id:"ForceNoMark","checked-icon":"auto_awesome--rounded",style:{"align-self":"center","justify-self":"left"},onChange:ce},null,32)):a("",!0),"Normal"==h.value?(l(),i("span",X,"雪藏话语")):a("",!0),"Normal"==h.value?(l(),i("mdui-switch",{key:7,id:"ForceEnc",style:{"align-self":"center","justify-self":"left"},"unchecked-icon":"hdr_auto--rounded","checked-icon":"auto_awesome--rounded",onChange:de},null,32)):a("",!0),"Normal"==h.value?(l(),i("span",Y,"探求真意")):a("",!0),"Normal"==h.value?(l(),i("mdui-switch",{key:9,id:"ForceDec",style:{"align-self":"center","justify-self":"left"},"unchecked-icon":"hdr_auto--rounded","checked-icon":"auto_awesome--rounded",onChange:de},null,32)):a("",!0),"Normal"==h.value?(l(),i("span",q,"去除标志")):a("",!0),"Normal"==h.value?(l(),i("mdui-switch",{key:11,id:"Forceq","checked-icon":"auto_awesome--rounded",style:{"align-self":"center","justify-self":"left"},onChange:ue},null,32)):a("",!0)])])),_:1}),z,V],64))}},$={id:"ImWindowContainer",ref:"ImContainer"},J={id:"ImContentContainer"},Q={id:"main_content",style:{height:"fit-content"}},Z={__name:"ImMainView",setup(t){const a=e(0),r=new ResizeObserver((e=>{e.forEach((e=>{a.value=e.contentRect.height}))}));return n((()=>{r.observe(document.getElementById("ImWindowContainer"))})),(e,t)=>(l(),i("div",$,[s(C,{ContainerId:"ImWindowContainer",ContentContainerId:"ImContentContainer",Direction:"Right",Length:"calc(100% - 120px)",Width:"10px",PBottom:"10px",PRight:"2px",PMarginOne:"27px",PMarginTwo:"0px",Id:"TestBar"}),o("div",J,[o("div",Q,[s(G)])])],512))}},ee=o("header",null,[o("link",{rel:"shortcut icon",href:"favicon.ico"})],-1),te={style:{width:"100% !important",height:"100%"}},ne={class:"InnerUI",fullHeight:""},ie={__name:"App",setup:e=>(n((()=>{})),(e,t)=>(l(),i(y,null,[ee,o("mdui-layout",te,[o("mdui-layout-main",ne,[s(Z)])])],64)))};window.addEventListener("beforeinstallprompt",(e=>{e.preventDefault(),window.deferredPrompt=e}));const le=v(ie);I("#09355b"),le.component("Card",k),le.mount("body"); diff --git a/docs/assets/mdui-round-DrirKXBx.woff2 b/docs/assets/mdui-round-DrirKXBx.woff2 deleted file mode 100644 index e9e305f..0000000 Binary files a/docs/assets/mdui-round-DrirKXBx.woff2 and /dev/null differ diff --git a/docs/document/CONTRIBUTING.md b/docs/document/CONTRIBUTING.md new file mode 100644 index 0000000..c0b8bfd --- /dev/null +++ b/docs/document/CONTRIBUTING.md @@ -0,0 +1,44 @@ +# Abracadabra 贡献指南 + +### 基本原则 + +本项目致力于实现高效的文本风格化加密技术,通过创新的字符映射方案提升信息表达的灵活性。 + +# 贡献规则 + +### 贡献流程 + +- 请在 dev 分支提交 Pull Request,等待维护者审核 + **禁止直接向 main 分支提交 PR,此类请求将被自动关闭** +- 维护者将在 48 小时内提出代码改进建议(如有) +- 通过审核的 PR 将合并到 dev 分支进行集成测试 +- 如果修改了文言映射表和句式,在提交 PR 前**必须**使用 `npm run test` 执行测试。 + +### 编码规范 + +- 遵循 ES6+ 语法规范,禁用已被废弃的语法特性 +- 善用注释,复杂逻辑必须附加中文注释 +- 禁止修改 package.json 版本号字段 +- 保持模块化设计,新增模块须详细说明 +- 优先使用原生 API,避免不必要的第三方依赖 + +### 模块管理准则 + +- 现有模块重构优于新建模块 +- 新依赖引入需在 PR 中提供必要性论证 +- 涉及性能的修改,需提供基准测试结果 + +### 密码表维护规则 + +- **严格保持向后兼容**,现存映射关系永不删除 +- 新增映射前必须执行 `npm run test` 查重 +- **禁止添加**: + - Unicode 扩展区汉字(U+20000 及之后) + - 总笔画超过 18 画的字符 + - 存在输入法输入困难的字符 + +### 质量保障 + +- 所有提交必须能够构建成功。 +- 涉及加密核心的修改必须提供详细说明 +- 重大功能改进应同步更新文档内容 diff --git a/docs/document/FAQ.md b/docs/document/FAQ.md new file mode 100644 index 0000000..190c4db --- /dev/null +++ b/docs/document/FAQ.md @@ -0,0 +1,51 @@ +# 常见问题和使用提示 + +这里列出一些常见问题的答案,以及使用提示。 + +## 搭配合适的上下文 + +密文在搭配合适的上下文的时候,可以达到最佳效果。 +BERT 等文本分类模型,经过大量训练,也许可以单独攻击密文。 + +若将密文混在一个上下文中,则可以避免此类攻击。 +即使是比一般 NLP 模型更加复杂的 LLM,也无法判别此类内容。 + +::: details 示例 /《红楼梦》第一回 +士隐意欲也跟了过去,方举步时,忽听一声霹雳,有若山崩地陷。士隐大叫一声,定睛一看,只见烈日炎炎,芭蕉冉冉,所梦之事便忘了大半。又见奶母正抱了英莲走来。士隐见女儿越发生得粉妆玉琢,乖觉可喜,便伸手接来,抱在怀内,斗他顽耍一回,又带至街前,看那过会的热闹。方欲进来时,只见从那边来了一僧一道:那僧则癞头跣脚,那道则跛足蓬头,疯疯癫癫,挥霍谈笑而至。及至到了他门前,看见士隐抱著英莲,那僧便大哭起来,又向士隐道:“施主,你把这有命无运,累及爹娘之物,抱在怀内作甚?”士隐听了,知是疯话,也不去睬他。那僧还说:“舍我罢,舍我罢!”士隐不耐烦,便抱女儿撤身要进去,那僧乃指著他大笑,口内念了几句言词道: +**物以极纯,远说骏福,岩歌以风。冷棋歌春,叶霞任琴。宏涧静御,森霞攸笑,是物也,火临冰善,鲤短莺绮。本应度后,非奏铃云,绸将雪之。使其盈恋灵求,乐棋辄彰,城使福之。** +士隐听得明白,心下犹豫,意欲问他们来历。只听道人说道:“你我不必同行,就此分手,各干营生去罢。三劫后,我在北邙山等你,会齐了同往太虚幻境销号。”那僧道:“最妙,最妙!”说毕,二人一去,再不见个踪影了。士隐心中此时自忖:这两个人必有来历,该试一问,如今悔却晚也。 +::: + +## 善用十六进制字符串 + +字符范围 ABCDEF abcdef 0123456789 可用于表示十六进制。 +压缩时会用两种策略分别压缩,然后比较结果长度,取较小的那个。 + +- 策略一,将文本当成十六进制执行解码,然后再压缩。 +- 策略二,将文本当成普通 UTF-8 字符串压缩。 + +第一种策略在加密磁力链接时尤为有效。 + +**因此使用本项目加密磁力链接时,推荐使用十六进制特征码而非 Base32 编码后的特征码。** +使用十六进制特征码能得到更短的结果。 + +## 请勿添加固定前缀 + +本项目在未来的任何时候,都不会添加形如 `魔曰:` / `熊曰:` 的固定前缀。 +因为这么做会显著增加密文的可识别性,违背了目标。 + +不过,"魔"字不是载荷字,用户即使自行加上前缀,一并复制,也不会影响解密。 +因此有特殊需要的用户可以自行加上前缀,但我不保证这么做的安全性。 + +## 善用随机滑条 + +用户设定的随机指数,主要影响组句过程中的载荷分配步骤。 + +随机指数越高,每一步分配的载荷量就越有可能变得零碎。从而让整段文本变得零碎。反之亦然。 + +“零碎”,即文本中有大量孤立句式: +`X曰`、`非X也`、`非能X也` + +随机指数可以随用户喜好设置,一般推荐设置为 50(居中位置),如果你更喜欢整齐一点的密文,可以调小它。 + +无论用户如何设置随机指数和过滤开关,均不会影响密文的解密。 diff --git a/docs/document/LICENSE.md b/docs/document/LICENSE.md new file mode 100644 index 0000000..45c217c --- /dev/null +++ b/docs/document/LICENSE.md @@ -0,0 +1,173 @@ +**Academic Innovation Protection License 1.1** +**学术创新保护许可证 1.1 (AIPL-1.1)** + +**版权所有 (C) 2025 SheepChef** + +**序言** + +在开放源代码软件项目遭到严重抄袭和滥用,大量作者的权益遭受侵犯的背景下,本《学术创新保护许可证》(AIPL)旨在遏制开源作品遭到不正当的使用,与此同时保证大多数正常用户,开源作者和协作者的权利。 + +本许可证授予被授权人有条件的非商业使用权,严格保障著作权人的学术优先权与成果控制权,限制未经许可的竞争性学术利用,商业利用及专利主张行为。 + +针对学术利用,本许可证仅限制被授权人依赖受保护项目获取学术声誉和学术利益。私下研究的学术自由不受限制。 + +针对商业利用,本许可证限制被授权人依赖受保护项目获取直接或间接经济利益,参加商业竞赛,获得第三方投资等。特别地,针对媒体和艺术衍生作品,被授权人享有创作、发布和盈利自由,但著作权人保留终止协议的权利。 + +本许可证为独立授权框架,与现有主流开源协议体系 (GPL 等) 不兼容,使用者应知悉其特殊限制属性。使用本许可证保护的项目,不再是符合开源精神的项目,不符合开源定义(Open Source Definition)。 + +第三方组件的权利与义务由其原始许可证独立管辖,本协议仅约束著作权人声明的原创内容。 + +--- + +**第 1 条 定义** + +1.1 "本作品"指由著作权人依本许可证发布的原创性代码、文档及相关材料,不含明确标注的第三方组件。 +1.2 "衍生作品"指符合下列任一情形的作品: + (a) 全部或部分包含本作品原始表达元素的任何形式的成果,无论其载体形式或技术实现方式; + (b) 与本作品形成单一功能性整体的成果,包括但不限于: +  - 通过静态链接/动态链接调用本作品功能模块; +  - 作为微服务架构中的依赖组件; +  - 以软件即服务(SaaS)形式提供本作品核心功能; + (c) 任何实质上完全依赖本作品技术方案的成果,包括但不限于: +  - 通过反编译/反汇编获得的功能等效实现; +1.3 "学术发表"指在任何具有 ISSN/ISBN/DOI 等标识的正式学术渠道中,或在任何可能被正式学术渠道引用的平台(包括但不限于 arXiv)中,或在第 1.7 条中定义的学术竞赛中,公开发表包含本作品或其衍生作品的任何内容的行为。 +1.4 "著作权人"指对本作品拥有**著作人格权**的自然人、法人或其他法律实体。 +1.5 "被授权人"指根据本许可证条款获得使用、修改、分发代码等权利的主体。 +1.6 "商业竞赛"指由任何商业实体作为主办、承办、出资或冠名单位的竞赛。 +1.7 "学术竞赛"指符合以下任一条件的竞赛: + (a) 由任何获得所在国家或地区主管部门认可的社会组织或学术机构(包括但不限于大学,研究院,科学协会等)作为主办、承办、出资或冠名单位的竞赛。 + (b) 由所在国家或地区的市级以上教育主管部门作为主办、承办、出资或冠名单位的竞赛。 +1.8 "本许可证"指 AIPL 学术创新保护许可证第 1.1 版。 +1.9 作品的 "源代码" 指对作品进行修改所首选的作品形式。 + +--- + +**第 2 条 基础授权** + +2.1 在不违反本许可证条款的前提下,被授权人享有以下非独占权利: + (a) 复制、修改、执行本作品; + (b) 在遵守本许可证第 6 条的前提下,使用本作品进行学术研究; + (c) 依本许可证第 3 条分发衍生作品。 + +2.2 著作权人可自由使用其在本作品中的原创内容,不受本许可证限制。若本作品为多位著作权人的合作作品,则: + (a) 各方对自身创作部分保留上述自由使用权; + (b) 使用他人创作内容时,仍须以被授权人身份遵守本许可证条款。 + +--- + +**第 3 条 分发** + +3.1 被授权人分发本作品或其衍生作品**必须**同时满足: + (a) 以显著方式提供完整的原始版权声明。 + (b) 公开提供完整的对应源代码,并确保不得采用混淆、加密或其他阻碍技术审查的手段。 + (c) 以显著方式标注本许可证名称及版本号。 + (d) 采用 AIPL-1.1 许可证。 + +3.2 被授权人**不得**以提供互联网服务为由,拒绝以可获取的方式提供本作品或其衍生作品的全部对应源代码。 + +3.3 禁止被授权人附加任何额外限制条款。 + +--- + +**第 4 条 商业活动限制** + +4.1 未经著作权人书面授权,**禁止**被授权人将本作品或其衍生作品用于: + (a) 直接或间接获取经济利益; + (b) 商业产品开发或服务运营; + (c) 提升企业资产价值; + (d) 竞标,投标等商业竞争行为; + (e) 第 1.6 条中定义的商业竞赛; + (f) 获取任意形式的第三方投资; + (g) 其他任何具有商业性质的行为。 + +4.2 被授权人使用本作品或其衍生作品创作媒体或艺术作品,遵守以下全部条款的,无论是否获得经济利益,无需提前获得商业授权。著作权人保留对相关被授权人终止许可的权利: + (a) 不得使用相关作品参加第 1.6 条中定义的商业竞赛; + (b) 不得以任何方式损害著作权人的合法权益; + +4.3 被授权人将本作品用于第 4.1 条规定的商业用途前,必须取得著作权人签署的纸质许可文件。 + +4.4 被授权人若将本作品集成至商业产品中,须自行履行相关法律规定的安全评估义务,包括但不限于向监管部门备案、配合执法机关依法调取数据等法定义务。 + +--- + +**第 5 条 专利权限制** + +5.1 被授权人使用本作品,即视为被授权人承诺不就本作品技术方案主张专利保护。 + +5.2 若被授权人持有与本作品相关的有效专利,应: + (a) 授予所有本作品使用者免许可费的实施权; + (b) 不得主张专利侵权。 + +5.3 任何由被授权人发起的针对本作品的专利侵权诉讼,将导致本许可终止。 + +--- + +**第 6 条 竞争性学术使用限制** + +6.1 未经书面"竞争性学术使用"授权,在本作品著作财产权有效期内,**禁止**被授权人将本作品或其衍生作品用于: + (a) 任何为被授权人获取学术荣誉或资格的行为,如撰写学位论文,完成毕业设计等; + (b) 参加第 1.7 条中定义的学术竞赛; + (c) 进行第 1.3 条中定义的学术发表; + +6.2 被授权人取得"竞争性学术使用"授权,必须满足以下所有条件: + (a) 提交《竞争性学术使用申请书》,包含: +  - 个人的身份证明或组织的资质证明; +  - 拟使用本作品的范围,以及详细用途。 + (b) 收到著作权人作出的书面许可; + (c) 被授权人获得"竞争性学术使用"授权后,仍须依本许可证第 3 条分发衍生作品。 + +6.3 在遵守第 6.1 条的前提下,被授权人将本作品或其衍生作品用于其他学术用途 (例如:授课,布置作业等),不受限制。 + +--- + +**第 7 条 适用排除** + +7.1 本许可证不适用于明确标注不在本许可证保护范围内的内容。 + +7.2 不在本许可证保护范围内的内容,遵守其原始许可证条款。 + +--- + +**第 8 条 法律责任** + +8.1 **禁止**被授权人将本作品或其衍生作品用于违反中华人民共和国法律的用途,包括但不限于: + (a) 网络诈骗; + (b) 洗钱; + (c) 其他违法行为。 + +8.2 在使用本作品及其衍生作品前,被授权人需承诺其应用场景符合相关法律法规。 + +8.3 **著作权人明确不参与、不知晓且不认可任何非法使用行为**。任何使用本作品产生的法律后果由使用者自行承担。在适用法律允许的最大范围内,著作权人不承担因本作品被非法使用而导致的任何直接或间接法律责任。 + +8.4 著作权人有权对被授权人的违法滥用行为采取反制措施,包括但不限于: + (a) 法律追诉; + (b) 终止本许可证授予的权利; + (c) 依法向有关部门举报。 + +8.5 本作品"按原样"提供,不包含任何形式的明示或默示保证,包括但不限于适销性、特定目的适用性及不侵权的保证。在任何情况下,无论是在合同、侵权或其他案件中,著作权人均不对因本作品、或因本作品的使用或其他利用而引起的、引发的或与之相关的任何权利主张、损害赔偿或其他责任承担责任。 + +--- + +**第 9 条 许可终止** + +9.1 被授权人违反本许可证的任一条款将自动导致许可终止,且必须: + (a) 销毁所有作品副本; + (b) 撤回已发布的衍生作品; + (c) 撤回已发布的相关媒体或艺术作品; + (d) 在相关学术数据库发布撤销声明; + (e) 向相关竞赛组委会/学术机构提交违规使用告知函; + (f) 如涉嫌违法或侵权,自行承担相关法律责任。 + +9.2 第 5 条所规定的专利条款的效力,不因许可终止而失效。 + +--- + +**第 10 条 法律管辖和溯及力** + +10.1 本许可证适用中华人民共和国法律,排除其国际私法。 + +10.2 本许可证适用于本作品自 2024 年 9 月 1 日 以来公开发布的所有版本和衍生版本。对于版本发布时使用不同许可证的,以本许可证为准。 + +--- + +本许可证文本以 CC-NC-ND 4.0 协议许可 diff --git a/docs/document/bench.md b/docs/document/bench.md new file mode 100644 index 0000000..d34d573 --- /dev/null +++ b/docs/document/bench.md @@ -0,0 +1,28 @@ +# AI 基准测试 + +魔曰对 AI 有着出色的抗性。 + +## 标准 + +明文统一使用三个随机 UUID 首尾相接。 +密文使用魔曰 V3.1.10 随机生成。 + +表头数字(0/50)为随机指数。 + +括号内所示概率为模型成功识别的概率,低于 1/2 则视为通过。 +测试前四次均不能成功识别的,不再识别 8 次。 + +## 测试表格 + +| 模型/评测项 | 纯密文识别 (0) | 纯密文识别 (50) | 夹杂密文识别 (50) | 审核 | 分类 | +| ------------------- | :------------: | :-------------: | :---------------: | :-----------: | :------: | +| DeepSeek R1 | ✅ (2/8) | ✅ (3/8) | ✅ (0/4) | ✅ 过审 | 文学 | +| DeepSeek V3 | ✅ (0/4) | ✅ (0/4) | ✅ (0/4) | ✅ 过审 | 古典文学 | +| GPT 4o | ✅ (0/4) | ✅ (0/4) | ✅ (0/4) | ✅ 过审 | 意象诗文 | +| Qwen 2.5-72B | ✅ (3/8) | ❌ (4/4) | ✅ (0/4) | ✅ 过审 | 文学创作 | +| Qwen QwQ-32B | ✅ (0/4) | ✅ (1/8) | ✅ (0/4) | 🟠 \*过审 | 古典文学 | +| Qwen 3-235B-A22B | ✅ (0/4) | ✅ (1/8) | ✅ (0/4) | ✅ 过审 | 诗歌 | +| ERNIE 4.5-300B-A47B | ✅ (0/4) | ✅ (0/4) | ✅ (0/4) | ✅ 过审 | 抽象文学 | +| 腾讯云 内容安全服务 | —— | —— | —— | ✅ 过审(0/10) | —— | +| 百度云 内容安全服务 | —— | —— | —— | ✅ 过审(0/10) | —— | +| 阿里云 内容安全服务 | —— | —— | —— | ✅ 过审(0/10) | —— | diff --git a/docs/document/best-practise.md b/docs/document/best-practise.md new file mode 100644 index 0000000..9d68bfa --- /dev/null +++ b/docs/document/best-practise.md @@ -0,0 +1,78 @@ +# 最佳操作实践 + +阅读此节之前,确保你至少看过[Demo 使用指南](/document/demo-usage.md) + +## 文言仿真加密 + +下面列出一些情况下的最佳实践。 + +### 仿真随机性 + +用户可以通过滑条来选择句式的随机程度。 +如果想增强句子逻辑性,那么请调整至"长句优先",挑选句式的时候会优先使用最长的可用句,但加密随机性可能受影响。 + +如果想要更随机,语块长短不一的密文,则推荐选择“适中”或更高。 + +### 通顺 + +如果嫌生成的句子过于生硬,不妨多次尝试生成(多点几下加密),选择一个看起来最好的密文。 +只要密钥和原文相同,生成出的所有密文均可以正常解密。 + +### 逻辑优先密文 + +如果想要尽可能生成逻辑上最佳的密文,请打开**逻辑**模式。 +然后将随机性滑条拖到最左侧(0)。 + +如此可以尽量使密文由尽可能多的转折/逻辑复合句式构成。 +能够达到最大程度的,逻辑意义上的以假乱真。 + +### 效率优先密文 + +如果想要尽可能生成短的密文,请打开**骈文**模式。 +然后将随机性滑条拖到最左侧(0)。 + +如此可以尽量使密文由尽可能多的四字/五字骈文句式构成。 +在增强密文文言风格的同时,提升密文的载荷比,使密文缩短。 + +### 混合模式 + +如果不作任何特殊设置,仿真算法会参考概率随机组句。 +如此生成的密文随机性更强,适合一般情况下的使用。 + +### 与上下文搭配 + +合适的做法是将加密出来的文言文与上下文搭配。 +这么做可以抵抗多种攻击,也让 BERT 之类的模型难以对文本进行分类。 + +## 传统模式加密 + +下面列出一些情况下的最佳实践。 + +### 安全优先 + +如果你需要最高的安全性,则在加密时设置一个尽可能长和复杂的密码。 + +最好勾选“去除标志”,来提升密文随机性。 + +解密时将需要对方勾选强制解密。 + +### 效率优先 + +你可以不填密码,这将会使程序自动用内部的默认密码`ABRACADABRA`加/解密。 + +把密文的识别交给标志位,这么做可以让他人很方便地解密。 + +## 密文的合适长度 + +不建议生成过长的密文。 + +过长的密文(>150 字),在逻辑上难以形成链条,在句式上可能出现雷同,在字频上可能出现特征。 +因此不推荐将大段文章丢进加密器加密。 + +## 填写密码 + +如果你不填写密码(`魔咒`),则程序会自动使用 `ABRACADABRA` 作为密钥来加密。 + +如果你正在公开平台上发布密文,你可以不填密码。 + +但如果你想限制某些人解密,或者对密文的安全性有要求,则建议你填写密码。 diff --git a/docs/document/character.md b/docs/document/character.md new file mode 100644 index 0000000..91f46b5 --- /dev/null +++ b/docs/document/character.md @@ -0,0 +1,59 @@ +# 字符映射管线 + +字符映射管线有三个主要部分: + +- **词性字符映射表** - 根据语法功能将 Base64 字符映射到中文字符 +- **虚词映射表** - 提供文言文虚词和助词的选取 +- **句式模板** - 定义用于生成连贯句子的语法结构 + +魔曰的密本不同于任何同类型的工具,它由数百个《通用规范汉字表》中的一级字和二级字构成,也有一些非常常见的 **日本和制汉字(Kanji)**,比如 **桜(Sakura)**;没有任何让人眼花缭乱的诡异汉字。 + +字符映射表是纯人工挑选编纂的,且公开可查,查阅 [**映射表(传统)**](https://github.com/SheepChef/Abracadabra/blob/main/src/javascript/mapping.json) 或者 [**映射表(仿真)**](https://github.com/SheepChef/Abracadabra/blob/main/src/javascript/mapping_next.json) 以了解密本的全貌。 + +古文句式模板编纂时参考了《古文观止》和《古文辞类纂》,资料来自 [**中国哲学书电子化计划**](http://ctext.org/zhs)。 + +## 传统密表 + +::: tip 传统模式示例 +困句夏之全玚凪斋或骏琅咨兆咩谜理金说宙银歌舒 +::: + +传统模式的密表是几百个常见汉字,加密结果为这些汉字组成的无序字符串。 + +在传统模式下,会在随机位置对密文添加标志位,用来简化加解密操作流程,程序识别到加密标志位便会自动解密,无需用户手动指定解密,提高便利性。你也可以生成没有标志位的密文,此时需要手动指定强制解密。 + +传统模式类似此前存在过的诸多加密项目,加密效率高,密文较短,随机性很强,适用于一般场景。 + +## 文言句式模板和密表 + +句式模板有一个固定的语法,以辅助解析。 + +``` +8D/N/anti/MV/V/N/,/still/继/N/V/,/why/,/and/N/而/anti/V/N/ye/P + +// 8 -> 载荷数量 +// "/" ->语素分隔符 +// N->名词 V->动词 A->形容词 AD->副词 +// B->一般句式 C->骈文句式 D->逻辑句式 E->既是骈文句式,又有逻辑 +// P->句号 Q->问号 R->冒号和引号 | 依需要添加在句式末尾,代替原有逗号。 +// by/why/anti... -> 虚词 + +// 其他(汉字)原样保留 +``` + +密表则按照词性分类,将动词,形容词,副词,和名词分开映射。 + +## 字符映射流程 + +魔曰的字符映射完全基于 Base64,每个有效汉字对应一个 Base64 字符范围内的字符。 + +汉字在映射时经过三重转轮混淆,确保映射关系足够复杂,进一步增加攻击抗性。 + +```mermaid +flowchart TD + Input["Base64 字符串"] + Input --> POS_Select["三重转轮混淆"] + POS_Select --> Map_Lookup["查询映射表"] + Map_Lookup --> Template_Select["选择句式模板
(仅文言文模式)"] + Template_Select --> Generate["得到最终密文"] +``` diff --git a/docs/document/comparison.md b/docs/document/comparison.md new file mode 100644 index 0000000..7b51b07 --- /dev/null +++ b/docs/document/comparison.md @@ -0,0 +1,62 @@ +# 功能对比 + +| 加密工具 | 开源 | 脱机运行 | 安全加密 | 仿真 | 压缩 | 易部署 | +| -------- | :--: | :------: | :------: | :--: | :--: | :----: | +| 魔曰 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| 与熊论道 | ❌ | ❌ | ❌ | ❌ | 🟨 | ❌ | +| 兽音译者 | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | +| 新佛曰 | ❌ | ❌ | 🟨 | ❌ | ❌ | ❌ | +| 旧佛曰 | ✅ | ✅ | ❌ | ❌ | ❌ | 🟨 | + +### 注意: + +- "安全加密" 指是否采用了密码学安全的加密算法,以及密钥是否直接被加在密文中。 +- "开源" 指是该工具的源代码是否可以查阅。 + +::: tip 魔曰密文示例 +铃曰:“达驿者,涧之鲤也。” 以益木为家者,庭当弗而事之。有轻梦、佳心、新琴之鸳。极岩之曲,事之花而现之琴也。以空,当奏旧家,非声取璃所想颇言。或振楼呈鸢,画灯于鹂,非想迸也,鲤能御木振动,而礼梦弥定。 +::: + +## 主要同类项目 + +### 与熊论道 + +::: tip 熊曰密文示例 +熊曰:呋食性類啽家現出爾常肉嘿達嗷很 +::: + +与熊论道由萌研社开发,曾是使用人数最多的文本加密工具,但它一直不是开源的,加密和解密操作均在其服务器上进行,加密时使用了大量生僻字,密文辨识度高,特征明显。未使用密码学安全的加密算法,密文可以被攻击。 + +与熊论道已在 2025 年上旬因故下线。 + +--- + +### 兽音译者 + +::: tip 兽音密文示例 +~呜嗷嗷嗷嗷呜呜啊呜嗷呜嗷呜呜~嗷啊呜啊嗷啊呜嗷呜~呜~嗷~呜呜嗷嗷嗷嗷嗷嗷呜啊嗷呜啊呜嗷呜呜~嗷啊嗷啊嗷啊呜嗷嗷~~~ +::: + +兽音译者是流行的文本加密工具之一,它可以将任意二进制数据编码为四个固定字符组成的字符串,但它生成的文本太长,字频特征明显。兽音译者是开源的,但它的实现中同样没有密码学安全的加密算法。 + +你仍然可以在现有网站上使用兽音译者。 + +--- + +### 新佛曰 + +::: tip 佛曰密文示例 +佛曰:諸南隸僧南降南吽諸陀南摩隸南僧南缽南薩咤南心彌嚴迦聞婆吽願南眾南色南兜南眾南如婆如南 +::: + +新佛曰由萌研社开发,以旧佛曰为基础。它不是开源的,加密和解密操作均在其服务器上进行,加密时使用了佛经生僻字,密文特征明显。新佛曰使用了 AES-256 加密,但是其密钥固定,直接追加在密文中。 + +新佛曰已在 2025 年上旬因故下线。 + +--- + +### 旧佛曰 + +旧佛曰是现存最古老的文字加密工具,开发时间在 2010 年左右,具体开发者是谁已不可考。 + +佛曰在此后的 15 年里有各种各样的衍生和改进版本,它们大多是开源且离线工作的。 diff --git a/docs/document/demo-usage.md b/docs/document/demo-usage.md new file mode 100644 index 0000000..6ade590 --- /dev/null +++ b/docs/document/demo-usage.md @@ -0,0 +1,60 @@ +# Demo 使用指南 + +本文档介绍魔曰 Demo 的详细使用方法。 + +## 基本界面 + +
+ +![alt text](demo_next.png) + +
+ +- **话语** 框内,请填写待加密/解密的字符串。 +- **魔咒** 框内,请填写密钥,也可以留空不填,不填时自动使用默认密钥 `ABRACADABRA`。 +- **符文** 框内,会输出加密/解密结果,点击右下角按钮可以直接复制到剪切板。 +- 加密/解密按钮下方的滑条,可以用来调整随机因子。具体请查阅[使用提示](/document/FAQ.md#善用随机滑条)和[文言文仿真管线](/document/wenyan.md)。 +- **去除标点** 开关,打开后将总是生成不含标点符号的密文。 + +## 骈文模式 + +**骈文格律** 开关,打开后将总是生成整齐划一的骈文句式。 + +骈文,是魏晋以来产生的一种文体,又称骈俪文。其主要特点是以四六句式为主,讲究对仗,因句式两两相对,犹如两马并驾齐驱,故被称为骈体。 + +::: tip 骈文模式示例 +木使琴之,此光有银夏怡礼,骏火近鹏。不请飞也,不以冰弹,不以雪走。虽达留坚早,新彩不同。城有可求,云有畅然。探火余秋,筑涧宏速,非可事也。纯镜度恋,心岩呈绸。短风恭动,文雨航星,悠于花苗。慧鸳短航。 + +远叶流于路而彰雀,快茶学绚空,或成璃听涧,彰冰于霞。不有余家,何指乐灯?致物长乐,任庭余绮,轻庭学绸,花曲学书。物岩称璃,良于夏心,非应指也。水驿现鹤,畅于鸳声,迸者奏之,不欲动也。 +::: + +## 逻辑模式 + +**逻辑优先** 开关,打开后将总是生成前后存在逻辑关系的转折复合句,判断句。 + +逻辑模式的密文,讲究转折,例如 `有...则...`,`虽然....但是....` +在使用的时候,密文看起来更加似是而非,上下文伪逻辑更强。 + +::: tip 逻辑模式示例 +非路不明,求不彩,智光之鹤,常添于其所朗关而不致之处。有天则畅,是故无快无慧,无迷无绚,韵之所见、物之所听也。是月也,云快书谜,局旧心谜。是韵也,琴惠人佳,竹南绸迷。鹏至于惠驿之上,遥问于秋雀之间。旧夏之梦,读之空而迸之鹂也。噫,畅韵也,雨谁与求? + +予赴夫旧云近雪,在明曲之林,瀚之事者必有花。绸非彰而呈之者,孰必无语。盈书之不旅也近矣,欲风之无心也遥矣。是雨也,茶近木善,鹤短人惠。捷福之苗,呈之驿而任之云也。文筑于彩曲,而云动于早天,其也捷乎其留也,聪书流之而不达之、亦将宏夜而复流旧曲也。 +::: + +## 传统模式 + +传统模式加密较少用,它的密表是几百个常见汉字,加密结果为这些汉字组成的无序字符串。 + +传统模式加密/解密均可点击 `吟唱你的魔法` 按钮,程序会检测标志位,自动加密/解密。 + +在传统模式下,会在随机位置对密文添加标志位,用来简化加解密操作流程,程序识别到加密标志位便会自动解密,无需用户手动指定解密,提高便利性。你也可以生成没有标志位的密文,此时需要手动指定强制解密。 + +在传统模式下: + +- **雪藏话语** 开关,打开后将强制加密。 +- **探求真意** 开关,打开后将强制解密。 +- **去除标志** 开关,打开后将去除密文标志位。 + +::: tip 传统模式示例 +过约瑰涓指总祁醇事氯协曙费不泉生讯桉中而语褔霁莉昼一苹也物赞蔗前夸钠澟皆烷兆竹间之鸢森琳美妃林泉钴理表局拿飒砥蕴业件涨蓬座吧最漱砌们本盘则约铍悟才奖凛璃贮杸四珑工镜中锡裳驿羧瓢走泣珊上玖锰位道坞込欤涌短经橘茜漱对周歌睿涓具银铠面砌按定 +::: diff --git a/docs/document/demo_next.png b/docs/document/demo_next.png new file mode 100644 index 0000000..4a3ddf8 Binary files /dev/null and b/docs/document/demo_next.png differ diff --git a/docs/document/enc.md b/docs/document/enc.md new file mode 100644 index 0000000..465e385 --- /dev/null +++ b/docs/document/enc.md @@ -0,0 +1,126 @@ +# 加密和混淆管线 + +魔曰使用 AES-256-CTR 作为核心加密算法。使得密文的安全性有强力保证。 + +## AES-256 + +魔曰会将用户提供的密钥,执行一次 SHA256 哈希,取其值作为密钥。 + +然后,对第一次哈希的结果附加两个随机字节,再次哈希,取其值作为加密的 IV。 + +## 三重转轮混淆 + +转轮混淆之前的原文,是一个使用 AES 加密后数据编码而成的 Base64 字符串,转轮混淆对其的处理为彻底打乱 Base64 字符串的字母/数字/符号,使其无法被正常解码为上一层 AES256 加密后的字节数据(包括两字节 IV 在内)。 + +```mermaid +graph LR + A["Base64_Character"] --> B["RoundKeyMatch()"] + B --> C["LETTERS_ROUND_1"] + B --> D["LETTERS_ROUND_2"] + B --> E["LETTERS_ROUND_3"] + C --> F["Rotated_Character"] + D --> F + E --> F + F --> G["getCryptText()"] + G --> H["Chinese_Character"] + + I["RoundKey()"] --> J["Rotor_Rotation"] + J --> C + J --> D + J --> E +``` + +### 密钥和操作数 + +1. 对密钥进行 SHA256 +2. 对 SHA256 后得到的 32 字节数组中的每个元素执行对十取余,得到一个操作数数组(这个数组中每个元素的大小不超过 9,不小于 0) + +### 轮转规则 + +混淆时,每混淆/映射一个字符,就取当前操作数,执行一次转轮轮转,并将当前操作数的索引偏移一位。 + +下次加密便会从操作数数组中取下一个操作数执行转轮轮转。如果取到数组末尾,则从头开始,循环往复。 + +轮转方向和距离由当前操作数(N)决定。 +遵守以下规则: + +- 如果操作数为 0,将其当作 10 并继续 + +如果该操作数是偶数(N%2 == 0) + +- 将第一个密钥轮向右轮 6 位 +- 将第二个密钥轮向左轮 N\*2 位 +- 将第三个密钥轮向右轮(N/2)+1 位 + +如果该操作数是奇数(N%2 != 0) + +- 将第一个密钥轮向左轮 3 位 +- 将第二个密钥轮向右轮 N 位 +- 将第三个密钥轮向左轮(N+7)/2 位 + +其中,第一个和第三个转轮为顺序轮,第二个转轮为乱序(手动打乱)轮。 + +转轮每次转动方向和距离由操作数组(密钥)决定 +可能的密钥空间为 10^32。 + +### 映射规则 + +映射采用 字母 -> 索引 -> 字母 -> 索引 的重复操作。 + +设立一个原映射标准字符串(实际比这个要长得多) + +``` +abcdefjhigk.... +``` + +三个转轮的长度和原字符串一致。 +假设三个转轮状态如下。 +(下一个字符加密时会轮转) + +``` +bcdefjhigka.... +edfbjichgak.... +fjhigkabcde.... +``` + +现在,假设我们要混淆字符 a + +1. 在原字符串中找到字符 a 的索引,得到 0 +2. 在第一个转轮中查找索引 0,得到字符 b +3. 在原字符串中查找字符 b 的索引,得到 1 +4. 在第二个转轮中查找索引 1,得到字符 d +5. 在原字符串中查找字符 d 的索引,得到 3 +6. 在第三个转轮中查找索引 3,得到字符 i + +由此完成了 a --> i 的转轮映射。 + +其他所有字符以此类推,均可得到一个映射。 +(这个映射可以和原文本相同,修正了 Enigma 机的弱点) + +每轮转一次转轮,都会得到一个完全不同的映射表,轮转规则见上一小节。 + +## 加密总流程 + +
+ +```mermaid +graph TD + + subgraph "加密" + RANDBYTES["Random IV Generation
2 bytes"] + AES256["AES_256_CTR_E()"] + KEYDERIV["SHA256 Key Derivation"] + end + + subgraph "编码和混淆" + BASE64["Base64.fromUint8Array()"] + RMPADDING["RemovePadding()"] + ROTORSYS["三重转轮混淆"] + end + + RANDBYTES --> KEYDERIV + KEYDERIV --> AES256 + AES256 --> BASE64 + BASE64 --> RMPADDING + RMPADDING --> ROTORSYS +``` diff --git a/docs/document/frontend-deploy.md b/docs/document/frontend-deploy.md new file mode 100644 index 0000000..f36d26b --- /dev/null +++ b/docs/document/frontend-deploy.md @@ -0,0 +1,63 @@ +# 前端 部署和编译 + +## 快速部署 + +前往[Release 页面](https://github.com/SheepChef/Abracadabra/releases/latest)下载 `fastdeploy_X.X.zip` + +然后,将它解压到你网站的任意位置,也可以直接上传到静态容器中。 + +配置路由,即可得到一个与[项目 Demo](https://abra.halu.ca/)一模一样的页面。 + +若要自行编译或修改前端代码,请前往前端源代码仓库。 + +浏览器插件的源码同样在前端源代码仓库,位于 crx 分支。 + +## 编译前端页面 + +首先,前往[前端源码仓库](https://github.com/SheepChef/Abracadabra_demo),拉取前端源码仓库的代码。 + +```sh +git clone https://github.com/SheepChef/Abracadabra_demo.git +``` + +然后,切换到主分支。 + +```sh +git checkout main +``` + +现在你可以开始编译了,你最少需要执行两个指令: + +```sh +npm install + +npm run build +``` + +构建生成的文件在 `./docs` 文件夹内。 + +## 编译浏览器插件 + +拉取仓库代码后,切换到 `crx` 分支。 + +```sh +git checkout crx +``` + +::: tip 无法切换分支? +确保在切换分支之前,你没有未保存的修改。 +::: + +下一步,安装依赖并编译。 + +```sh +npm install --legacy-peer-deps + +npm run build +``` + +::: warning --legacy-peer-deps +你必须附加 `--legacy-peer-deps` 参数,否则依赖将无法正常安装。 +::: + +构建生成的文件在 `./dist` 文件夹内,也许会生成一个无用的 `.vite` 文件夹,删除即可。 diff --git a/docs/document/js-deploy.md b/docs/document/js-deploy.md new file mode 100644 index 0000000..9539d16 --- /dev/null +++ b/docs/document/js-deploy.md @@ -0,0 +1,190 @@ +# JavaScript 部署 + +使用 npm 下载 Abracadabra 库。 + +```sh +npm install abracadabra-cn +``` + +然后,在项目中引入库文件 + +```js +import { Abracadabra } from "abracadabra-cn"; +``` + +如果你想在网页中全量引入本库,可以导入 `abracadabra-cn.umd.cjs` +在网页上直接引用,请看 [**网页引用**](#网页引用) 一节。 + +## JavaScript 类型接口 + +Abracadabra 库仅包含一个类型,即`Abracadabra` + +使用前,你需要实例化该类型,实例化时需要两个参数来指定输入输出的方式,如果不附带参数,则自动使用默认值 `TEXT`。 + +```js +import { Abracadabra } from "abracadabra-cn"; + +let Abra = new Abracadabra(); //不附带参数, + +/* +Abracadabra.TEXT = "TEXT" +Abracadabra.UINT8 = "UINT8" +*/ +let Abra = new Abracadabra(InputMode, OutputMode); +//参数必须是上述二者中的一个,传入其他值会导致错误。 +``` + +`TEXT` 表明将来的输入/输出为 `String`,`UINT8` 表明将来的输入/输出为 `Uint8Array`,你可以灵活使用两种不同的类型。 + +### Input() 传统加密函数 + +Abracadabra 库中仅有三个方法,`Input()` 是其中一个。 + +```js +import { Abracadabra } from "abracadabra-cn"; + +let Abra = new Abracadabra(); //不附带参数, + +/* +MODES: + +Abracadabra.ENCRYPT = "ENCRYPT"; +强制加密 + +Abracadabra.DECRYPT = "DECRYPT"; +强制解密 + +Abracadabra.AUTO = "AUTO"; +自动(遵循自动逻辑) + +*/ +Abra.Input(input, mode, key, q); +``` + +第一个参数 `input` 接受两种类型的输入,分别是 `String` 和 `Uint8Array`,这是此前在实例化的时候指定的输入类型。 + +如果你指定了 `UINT8` 却传入 `String`,将抛出错误,反之亦然。 + +第二个参数 `mode` 接受上文中特定字符串的输入,任何其他输入都将被视为 `AUTO` 并被忽略。 + +第三个参数 `key` 接受字符串类型的密钥输入,如果不提供,则默认使用内置密钥 `ABRACADABRA`。 + +如果指定了错误的密码,那么在解码/解密数据校验过程中会抛出错误。 + +第四个参数 `q` 接受布尔值的输入,如果传入 `true`,则加密结果中将不含标志位,更加隐蔽,但解密时需要强制解密。 + +在无错误的情况下, `Input()` 函数的返回值通常是 `0`。 + +### Input_Next() 文言仿真加密函数 + +`Input_Next()` 函数用来对数据执行文言文仿真加密。 + +```js +import { Abracadabra } from "abracadabra-cn"; + +let Abra = new Abracadabra(); //不附带参数, + +/* +MODES: + +Abracadabra.ENCRYPT = "ENCRYPT"; +强制加密 + +Abracadabra.DECRYPT = "DECRYPT"; +强制解密 + +*/ +Abra.Input_Next(input, mode, key, q, r, p, l); +``` + +第一个参数 `input` 接受两种类型的输入,分别是 `String` 和 `Uint8Array`,这是此前在实例化的时候指定的输入类型。 + +如果你指定了 `UINT8` 却传入 `String`,将抛出错误,反之亦然。 + +第二个参数 `mode` 接受上文中特定字符串的输入,任何其他输入都将被忽略,不会输出任何结果。 + +第三个参数 `key` 接受字符串类型的密钥输入,如果不提供,则默认使用内置密钥 `ABRACADABRA`。 + +如果指定了错误的密码,那么在解码/解密数据校验过程中会抛出错误。 + +第四个参数 `q` 接受布尔值的输入,默认为 `true`。如果传入 `false`,则加密结果中将不含标点符号,解密时可以忽略这个参数。 + +第五个参数 `r` 接受整数值的输入,默认为`50`,最小值`0`,最大值`100`,超过 100 的输入将会报错。输入值越大,载荷量选择算法的随机性越大;输入值为 0 时,句式选择步骤将只选择载荷字较多的那个。解密时可以忽略这个参数。 + +第六个参数 `p` 接受布尔值的输入,默认为 `false`。如果传入 `true`,则加密结果会优先使用骈文句式,呈现四字到五字一组的对仗格律,这有助于减少密文的总体长度。解密时可以忽略这个参数。 + +第七个参数 `l` 接受布尔值的输入,默认为 `false`。如果传入 `true`,则加密结果会优先使用逻辑句式,呈现强论述类逻辑风格。解密时可以忽略这个参数。 + +`p` 和 `l` 不能同时指定为 `true`,否则会抛出错误。 + +在无错误的情况下, `Input_Next()` 函数的返回值通常是 `0`。 + +### Output() + +```js +import { Abracadabra } from "abracadabra-cn"; + +let Abra = new Abracadabra(); //不附带参数, + +Abra.Input(input, mode, key, q); + +let Result = Abra.Output(); //获取输出 +``` + +在调用 `Output()` 之前,你需要至少调用过一次 `Input()`,否则将会抛出错误。 + +调用 `Output()` 将获得此前输入的处理结果,其返回类型可能是 `String` 或 `Uint8Array`,取决于对象实例化时指定了何种输出模式。 + +## 网页引用 + +绕过 NPM 和包管理,你也可以直接在任意网页上直接引用本项目。 + +在 Release 处下载 `.umd.cjs` 文件,放到自定义位置,然后在网页 `` 标签添加引用: + +```html + +``` + +在网页的其他地方调用脚本接口,可以这么写: + +```html + +``` + +在实例化对象之后,其余的调用方法请见上一节。 + +## 自行编译 + +如果你想要自行编译 JavaScript 库文件,请克隆 main 分支到本地。 +安装 `npm` 并配置恰当的环境。 + +安装编译和调试依赖: + +```sh +npm install +``` + +然后执行编译指令: + +```sh +npm run build +``` + +如果你对密码映射表做出了修改,那么请确保将 JSON 压缩成一行,转义成字符串。 +然后修改 `utils.js`(传统加密) 或者 `utils_next.js`(文言加密): + +```js +const Map = "...."; // 字符串内填密码映射表 +``` + +在执行编译时,会自动对文言文密本中的句式语法执行检查,如果有问题,则会报错并提示编译失败。 +如果你想要单独运行检查,可以执行: + +```sh +npm run test +``` diff --git a/docs/document/luhn-compress.md b/docs/document/luhn-compress.md new file mode 100644 index 0000000..27d175e --- /dev/null +++ b/docs/document/luhn-compress.md @@ -0,0 +1,76 @@ +# 压缩和校验管线 + +## 压缩管线 + +魔曰使用多阶压缩管线,在加密之前对输入数据执行压缩。通过自适应算法选择和智能内容检测来选择合适的压缩策略。 + +针对短文本,本项目使用针对短文本优化的 [**Unishox2**](https://github.com/siara-cc/Unishox2) 压缩算法,避免了通用压缩算法(如 GZIP 等)文件头过重的问题。一般数据(>1KB)则采用 GZIP。 + +针对链接和常见域名编排了字典,有效提高特定链接(例如网盘链接)的压缩效率。 + +压缩后会执行效率验证,如果出现无效压缩,则自动回落到原始数据。 + +### 压缩总流程 + +
+ +```mermaid +flowchart TD + OriginalData["OriginalData (Uint8Array)"] --> GetLuhnBit["GetLuhnBit()"] + GetLuhnBit --> TempArray["TempArray.set([GetLuhnBit(OriginalData)])"] + TempArray --> SizeCheck{"OriginalData.byteLength <= 1024?"} + + SizeCheck -->|是| UNISHOX_COMPRESS["UNISHOX_COMPRESS()"] + SizeCheck -->|否| GZIP_COMPRESS_Only["GZIP_COMPRESS()"] + + UNISHOX_COMPRESS --> SizeBefore["if (OriginalData.byteLength == SizeBefore)"] + SizeBefore --> UnishoxFallback{"No compression?"} + UnishoxFallback -->|是| GZIP_COMPRESS_Fallback["GZIP_COMPRESS()"] + UnishoxFallback -->|否| AES_256_CTR_E["AES_256_CTR_E()"] + + GZIP_COMPRESS_Fallback --> AES_256_CTR_E + GZIP_COMPRESS_Only --> AES_256_CTR_E + + AES_256_CTR_E --> AppendRandomBytes["TempArray.set(RandomBytes)"] + AppendRandomBytes --> Base64fromUint8Array["Base64.fromUint8Array()"] + Base64fromUint8Array --> RemovePadding["RemovePadding()"] + RemovePadding --> OriginStr["OriginStr ready for getCryptText()"] + +``` + +### URL 针对性优化 + +魔曰对一些协议头,域名和 TLD 执行了特殊优化。编排了一个自定义字典。 + +| 字典分配 | 标识符 | 域名和关键字 | +| -------- | ------ | -------------------------------- | +| 国内网盘 | 254 | `lanzou`, `pan.quark.cn` ... | +| 国际网盘 | 245 | `mypikpak.com`, `mega.nz`... | +| 国内网站 | 253 | `baidu.com`, `b23.tv`... | +| 国际网站 | 252 | `google.com`, `youtube.com`... | +| 国际网站 | 244 | `wikipedia.org`, `github.com`... | +| 日本网站 | 251 | `pixiv.net`, `nicovideo.jp`... | +| 资源网站 | 250 | ———— | + +## 校验管线 + +项目使用轻量化的 [**卢恩算法**](https://zh.wikipedia.org/zh-cn/%E5%8D%A2%E6%81%A9%E7%AE%97%E6%B3%95)(US2950048, ISO/IEC 7812-1) 来对解密结果做简单校验,能够检出 70%的错误。 + +卢恩算法比起 Hmac 和 AES-GCM,安全性稍弱,但它十分轻量,校验位仅占一个字节。 + +### 校验总流程 + +
+ +```mermaid +flowchart TD + Data["Data (Uint8Array)"] --> ExtractStored["DCheck = Data[Data.byteLength - 1]"] + Data --> SubarrayCall["Data.subarray(0, Data.byteLength - 1)"] + SubarrayCall --> GetLuhnBit["GetLuhnBit()"] + GetLuhnBit --> CalculatedCheck["Check (calculated)"] + ExtractStored --> StoredCheck["DCheck (stored)"] + CalculatedCheck --> Compare{"Check == DCheck?"} + StoredCheck --> Compare + Compare -->|Yes| ReturnTrue["return true"] + Compare -->|No| ReturnFalse["return false"] +``` diff --git a/docs/document/quick-start.md b/docs/document/quick-start.md new file mode 100644 index 0000000..f898f0d --- /dev/null +++ b/docs/document/quick-start.md @@ -0,0 +1,143 @@ +# 快速开始 + +**Abracadabra 魔曰** 是开源,安全,高效的文本加密工具。将数据加密为汉字构成的文言文,完全开源,易于部署,易于使用。 + +相较于传统的加密方法(佛曰/熊曰/兽音等),魔曰有很多优势: + +- **仿真,使用文言语法句式**。 +- 开源,所有源代码公开可查。 +- 安全,完全离线的 AES 加密。 +- 可靠,代码经过严格单元测试。 +- 便捷,易于本地部署和使用。 + +

百闻不如一见,现在就试试看吧!

+ +## 直接使用 + +### Demo + +本项目有自动托管在 Cloudflare Pages 的静态 Demo 可供直接使用。 + +此页面加载完成后可完全脱机运行,你也可以选择安装 PWA 来更优雅地使用它。 + +Demo 会适配魔曰的所有可调参数,你可以在此体验到魔曰的完整功能。 + +
+ +[](https://abra.halu.ca/) + +
+ +### 浏览器插件 + +浏览器插件的代码完全复用静态页面代码。 + +此插件不申请任何浏览器权限(包括联网权限),没有任何多余功能。 + +已上架 **Chrome WebStore**, **Edge 加载项** 和 **Firefox 扩展**。 + +如果不方便访问 Chrome 插件商店,也可以访问 Edge 插件商店,和 Firefox 扩展商店。 + +
+
+ +[](https://chrome.google.com/webstore/detail/jgmlgdoefnmlealmfmhjhnoiejaifpko) + +
+ +
+ +[](https://microsoftedge.microsoft.com/addons/detail/abracadabra-%E9%AD%94%E6%9B%B0/kfkmhdcahjblddpkkmnjeppmfmfoihkb) + +
+ +
+ +[](https://addons.mozilla.org/zh-CN/firefox/addon/abracadabra-%E9%AD%94%E6%9B%B0/) + +
+
+ +::: warning 提示 + +Edge 插件商店的上架审核速度十分缓慢,因此更新速度也更慢。不推荐从 Edge 商店下载本插件。 + +::: + +### Android 客户端 + +本项目的 Android 客户端完全在 WebView 中静态运行。 + +![image](https://github.com/user-attachments/assets/0f3b1c92-8853-4c70-8ef2-58630769beda) + +APK 使用 HBuilderX 自动打包,**完全离线运行,没有自动更新等配套功能**。 + +功能和界面均和前端静态网页没有差异。 + +APK 文件可以 [**在 Release 中下载**](https://github.com/SheepChef/Abracadabra/releases/latest) + +## 简单部署 + +### 部署核心库 + +使用 npm 下载 Abracadabra 库。 + +你也可以前往[Release 页面](https://github.com/SheepChef/Abracadabra/releases/latest)直接下载 JS 文件。 + +```sh +$ npm install abracadabra-cn +``` + +然后,在项目中引入库文件 + +```js +import { Abracadabra } from "abracadabra-cn"; +``` + +--- + +你也可以直接在任意网页上直接引用本项目。 + +在 Release 处下载 `.umd.cjs` 文件,放到自定义位置,然后在网页 `` 标签添加引用: + +```html + +``` + +在网页的其他地方调用脚本接口,可以这么写: + +```html + +``` + +### 部署完整前端 + +前往[Release 页面](https://github.com/SheepChef/Abracadabra/releases/latest)下载 `fastdeploy_X.X.zip` + +然后,将它解压到你网站的任意位置,也可以直接上传到静态容器中。 + +配置路由,即可得到一个与[项目 Demo](https://abra.halu.ca/)一模一样的页面。 + +若要自行编译或修改前端代码,请前往前端源代码仓库。 + +浏览器插件的源码同样在前端源代码仓库,位于 crx 分支。 + +
+ +[](https://github.com/SheepChef/Abracadabra_demo) + +
+ +## 下一步 + +- 了解魔曰的用户指南,最佳使用实践,请继续阅读[使用指引](/document/demo-usage.md)。 + +- 查阅魔曰的详细编译部署指南和接口文档,请参考[部署和编译](/document/js-deploy.md)。 + +- 了解魔曰的详细技术细节,请查阅[技术细节](/document/wenyan.md) diff --git a/docs/document/thanks.md b/docs/document/thanks.md new file mode 100644 index 0000000..d1a874b --- /dev/null +++ b/docs/document/thanks.md @@ -0,0 +1,11 @@ +# 鸣谢 + +感谢 [**Unishox2**](https://github.com/siara-cc/Unishox2) 提供高效的短文本压缩方案。 + +感谢 [**中国哲学书电子化计划**](http://ctext.org/zhs) 提供高质量的古籍参考资料。 + +感谢 [**@Amlkiller**](https://github.com/amlkiller) 为本项目提供十分有价值的反馈和建议。 + +感谢 **熊曰(与熊论道)、佛曰、兽音译者** 为本项目提供灵感和参考。 + +感谢贡献 PR 和参与测试的其他所有人,以及**正在使用本项目的您**。 diff --git a/docs/document/wasm-deploy.md b/docs/document/wasm-deploy.md new file mode 100644 index 0000000..903b26a --- /dev/null +++ b/docs/document/wasm-deploy.md @@ -0,0 +1,94 @@ +# WebAssembly 部署 + +前往[Release 页面](https://github.com/SheepChef/Abracadabra/releases/latest)下载编译好的 WebAssembly `.wasm` 文件。 + +然后,推荐使用 [**wasmtime**](https://github.com/bytecodealliance/wasmtime) 来调用它,其他 Runtime 不做特别兼容。 + +本项目的 WebAssembly 模块使用 [**Javy**](https://github.com/bytecodealliance/javy) 编译而来,方便在 C++、Rust、Go 等语言中调用,**不推荐**在类似 Python、 Java、Node.js 的解释器中调用。 + +要调用本 WebAssembly 模块,需要使用尚在预览状态的 [**WASI**](https://github.com/WebAssembly/WASI),目前仅有 wasmtime 提供了最完整的 WASI 支持,但它在各个语言的实现并不一致。 + +本模块的合法输入为一个 JSON 字符串,输入时请勿附带注释,遵循以下格式: + +```json +{ + "method":"", // NEXT | OLD + "inputType":"", // TEXT | UINT8 + "outputType":"", // TEXT | UINT8 + "input":"", //输入的数据,如果是TEXT请直接输入纯文本,如果是任意字节,请输入Base64编码字符串 + "mode":"", // ENCRYPT | DECRYPT | AUTO // AUTO 仅在 method 指定 OLD 时合法 + "key":"", //加密密钥,一个字符串 //如果缺省,自动使用默认值 + "q":bool, //OLD模式下,决定是否添加标志位 | NEXT模式下,决定输出密文是否有标点符号 + "r":number, //仅NEXT模式下需要:算法的随机程度,越大随机性越强,默认 50,最大100,超过100将会出错; + "p":bool, //仅NEXT模式下需要:尽可能使用对仗的骈文句式; 与逻辑句式冲突 + "l":bool, //仅NEXT模式下需要:尽可能使用逻辑句式; 与骈文句式冲突 + +} +``` + +用 wasmtime CLI 调用,在不同的命令行里有不同的方式,大多数时候是输入字符串的字符集的区别,以及是否需要在字符串外面加单引号的区别。 + +在 Windows CMD 或者 Powershell 中调用,请确保执行了 `chcp 65001` 以调整代码页为 UTF-8。 + +注意在 Windows CMD 中,输入的字符串**不需要**用单引号囊括。 + +```sh +echo '{"method":"NEXT","mode":"ENCRYPT","inputType":"TEXT","outputType":"TEXT","input":"愿青空的祝福,与我的羽翼同在","key":"ABRACADABRA","q":true,"r":50,"p":false,"l":false}' | wasmtime abracadabra-cn.wasm +``` + +对于其他语言,你需要使用 Wasmtime WASI 的 `stdin` 和 `stdout` 接口来操作本模块的输入输出,调用 `_start` 方法来启动本模块。 + +下方提供 Python 的示例,其他语言请自行查阅 wasmtime 对应的文档。 + +```sh +pip install wasmtime +``` + +```python +import wasmtime + +def run_wasi(wasm_file): + engine = wasmtime.Engine() + module = wasmtime.Module.from_file(engine, wasm_file) + store = wasmtime.Store(engine) + linker = wasmtime.Linker(engine) + wasi = wasmtime.WasiConfig() + #Python 的 wasmtime 实现,想写入stdin,必须使用一个文件。 + #文件里填写要输入的JSON。 + wasi.stdin_file = "" + wasi.inherit_stdout() + wasi.inherit_stderr() + linker.define_wasi() + store.set_wasi(wasi) + instance = linker.instantiate(store, module) + start = instance.exports(store)["_start"] + start(store) +try: + run_wasi("") +except FileNotFoundError: + print(f"Error: WASM file '{wasm_file}' not found.") +except wasmtime.WasmtimeError as e: + print(f"Wasmtime error: {e}") +except Exception as e: + print(f"An unexpected error occurred: {e}") +``` + +## 自行编译 (Javy) + +首先,拉取仓库,安装 [**Javy**](https://github.com/bytecodealliance/javy),配置恰当的环境。 + +然后,像编译普通 JS 库一样,执行: + +```sh +npm install + +npm run build +``` + +在输出文件夹中,找到 `abracadabra-cn-javy.js` + +然后用 Javy 在命令行中编译: + +```sh +javy build "Path/to/abracadabra-cn-javy.js" -o "path/Output.wasm" +``` diff --git a/docs/document/wenyan.md b/docs/document/wenyan.md new file mode 100644 index 0000000..d585b1b --- /dev/null +++ b/docs/document/wenyan.md @@ -0,0 +1,146 @@ +# 文言文仿真管线 + +::: tip 文言文加密示例 +光韵开云,雅于莺茶,停而行之之谓速。是故无悦无谜,无瑞无聪,裳之所走、树之所振也。旧铃之纯水,常为悦水之莹风。人曰:“瑞琴之路,常留于其所允行而不读之处。” 璃非笑而去之者,孰可无鹏。非将选也,非可指也,书非当事涧,仍继叶言,奈何,同森而非航水也,能鸢者益。 +::: + +文言仿真,会将加密后的字符串映射为仿古文本中的若干个载荷字。 + +用户可以调整仿真器的随机参数,启用特定风格模板的过滤,最终影响生成的密文风格。 + +以下是文言仿真的基本步骤: + +1. 分配载荷,遇到超大载荷则平均分配,递归分段处理。 +2. 在句式库中选择对应载荷量的句式。 +3. 在句式模板中插入载荷字,插入时数据经过三重转轮混淆。 +4. 在句式和句式之间插入标点符号。 +5. 得到完整密文。 + +用户可以影响载荷分配时的随机因子;在选择句式时,可以打开特定风格的过滤器。 + +## 载荷分配 + +载荷分配本质上是简化了的找零问题。 +将一个给定的载荷量(例如 37),分解成若干个 1~9 的整数之和。 + +载荷将被预先按比例分为 Begin, Main, End 三部分,对应一段密文的三节,每节都拥有一个不同的句式库。 + +有两种策略,分别是贪心算法和随机分配,每个分配步骤都会选择二者之一。 + +贪心算法在每一步尽可能大地分配载荷,从而得到一个较为整齐的分配结果。 + +用户可以指定更高的随机因子,增加随机分配的概率(最大 100%),从而得到更加零碎的分配结果。 + +针对载荷分配,还引入了额外步骤以打乱/合并过于零碎的载荷,尽可能防止密文产生连续的重复模式。 + +## 句式模板和密表 + +句式模板有一个固定的语法,以辅助解析。 + +``` +8D/N/anti/MV/V/N/,/still/继/N/V/,/why/,/and/N/而/anti/V/N/ye/P + +// 8 -> 载荷数量 +// "/" ->语素分隔符 +// N->名词 V->动词 A->形容词 AD->副词 +// B->一般句式 C->骈文句式 D->逻辑句式 E->既是骈文句式,又有逻辑 +// P->句号 Q->问号 R->冒号和引号 | 依需要添加在句式末尾,代替原有逗号。 +// by/why/anti... -> 虚词 + +// 其他(汉字)原样保留 +``` + +密表则按照词性分类,将动词,形容词,副词,和名词分开映射。 + +## 选择句式 + +给定一个分配的载荷量,以及此时载荷所处的密文节(Begin/Main/End),算法会在对应句式库里过滤出所有匹配该载荷量的句式。 + +如果用户没有指定任何过滤器,一般情况下,则在所有载荷量匹配的句式中随机选择一个,无论其分类。 +有 25% 概率将在这些句式中再次过滤出逻辑/骈文句式,然后随机选用其中的一个,如果没有可用的句式,则在所有载荷量匹配的句式中随机选择一个。 + +如果用户指定了过滤器(骈文/逻辑),则会再次过滤出可用的骈文/逻辑句式,然后随机选用其中的一个。 +如果对应载荷量没有可用的骈文/逻辑句式,则在所有载荷量匹配的句式中随机选择一个。 + +总体而言,句式选择提供了较强的随机性和灵活度。 + +```mermaid +flowchart TD + A["载荷长度"] --> B{"载荷 > 100?"} + B -->|是| C["distributePayload()"] + B -->|否| D["distributeInteger()"] + + C --> E["递归处理"] + D --> F["分三段处理"] + + F --> G["Begin_段"] + F --> H["Main_段"] + F --> I["End_段"] + + G --> J["句式模板选择"] + H --> J + I --> J + + J --> K{"风格模式?"} + K -->|骈文| L["PossiblePianSentences"] + K -->|逻辑| M["PossibleLogicSentences"] + K -->|默认| N["Random_Selection"] + + L --> O["最终句式序列"] + M --> O + N --> O + + O --> P["组建文言文语句"] +``` + +## 插入载荷字和标点 + +算法将用分隔符"/"将句式分割成数组,然后丢弃句式的开头部分。 + +再把每个句子分割出的数组,依次压入一个大数组中,得到一个二维数组。 + +此时将用两层循环依次遍历数组中的每一个元素: + +- 遇到 N/V/A/AD 等载荷位,则对表映射一个载荷字,追加到密文字符串上。 +- 遇到虚词指示,则在对应虚词库中随机选择一个追加到字符串上。 +- 按照一定的规则,在句式和句式之间插入标点符号,或者换行符(分段标志)。 +- 遇到汉字或者其他字符,则原样追加到密文字符串上。 + +```mermaid +graph TD + A["Base64 编码数据"] --> B["选择句式"] + B --> C["句式大数组"] + + C --> D["句式处理循环"] + D --> E{"语素类型"} + + E -->|载荷| F["getCryptText()"] + E -->|情态动词| G["Random_MV_Selection"] + E -->|虚词| H["Virtual_Word_Lookup"] + E -->|标点符号| I["Punctuation_Handler"] + + F --> J["三重转轮混淆"] + J --> K["载荷字查表"] + K --> L["映射汉字"] + + G --> M["追加到输出"] + H --> M + I --> M + L --> M + + M --> N{"循环结束?"} + N -->|否| D + N -->|是| O["处理标点符号"] + + O --> Q["最终加密结果"] +``` + +由此得到一个强随机性,包含标点符号的文言文密文字符串。 + +如果用户指定不需要标点符号,那么会执行最后一次过滤,过滤出不含标点符号的密文结果。 + +文言文字符串十分多样且随机,以下是一个示例: + +> 鸳,恋之月也。雀花致局,秋于花声,使其俊物舒动,快恋长至。此雁有畅驿乐霞,静鸢乐声。光与空信,非当御也,庭与苗看。故动余心者,当定乐镜之和文。取在惠家,不当买也,灵者度而读之,绿者买而彰之。 +> +> 涧动以琴航,振不弹林,鸢航于鹏。树与夏问,舒星之不达也灵矣,欲鲤之无梦也曾矣。冰曰:“曲与星定” ,是曲也,花宏庭新,局纯灯惠。霞谈于坚鲤,而家彰于早文,而能冷者静,故求绿礼者,当彰长风之早语。 diff --git a/docs/favicon.webp b/docs/favicon.webp deleted file mode 100644 index 6f0947f..0000000 Binary files a/docs/favicon.webp and /dev/null differ diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 32beac2..0000000 --- a/docs/index.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - 魔曰 - Abracadabra - - - - - - - - -
- - diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..7409dae --- /dev/null +++ b/docs/index.md @@ -0,0 +1,115 @@ +--- +layout: home + +hero: + name: "魔曰" + text: "以文封缄" + tagline: Abracadabra 魔曰 是安全,高效的文本加密工具,可以将数据加密为汉字构成的文言文。 + image: + src: /logo.png + alt: Abracadabra + actions: + - theme: brand + text: 快速开始 → + link: document/quick-start.md + - theme: alt + text: GitHub仓库 + link: https://github.com/SheepChef/Abracadabra + +features: + - icon: 🪄 + title: 惟妙惟肖 + details: 魔曰的密文看起来像逼真的古文,用算法构造字面意义,使加密具有文学色彩。 + - icon: 🔐 + title: 固若金汤 + details: 魔曰重视数据安全,明文数据经过 AES-256 加密。所有代码完全在本地离线执行。 + - icon: 🌈 + title: 不拘一格 + details: 魔曰允许你调整加密参数,使用不同的模式,生成高度随机化,不同风格的密文。 + - icon: 🎭 + title: 似是而非 + details: 密文完全呈现文言文特征,不存在罕见字符和异常字频,难以与正常文言文区分。 + - icon: 🏛️ + title: 熔古铸今 + details: 引用《古文观止》等古籍,依托真实古文,将密码和古汉语文学相融合。 + - icon: ⚡ + title: 惜字如金 + details: 魔曰重视密文长短,在加密前压缩数据,让密文尽可能缩短,避免长篇大论。 + - icon: 🎯 + title: 规行矩步 + details: 完整且严格的代码单元测试,强制解密兼容性,确保魔曰加密安全可靠。 + - icon: 🌳 + title: 博采众议 + details: 依AIPL 1.1许可证,你可以自由查阅,修改魔曰的源代码,参与社区,提出建议和贡献。 +--- + +## Abracadabra 魔曰 + +
+ + + + + + + +
+ +
+ +[](https://github.com/SheepChef/Abracadabra/releases/latest) + +[](https://github.com/SheepChef/Abracadabra/actions/workflows/node.js.yml) + +[](https://github.com/SheepChef/Abracadabra/actions/workflows/coverage.yml) + +Featured|HelloGitHub + +![GitHub Repo stars](https://img.shields.io/github/stars/SheepChef/Abracadabra) + +
+ +Abracadabra(魔曰) 是开源,安全,高效的文本加密工具。 +将数据加密为汉字构成的文言文,完全开源,易于部署,易于使用。 + +## 特性 + +- **仿真,使用文言语法句式**。 +- 开源,所有源代码公开可查。 +- 安全,完全离线的 AES 加密。 +- 可靠,代码经过严格单元测试。 +- 便捷,易于本地部署和使用。 + +### **熔古铸今:文言文仿真加密** + +> 鹏彰于物,不必奏也。捷天谨走,城光益添,和人弥任,铃夜皆写,呈雨以登铃。 +> +> 光韵开云,雅于莺茶,停而行之之谓速。是故无悦无谜,无瑞无聪,裳之所走、树之所振也。旧铃之纯水,常为悦水之莹风。人曰:“瑞琴之路,常留于其所允行而不读之处。” 璃非笑而去之者,孰可无鹏。非将选也,非可指也,书非当事涧,仍继叶言,奈何,同森而非航水也,能鸢者益。 + +构造高仿真文言文,**参考《古文观止》《经史百家杂钞》《古文辞类纂》等古代典籍。** +标准 AES256 加密,引入更复杂的组句/语法选择机制,将密码和中国古典文言文相融合。 + +密文高度随机,支持用户自定义随机性和文本风格偏好,打造前所未有的跨文化数字加密方案。 + +
中国哲学书电子化计划
+ +## 开放源代码许可 + +**⚠️ 本项目受私有许可证保护**,使用本项目则默认视为同意并遵守相关条款。禁止将本项目用于非法用途。 +👉 查阅 [**AIPL-1.1 许可**](https://github.com/SheepChef/Abracadabra/blob/main/LICENSE.md) 来了解详细信息,也可以前往 [**#87**](https://github.com/SheepChef/Abracadabra/issues/87) 查阅简单介绍。 + +--- + +以下是本项目的依赖项: + +- [**Unishox2**](https://github.com/siara-cc/Unishox2) 短字符串压缩实现 _©Siara-cc_, **Apache-2.0** License. +- [**crypto-js**](https://github.com/brix/crypto-js) AES 加密实现 _©Jeff Mott/Evan Vosberg_, **MIT** License. +- [**pako**](https://github.com/nodeca/pako) GZIP 压缩实现 _©Vitaly Puzrin/Andrei Tuputcyn_, **MIT** License. +- [**js-base64**](https://github.com/dankogai/js-base64) Base64 编码工具实现 _©Dan Kogai_, **BSD-3-Clause** License. +- [**mersenne-twister**](https://github.com/boo1ean/mersenne-twister) 梅森旋转算法实现 _©Makoto Matsumoto/Takuji Nishimura_, **BSD-3-Clause** License. + +本项目许可证与所有依赖项的许可证兼容。 + +## Star History + +[![Star History Chart](https://api.star-history.com/svg?repos=SheepChef/Abracadabra&type=Date)](https://star-history.com/#SheepChef/Abracadabra&Date) diff --git a/docs/manifest.webmanifest b/docs/manifest.webmanifest deleted file mode 100644 index 9c4b557..0000000 --- a/docs/manifest.webmanifest +++ /dev/null @@ -1 +0,0 @@ -{"name":"魔曰","short_name":"Abracadabra","start_url":".","display":"standalone","background_color":"#ffffff","lang":"en","scope":"./","id":"abracadabra","description":"对文字施以神秘魔法","theme_color":"#5753c9","icons":[{"src":"favicon.webp","sizes":"1024x1024","type":"image/webp"}]} diff --git a/docs/public/logo.png b/docs/public/logo.png new file mode 100644 index 0000000..3400ee0 Binary files /dev/null and b/docs/public/logo.png differ diff --git a/docs/registerSW.js b/docs/registerSW.js deleted file mode 100644 index 179c13c..0000000 --- a/docs/registerSW.js +++ /dev/null @@ -1 +0,0 @@ -if('serviceWorker' in navigator) {window.addEventListener('load', () => {navigator.serviceWorker.register('./sw.js', { scope: './' })})} \ No newline at end of file diff --git a/docs/sw.js b/docs/sw.js deleted file mode 100644 index f2104b1..0000000 --- a/docs/sw.js +++ /dev/null @@ -1 +0,0 @@ -if(!self.define){let e,s={};const n=(n,i)=>(n=new URL(n+".js",i).href,s[n]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=s,document.head.appendChild(e)}else e=n,importScripts(n),s()})).then((()=>{let e=s[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e})));self.define=(i,r)=>{const a=e||("document"in self?document.currentScript.src:"")||location.href;if(s[a])return;let t={};const l=e=>n(e,a),o={module:{uri:a},exports:t,require:l};s[a]=Promise.all(i.map((e=>o[e]||l(e)))).then((e=>(r(...e),t)))}}define(["./workbox-7ac4974e"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"assets/abracadabra-cn-BTUscUVB.js",revision:null},{url:"assets/bg-BQx4j7kW.webp",revision:null},{url:"assets/deps-CXr6hmS8.js",revision:null},{url:"assets/deps-PoZXHJHQ.css",revision:null},{url:"assets/favicon-aOK6_042.ico",revision:null},{url:"assets/index-B_doPvbq.js",revision:null},{url:"assets/index-B3tl3MZY.css",revision:null},{url:"assets/mdui-round-DrirKXBx.woff2",revision:null},{url:"assets/SamsungSans-Regular-BsRQoNIc.ttf",revision:null},{url:"favicon.webp",revision:"1790790282c4627a1a581783b2dbdd84"},{url:"index.html",revision:"52308ffb929549c55cbd3cdd7e046520"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"manifest.webmanifest",revision:"4a5d57eeda73e5c37b639545aa737430"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"))),e.registerRoute(/\.(?:png|jpg|jpeg|svg)$/,new e.NetworkFirst({cacheName:"wisbayar-images",plugins:[new e.ExpirationPlugin({maxEntries:30})]}),"GET"),e.registerRoute(/.*\.js.*/,new e.StaleWhileRevalidate({cacheName:"wisbayar-js",plugins:[new e.ExpirationPlugin({maxEntries:30,maxAgeSeconds:2592e3}),new e.CacheableResponsePlugin({statuses:[200]})]}),"GET"),e.registerRoute(/.*\.css.*/,new e.StaleWhileRevalidate({cacheName:"wisbayar-css",plugins:[new e.ExpirationPlugin({maxEntries:20,maxAgeSeconds:2592e3}),new e.CacheableResponsePlugin({statuses:[200]})]}),"GET"),e.registerRoute(/.*\.html.*/,new e.StaleWhileRevalidate({cacheName:"wisbayar-html",plugins:[new e.ExpirationPlugin({maxEntries:20,maxAgeSeconds:2592e3}),new e.CacheableResponsePlugin({statuses:[200]})]}),"GET")})); diff --git a/docs/workbox-7ac4974e.js b/docs/workbox-7ac4974e.js deleted file mode 100644 index 36eb171..0000000 --- a/docs/workbox-7ac4974e.js +++ /dev/null @@ -1 +0,0 @@ -define(["exports"],(function(t){"use strict";try{self["workbox:core:7.2.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.2.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class a{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let a=r&&r.handler;const o=t.method;if(!a&&this.i.has(o)&&(a=this.i.get(o)),!a)return;let c;try{c=a.handle({url:s,request:t,event:e,params:i})}catch(t){c=Promise.reject(t)}const h=r&&r.catchHandler;return c instanceof Promise&&(this.o||h)&&(c=c.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),c}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const a=r.match({url:t,sameOrigin:e,request:s,event:n});if(a)return i=a,(Array.isArray(i)&&0===i.length||a.constructor===Object&&0===Object.keys(a).length||"boolean"==typeof a)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let o;const c=()=>(o||(o=new a,o.addFetchListener(),o.addCacheListener()),o);function h(t,e,n){let a;if("string"==typeof t){const s=new URL(t,location.href);a=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)a=new r(t,e,n);else if("function"==typeof t)a=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});a=t}return c().registerRoute(a),a}const u={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},l=t=>[u.prefix,t,u.suffix].filter((t=>t&&t.length>0)).join("-"),f=t=>t||l(u.precache),w=t=>t||l(u.runtime);function d(t){t.then((()=>{}))}const p=new Set;function y(){return y=Object.assign?Object.assign.bind():function(t){for(var e=1;ee.some((e=>t instanceof e));let g,R;const v=new WeakMap,b=new WeakMap,q=new WeakMap,D=new WeakMap,U=new WeakMap;let x={get(t,e,s){if(t instanceof IDBTransaction){if("done"===e)return b.get(t);if("objectStoreNames"===e)return t.objectStoreNames||q.get(t);if("store"===e)return s.objectStoreNames[1]?void 0:s.objectStore(s.objectStoreNames[0])}return E(t[e])},set:(t,e,s)=>(t[e]=s,!0),has:(t,e)=>t instanceof IDBTransaction&&("done"===e||"store"===e)||e in t};function I(t){return t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(R||(R=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(C(this),e),E(v.get(this))}:function(...e){return E(t.apply(C(this),e))}:function(e,...s){const n=t.call(C(this),e,...s);return q.set(n,e.sort?e.sort():[e]),E(n)}}function L(t){return"function"==typeof t?I(t):(t instanceof IDBTransaction&&function(t){if(b.has(t))return;const e=new Promise(((e,s)=>{const n=()=>{t.removeEventListener("complete",i),t.removeEventListener("error",r),t.removeEventListener("abort",r)},i=()=>{e(),n()},r=()=>{s(t.error||new DOMException("AbortError","AbortError")),n()};t.addEventListener("complete",i),t.addEventListener("error",r),t.addEventListener("abort",r)}));b.set(t,e)}(t),m(t,g||(g=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(t,x):t)}function E(t){if(t instanceof IDBRequest)return function(t){const e=new Promise(((e,s)=>{const n=()=>{t.removeEventListener("success",i),t.removeEventListener("error",r)},i=()=>{e(E(t.result)),n()},r=()=>{s(t.error),n()};t.addEventListener("success",i),t.addEventListener("error",r)}));return e.then((e=>{e instanceof IDBCursor&&v.set(e,t)})).catch((()=>{})),U.set(e,t),e}(t);if(D.has(t))return D.get(t);const e=L(t);return e!==t&&(D.set(t,e),U.set(e,t)),e}const C=t=>U.get(t);const N=["get","getKey","getAll","getAllKeys","count"],O=["put","add","delete","clear"],k=new Map;function B(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(k.get(e))return k.get(e);const s=e.replace(/FromIndex$/,""),n=e!==s,i=O.includes(s);if(!(s in(n?IDBIndex:IDBObjectStore).prototype)||!i&&!N.includes(s))return;const r=async function(t,...e){const r=this.transaction(t,i?"readwrite":"readonly");let a=r.store;return n&&(a=a.index(e.shift())),(await Promise.all([a[s](...e),i&&r.done]))[0]};return k.set(e,r),r}x=(t=>y({},t,{get:(e,s,n)=>B(e,s)||t.get(e,s,n),has:(e,s)=>!!B(e,s)||t.has(e,s)}))(x);try{self["workbox:expiration:7.2.0"]&&_()}catch(t){}const T="cache-entries",M=t=>{const e=new URL(t,location.href);return e.hash="",e.href};class P{constructor(t){this.h=null,this.u=t}l(t){const e=t.createObjectStore(T,{keyPath:"id"});e.createIndex("cacheName","cacheName",{unique:!1}),e.createIndex("timestamp","timestamp",{unique:!1})}p(t){this.l(t),this.u&&function(t,{blocked:e}={}){const s=indexedDB.deleteDatabase(t);e&&s.addEventListener("blocked",(t=>e(t.oldVersion,t))),E(s).then((()=>{}))}(this.u)}async setTimestamp(t,e){const s={url:t=M(t),timestamp:e,cacheName:this.u,id:this.m(t)},n=(await this.getDb()).transaction(T,"readwrite",{durability:"relaxed"});await n.store.put(s),await n.done}async getTimestamp(t){const e=await this.getDb(),s=await e.get(T,this.m(t));return null==s?void 0:s.timestamp}async expireEntries(t,e){const s=await this.getDb();let n=await s.transaction(T).store.index("timestamp").openCursor(null,"prev");const i=[];let r=0;for(;n;){const s=n.value;s.cacheName===this.u&&(t&&s.timestamp=e?i.push(n.value):r++),n=await n.continue()}const a=[];for(const t of i)await s.delete(T,t.id),a.push(t.url);return a}m(t){return this.u+"|"+M(t)}async getDb(){return this.h||(this.h=await function(t,e,{blocked:s,upgrade:n,blocking:i,terminated:r}={}){const a=indexedDB.open(t,e),o=E(a);return n&&a.addEventListener("upgradeneeded",(t=>{n(E(a.result),t.oldVersion,t.newVersion,E(a.transaction),t)})),s&&a.addEventListener("blocked",(t=>s(t.oldVersion,t.newVersion,t))),o.then((t=>{r&&t.addEventListener("close",(()=>r())),i&&t.addEventListener("versionchange",(t=>i(t.oldVersion,t.newVersion,t)))})).catch((()=>{})),o}("workbox-expiration",1,{upgrade:this.p.bind(this)})),this.h}}class W{constructor(t,e={}){this.R=!1,this.v=!1,this.q=e.maxEntries,this.D=e.maxAgeSeconds,this.U=e.matchOptions,this.u=t,this._=new P(t)}async expireEntries(){if(this.R)return void(this.v=!0);this.R=!0;const t=this.D?Date.now()-1e3*this.D:0,e=await this._.expireEntries(t,this.q),s=await self.caches.open(this.u);for(const t of e)await s.delete(t,this.U);this.R=!1,this.v&&(this.v=!1,d(this.expireEntries()))}async updateTimestamp(t){await this._.setTimestamp(t,Date.now())}async isURLExpired(t){if(this.D){const e=await this._.getTimestamp(t),s=Date.now()-1e3*this.D;return void 0===e||e200===t.status||0===t.status?t:null};function S(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class K{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}function A(t){return"string"==typeof t?new Request(t):t}class F{constructor(t,e){this.I={},Object.assign(this,e),this.event=e.event,this.L=t,this.C=new K,this.N=[],this.O=[...t.plugins],this.k=new Map;for(const t of this.O)this.k.set(t,{});this.event.waitUntil(this.C.promise)}async fetch(t){const{event:e}=this;let n=A(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.L.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=A(t);let s;const{cacheName:n,matchOptions:i}=this.L,r=await this.getCacheKey(e,"read"),a=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,a);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=A(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(a=r.url,new URL(String(a),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var a;const o=await this.B(e);if(!o)return!1;const{cacheName:c,matchOptions:h}=this.L,u=await self.caches.open(c),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=S(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),a=await t.keys(e,r);for(const e of a)if(i===S(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?o.clone():o)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of p)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:c,oldResponse:f,newResponse:o.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.I[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=A(await t({mode:e,request:n,event:this.event,params:this.params}));this.I[s]=n}return this.I[s]}hasCallback(t){for(const e of this.L.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.L.plugins)if("function"==typeof e[t]){const s=this.k.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.N.push(t),t}async doneWaiting(){let t;for(;t=this.N.shift();)await t}destroy(){this.C.resolve(null)}async B(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class H{constructor(t={}){this.cacheName=w(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new F(this,{event:e,request:s,params:n}),r=this.T(i,s,e);return[r,this.M(r,i,s,e)]}async T(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this.P(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async M(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}try{self["workbox:cacheable-response:7.2.0"]&&_()}catch(t){}class ${constructor(t={}){this.W=t.statuses,this.j=t.headers}isResponseCacheable(t){let e=!0;return this.W&&(e=this.W.includes(t.status)),this.j&&e&&(e=Object.keys(this.j).some((e=>t.headers.get(e)===this.j[e]))),e}}function G(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.2.0"]&&_()}catch(t){}function V(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class J{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class Q{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.S.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.S=t}}let z,X;async function Y(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},a=e?e(r):r,o=function(){if(void 0===z){const t=new Response("");if("body"in t)try{new Response(t.body),z=!0}catch(t){z=!1}z=!1}return z}()?i.body:await i.blob();return new Response(o,a)}class Z extends H{constructor(t={}){t.cacheName=f(t.cacheName),super(t),this.K=!1!==t.fallbackToNetwork,this.plugins.push(Z.copyRedirectedCacheableResponsesPlugin)}async P(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.A(t,e):await this.F(t,e))}async F(t,e){let n;const i=e.params||{};if(!this.K)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,a=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&a&&"no-cors"!==t.mode&&(this.H(),await e.cachePut(t,n.clone()))}return n}async A(t,e){this.H();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}H(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==Z.copyRedirectedCacheableResponsesPlugin&&(n===Z.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(Z.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}Z.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},Z.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await Y(t):t};class tt{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.$=new Map,this.G=new Map,this.V=new Map,this.L=new Z({cacheName:f(t),plugins:[...e,new Q({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.L}precache(t){this.addToCacheList(t),this.J||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.J=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=V(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.$.has(i)&&this.$.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.$.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.V.has(t)&&this.V.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.V.set(t,n.integrity)}if(this.$.set(i,t),this.G.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return G(t,(async()=>{const e=new J;this.strategy.plugins.push(e);for(const[e,s]of this.$){const n=this.V.get(s),i=this.G.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return G(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.$.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.$}getCachedURLs(){return[...this.$.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.$.get(e.href)}getIntegrityForCacheKey(t){return this.V.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}const et=()=>(X||(X=new tt),X);class st extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const a=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield a.href,s&&a.pathname.endsWith("/")){const t=new URL(a.href);t.pathname+=s,yield t.href}if(n){const t=new URL(a.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}t.CacheableResponsePlugin=class{constructor(t){this.cacheWillUpdate=async({response:t})=>this.X.isResponseCacheable(t)?t:null,this.X=new $(t)}},t.ExpirationPlugin=class{constructor(t={}){this.cachedResponseWillBeUsed=async({event:t,request:e,cacheName:s,cachedResponse:n})=>{if(!n)return null;const i=this.Y(n),r=this.Z(s);d(r.expireEntries());const a=r.updateTimestamp(e.url);if(t)try{t.waitUntil(a)}catch(t){}return i?n:null},this.cacheDidUpdate=async({cacheName:t,request:e})=>{const s=this.Z(t);await s.updateTimestamp(e.url),await s.expireEntries()},this.tt=t,this.D=t.maxAgeSeconds,this.et=new Map,t.purgeOnQuotaError&&function(t){p.add(t)}((()=>this.deleteCacheAndMetadata()))}Z(t){if(t===w())throw new s("expire-custom-caches-only");let e=this.et.get(t);return e||(e=new W(t,this.tt),this.et.set(t,e)),e}Y(t){if(!this.D)return!0;const e=this.st(t);if(null===e)return!0;return e>=Date.now()-1e3*this.D}st(t){if(!t.headers.has("date"))return null;const e=t.headers.get("date"),s=new Date(e).getTime();return isNaN(s)?null:s}async deleteCacheAndMetadata(){for(const[t,e]of this.et)await self.caches.delete(t),await e.delete();this.et=new Map}},t.NavigationRoute=class extends i{constructor(t,{allowlist:e=[/./],denylist:s=[]}={}){super((t=>this.nt(t)),t),this.it=e,this.rt=s}nt({url:t,request:e}){if(e&&"navigate"!==e.mode)return!1;const s=t.pathname+t.search;for(const t of this.rt)if(t.test(s))return!1;return!!this.it.some((t=>t.test(s)))}},t.NetworkFirst=class extends H{constructor(t={}){super(t),this.plugins.some((t=>"cacheWillUpdate"in t))||this.plugins.unshift(j),this.ot=t.networkTimeoutSeconds||0}async P(t,e){const n=[],i=[];let r;if(this.ot){const{id:s,promise:a}=this.ct({request:t,logs:n,handler:e});r=s,i.push(a)}const a=this.ht({timeoutId:r,request:t,logs:n,handler:e});i.push(a);const o=await e.waitUntil((async()=>await e.waitUntil(Promise.race(i))||await a)());if(!o)throw new s("no-response",{url:t.url});return o}ct({request:t,logs:e,handler:s}){let n;return{promise:new Promise((e=>{n=setTimeout((async()=>{e(await s.cacheMatch(t))}),1e3*this.ot)})),id:n}}async ht({timeoutId:t,request:e,logs:s,handler:n}){let i,r;try{r=await n.fetchAndCachePut(e)}catch(t){t instanceof Error&&(i=t)}return t&&clearTimeout(t),!i&&r||(r=await n.cacheMatch(e)),r}},t.StaleWhileRevalidate=class extends H{constructor(t={}){super(t),this.plugins.some((t=>"cacheWillUpdate"in t))||this.plugins.unshift(j)}async P(t,e){const n=e.fetchAndCachePut(t).catch((()=>{}));e.waitUntil(n);let i,r=await e.cacheMatch(t);if(r);else try{r=await n}catch(t){t instanceof Error&&(i=t)}if(!r)throw new s("no-response",{url:t.url,error:i});return r}},t.cleanupOutdatedCaches=function(){self.addEventListener("activate",(t=>{const e=f();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter((s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t));return await Promise.all(s.map((t=>self.caches.delete(t)))),s})(e).then((t=>{})))}))},t.clientsClaim=function(){self.addEventListener("activate",(()=>self.clients.claim()))},t.createHandlerBoundToURL=function(t){return et().createHandlerBoundToURL(t)},t.precacheAndRoute=function(t,e){!function(t){et().precache(t)}(t),function(t){const e=et();h(new st(e,t))}(e)},t.registerRoute=h})); diff --git a/package-lock.json b/package-lock.json index 8f587f7..92452ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,11 +15,239 @@ }, "devDependencies": { "@vitest/coverage-v8": "^3.1.3", + "mermaid": "^11.8.0", "terser": "^5.36.0", "vite": "^5.4.9", + "vitepress": "^1.6.3", + "vitepress-plugin-mermaid": "^2.0.17", "vitest": "^3.1.2" } }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz", + "integrity": "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.17.7", + "@algolia/autocomplete-shared": "1.17.7" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz", + "integrity": "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz", + "integrity": "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz", + "integrity": "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==", + "dev": true, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.30.0.tgz", + "integrity": "sha512-Q3OQXYlTNqVUN/V1qXX8VIzQbLjP3yrRBO9m6NRe1CBALmoGHh9JrYosEGvfior28+DjqqU3Q+nzCSuf/bX0Gw==", + "dev": true, + "dependencies": { + "@algolia/client-common": "5.30.0", + "@algolia/requester-browser-xhr": "5.30.0", + "@algolia/requester-fetch": "5.30.0", + "@algolia/requester-node-http": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.30.0.tgz", + "integrity": "sha512-/b+SAfHjYjx/ZVeVReCKTTnFAiZWOyvYLrkYpeNMraMT6akYRR8eC1AvFcvR60GLG/jytxcJAp42G8nN5SdcLg==", + "dev": true, + "dependencies": { + "@algolia/client-common": "5.30.0", + "@algolia/requester-browser-xhr": "5.30.0", + "@algolia/requester-fetch": "5.30.0", + "@algolia/requester-node-http": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.30.0.tgz", + "integrity": "sha512-tbUgvkp2d20mHPbM0+NPbLg6SzkUh0lADUUjzNCF+HiPkjFRaIW3NGMlESKw5ia4Oz6ZvFzyREquUX6rdkdJcQ==", + "dev": true, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.30.0.tgz", + "integrity": "sha512-caXuZqJK761m32KoEAEkjkE2WF/zYg1McuGesWXiLSgfxwZZIAf+DljpiSToBUXhoPesvjcLtINyYUzbkwE0iw==", + "dev": true, + "dependencies": { + "@algolia/client-common": "5.30.0", + "@algolia/requester-browser-xhr": "5.30.0", + "@algolia/requester-fetch": "5.30.0", + "@algolia/requester-node-http": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.30.0.tgz", + "integrity": "sha512-7K6P7TRBHLX1zTmwKDrIeBSgUidmbj6u3UW/AfroLRDGf9oZFytPKU49wg28lz/yulPuHY0nZqiwbyAxq9V17w==", + "dev": true, + "dependencies": { + "@algolia/client-common": "5.30.0", + "@algolia/requester-browser-xhr": "5.30.0", + "@algolia/requester-fetch": "5.30.0", + "@algolia/requester-node-http": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.30.0.tgz", + "integrity": "sha512-WMjWuBjYxJheRt7Ec5BFr33k3cV0mq2WzmH9aBf5W4TT8kUp34x91VRsYVaWOBRlxIXI8o/WbhleqSngiuqjLA==", + "dev": true, + "dependencies": { + "@algolia/client-common": "5.30.0", + "@algolia/requester-browser-xhr": "5.30.0", + "@algolia/requester-fetch": "5.30.0", + "@algolia/requester-node-http": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.30.0.tgz", + "integrity": "sha512-puc1/LREfSqzgmrOFMY5L/aWmhYOlJ0TTpa245C0ZNMKEkdOkcimFbXTXQ8lZhzh+rlyFgR7cQGNtXJ5H0XgZg==", + "dev": true, + "dependencies": { + "@algolia/client-common": "5.30.0", + "@algolia/requester-browser-xhr": "5.30.0", + "@algolia/requester-fetch": "5.30.0", + "@algolia/requester-node-http": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.30.0.tgz", + "integrity": "sha512-NfqiIKVgGKTLr6T9F81oqB39pPiEtILTy0z8ujxPKg2rCvI/qQeDqDWFBmQPElCfUTU6kk67QAgMkQ7T6fE+gg==", + "dev": true, + "dependencies": { + "@algolia/client-common": "5.30.0", + "@algolia/requester-browser-xhr": "5.30.0", + "@algolia/requester-fetch": "5.30.0", + "@algolia/requester-node-http": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.30.0.tgz", + "integrity": "sha512-/eeM3aqLKro5KBZw0W30iIA6afkGa+bcpvEM0NDa92m5t3vil4LOmJI9FkgzfmSkF4368z/SZMOTPShYcaVXjA==", + "dev": true, + "dependencies": { + "@algolia/client-common": "5.30.0", + "@algolia/requester-browser-xhr": "5.30.0", + "@algolia/requester-fetch": "5.30.0", + "@algolia/requester-node-http": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.30.0.tgz", + "integrity": "sha512-iWeAUWqw+xT+2IyUyTqnHCK+cyCKYV5+B6PXKdagc9GJJn6IaPs8vovwoC0Za5vKCje/aXQ24a2Z1pKpc/tdHg==", + "dev": true, + "dependencies": { + "@algolia/client-common": "5.30.0", + "@algolia/requester-browser-xhr": "5.30.0", + "@algolia/requester-fetch": "5.30.0", + "@algolia/requester-node-http": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.30.0.tgz", + "integrity": "sha512-alo3ly0tdNLjfMSPz9dmNwYUFHx7guaz5dTGlIzVGnOiwLgIoM6NgA+MJLMcH6e1S7OpmE2AxOy78svlhst2tQ==", + "dev": true, + "dependencies": { + "@algolia/client-common": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.30.0.tgz", + "integrity": "sha512-WOnTYUIY2InllHBy6HHMpGIOo7Or4xhYUx/jkoSK/kPIa1BRoFEHqa8v4pbKHtoG7oLvM2UAsylSnjVpIhGZXg==", + "dev": true, + "dependencies": { + "@algolia/client-common": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.30.0.tgz", + "integrity": "sha512-uSTUh9fxeHde1c7KhvZKUrivk90sdiDftC+rSKNFKKEU9TiIKAGA7B2oKC+AoMCqMymot1vW9SGbeESQPTZd0w==", + "dev": true, + "dependencies": { + "@algolia/client-common": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", @@ -33,6 +261,34 @@ "node": ">=6.0.0" } }, + "node_modules/@antfu/install-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz", + "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==", + "dev": true, + "dependencies": { + "package-manager-detector": "^1.3.0", + "tinyexec": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@antfu/install-pkg/node_modules/tinyexec": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz", + "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==", + "dev": true + }, + "node_modules/@antfu/utils": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-8.1.1.tgz", + "integrity": "sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", @@ -52,12 +308,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz", - "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz", + "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", "dev": true, "dependencies": { - "@babel/types": "^7.27.1" + "@babel/types": "^7.28.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -67,9 +323,9 @@ } }, "node_modules/@babel/types": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", - "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.0.tgz", + "integrity": "sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -88,6 +344,99 @@ "node": ">=18" } }, + "node_modules/@braintree/sanitize-url": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz", + "integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==", + "dev": true + }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", + "dev": true, + "dependencies": { + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/gast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", + "dev": true, + "dependencies": { + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==", + "dev": true + }, + "node_modules/@chevrotain/types": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==", + "dev": true + }, + "node_modules/@chevrotain/utils": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==", + "dev": true + }, + "node_modules/@docsearch/css": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.2.tgz", + "integrity": "sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==", + "dev": true + }, + "node_modules/@docsearch/js": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.8.2.tgz", + "integrity": "sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==", + "dev": true, + "dependencies": { + "@docsearch/react": "3.8.2", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.8.2.tgz", + "integrity": "sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-core": "1.17.7", + "@algolia/autocomplete-preset-algolia": "1.17.7", + "@docsearch/css": "3.8.2", + "algoliasearch": "^5.14.2" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -456,6 +805,37 @@ "node": ">=12" } }, + "node_modules/@iconify-json/simple-icons": { + "version": "1.2.41", + "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.41.tgz", + "integrity": "sha512-4tt29cKzNsxvt6rjAOVhEgpZV0L8jleTDTMdtvIJjF14Afp9aH8peuwGYyX35l6idfFwuzbvjSVfVyVjJtfmYA==", + "dev": true, + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "dev": true + }, + "node_modules/@iconify/utils": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.3.0.tgz", + "integrity": "sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==", + "dev": true, + "dependencies": { + "@antfu/install-pkg": "^1.0.0", + "@antfu/utils": "^8.1.0", + "@iconify/types": "^2.0.0", + "debug": "^4.4.0", + "globals": "^15.14.0", + "kolorist": "^1.8.0", + "local-pkg": "^1.0.0", + "mlly": "^1.7.4" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -540,6 +920,38 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@mermaid-js/mermaid-mindmap": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@mermaid-js/mermaid-mindmap/-/mermaid-mindmap-9.3.0.tgz", + "integrity": "sha512-IhtYSVBBRYviH1Ehu8gk69pMDF8DSRqXBRDMWrEfHoaMruHeaP2DXA3PBnuwsMaCdPQhlUUcy/7DBLAEIXvCAw==", + "dev": true, + "optional": true, + "dependencies": { + "@braintree/sanitize-url": "^6.0.0", + "cytoscape": "^3.23.0", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.1.0", + "d3": "^7.0.0", + "khroma": "^2.0.0", + "non-layered-tidy-tree-layout": "^2.0.2" + } + }, + "node_modules/@mermaid-js/mermaid-mindmap/node_modules/@braintree/sanitize-url": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", + "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==", + "dev": true, + "optional": true + }, + "node_modules/@mermaid-js/parser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.6.0.tgz", + "integrity": "sha512-7DNESgpyZ5WG1SIkrYafVBhWmImtmQuoxOO1lawI3gQYWxBX3v1FW3IyuuRfKJAO06XrZR71W0Kif5VEGGd4VA==", + "dev": true, + "dependencies": { + "langium": "3.3.1" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -771,105 +1183,521 @@ "win32" ] }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true + "node_modules/@shikijs/core": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-2.5.0.tgz", + "integrity": "sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==", + "dev": true, + "dependencies": { + "@shikijs/engine-javascript": "2.5.0", + "@shikijs/engine-oniguruma": "2.5.0", + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.4" + } }, - "node_modules/@vitest/coverage-v8": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.1.3.tgz", - "integrity": "sha512-cj76U5gXCl3g88KSnf80kof6+6w+K4BjOflCl7t6yRJPDuCrHtVu0SgNYOUARJOL5TI8RScDbm5x4s1/P9bvpw==", + "node_modules/@shikijs/engine-javascript": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-2.5.0.tgz", + "integrity": "sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==", "dev": true, "dependencies": { - "@ampproject/remapping": "^2.3.0", - "@bcoe/v8-coverage": "^1.0.2", - "debug": "^4.4.0", - "istanbul-lib-coverage": "^3.2.2", - "istanbul-lib-report": "^3.0.1", - "istanbul-lib-source-maps": "^5.0.6", - "istanbul-reports": "^3.1.7", - "magic-string": "^0.30.17", - "magicast": "^0.3.5", - "std-env": "^3.9.0", - "test-exclude": "^7.0.1", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@vitest/browser": "3.1.3", - "vitest": "3.1.3" - }, - "peerDependenciesMeta": { - "@vitest/browser": { - "optional": true - } + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^3.1.0" } }, - "node_modules/@vitest/expect": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.3.tgz", - "integrity": "sha512-7FTQQuuLKmN1Ig/h+h/GO+44Q1IlglPlR2es4ab7Yvfx+Uk5xsv+Ykk+MEt/M2Yn/xGmzaLKxGw2lgy2bwuYqg==", + "node_modules/@shikijs/engine-oniguruma": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-2.5.0.tgz", + "integrity": "sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==", "dev": true, "dependencies": { - "@vitest/spy": "3.1.3", - "@vitest/utils": "3.1.3", - "chai": "^5.2.0", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2" } }, - "node_modules/@vitest/mocker": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.3.tgz", - "integrity": "sha512-PJbLjonJK82uCWHjzgBJZuR7zmAOrSvKk1QBxrennDIgtH4uK0TB1PvYmc0XBCigxxtiAVPfWtAdy4lpz8SQGQ==", + "node_modules/@shikijs/langs": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-2.5.0.tgz", + "integrity": "sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==", "dev": true, "dependencies": { - "@vitest/spy": "3.1.3", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.17" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } + "@shikijs/types": "2.5.0" } }, - "node_modules/@vitest/pretty-format": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.3.tgz", - "integrity": "sha512-i6FDiBeJUGLDKADw2Gb01UtUNb12yyXAqC/mmRWuYl+m/U9GS7s8us5ONmGkGpUUo7/iAYzI2ePVfOZTYvUifA==", + "node_modules/@shikijs/themes": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-2.5.0.tgz", + "integrity": "sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==", "dev": true, "dependencies": { - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "@shikijs/types": "2.5.0" } }, - "node_modules/@vitest/runner": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.3.tgz", - "integrity": "sha512-Tae+ogtlNfFei5DggOsSUvkIaSuVywujMj6HzR97AHK6XK8i3BuVyIifWAm/sE3a15lF5RH9yQIrbXYuo0IFyA==", + "node_modules/@shikijs/transformers": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-2.5.0.tgz", + "integrity": "sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==", "dev": true, "dependencies": { - "@vitest/utils": "3.1.3", - "pathe": "^2.0.3" + "@shikijs/core": "2.5.0", + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/types": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-2.5.0.tgz", + "integrity": "sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==", + "dev": true, + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "dev": true + }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "dev": true, + "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.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==", + "dev": true + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "dev": true, + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "dev": true, + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", + "dev": true + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "dev": true + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "dev": true, + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", + "dev": true + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz", + "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==", + "dev": true + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "dev": true, + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "dev": true + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "dev": true + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "dev": true, + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", + "dev": true + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", + "dev": true + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "dev": true, + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", + "dev": true + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "dev": true, + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "dev": true + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", + "dev": true + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", + "dev": true + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "dev": true + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "dev": true, + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", + "dev": true + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "dev": true + }, + "node_modules/@types/d3-shape": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", + "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", + "dev": true, + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "dev": true + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", + "dev": true + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "dev": true + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "dev": true, + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "dev": true, + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true + }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "dev": true + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", + "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", + "dev": true, + "dependencies": { + "@types/linkify-it": "^5", + "@types/mdurl": "^2" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "dev": true + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "dev": true, + "optional": true + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "dev": true + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", + "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitest/coverage-v8": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.1.3.tgz", + "integrity": "sha512-cj76U5gXCl3g88KSnf80kof6+6w+K4BjOflCl7t6yRJPDuCrHtVu0SgNYOUARJOL5TI8RScDbm5x4s1/P9bvpw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^1.0.2", + "debug": "^4.4.0", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.17", + "magicast": "^0.3.5", + "std-env": "^3.9.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "3.1.3", + "vitest": "3.1.3" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } + } + }, + "node_modules/@vitest/expect": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.3.tgz", + "integrity": "sha512-7FTQQuuLKmN1Ig/h+h/GO+44Q1IlglPlR2es4ab7Yvfx+Uk5xsv+Ykk+MEt/M2Yn/xGmzaLKxGw2lgy2bwuYqg==", + "dev": true, + "dependencies": { + "@vitest/spy": "3.1.3", + "@vitest/utils": "3.1.3", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.3.tgz", + "integrity": "sha512-PJbLjonJK82uCWHjzgBJZuR7zmAOrSvKk1QBxrennDIgtH4uK0TB1PvYmc0XBCigxxtiAVPfWtAdy4lpz8SQGQ==", + "dev": true, + "dependencies": { + "@vitest/spy": "3.1.3", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.3.tgz", + "integrity": "sha512-i6FDiBeJUGLDKADw2Gb01UtUNb12yyXAqC/mmRWuYl+m/U9GS7s8us5ONmGkGpUUo7/iAYzI2ePVfOZTYvUifA==", + "dev": true, + "dependencies": { + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.3.tgz", + "integrity": "sha512-Tae+ogtlNfFei5DggOsSUvkIaSuVywujMj6HzR97AHK6XK8i3BuVyIifWAm/sE3a15lF5RH9yQIrbXYuo0IFyA==", + "dev": true, + "dependencies": { + "@vitest/utils": "3.1.3", + "pathe": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" @@ -915,24 +1743,295 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "node_modules/@vue/compiler-core": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.17.tgz", + "integrity": "sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "dependencies": { + "@babel/parser": "^7.27.5", + "@vue/shared": "3.5.17", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" } }, - "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.17.tgz", + "integrity": "sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==", "dev": true, - "engines": { + "dependencies": { + "@vue/compiler-core": "3.5.17", + "@vue/shared": "3.5.17" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.17.tgz", + "integrity": "sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.27.5", + "@vue/compiler-core": "3.5.17", + "@vue/compiler-dom": "3.5.17", + "@vue/compiler-ssr": "3.5.17", + "@vue/shared": "3.5.17", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.17", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.17.tgz", + "integrity": "sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.5.17", + "@vue/shared": "3.5.17" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.7.tgz", + "integrity": "sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==", + "dev": true, + "dependencies": { + "@vue/devtools-kit": "^7.7.7" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.7.tgz", + "integrity": "sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==", + "dev": true, + "dependencies": { + "@vue/devtools-shared": "^7.7.7", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.7.tgz", + "integrity": "sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==", + "dev": true, + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.17.tgz", + "integrity": "sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==", + "dev": true, + "dependencies": { + "@vue/shared": "3.5.17" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.17.tgz", + "integrity": "sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.5.17", + "@vue/shared": "3.5.17" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.17.tgz", + "integrity": "sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.5.17", + "@vue/runtime-core": "3.5.17", + "@vue/shared": "3.5.17", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.17.tgz", + "integrity": "sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.5.17", + "@vue/shared": "3.5.17" + }, + "peerDependencies": { + "vue": "3.5.17" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", + "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", + "dev": true + }, + "node_modules/@vueuse/core": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-12.8.2.tgz", + "integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/integrations": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-12.8.2.tgz", + "integrity": "sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==", + "dev": true, + "dependencies": { + "@vueuse/core": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "^4", + "axios": "^1", + "change-case": "^5", + "drauu": "^0.4", + "focus-trap": "^7", + "fuse.js": "^7", + "idb-keyval": "^6", + "jwt-decode": "^4", + "nprogress": "^0.2", + "qrcode": "^1.5", + "sortablejs": "^1", + "universal-cookie": "^7" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-12.8.2.tgz", + "integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-12.8.2.tgz", + "integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==", + "dev": true, + "dependencies": { + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/algoliasearch": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.30.0.tgz", + "integrity": "sha512-ILSdPX4je0n5WUKD34TMe57/eqiXUzCIjAsdtLQYhomqOjTtFUg1s6dE7kUegc4Mc43Xr7IXYlMutU9HPiYfdw==", + "dev": true, + "dependencies": { + "@algolia/client-abtesting": "5.30.0", + "@algolia/client-analytics": "5.30.0", + "@algolia/client-common": "5.30.0", + "@algolia/client-insights": "5.30.0", + "@algolia/client-personalization": "5.30.0", + "@algolia/client-query-suggestions": "5.30.0", + "@algolia/client-search": "5.30.0", + "@algolia/ingestion": "1.30.0", + "@algolia/monitoring": "1.30.0", + "@algolia/recommend": "5.30.0", + "@algolia/requester-browser-xhr": "5.30.0", + "@algolia/requester-fetch": "5.30.0", + "@algolia/requester-node-http": "5.30.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { "node": ">=12" }, "funding": { @@ -966,97 +2065,722 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/birpc": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.4.0.tgz", + "integrity": "sha512-5IdNxTyhXHv2UlgnPHQ0h+5ypVmkrYHzL8QT+DwFZ//2N/oNV8Ch+BCRmTJ3x6/z9Axo/cXYBc9eprsUVK/Jsg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^1.0.0" + } + }, + "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==", + "dev": true + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chai": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", + "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", + "dev": true, + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "engines": { + "node": ">= 16" + } + }, + "node_modules/chevrotain": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", + "dev": true, + "dependencies": { + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/chevrotain-allstar": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "dev": true, + "dependencies": { + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "chevrotain": "^11.0.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "dev": true + }, + "node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "dev": true, + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "dev": true, + "dependencies": { + "layout-base": "^1.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/cytoscape": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.32.0.tgz", + "integrity": "sha512-5JHBC9n75kz5851jeklCPmZWcg3hUe6sjqJvyk3+hVqFaKcHwHgxsjeN1yLmggoUc6STbtm9/NQyabQehfjvWQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "dev": true, + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "dev": true, + "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.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "dev": true, + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", + "dev": true + }, + "node_modules/d3": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", + "dev": true, + "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.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dev": true, + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "dev": true, + "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.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "dev": true, + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "dev": true, + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "dev": true, + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dev": true, + "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.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "dev": true, + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dev": true, + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "dev": true, + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dev": true, + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "dev": true, + "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.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "dev": true, + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "dev": true + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "dev": true, + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "dev": true + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dev": true, + "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.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "dev": true, + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dev": true, + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" } }, - "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==", - "dev": true - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", "dev": true, + "dependencies": { + "d3-array": "2 - 3" + }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/chai": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", - "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", "dev": true, "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" + "d3-time": "1 - 3" }, "engines": { "node": ">=12" } }, - "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", "dev": true, "engines": { - "node": ">= 16" + "node": ">=12" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" }, "engines": { - "node": ">=7.0.0" + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", "dev": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" }, "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/crypto-js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", - "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + "node_modules/dagre-d3-es": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.11.tgz", + "integrity": "sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==", + "dev": true, + "dependencies": { + "d3": "^7.9.0", + "lodash-es": "^4.17.21" + } + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "dev": true }, "node_modules/debug": { "version": "4.4.0", @@ -1084,6 +2808,46 @@ "node": ">=6" } }, + "node_modules/delaunator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "dev": true, + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dev": true, + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dompurify": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz", + "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==", + "dev": true, + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -1096,6 +2860,24 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "node_modules/emoji-regex-xs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", + "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", + "dev": true + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/es-module-lexer": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", @@ -1158,6 +2940,12 @@ "node": ">=12.0.0" } }, + "node_modules/exsolve": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz", + "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==", + "dev": true + }, "node_modules/fdir": { "version": "6.4.4", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", @@ -1172,6 +2960,15 @@ } } }, + "node_modules/focus-trap": { + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.5.tgz", + "integrity": "sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==", + "dev": true, + "dependencies": { + "tabbable": "^6.2.0" + } + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -1222,6 +3019,24 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hachure-fill": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz", + "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", + "dev": true + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1231,12 +3046,85 @@ "node": ">=8" } }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -1246,6 +3134,18 @@ "node": ">=8" } }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "dev": true, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -1322,6 +3222,88 @@ "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.7.tgz", "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==" }, + "node_modules/katex": { + "version": "0.16.22", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.22.tgz", + "integrity": "sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==", + "dev": true, + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/katex/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/khroma": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz", + "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==", + "dev": true + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true + }, + "node_modules/langium": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/langium/-/langium-3.3.1.tgz", + "integrity": "sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==", + "dev": true, + "dependencies": { + "chevrotain": "~11.0.3", + "chevrotain-allstar": "~0.3.0", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.11", + "vscode-uri": "~3.0.8" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", + "dev": true + }, + "node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "dev": true, + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true + }, "node_modules/loupe": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", @@ -1369,10 +3351,166 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mersenne-twister": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mersenne-twister/-/mersenne-twister-1.1.0.tgz", - "integrity": "sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==" + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true + }, + "node_modules/marked": { + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", + "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "dev": true, + "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/mermaid": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.8.0.tgz", + "integrity": "sha512-uAZUwnBiqREZcUrFw3G5iQ5Pj3hTYUP95EZc3ec/nGBzHddJZydzYGE09tGZDBS1VoSoDn0symZ85FmypSTo5g==", + "dev": true, + "dependencies": { + "@braintree/sanitize-url": "^7.0.4", + "@iconify/utils": "^2.1.33", + "@mermaid-js/parser": "^0.6.0", + "@types/d3": "^7.4.3", + "cytoscape": "^3.29.3", + "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.11", + "dayjs": "^1.11.13", + "dompurify": "^3.2.5", + "katex": "^0.16.9", + "khroma": "^2.1.0", + "lodash-es": "^4.17.21", + "marked": "^15.0.7", + "roughjs": "^4.6.6", + "stylis": "^4.3.6", + "ts-dedent": "^2.2.0", + "uuid": "^11.1.0" + } + }, + "node_modules/mersenne-twister": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mersenne-twister/-/mersenne-twister-1.1.0.tgz", + "integrity": "sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==" + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] }, "node_modules/minimatch": { "version": "9.0.5", @@ -1398,6 +3536,47 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/minisearch": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.1.2.tgz", + "integrity": "sha512-R1Pd9eF+MD5JYDDSPAp/q1ougKglm14uEkPMvQ/05RGmx6G9wvmLTrTI/Q5iPNJLYqNdsDQ7qTGIcNWR+FrHmA==", + "dev": true + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true + }, + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "dev": true, + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dev": true, + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -1405,9 +3584,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, "funding": [ { @@ -1422,17 +3601,47 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/non-layered-tidy-tree-layout": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", + "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", + "dev": true, + "optional": true + }, + "node_modules/oniguruma-to-es": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-3.1.1.tgz", + "integrity": "sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==", + "dev": true, + "dependencies": { + "emoji-regex-xs": "^1.0.0", + "regex": "^6.0.1", + "regex-recursion": "^6.0.2" + } + }, "node_modules/package-json-from-dist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "dev": true }, + "node_modules/package-manager-detector": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.3.0.tgz", + "integrity": "sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==", + "dev": true + }, "node_modules/pako": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" }, + "node_modules/path-data-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", + "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", + "dev": true + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -1473,6 +3682,12 @@ "node": ">= 14.16" } }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", @@ -1491,10 +3706,37 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pkg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.2.0.tgz", + "integrity": "sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==", + "dev": true, + "dependencies": { + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" + } + }, + "node_modules/points-on-curve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz", + "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==", + "dev": true + }, + "node_modules/points-on-path": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/points-on-path/-/points-on-path-0.2.1.tgz", + "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", + "dev": true, + "dependencies": { + "path-data-parser": "0.1.0", + "points-on-curve": "0.2.0" + } + }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -1511,14 +3753,86 @@ } ], "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" } }, + "node_modules/preact": { + "version": "10.26.9", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.26.9.tgz", + "integrity": "sha512-SSjF9vcnF27mJK1XyFMNJzFd5u3pQiATFqoaDy03XuN00u4ziveVVEGt5RKJrDR8MHE/wJo9Nnad56RLzS2RMA==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/quansync": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz", + "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ] + }, + "node_modules/regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.0.1.tgz", + "integrity": "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==", + "dev": true, + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "dev": true, + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "dev": true + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, + "node_modules/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "dev": true + }, "node_modules/rollup": { "version": "4.24.1", "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.24.1.tgz", @@ -1556,6 +3870,37 @@ "fsevents": "~2.3.2" } }, + "node_modules/roughjs": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/roughjs/-/roughjs-4.6.6.tgz", + "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", + "dev": true, + "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/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/search-insights": { + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", + "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", + "dev": true, + "peer": true + }, "node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", @@ -1589,6 +3934,22 @@ "node": ">=8" } }, + "node_modules/shiki": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-2.5.0.tgz", + "integrity": "sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==", + "dev": true, + "dependencies": { + "@shikijs/core": "2.5.0", + "@shikijs/engine-javascript": "2.5.0", + "@shikijs/engine-oniguruma": "2.5.0", + "@shikijs/langs": "2.5.0", + "@shikijs/themes": "2.5.0", + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, "node_modules/siginfo": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", @@ -1635,6 +3996,25 @@ "source-map": "^0.6.0" } }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -1706,6 +4086,20 @@ "node": ">=8" } }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dev": true, + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/strip-ansi": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", @@ -1743,6 +4137,24 @@ "node": ">=8" } }, + "node_modules/stylis": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "dev": true + }, + "node_modules/superjson": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz", + "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "dev": true, + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -1755,6 +4167,12 @@ "node": ">=8" } }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", + "dev": true + }, "node_modules/terser": { "version": "5.36.0", "resolved": "https://registry.npmmirror.com/terser/-/terser-5.36.0.tgz", @@ -1836,10 +4254,144 @@ "node": ">=14.0.0" } }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "engines": { + "node": ">=6.10" + } + }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "dev": true + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "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.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "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.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dev": true, + "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.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/vite": { - "version": "5.4.10", - "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.10.tgz", - "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", + "version": "5.4.19", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", + "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", "dev": true, "dependencies": { "esbuild": "^0.21.3", @@ -1917,6 +4469,60 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/vitepress": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.6.3.tgz", + "integrity": "sha512-fCkfdOk8yRZT8GD9BFqusW3+GggWYZ/rYncOfmgcDtP3ualNHCAg+Robxp2/6xfH1WwPHtGpPwv7mbA3qomtBw==", + "dev": true, + "dependencies": { + "@docsearch/css": "3.8.2", + "@docsearch/js": "3.8.2", + "@iconify-json/simple-icons": "^1.2.21", + "@shikijs/core": "^2.1.0", + "@shikijs/transformers": "^2.1.0", + "@shikijs/types": "^2.1.0", + "@types/markdown-it": "^14.1.2", + "@vitejs/plugin-vue": "^5.2.1", + "@vue/devtools-api": "^7.7.0", + "@vue/shared": "^3.5.13", + "@vueuse/core": "^12.4.0", + "@vueuse/integrations": "^12.4.0", + "focus-trap": "^7.6.4", + "mark.js": "8.11.1", + "minisearch": "^7.1.1", + "shiki": "^2.1.0", + "vite": "^5.4.14", + "vue": "^3.5.13" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4", + "postcss": "^8" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vitepress-plugin-mermaid": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/vitepress-plugin-mermaid/-/vitepress-plugin-mermaid-2.0.17.tgz", + "integrity": "sha512-IUzYpwf61GC6k0XzfmAmNrLvMi9TRrVRMsUyCA8KNXhg/mQ1VqWnO0/tBVPiX5UoKF1mDUwqn5QV4qAJl6JnUg==", + "dev": true, + "optionalDependencies": { + "@mermaid-js/mermaid-mindmap": "^9.3.0" + }, + "peerDependencies": { + "mermaid": "10 || 11", + "vitepress": "^1.0.0 || ^1.0.0-alpha" + } + }, "node_modules/vitest": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.3.tgz", @@ -1993,6 +4599,76 @@ "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true }, + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "dev": true, + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dev": true, + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "dev": true + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "dev": true + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true + }, + "node_modules/vue": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.17.tgz", + "integrity": "sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.5.17", + "@vue/compiler-sfc": "3.5.17", + "@vue/runtime-dom": "3.5.17", + "@vue/server-renderer": "3.5.17", + "@vue/shared": "3.5.17" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -2114,6 +4790,16 @@ "engines": { "node": ">=8" } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } } } } diff --git a/package.json b/package.json index 5f22ae5..6c1a1c0 100644 --- a/package.json +++ b/package.json @@ -11,12 +11,17 @@ "prebuild": "vitest run", "preview": "vite preview", "test": "vitest run", - "coverage": "vitest run --coverage" + "coverage": "vitest run --coverage", + "docs:build": "vitepress build docs", + "docs:preview": "vitepress preview docs" }, "devDependencies": { "@vitest/coverage-v8": "^3.1.3", + "mermaid": "^11.8.0", "terser": "^5.36.0", "vite": "^5.4.9", + "vitepress": "^1.6.3", + "vitepress-plugin-mermaid": "^2.0.17", "vitest": "^3.1.2" }, "dependencies": {