diff --git a/404.html b/404.html index f1496813..a83d98fa 100644 --- a/404.html +++ b/404.html @@ -5,17 +5,17 @@ 404 | 码数吐司库 - - + + - - + + -
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
- +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
+ \ No newline at end of file diff --git a/Masuit.MyBlogs.html b/Masuit.MyBlogs.html deleted file mode 100644 index 02ed1c24..00000000 --- a/Masuit.MyBlogs.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - -

Masuit.MyBlogs


个人博客站项目源码,高性能高安全性低占用的博客系统,这也许是我写过的性能最高的web项目了。仅3MB的代码量! 目前日均处理请求数80-300w次,同时在线活跃用户数30-200人,数据量累计已达到数百万条,数据库+Redis+网站主程序同时运行在一台4核8GB的机器上,浏览器页面请求秒级响应,CPU平均使用率控制在10%左右,内存占用控制在400MB左右。 任务管理器image

image

演示站点

测试站点1:https://masuit.orgopen in new window,测试站点2:https://masuit.comopen in new window,测试站点3:https://ldqk.xyzopen in new window

LICENSEopen in new window codeSize language

请注意:

一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,一经发现,本项目作者有权利追讨本项目的使用费(公司工商注册信息认缴金额的2-5倍作为本项目的授权费),或者直接不允许使用任何包含本项目的源代码!任何性质的外包公司996公司需要使用本类库,请联系作者进行商业授权!其他企业或个人可随意使用不受限。996那叫用人,也是废人。8小时工作制才可以让你有时间自我提升,将来有竞争力。反对996,人人有责!

Star趋势

前端请求支援

目前网站前端页面的代码比较零乱,到处都是,大家想吐槽的尽管吐槽吧,也想找个人帮忙设计下整体的前端页面,有兴趣愿意贡献代码的的小伙伴,欢迎Pull Request吧!😂😂

项目主要技术栈

.NET7
ASP.NET Core MVC
Blazor
Entity Framework Core Masuit.Tools Masuit.LuceneEFCore.SearchEngine
Hangfire

开发环境

操作系统:Windows 10 2104
IDE:Visual Studio 2022 v17.0
数据库:PostgreSQL 14.x
Redis:redis-server-windows 5.x
运行时:必须是.NET 7

当前运行环境

操作系统:Windows Server 2019
数据库:PostgreSQL 14.x
Redis:redis-server-windows 5.x
运行时:.NET 7
服务器配置:2核+6GB+1000M
承载流量:单日请求量平均600w左右,单日带宽1TB左右
请勿使用阿里云、百度云等活动超卖机运行本程序,否则卡出翔!!!
如何判断服务器商是否有超卖:给你的服务器跑个分,如果跑分接近于网络上该处理器公布的分数,则不是超卖的机器,计算公式:总分/核心数进行比较,由于是虚拟机,如果单独比较单核跑分,没有参考意义

基础设施要求

最低配置推荐配置豪华配置至尊配置
CPU1核2核2核4核
内存1GB2GB4GB8GB
带宽1Mbps1Mbps5Mbps1000Mbps
数据库pgsql 9pgsql 14pgsql 14pgsql 14
缓存组件Redis 3.2+Redis 5.0+Redis 5.0+Redis 5.0+
备注玩玩而已几个人同时访问几百个人同时访问,单日请求量600w以下单日请求量600w以上

主要功能

服务器性能监控

可直接在线实时监控服务器的运行状态,包括CPU、网络带宽、磁盘使用率、内存占用等情况,百分位统计和图表统计,可记录最近一天的服务器健康状态,通过websocket进行数据的推送,仅支持Windows,且需要Windows安装最新的更新。 image

文章管理

  • 包含文章审核、文章合并、文章列表的增删查改、分类管理、专题管理;
  • 文章审核:当用户在前台页进行投稿后,会进入审核状态,审核通过后,才会在前台页的文章列表中展示出来。
  • 文章合并:当用户在前台页进行了文章的编辑后,会创建出文章的合并请求,当后台管理进行相应的合并操作后,前台用户的修改才会正式生效,可以直接合并、编辑并合并和拒绝合并,拒绝时,修改人会收到相应的邮件通知。
  • 文章操作:可对文章进行修改、新增、置顶、临时删除(下架)、还原、永久删除、禁止评论等操作,编辑后的文章会生成历史版本。文章支持模板变量。
  • 分类管理:对文章的分类进行增删查改和文章的移动等操作,与文章的关系:一对多。
  • 专题管理:对文章的专题进行管理,与文章的关系:多对多。
  • 快速分享:首页快速分享栏目的管理。 imageimageimageimageimageimage

评论和留言管理

对前台用户提交的留言和评论进行审核,当前台用户提交的内容可能包含有敏感词时,会进入人工审核,审核成功才会在前台页中展示。

消息通知

站内消息包含评论、留言、投稿、文章合并等通知。

公告管理

对网站的公告进行增删查改管理。支持定时上下架发布。 image

杂项页管理

一些通用的页面管理,可自由灵活的创建静态页面。 image

系统设置

  • 包含系统的全局设置、防火墙管理、网站运行日志记录、友链管理、邮件模板的管理。
  • 全局设置:网站的一些基本配置和SEO相关操作等;
  • 防火墙:对网站的所有请求进行全局流量的拦截,让规则内的请求阻止掉,支持黑名单、白名单、IP地址段、国家或地区、关键词审查等规则;
  • 模板变量:针对文章内容的通用内容生成,变量只能添加不能删除。 imageimageimageimageimage

广告管理

主动式的广告投放管理,支持竞价排名,支持在banner、边栏、页内、列表内的广告展示,竞价或权重的高低决定广告出现的概率。支持按地区进行投放。 imageimage

赞助管理

对网站打赏进行增删查改操作,自动掩码。 image

搜索统计

当前台用户每Session周期内的关键词搜索,不重复的关键词将会被记录,用于热词统计,仅记录最近一个月内的所有搜索关键词,用于统计当月、7天以及当天的搜索热词。 image

任务管理

hangfire的可视化管理页面

文件管理

服务器文件的在线管理,支持浏览、预览、压缩、解压缩、创建文件夹、上传、下载、打包下载等文件的基本操作。 image

onedrive网盘程序

基于YukiDriveopen in new window二次开发的内嵌网盘应用。 imageimage

项目架构

  • 项目采用单体架构,方便部署和配置,传统的MVC模式,ASP.NET Core MVC+EF Core的简单架构。
  • Controller→Service→Repository→DbContext
    image

项目文件夹定义:

App_Data:存放网站的一些常规数据,以文本的形式存在,这类数据不需要频繁更新的。
┠─cert文件夹:存放https证书
┠─ban.txt:敏感词库
┠─CustomKeywords.txt:搜索分词词库
┠─denyip.txt:IP地址黑名单
┠─DenyIPRange.txt:IP地址段黑名单
┠─GeoLite2-City.mmdb:MaxMind地址库
┠─ip2region.db:ip2region地址库
┠─mod.txt:审查词库
┠─whitelist.txt:IP地址白名单
Common:之前老项目的Common项目;
Configs:项目的一些配置对象
Controllers:控制器
Extensions:一些扩展类或一些项目的扩展功能,比如hangfire、ueditor、中间件、拦截器等;
Infrastructure:数据访问基础设施,包含Repository和Services,相当于老项目的DAL和BLL;
Migrations:数据库CodeFirst模式的迁移文件;
Models:存放一些实体类或DTO;
Views:razor视图
wwwroot:项目的所有静态资源;

核心功能点技术实现

后端技术栈:

依赖注入容器:.NET Core自带的+Autofac,autofac主要负责批量注入和属性注入;
实体映射框架:automapper 9.0;
缓存框架:CacheManager统一管理网站的热数据,如Session、内存缓存,EFCoreSecondLevelCacheInterceptor负责管理EF Core的二级缓存;
定时任务:hangfire统一管理定时任务,包含友链回链检查、文章定时发布、访客统计、搜索热词统计、Lucene库刷新等任务;
Websocket:Blazor进行流推送实现服务器硬件健康状态的实时监控;
硬件检测:Masuit.Tools封装的硬件检测功能;
全文检索:Masuit.LuceneEFCore.SearchEngine基于Lucene.Net 4.8实现的全文检索中间件;
中文分词:结巴分词结合本地词库实现中文分词;
断点下载:Masuit.Tools封装的断点续传功能;
Redis:CSRedis负责Redis的读写操作;
文件压缩:Masuit.Tools封装的zip文件压缩功能;
Html字符串操作:htmldiff.net-core实现文章版本的内容对比,HtmlAgilityPack实现html字符串的“DOM”操作,主要是用于提取img标签,HtmlSanitizer实现表单的html代码的仿XSS处理;
图床:支持多个图床的上传:gitee、github、gitlab;
拦截器:授权拦截器、请求拦截器负责网站全局流量的拦截和清洗、防火墙拦截器负责拦截网站自带防火墙规则的请求流量、异常拦截器、url重定向重写拦截器,主要用于将http的请求重定向到https;
请求IP来源检查:maxmind+IP2Region+本地数据库实现请求IP的来源检查;
RSS:WilderMinds.RssSyndication实现网站的RSS源;
EF扩展功能:zzzproject相关nuget包
Word文档转换:OpenXml实现浏览器端上传Word文档转换为html字符串。
在线文件管理:angular-filemanager+文件管理代码实现服务器文件的在线管理

前端技术栈

前台页面:

基于bootstrap3布局
ueditor+layedit富文本编辑器
notie提示栏+sweetyalert弹窗+layui组件
angularjs

后台管理页:
  • angularjs单一页面应用程序
  • material布局风格
  • echart图表组件
  • ng-table表格插件
  • material风格angular-filemanager文件管理器

性能和安全相关

  • hangfire实现分布式任务调度;
  • Z.EntityFramework.Plus实现数据访问层的高性能数据库批量操作;
  • Lucene.NET实现高性能站内检索;
  • 通过url的敏感词检查过滤恶意流量;
  • 限制客户端的请求频次;
  • 表单的AntiForgeryToken防止恶意提交;
  • ip2region+MaxMind地址库实现请求来源审查;
  • 用户信息采用端到端RSA非对称加密进行数据传输;

项目部署

以Windows系统为例,Linux系统请自行折腾。

1.安装基础设施:

  1. 安装.net6运行时:https://dotnet.microsoft.com/zh-cn/downloadopen in new window
  2. 安装mysql:mysql 8 绿色版open in new window,或pgsql:pgsql 14 绿色版open in new window
  3. 安装redis:redis for windows绿色版open in new window

2.生成网站应用

方式一:编译源代码:

编译需要将Masuit.Toolsopen in new window项目和Masuit.LuceneEFCore.SearchEngineopen in new window项目也一起clone下来,和本项目平级目录存放,才能正常编译,否则,将Masuit.Toolsopen in new window项目和Masuit.LuceneEFCore.SearchEngineopen in new window项目移除,通过nuget安装也是可以的。

方式二:下载编译好的现成的二进制文件

前往Releaseopen in new window下载最新的压缩包解压即可。

3.还原数据库脚本

创建数据库,名称随意,如:myblogs,然后前往Releaseopen in new windowhttps://github.com/ldqk/Masuit.MyBlogs/tree/master/database/mysqlopen in new window下载最新的数据库文件,还原到新建的数据库。
如果没有你目标数据库类型的还原文件,你可以先还原到mysql或pgsql中,然后使用Full Convertopen in new window转换成你需要的目标数据库类型即可。

4.修改配置文件:

主要需要配置的是以下内容,其他配置均为可选项,不配置则表示不启用; image
同时,BaiduAK参与了数据库的加密,如果你没有BaiduAK,自行到百度地图开放平台申请,免费的
如果你使用了CDN,需要配置TrueClientIPHeader选项为真实IP请求转发头,如cloudflare的叫CF-Connecting-IP。 如果Redis不在本机,需要在配置文件中的Redis节下配置,固定为Redis,值的格式:127.0.0.1:6379,allowadmin=true,若未正确配置,将按默认值“127.0.0.1:6379,allowadmin=true,abortConnect=false”。
其他配置请参考appsettings.json的注释按需配置即可。

5.启动网站

配置好环境和配置文件后,可直接通过dotnet Masuit.MyBlogs.Core.dll命令或直接双击Masuit.MyBlogs.Core.exe运行,也可以通过nssm挂在为Windows服务运行,或者你也可以尝试在Linux下部署。

其他方式部署

IIS:部署时必须将应用程序池的标识设置为LocalSystem,否则无法监控服务器硬件,同时需要安装.NET Core Hosting运行时环境,IIS程序池改为无托管代码。

docker/Linux:自行爬文。

有偿代部署服务

请联系:admin@masuit.com

后台管理:

https://127.0.0.1:5001/dashboard

  • 初始用户名:masuit
  • 初始密码:123abc@#$ 若密码不对,可在debug模式下进入后台【用户管理】下重置密码

推荐项目

基于EntityFrameworkCore和Lucene.NET实现的全文检索搜索引擎:Masuit.LuceneEFCore.SearchEngineopen in new window

.NET万能框架工具库:Masuit.Toolsopen in new window

- - - diff --git a/SearchEngine.html b/SearchEngine.html deleted file mode 100644 index 83a13483..00000000 --- a/SearchEngine.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - -

基于EntityFrameworkCore和Lucene.NET实现的全文检索搜索引擎(码数鲁森库)


仅70KB的代码量!新手友好。 基于EntityFrameworkCore和Lucene.NET实现的全文检索搜索引擎,可轻松实现高性能的全文检索,支持添加自定义词库,自定义同义词和同音词,搜索分词默认支持同音词搜索。可以轻松应用于任何基于EntityFrameworkCore的实体框架数据库。
注意:该项目仅适用于单体项目的简单搜索场景,不适用于分布式应用以及复杂的搜索场景,分布式应用请考虑使用大型的搜索引擎中间件做支撑,如:ElasticSearch,或考虑数据库的正则表达式查询

官网页面open in new window | 实际应用案例体验open in new window

项目开发模式:日常代码积累+网络搜集

LICENSEopen in new window nugetopen in new window nugetopen in new window codeSize language

请注意:

一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,一经发现,本项目作者有权利追讨本项目的使用费(公司工商注册信息认缴金额的2-5倍作为本项目的授权费),或者直接不允许使用任何包含本项目的源代码!任何性质的外包公司996公司需要使用本类库,请联系作者进行商业授权!其他企业或个人可随意使用不受限。996那叫用人,也是废人。8小时工作制才可以让你有时间自我提升,将来有竞争力。反对996,人人有责!

⭐⭐⭐喜欢这个项目的话就Star、Fork、Follow素质三连关♂注一下吧⭐⭐⭐

Stargazers over time

项目特点

  1. 基于原生Lucene实现,轻量高效,毫秒级响应
  2. 与EFCore无缝接入,配置代码少,可轻松接入现有项目
  3. 支持添加自定义词库,支持同义词和同音词检索,支持添加自定义同义词和同音词
  4. 不支持分布式应用,若你能解决分布式场景中索引库的同步问题,可以选择

为什么没有集成到Masuit.Tools这个库?

因为这个项目又引入了几个Lucene相关的库,如果集成到Masuit.Toolsopen in new window,这必将给原来的项目增加了更多的引用包,使用过程中也有可能没有使用Lucene的场景,这就造成了项目更加的臃肿,所以做了个新的项目。

为什么有这个库?现成的ElasticSearch不好么?

ES确实很好用,但我想的是还有很多的小站没必要上那么重量级的中间件,于是原生lucene库不失为一种好的选择,然而原生LuceneAPI的学习成本也相对较高,所以专门封装了这个库。

快速开始

EntityFrameworkCore基架搭建

新建项目,并安装EntityFrameworkCore相关库以及全文检索包:

根据你的项目情况,选择对应的后缀版本,提供了4个主键版本的库,后缀为int的代表主键是基于int自增类型的,后缀为Guid的代表主键是基于Guid类型的...

PM> Install-Package Masuit.LuceneEFCore.SearchEngine_int
-PM> Install-Package Masuit.LuceneEFCore.SearchEngine_long
-PM> Install-Package Masuit.LuceneEFCore.SearchEngine_string
-PM> Install-Package Masuit.LuceneEFCore.SearchEngine_Guid
-

按照套路我们需要首先搭建好EntityFrameworkCore的基架,即数据库上下文和实体对象;

准备数据库上下文对象:

public class DataContext : DbContext
-{
-    public DataContext(DbContextOptions<DataContext> options) : base(options){}
-    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
-    {
-        base.OnConfiguring(optionsBuilder);
-        optionsBuilder.UseQueryTrackingBehavior(QueryTrackingBehavior.TrackAll);
-    }
-    public virtual DbSet<Post> Post { get; set; }
-}
-

准备实体对象,这里开始需要注意了,要想这个库的数据被全文检索,需要符合两个条件:

  1. 实体必须继承自LuceneIndexableBaseEntity;
  2. 需要被检索的字段需要被LuceneIndexAttribute所标记。
/// <summary>
-/// 文章
-/// </summary>
-[Table("Post")]
-public class Post : LuceneIndexableBaseEntity
-{
-    public Post()
-    {
-        PostDate = DateTime.Now;
-    }
-
-    /// <summary>
-    /// 标题
-    /// </summary>
-    [Required(ErrorMessage = "文章标题不能为空!"), LuceneIndex]
-    public string Title { get; set; }
-
-    /// <summary>
-    /// 作者
-    /// </summary>
-    [Required, MaxLength(24, ErrorMessage = "作者名最长支持24个字符!"), LuceneIndex]
-    public string Author { get; set; }
-
-    /// <summary>
-    /// 内容
-    /// </summary>
-    [Required(ErrorMessage = "文章内容不能为空!"), LuceneIndex(IsHtml = true)]
-    public string Content { get; set; }
-
-    /// <summary>
-    /// 发表时间
-    /// </summary>
-    public DateTime PostDate { get; set; }
-
-    /// <summary>
-    /// 作者邮箱
-    /// </summary>
-    [Required(ErrorMessage = "作者邮箱不能为空!"), LuceneIndex]
-    public string Email { get; set; }
-
-    /// <summary>
-    /// 标签
-    /// </summary>
-    [StringLength(256, ErrorMessage = "标签最大允许255个字符"), LuceneIndex]
-    public string Label { get; set; }
-
-    /// <summary>
-    /// 文章关键词
-    /// </summary>
-    [StringLength(256, ErrorMessage = "文章关键词最大允许255个字符"), LuceneIndex]
-    public string Keyword { get; set; }
-
-}
-

LuceneIndexAttribute对应的4个自定义参数:

  1. Name:自定义索引字段名,默认为空;
  2. Index:索引行为,默认为Field.Index.ANALYZED;
  3. Store:是否被存储到索引库,默认为Field.Store.YES;
  4. IsHtml:是否是html,默认为false,若标记为true,则在索引解析时会先清空其中的html标签。

为什么实体类要继承LuceneIndexableBaseEntity?

LuceneIndexableBaseEntity源代码如下:

/// <summary>
-/// 需要被索引的实体基类
-/// </summary>
-public abstract class LuceneIndexableBaseEntity : ILuceneIndexable
-{
-    /// <summary>
-    /// 主键id
-    /// </summary>
-    [LuceneIndex(Name = "Id", Store = Field.Store.YES, Index = Field.Index.NOT_ANALYZED), Key]
-    public int Id { get; set; }
-
-    /// <summary>
-    /// 索引唯一id
-    /// </summary>
-    [LuceneIndex(Name = "IndexId", Store = Field.Store.YES, Index = Field.Index.NOT_ANALYZED)]
-    [NotMapped]
-    public string IndexId
-    {
-        get => GetType().Name + ":" + Id;
-        set
-        {
-        }
-    }
-
-    /// <summary>
-    /// 转换成Lucene文档
-    /// </summary>
-    /// <returns></returns>
-    public virtual Document ToDocument()
-    {
-        // 将实体对象转换成Lucene文档的逻辑
-    }
-}
-

实体继承自LuceneIndexableBaseEntity后,方便封装的Lucene可以直接调用ToDocument方法进行存储,同时,主键Id和IndexId需要参与Lucene索引文档的唯一标识(但IndexId不会生成到数据库)。

搜索引擎配置、创建索引、导入自定义词库等

Startup.cs

public void ConfigureServices(IServiceCollection services)
-{
-    // ...
-    services.AddDbContext<DataContext>(db =>
-    {
-        db.UseSqlServer("Data Source=.;Initial Catalog=MyBlogs;Integrated Security=True");
-    });// 配置数据库上下文
-    services.AddSearchEngine<DataContext>(new LuceneIndexerOptions()
-    {
-        Path = "lucene"
-    });// 依赖注入搜索引擎,并配置索引库路径
-    // ...
-}
-
-public void Configure(IApplicationBuilder app, IHostingEnvironment env, ISearchEngine searchEngine, LuceneIndexerOptions luceneIndexerOptions)
-{
-    // ...
-    // 导入自定义词库,支持中英文词
-    KeywordsManager.AddWords("面向对象编程语言");
-    KeywordsManager.AddWords("懒得勤快");
-    KeywordsManager.AddWords("码数科技");
-    KeywordsManager.AddWords("Tree New Bee");
-    KeywordsManager.AddWords("男♂能可贵");
-        
-    // 导入自定义同义词,支持中英文词
-    KeywordsManager.AddSynonyms("RDM","Redis Desktop Manager");
-    KeywordsManager.AddSynonyms("RDM","Remote Desktop Manager");
-    KeywordsManager.AddSynonyms("VS","Visual Studio");
-    KeywordsManager.AddSynonyms("Visual Studio","宇宙最强IDE");
-    KeywordsManager.AddSynonyms("VS","Video Studio");
-    KeywordsManager.AddSynonyms("难能可贵","男♂能可贵");
-    // 提问:以上示例配置了近义词:VS->Visual Studio和Visual Studio->宇宙最强IDE?那么分词时VS是否能够找到间接近义词“宇宙最强IDE”?
-    // 答案是不能,为什么不能?近义词查找并没有实现递归查找,为什么不做递归查找?因为近义词库是完全不可控的动态配置,如果做了递归查找,词库的配置不当很有可能造成死递归,所以,如果需要让VS和“宇宙最强IDE”同义,则需要再单独配置
-        
-    // 初始化索引库,建议结合定时任务使用,定期刷新索引库
-    string lucenePath = Path.Combine(env.ContentRootPath, luceneIndexerOptions.Path);
-    if (!Directory.Exists(lucenePath) || Directory.GetFiles(lucenePath).Length < 1)
-    {
-        // 创建索引
-        Console.WriteLine("索引库不存在,开始自动创建Lucene索引库...");
-        searchEngine.CreateIndex(new List<string>()
-        {
-           nameof(DataContext.Post),
-        });
-        var list = searchEngine.Context.Post.Where(i => i.Status != Status.Pended).ToList(); // 删除不需要被索引的数据
-        searchEngine.LuceneIndexer.Delete(list);
-        Console.WriteLine("索引库创建完成!");
-    }    
-    // ...
-}
-
-

同义词支持正向和反向查找,如配置了:KeywordsManager.AddSynonyms("地大物博","弟大勿勃")KeywordsManager.AddSynonyms("弟大勿勃","地大物博")是等效的,只需要其中一条即可
HomeController.cs

[Route("[controller]/[action]")]
-public class HomeController : Controller
-{
-    private readonly ISearchEngine<DataContext> _searchEngine;
-    private readonly ILuceneIndexer _luceneIndexer;
-    public HomeController(ISearchEngine<DataContext> searchEngine, ILuceneIndexer luceneIndexer)
-    {
-        _searchEngine = searchEngine;
-        _luceneIndexer = luceneIndexer;
-    }
-
-    /// <summary>
-    /// 搜索
-    /// </summary>
-    /// <param name="s">关键词</param>
-    /// <param name="page">第几页</param>
-    /// <param name="size">页大小</param>
-    /// <returns></returns>
-    [HttpGet]
-    public async Task<IActionResult> Index(string s, int page, int size)
-    {
-        //var result = _searchEngine.ScoredSearch<Post>(new SearchOptions(s, page, size, "Title,Content,Email,Author"));
-        var result = _searchEngine.ScoredSearch<Post>(new SearchOptions(s, page, size, typeof(Post)));
-        return Ok(result);
-    }
-
-    /// <summary>
-    /// 创建索引
-    /// </summary>
-    [HttpGet]
-    public void CreateIndex()
-    {
-        //_searchEngine.CreateIndex();//扫描所有数据表,创建符合条件的库的索引
-        _searchEngine.CreateIndex(new List<string>() { nameof(Post) });//创建指定的数据表的索引
-    }
-
-    /// <summary>
-    /// 添加索引
-    /// </summary>
-    [HttpPost]
-    public void AddIndex(Post p)
-    {
-        // 添加到数据库并更新索引
-        _searchEngine.Context.Post.Add(p);
-        _searchEngine.SaveChanges();
-
-        //_luceneIndexer.Add(p); //单纯的只添加索引库
-    }
-
-    /// <summary>
-    /// 删除索引
-    /// </summary>
-    [HttpDelete]
-    public void DeleteIndex(Post post)
-    {
-        //从数据库删除并更新索引库
-        Post p = _searchEngine.Context.Post.Find(post.Id);
-        _searchEngine.Context.Post.Remove(p);
-        _searchEngine.SaveChanges();
-
-        //_luceneIndexer.Delete(p);// 单纯的从索引库移除
-    }
-
-    /// <summary>
-    /// 更新索引库
-    /// </summary>
-    /// <param name="post"></param>
-    [HttpPatch]
-    public void UpdateIndex(Post post)
-    {
-        //从数据库更新并同步索引库
-        Post p = _searchEngine.Context.Post.Find(post.Id);
-        // update...
-        _searchEngine.Context.Post.Update(p);
-        _searchEngine.SaveChanges();
-
-        //_luceneIndexer.Update(p);// 单纯的更新索引库
-    }
-}
-

关于更新索引

要在执行任何CRUD操作后更新索引,只需从ISearchEngine调用SaveChanges()方法,而不是从DataContext调用SaveChanges()。 这才会更新索引,然后会自动调用DataContexts的SaveChanges()方法。如果直接调用DataContexts的SaveChanges()方法,只会保存到数据库,而不会更新索引库。

关于搜索结果

搜索返回IScoredSearchResultCollection,其中包括执行搜索所花费的时间,命中总数以及每个包含的对象的结果集以及在搜索中匹配度的数量。

演示项目

点击这里

推荐项目

.NET万能框架:Masuit.Toolsopen in new window

开源博客系统:Masuit.MyBlogsopen in new window

- - - diff --git a/Use.html b/Use.html deleted file mode 100644 index 57e3dbcb..00000000 --- a/Use.html +++ /dev/null @@ -1,1015 +0,0 @@ - - - - - - - - - Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult - - - - -

安装程序包

基础功能包

.NET Framework版本的包因打包环境异常,无法正常发布更新,目前暂时停更~

.NET Framework ≥ 4.6.1

PM> Install-Package Masuit.Tools.Net
-

.NET Standard ≥ 2.1 或只想使用一些基本功能

通用项目推荐首选包

PM> Install-Package Masuit.Tools.Abstraction
-

.NET Core ≥ 2.1

.NET Core项目推荐首选包

PM> Install-Package Masuit.Tools.Core
-

.NET Framework 4.5特供版

请注意:这是.NET Framework 4.5的专用版本,相比4.6.1及.NET Core的版本,阉割了Redis、HTML、文件压缩、ASP.NET扩展、硬件监测、Session扩展等一些功能。如果你的项目版本高于4.5,请务必使用上述版本的包,以享受完整的功能体验!

PM> Install-Package Masuit.Tools.Net45
-

增值包

Masuit.Tools.AspNetCore

AspNetCore项目推荐首选包 ASP.NET Core Web专用包,包含Masuit.Tools.Core的全部功能,并且增加了一些对ASP.NET Core Web功能的额外支持。

Masuit.Tools.Excel

Excel导入导出的专用独立包

Masuit.Tools.NoSQL.MongoDBClient

mongodb的封装操作类独立包

为工具库注册配置

工具库需要用到外部配置节,.NET Framework项目配置在web.config/app.config的AppSettings配置节中,.NET Core项目配置在appsettings.json中:

  1. EmailDomainWhiteList,邮箱校验需要用到的白名单域名,英文逗号分隔,每个元素支持正则表达式,若未配置,则不启用邮箱校验白名单,示例: "^\\w{1,5}@qq.com,^\\w{1,5}@163.com,^\\w{1,5}@gmail.com,^\\w{1,5}@outlook.com"
  2. EmailDomainBlockList,邮箱校验需要用到的黑名单域名,英文逗号分隔,每个元素支持正则表达式,且黑名单优先级高于白名单,若未配置,则不启用邮箱校验黑白名单
public Startup(IConfiguration configuration)
-{
-    configuration.AddToMasuitTools(); // 若未调用,则默认自动尝试加载appsettings.json
-}
-

特色功能示例代码

在线体验

https://replit.com/@ldqk/MasuitToolsDemo?v=1#main.cs

0. 一些创意类型

DisposableDictionary:可被Disposable的字典类型,用于存放Value是Disposable类型的数据,用法和普通字典一致

NullableConcurrentDictionary/NullableDictionary:Key可为null的字典类型,用法和普通字典一致

ConcurrentHashSet:并发HashSet,用法和HashSet一致

ConcurrentLimitedQueue:定长并发队列,特点是长度是固定的,用法与ConcurrentQueue一致

LimitedQueue:定长队列,特点是长度是固定的,用法与Queue一致

LargeMemoryStream:超大内存流,最大可支持1TB数据,推荐当数据流大于2GB时使用,用法与MemoryStream一致

PooledMemoryStream:池化内存流,可内存复用,用法与MemoryStream一致,性能比MemoryStream好

ITree<T>:树形实体接口约束,实现该接口可让类型实现一些树形操作

ChineseCalendar:中国农历类型,可以实现天干地支节气等数据的获取

Clay/DynamicFactory:粘土动态类型,可实现类似js的弱类型编程

RadarChart:雷达图类型,可用于做数据分析或用户行为画像

Circle:圆形类型,可实现⚪的相交相切相离的判断

Sphere:球体类型,可实现计算球体上两点的弧长计算,相交相切相离的判断

MimeMapper:mime类型映射

VersionNumber:版本号类型,比System.Version功能更多一点,用法一致

具体用法,可参阅后文详细示例:

1. 检验字符串是否是Email、手机号、URL、IP地址、身份证号等

var (isMatch, match) = "337845818@qq.com".MatchEmail(); // 可在appsetting.json中添加EmailDomainWhiteList和EmailDomainBlockList配置邮箱域名黑白名单,逗号分隔,如"EmailDomainBlockList": "^\\w{1,5}@qq.com,^\\w{1,5}@163.com,^\\w{1,5}@gmail.com,^\\w{1,5}@outlook.com",
-bool isInetAddress = "114.114.114.114".MatchInetAddress(); // 匹配IP地址
-bool isUrl = "http://masuit.org/20/history".MatchUrl(); // 匹配url
-bool isPhoneNumber = "15205201520".MatchPhoneNumber(); // 匹配手机号
-bool isLandline = "01088888888".MatchLandline(); // 匹配座机号
-bool isIdentifyCard = "312000199502230660".MatchIdentifyCard();// 校验中国大陆身份证号
-bool isCNPatentNumber = "200410018477.9".MatchCNPatentNumber(); // 校验中国专利申请号或专利号,是否带校验位,校验位前是否带“.”,都可以校验,待校验的号码前不要带CN、ZL字样的前缀
-

2.硬件监测(仅支持Windows,部分函数仅支持物理机模式)

float load = SystemInfo.CpuLoad;// 获取CPU占用率
-long physicalMemory = SystemInfo.PhysicalMemory;// 获取物理内存总数
-long memoryAvailable = SystemInfo.MemoryAvailable;// 获取物理内存可用率
-double freePhysicalMemory = SystemInfo.GetFreePhysicalMemory();// 获取可用物理内存
-double temperature = SystemInfo.GetCPUTemperature();// 获取CPU温度
-int cpuCount = SystemInfo.GetCpuCount();// 获取CPU核心数
-var ipAddress = SystemInfo.GetLocalIPs();// 获取本机所有IP地址
-string localUsedIp = SystemInfo.GetLocalUsedIP();// 获取本机当前正在使用的IP地址
-IList<string> macAddress = SystemInfo.GetMacAddress();// 获取本机所有网卡mac地址
-string osVersion = Windows.GetOsVersion();// 获取操作系统版本
-RamInfo ramInfo = SystemInfo.GetRamInfo();// 获取内存信息
-var cpuSN=SystemInfo.GetCpuInfo()[0].SerialNumber; // CPU序列号
-var driveSN=SystemInfo.GetDiskInfo()[0].SerialNumber; // 硬盘序列号
-
-// 快速方法
-var cpuInfos = CpuInfo.Locals; // 快速获取CPU的信息
-var ramInfo = RamInfo.Local; // 快速获取内存的信息
-var diskInfos = DiskInfo.Locals; // 快速获取硬盘的信息
-var biosInfo = BiosInfo.Local; // 快速获取主板的信息
-

3.html的防XSS处理:

string html = @"<link href='/Content/font-awesome/css' rel='stylesheet'/>
-        <!--[if IE 7]>
-        <link href='/Content/font-awesome-ie7.min.css' rel='stylesheet'/>
-        <![endif]-->
-        <script src='/Scripts/modernizr'></script>
-        <div id='searchBox' role='search'>
-        <form action='/packages' method='get'>
-        <span class='user-actions'><a href='/users/account/LogOff'>退出</a></span>
-        <input name='q' id='searchBoxInput'/>
-        <input id='searchBoxSubmit' type='submit' value='Submit' />
-        </form>
-        </div>";
-string s = html.HtmlSanitizerStandard();// 清理后:<div><span><a href="/users/account/LogOff">退出</a></span></div>
-string s = html.HtmlSanitizerCustom(); // 自定义清理
-

4.整理Windows系统的内存:

类似于各大系统优化软件的加速球功能

Windows.ClearMemorySilent();
-

5.任意进制转换/中文数字

大写数字

var num=123.45.ToChineseMoney(); // 壹佰贰拾叁元肆角伍分
-var num=123.45.ToChineseNumber(); // 一百二十三点四五
-

进制转换

可用于生成短id,短hash,随机字符串等操作,纯数学运算。

NumberFormater nf = new NumberFormater(36);//内置2-95进制的转换
-//NumberFormater nf = new NumberFormater("0123456789abcdefghijklmnopqrstuvwxyz");// 自定义进制字符,可用于生成验证码,自定义字符可支持任意进制,你传1w个字符进去那就支持一万进制(手动狗头)
-string s36 = nf.ToString(12345678);
-long num = nf.FromString("7clzi");
-Console.WriteLine("12345678的36进制是:" + s36); // 7clzi
-Console.WriteLine("36进制的7clzi是:" + num); // 12345678
-var s = new NumberFormater(91).ToString(new Random().Next(100000, int.MaxValue)); //配合随机数生成随机字符串
-
//扩展方法形式调用
-var bin=12345678.ToBase(36);// 10进制转36进制:7clzi
-var num="7clzi".FromBase(36);// 36进制转10进制:12345678
-
//超大数字的进制转换
-var num = "e6186159d38cd50e0463a55e596336bd".FromBaseBig(16); // 大数字16进制转10进制
-Console.WriteLine(num); // 十进制:305849028665645097422198928560410015421
-Console.WriteLine(num.ToBase(64)); // 64进制:3C665pQUPl3whzFlVpoPqZ,22位长度
-Console.WriteLine(num.ToBase(36)); // 36进制:dmed4dkd5bhcg4qdktklun0zh,25位长度
-Console.WriteLine(num.ToBase(7)); // 7进制:2600240311641665565300424545154525131265221035,46位长度
-Console.WriteLine(num.ToBase(12)); // 12进制:5217744842749978a756b22135b16a5998a5,36位长度
-Console.WriteLine(num.ToBase(41)); // 41进制:opzeBda2aytcEeudEquuesbk,24位长度
-

如果你想让进制符支持emoji,NumberFormater是不支持的,不过如果你确实有这么骚的需求,我还准备了UnicodeFormater类,用于支持emoji,用法和NumberFormater一模一样,并且,UnicodeFormater的功能包含NumberFormater的功能,但是,性能比NumberFormater差了许多。

var formater = new UnicodeFormater("😀😁😂🤣😃😄😅😆😉😊😋😎😍😘🥰😗😙🥲😚🙂🤗🤩🤔🤨😑😶😶‍🌫🙄😏😣😥😮");
-var s = formater.ToString(1234567890); // 😄🌫😶😋😋
-var num = formater.FromString(s); // 1234567890
-

6.纳秒级性能计时器

HiPerfTimer timer = HiPerfTimer.StartNew();
-for (int i = 0; i < 100000; i++)
-{
-    //todo
-}
-timer.Stop();
-Console.WriteLine("执行for循环100000次耗时"+timer.Duration+"s");
-
double time = HiPerfTimer.Execute(() =>
-{
-    for (int i = 0; i < 100000; i++)
-    {
-        //todo
-    }
-});
-Console.WriteLine("执行for循环100000次耗时"+time+"s");
-

7.产生分布式唯一有序短id(雪花id)

// 实例调用
-var sf = SnowFlake.GetInstance();
-string id = sf.GetUniqueId();// rcofqodori0w
-var sfn = SnowFlakeNew.GetInstance(); // 改良版雪花id,对时间回拨不敏感
-string id = sfn.GetUniqueId();// vmbq8q3s3zul
-
-// 静态调用
-string id = SnowFlake.NewId;// rcofqodori0w
-string shortId = sf.GetUniqueShortId(8);// qodw9728
-string id = SnowFlakeNew.NewId;// 改良版雪花id,对时间回拨不敏感
-
-// 全局设置
-SnowFlake.SetMachienId(1); // 设置机器id
-SnowFlake.SetInitialOffset(4219864516915105792); // 设置起始偏移量
-SnowFlake.SetNumberFormater(new NumberFormater("0123456789abcdefghijklmnopqrstuvwxyz._-!")); // 设置数制格式化器
-
-SnowFlakeNew.SetMachienId(1); // 设置机器id
-SnowFlakeNew.SetInitialOffset(4219864516915105792); // 设置起始偏移量
-SnowFlakeNew.SetNumberFormater(new NumberFormater("0123456789abcdefghijklmnopqrstuvwxyz._-!")); // 设置数制格式化器
-
var set = new HashSet<string>();
-double time = HiPerfTimer.Execute(() =>
-{
-    for (int i = 0; i < 1000000; i++)
-    {
-        set.Add(SnowFlake.NewId);
-    }
-});
-Console.WriteLine(set.Count == 1000000); //True
-Console.WriteLine("产生100w个id耗时" + time + "s"); //2.6891495s
-

8.农历转换

ChineseCalendar.CustomHolidays.Add(DateTime.Parse("2018-12-31"),"元旦节");//自定义节假日
-ChineseCalendar today = new ChineseCalendar(DateTime.Parse("2018-12-31"));
-Console.WriteLine(today.ChineseDateString);// 二零一八年十一月廿五
-Console.WriteLine(today.AnimalString);// 生肖:狗
-Console.WriteLine(today.GanZhiDateString);// 干支:戊戌年甲子月丁酉日
-Console.WriteLine(today.DateHoliday);// 获取按公历计算的节假日
-...
-

9.Linq表达式树扩展

Expression<Func<string, bool>> where1 = s => s.StartsWith("a");
-Expression<Func<string, bool>> where2 = s => s.Length > 10;
-Func<string, bool> func = where1.And(where2)
-    .AndIf(!string.IsNullOrEmpty(name),s=>s==name)
-    .Compile(); // And和AndIf可供选择,满足条件再执行And
-bool b=func("abcd12345678");//true
-
Expression<Func<string, bool>> where1 = s => s.StartsWith("a");
-Expression<Func<string, bool>> where2 = s => s.Length > 10;
-Func<string, bool> func = where1
-    .Or(where2)
-    .OrIf(!string.IsNullOrEmpty(name),s=>s==name)
-    .Compile(); // Or和OrIf可供选择,满足条件再执行Or
-bool b=func("abc");// true
-
queryable.WhereIf(!string.IsNullOrEmpty(name),e=>e.Name==name)
-    .WhereIf(()=> age.HasValue,e=>e.Age>=age); // IQueryable的WhereIf扩展函数,满足条件再执行Where
-

10.模版引擎

var tmp = new Template("{{name}},你好!");
-tmp.Set("name", "万金油");
-string s = tmp.Render();//万金油,你好!
-
var tmp = new Template("{{one}},{{two}},{{three}}");
-string s = tmp.Set("one", "1").Set("two", "2").Set("three", "3").Render();// 1,2,3
-
var tmp = new Template("{{name}},{{greet}}!");
-tmp.Set("name", "万金油");
-string s = tmp.Render();// throw 模版变量{{greet}}未被使用
-

11.List转Datatable

var list = new List<MyClass>()
-{
-    new MyClass()
-    {
-        Name = "张三",
-        Age = 22
-    },
-    new MyClass()
-    {
-        Name = "李四",
-        Age = 21
-    },
-    new MyClass()
-    {
-        Name = "王五",
-        Age = 28
-    }
-};
-var table = list.Select(c => new{姓名=c.Name,年龄=c.Age}).ToDataTable();// 将自动填充列姓名和年龄
-

12.文件压缩解压

.NET Framework

MemoryStream ms = SevenZipCompressor.ZipStream(new List<string>()
-{
-    @"D:\1.txt",
-    "http://ww3.sinaimg.cn/large/87c01ec7gy1fsq6rywto2j20je0d3td0.jpg",
-});//压缩成内存流
-
SevenZipCompressor.Zip(new List<string>()
-{
-    @"D:\1.txt",
-    "http://ww3.sinaimg.cn/large/87c01ec7gy1fsq6rywto2j20je0d3td0.jpg",
-}, zip);//压缩成zip
-SevenZipCompressor.UnRar(@"D:\Download\test.rar", @"D:\Download\");//解压rar
-SevenZipCompressor.Decompress(@"D:\Download\test.tar", @"D:\Download\");//自动识别解压压缩包
-SevenZipCompressor.Decompress(@"D:\Download\test.7z", @"D:\Download\");
-

ASP.NET Core

Startup.cs

services.AddSevenZipCompressor();
-

构造函数注入ISevenZipCompressor

private readonly ISevenZipCompressor _sevenZipCompressor;
-public Test(ISevenZipCompressor sevenZipCompressor)
-{
-    _sevenZipCompressor = sevenZipCompressor;
-}
-

使用方式同.NET Framework版本

13.简易日志组件(又不是不能用.jpg)

LogManager.LogDirectory=AppDomain.CurrentDomain.BaseDirectory+"/logs";
-LogManager.Event+=info =>
-{
-    //todo:注册一些事件操作
-};
-LogManager.Info("记录一次消息");
-LogManager.Error(new Exception("异常消息"));
-

14.多线程后台下载

var mtd = new MultiThreadDownloader("https://attachments-cdn.shimo.im/yXwC4kphjVQu06rH/KeyShot_Pro_7.3.37.7z",Environment.GetEnvironmentVariable("temp"),"E:\\Downloads\\KeyShot_Pro_7.3.37.7z",8);
-mtd.Configure(req =>
- {
-     req.Referer = "https://masuit.com";
-     req.Headers.Add("Origin", "https://baidu.com");
-});
-mtd.TotalProgressChanged+=(sender, e) =>
-{
-    var downloader = sender as MultiThreadDownloader;
-    Console.WriteLine("下载进度:"+downloader.TotalProgress+"%");
-    Console.WriteLine("下载速度:"+downloader.TotalSpeedInBytes/1024/1024+"MBps");
-};
-mtd.FileMergeProgressChanged+=(sender, e) =>
-{
-    Console.WriteLine("下载完成");
-};
-mtd.FileMergedComplete+=(sender,e)=>{
-    Console.WriteLine("文件合并完成");
-};
-mtd.Start();//开始下载
-//mtd.Pause(); // 暂停下载
-//mtd.Resume(); // 继续下载
-

15.加密解密/hash

var enc="123456".MDString();// MD5
-var enc="123456".MDString("abc");// MD5加盐
-var enc="123456".MDString2();// MD5两次
-var enc="123456".MDString2("abc");// MD5两次加盐
-var enc="123456".MDString3();// MD5三次
-var enc="123456".MDString3("abc");// MD5三次加盐
-
-string aes = "123456".AESEncrypt();// AES加密为密文
-string s = aes.AESDecrypt(); //AES解密为明文
-string aes = "123456".AESEncrypt("abc");// AES密钥加密为密文
-string s = aes.AESDecrypt("abc"); //AES密钥解密为明文
-
-string enc = "123456".DesEncrypt();// DES加密为密文
-string s = enc.DesDecrypt(); //DES解密为明文
-string enc = "123456".DesEncrypt("abcdefgh");// DES密钥加密为密文
-string s = enc.DesDecrypt("abcdefgh"); //DES密钥解密为明文
-
-RsaKey rsaKey = RsaCrypt.GenerateRsaKeys();// 生成RSA密钥对
-string encrypt = "123456".RSAEncrypt(rsaKey.PublicKey);// 公钥加密
-string s = encrypt.RSADecrypt(rsaKey.PrivateKey);// 私钥解密
-
-string s = "123".Crc32();// 生成crc32摘要
-string s = "123".Crc64();// 生成crc64摘要
-string s = "123".SHA256();// 生成SHA256摘要
-
-// 零宽字符串,通常用作文章水印,以一种看不见的字符插入到文本中,使攻击者无法直接识别文本内容,从而起到保护文章的作用。
-string pub="hello,world!";
-string hidden="ldqk";
-var str = pub.InjectZeroWidthString(hidden); // 扩展函数调用:将"ldqk"以零宽字符串的方式隐藏在"hello,world!"中
-var str = ZeroWidthCodec.Encrypt(pub,hidden); // 类调用:将"ldqk"以零宽字符串的方式隐藏在"hello,world!"中
-var dec = str.DecodeZeroWidthString(); // 扩展函数调用:将包含零宽字符串的密文解密出隐藏字符串"ldqk"
-var dec = ZeroWidthCodec.Decrypt(str); // 类调用:将包含零宽字符串的密文解密出隐藏字符串"ldqk"
-var enc = hidden.EncodeToZeroWidthText(); // 扩展函数调用:将字符串编码成零宽字符串
-var enc = ZeroWidthCodec.Encode(str); // 类调用:将字符串编码成零宽字符串
-

16.实体校验

public class MyClass
-{
-    [IsEmail] //可在appsetting.json中添加EmailDomainWhiteList配置邮箱域名白名单,逗号分隔
-    public string Email { get; set; }
-
-    [IsPhone]
-    public string PhoneNumber { get; set; }
-
-    [IsLandline]
-    public string Landline { get; set; }
-
-    [IsIPAddress]
-    public string IP { get; set; }
-
-    [MinValue(0, ErrorMessage = "年龄最小为0岁"), MaxValue(100, ErrorMessage = "年龄最大100岁")]
-    public int Age { get; set; }
-
-    [ComplexPassword]//密码复杂度校验
-    public string Password { get; set; }
-  
-    [EnumOf] // 检测是否是有效枚举值
-    public MyEnum MyEnum { get; set; }
-  
-    [MinItemsCount(1)] // 检测集合元素最少1个
-    public List<string> Strs { get; set; }
-}
-

17.HTML操作

List<string> srcs = "html".MatchImgSrcs().ToList();// 获取html字符串里所有的img标签的src属性
-var imgTags = "html".MatchImgTags();//获取html字符串里的所有的img标签
-var str="html".RemoveHtmlTag(); // 去除html标签
-...
-

18.IP地址和URL

bool inRange = "192.168.2.2".IpAddressInRange("192.168.1.1","192.168.3.255");// 判断IP地址是否在这个地址段里
-bool isPrivateIp = "172.16.23.25".IsPrivateIP();// 判断是否是私有地址
-bool isExternalAddress = "http://baidu.com".IsExternalAddress();// 判断是否是外网的URL
-
-//以下需要配置baiduAK
-string isp = "114.114.114.114".GetISP(); // 获取ISP运营商信息
-PhysicsAddress physicsAddress = "114.114.114.114".GetPhysicsAddressInfo().Result;// 获取详细地理信息对象
-Tuple<string, List<string>> ipAddressInfo = "114.114.114.114".GetIPAddressInfo().Result;// 获取详细地理信息集合
-
-uint number=ipAddress.ToUInt32(); // IP地址转10进制
-uint number="114.114.114.114".IPToID(); // IP地址转10进制
-

19.对象属性值合并

public class MyClass
-{
-    public string A { get; set; }
-
-    public bool? B { get; set; }
-
-    public int? C { get; set; }
-}
-
-var a = new MyClass()
-{
-    A = "aa"
-};
-var b = new MyClass()
-{
-    B = true
-};
-var c = new MyClass()
-{
-    C = 3
-};
-var merge = a.Merge(b, c); // 合并后对象:A = "aa",B = true,C = 3
-

20.元素去重

var list = new List<MyClass>()
-{
-    new MyClass()
-    {
-        Email = "1@1.cn"
-    },
-    new MyClass()
-    {
-        Email = "1@1.cn"
-    },
-    new MyClass()
-    {
-        Email = "1@1.cn"
-    }
-};
-List<MyClass> classes = list.DistinctBy(c => c.Email).ToList();
-Console.WriteLine(classes.Count==1);//True
-

21.枚举扩展

[Flags]
-public enum MyEnum
-{
-    [Display(Name = "读")]
-    [Description("读")]
-    [EnumDescription("读取操作","读","zh-CN")] // 多语言枚举描述
-    [EnumDescription("Read","Read","en-US")]
-    Read=1,
-  
-    [Display(Name = "写")]
-    [Description("写")]
-    Write=2,
-
-    Delete=4,
-
-    All=8
-}
-
Dictionary<int, string> dic1 = typeof(MyEnum).GetDictionary();// 获取枚举值和字符串表示的字典映射
-var dic2 = typeof(MyEnum).GetDescriptionAndValue();// 获取字符串表示和枚举值的字典映射
-string desc = MyEnum.Read.GetDescription();// 获取Description标签
-string display = MyEnum.Read.GetDisplay();// 获取Display标签的Name属性
-var value = typeof(MyEnum).GetValue("Read");//获取字符串表示值对应的枚举值
-string enumString = 0.ToEnumString(typeof(MyEnum));// 获取枚举值对应的字符串表示
-
var op=MyEnum.Read|MyEnum.Write|MyEnum.Delete;
-var enums=op.Split(); // 拆分枚举值,得到枚举数组,这个函数建议使用在按位定值的枚举
-

22.定长队列和ConcurrentHashSet实现

如果是.NET5及以上,推荐使用框架自带的Channel实现该功能

LimitedQueue<string> queue = new LimitedQueue<string>(32);// 声明一个容量为32个元素的定长队列
-ConcurrentLimitedQueue<string> queue = new ConcurrentLimitedQueue<string>(32);// 声明一个容量为32个元素的线程安全的定长队列
-
var set = new ConcurrentHashSet<string>(); // 用法和hashset保持一致
-

23.反射操作

MyClass myClass = new MyClass();
-PropertyInfo[] properties = myClass.GetProperties();// 获取属性列表
-myClass.SetProperty("Email","1@1.cn");//给对象设置值
-myClass.DeepClone(); // 对象深拷贝,带嵌套层级的
-myClass.ToDictionary(); // 对象转字典
-myClass.ToDynamic(); // 对象转换成动态可扩展类型
-

24.邮件发送

new Email()
-{
-    SmtpServer = "smtp.masuit.com",// SMTP服务器
-    SmtpPort = 25, // SMTP服务器端口
-    EnableSsl = true,//使用SSL
-    Username = "admin@masuit.com",// 邮箱用户名
-    Password = "123456",// 邮箱密码
-    Tos = "10000@qq.com,10001@qq.com", //收件人
-    Subject = "测试邮件",//邮件标题
-    Body = "你好啊",//邮件内容
-}.SendAsync(s =>
-{
-    Console.WriteLine(s);// 发送成功后的回调
-});// 异步发送邮件
-

25.图像的简单处理

"base64".SaveDataUriAsImageFile();// 将Base64编码转换成图片
-
-Image image = Image.FromFile(@"D:\1.jpg");
-image.MakeThumbnail(@"D:\2.jpg", 120, 80, ThumbnailCutMode.LockWidth);//生成缩略图
-
-Bitmap bmp = new Bitmap(@"D:\1.jpg");
-Bitmap newBmp = bmp.BWPic(bmp.Width, bmp.Height);//转换成黑白
-Bitmap newBmp = bmp.CutAndResize(new Rectangle(0, 0, 1600, 900), 160, 90);//裁剪并缩放
-bmp.RevPicLR(bmp.Width, bmp.Height);//左右镜像
-bmp.RevPicUD(bmp.Width, bmp.Height);//上下镜像
-
-var marker=ImageWatermarker(stream);
-stream=maker.AddWatermark("水印文字","字体文件",字体大小,color,水印位置,边距); // 给图片添加水印
-stream=maker.AddWatermark(水印图片,水印位置,边距,字体大小,字体); // 给图片添加水印
-
-// 图像相似度对比
-var hasher = new ImageHasher();
-var hash1 = hasher.DifferenceHash256("图片1"); // 使用差分哈希算法计算图像的256位哈希
-var hash2 = hasher.DifferenceHash256("图片2"); // 使用差分哈希算法计算图像的256位哈希
-//var hash1 = hasher.AverageHash64("图片1"); // 使用平均值算法计算图像的64位哈希
-//var hash2 = hasher.AverageHash64("图片2"); // 使用平均值算法计算图像的64位哈希
-//var hash1 = hasher.DctHash("图片1"); // 使用DCT算法计算图像的64位哈希
-//var hash2 = hasher.DctHash("图片2"); // 使用DCT算法计算图像的64位哈希
-//var hash1 = hasher.MedianHash64("图片1"); // 使用中值算法计算给定图像的64位哈希
-//var hash2 = hasher.MedianHash64("图片2"); // 使用中值算法计算给定图像的64位哈希
-var sim=ImageHasher.Compare(hash1,hash2); // 图片的相似度,范围:[0,1]
-
-var imageFormat=stream.GetImageType(); // 获取图片的真实格式
-

26.随机数

Random rnd = new Random();
-int num = rnd.StrictNext();//产生真随机数
-double gauss = rnd.NextGauss(20,5);//产生正态高斯分布的随机数
-var s = new NumberFormater(62).ToString(new Random().Next(100000, int.MaxValue));//生成随机字符串
-

27.权重随机筛选功能

var data=new List<WeightedItem<string>>()
-{
-     new WeightedItem<string>("A", 1),
-     new WeightedItem<string>("B", 3),
-     new WeightedItem<string>("C", 4),
-     new WeightedItem<string>("D", 4),
-};
-var item=data.WeightedItem();//按权重选出1个元素
-var list=data.WeightedItems(2);//按权重选出2个元素
-
var selector = new WeightedSelector<string>(new List<WeightedItem<string>>()
-{
-    new WeightedItem<string>("A", 1),
-    new WeightedItem<string>("B", 3),
-    new WeightedItem<string>("C", 4),
-    new WeightedItem<string>("D", 4),
-});
-var item = selector.Select();//按权重选出1个元素
-var list = selector.SelectMultiple(3);//按权重选出3个元素
-
list.WeightedItems(3,e=>e.Price); // 按价格权重选出3个元素
-list.WeightedBy(e=>e.Price); // 按价格权重选出1个元素
-

28.EF Core支持AddOrUpdate方法

/// <summary>
-/// 按Id添加或更新文章实体
-/// </summary>
-public override Post SavePost(Post t)
-{
-    DataContext.Set<Post>().AddOrUpdate(t => t.Id, t);
-    return t;
-}
-

29.敏感信息掩码

"13123456789".Mask(); // 131****5678
-"admin@masuit.com".MaskEmail(); // a****n@masuit.com
-
// Attribute的方式为json序列化时进行数据脱敏
-public class MyClass
-{
-    [JsonConverter(typeof(MaskEmailConverter))] // 请注意命名空间,使用Newtonsoft.Json请导入Masuit.Tools.Systems命名空间,使用System.Text.Json请导入Masuit.Tools.Systems.Text.Json命名空间
-    public string Email { get; set; }
-
-    [JsonConverter(typeof(MaskConverter))] // 请注意命名空间,使用Newtonsoft.Json请导入Masuit.Tools.Systems命名空间,使用System.Text.Json请导入Masuit.Tools.Systems.Text.Json命名空间
-    public string PhoneNumber { get; set; }
-}
-

30.集合扩展

var list = new List<string>()
-{
-    "1","3","3","3"
-};
-list.AddRangeIf(s => s.Length > 1, "1", "11"); // 将被添加元素中的长度大于1的元素添加到list
-list.AddRangeIfNotContains("1", "11"); // 将被添加元素中不包含的元素添加到list
-list.RemoveWhere(s => s.Length<1); // 将集合中长度小于1的元素移除
-list.InsertAfter(0, "2"); // 在第一个元素之后插入
-list.InsertAfter(s => s == "1", "2"); // 在元素"1"后插入
-var dic = list.ToDictionarySafety(s => s); // 安全的转换成字典类型,当键重复时只添加一个键
-var dic = list.ToConcurrentDictionary(s => s); // 转换成并发字典类型,当键重复时只添加一个键
-var dic = list.ToDictionarySafety(s => s, s => s.GetHashCode()); // 安全的转换成字典类型,当键重复时只添加一个键
-dic.AddOrUpdate("4", 4); // 添加或更新键值对
-dic.AddOrUpdate(new Dictionary<string, int>()
-{
-    ["5"] = 5,["55"]=555
-}); // 批量添加或更新键值对
-dic.AddOrUpdate("5", 6, (s, i) => 66); // 如果是添加,则值为6,若更新则值为66
-dic.AddOrUpdate("5", 6, 666); // 如果是添加,则值为6,若更新则值为666
-dic.GetOrAdd("7",77); // 字典获取或添加元素
-dic.GetOrAdd("7",()=>77); // 字典获取或添加元素
-dic.AsConcurrentDictionary(); // 普通字典转换成并发字典集合
-var table=list.ToDataTable(); // 转换成DataTable类型
-table.AddIdentityColumn(); //给DataTable增加一个自增列
-table.HasRows(); // 检查DataTable 是否有数据行
-table.ToList<T>(); // datatable转List
-var set = list.ToHashSet(s=>s.Name);// 转HashSet
-var cts = new CancellationTokenSource(100); //取消口令
-await list.ForeachAsync(async i=>{
-    await Task.Delay(100);
-    Console.WriteLine(i);
-},cts.Token); // 异步foreach
-
-await list.ForAsync(async (item,index)=>{
-    await Task.Delay(100);
-    Console.WriteLine(item+"_"+index);
-},cts.Token); // 异步for,带索引编号
-await list.SelectAsync(async i=>{
-    await Task.Delay(100);
-    return i*10;
-}); // 异步Select
-await list.SelectAsync(async (item,index)=>{
-    await Task.Delay(100);
-    return item*10;
-}); // 异步Select,带索引编号
-string s=list.Join(",");//将字符串集合连接成逗号分隔的单字符串
-var max=list.MaxOrDefault(); // 取最大值,当集合为空的时候不会报错
-var max=list.MaxOrDefault(selector); // 取最大值,当集合为空的时候不会报错
-var max=list.MaxOrDefault(selector,default); // 取最大值,当集合为空的时候不会报错
-var max=list.MinOrDefault(); // 取最小值,当集合为空的时候不会报错
-var max=list.MinOrDefault(selector); // 取最小值,当集合为空的时候不会报错
-var max=list.MinOrDefault(selector,default); // 取最小值,当集合为空的时候不会报错
-var stdDev=list.Select(s=>s.ConvertTo<int>()).StandardDeviation(); // 求标准差
-
-var pages=queryable.ToPagedList(1,10); // 分页查询
-var pages=await queryable.ToPagedListAsync(1,10); // 分页查询
-
-var nums=Enumerable.Range(1, 10).ExceptBy(Enumerable.Range(5, 10), i => i); // 按字段取差集
-var nums=Enumerable.Range(1, 10).IntersectBy(Enumerable.Range(5, 10), i => i); // 按字段取交集
-var nums=Enumerable.Range(1, 10).SequenceEqual(Enumerable.Range(5, 10), i => i); // 判断序列相等
-var nums=Enumerable.Range(1, 10).OrderByRandom(); // 随机排序
-
-// 多个集合取交集
-var list=new List<List<MyClass>>(){
-    new List<MyClass>(){
-        new MyClass(){Name="aa",Age=11},
-        new MyClass(){Name="bb",Age=12},
-        new MyClass(){Name="cc",Age=13},
-    },
-    new List<MyClass>(){
-        new MyClass(){Name="bb",Age=12},
-        new MyClass(){Name="cc",Age=13},
-        new MyClass(){Name="dd",Age=14},
-    },
-    new List<MyClass>(){
-        new MyClass(){Name="cc",Age=13},
-        new MyClass(){Name="dd",Age=14},
-        new MyClass(){Name="ee",Age=15},
-    },
-};
-var sect=list.IntersectAll(m=>m.Name); // new MyClass(){Name="cc",Age=13}
-
-var list=new List<List<int>>(){
-    new(){1,2,3},
-    new(){2,3,4},
-    new(){3,4,5}
-};
-var sect=list.IntersectAll();// [3]
-
-// 集合元素改变其索引位置
-list.ChangeIndex(item,3); // 将元素item的索引位置变为第3个
-list.ChangeIndex(t=>t.Id=="123",2); // 将id为123的元素的索引位置变为第2个
-
-var item=list.Percentile(50); // 取第50%分位数的元素
-

31.Mime类型

var mimeMapper = new MimeMapper();
-var ext = mimeMapper.GetExtensionFromMime("image/jpeg"); // .jpg
-var mime = mimeMapper.GetMimeFromExtension(".jpg"); // image/jpeg
-
-ContentType常量库:
-var type=ContentType.Exe; // application/octet-stream
-var type=ContentType.Jpeg; // image/jpeg
-var type=DefaultMimeItems.Items.FirstOrDefault(t=>t.Extension=="jpg"); // image/jpeg
-

32.日期时间扩展


-double milliseconds = DateTime.Now.GetTotalMilliseconds();// 获取毫秒级时间戳
-double microseconds = DateTime.Now.GetTotalMicroseconds();// 获取微秒级时间戳
-double nanoseconds = DateTime.Now.GetTotalNanoseconds();// 获取纳秒级时间戳
-double seconds = DateTime.Now.GetTotalSeconds();// 获取秒级时间戳
-double minutes = DateTime.Now.GetTotalMinutes();// 获取分钟级时间戳
-
-var indate=DateTime.Parse("2020-8-3").In(DateTime.Parse("2020-8-2"),DateTime.Parse("2020-8-4"));//true
-DateTime time="2021-1-1 8:00:00".ToDateTime(); //字符串转DateTime
-
-//时间段计算工具
-var range = new DateTimeRange(DateTime.Parse("2020-8-3"), DateTime.Parse("2020-8-5"));
-range.Union(DateTime.Parse("2020-8-4"), DateTime.Parse("2020-8-6")); //连接两个时间段,结果:2020-8-3~2020-8-6
-range.In(DateTime.Parse("2020-8-3"), DateTime.Parse("2020-8-6"));//判断是否在某个时间段内,true
-var (intersected,range2) = range.Intersect(DateTime.Parse("2020-8-4"), DateTime.Parse("2020-8-6"));//两个时间段是否相交,(true,2020-8-3~2020-8-4)
-range.Contains(DateTime.Parse("2020-8-3"), DateTime.Parse("2020-8-4"));//判断是否包含某个时间段,true
-
-range.GetUnionSet(List<DateTimeRange>); // 根据某个时间段查找在某批时间段中的最大并集
-range.GetMaxTimePeriod(List<DateTimeRange>); // 获取一批时间段内存在相互重叠的最大时间段
-...
-

33.流相关

stream.SaveAsMemoryStream(); // 任意流转换成内存流
-stream.ToArray(); // 任意流转换成二进制数组
-stream.ToArrayAsync(); // 任意流转换成二进制数组
-stream.ShuffleCode(); // 流洗码,在流的末端随即增加几个空字节,重要数据请谨慎使用,可能造成流损坏
-
-// 池化内存流,用法与MemorySteam保持一致
-using var ms=PooledMemoryStream();
-
-// 大型内存流,最大可支持1TB内存数据,推荐当数据流大于2GB时使用,用法与MemorySteam保持一致
-using var ms=LargeMemoryStream();
-
-//文件流快速复制
-FileStream fs = new FileStream(@"D:\boot.vmdk", FileMode.OpenOrCreate, FileAccess.ReadWrite);
-{
-        //fs.CopyToFile(@"D:\1.bak");//同步复制大文件
-        fs.CopyToFileAsync(@"D:\1.bak");//异步复制大文件
-        string md5 = fs.GetFileMD5Async().Result;//异步获取文件的MD5
-        string sha1 = fs.GetFileSha1();//异步获取文件的SHA1
-}
-memoryStream.SaveFile("filename"); // 将内存流转储成文件
-

34.类型操作/字符串

1.2345678901.Digits8(); // 将小数截断为8位
-1.23.ConvertTo<int>(); // 小数转int
-1.23.ConvertTo<T>(); // 小数转T基本类型
-bool b=1.23.TryConvertTo<T>(out result); // 小数转T基本类型
-var num=1.2345.ToDecimal(2); //转decimal并保留两位小数
-
-1.23.ChangeTypeTo<T>(); //小数转T基本类型,ConvertTo和ChangeTypeTo的区别在于:ConvertTo只适用于基元类型的互转,ChangeTypeTo不仅适用于基元类型的互转还支持数组、字符串的转换(Parse),ConvertTo的性能更高
-
-type.IsPrimitive(); // 判断类型是否是值类型
-type.IsSimpleType(); // 判断类型是否是常见的简单类型,基元类型为 Boolean、 Byte、 SByte、 Int16、 UInt16、 Int32、 UInt32、 Int64、 UInt64、 IntPtr、 UIntPtr、 Char、 Double 、 Single、枚举、Nullable<T>。
-type.IsSimpleArrayType(); // 判断类型是否是常见类型的 数组形式 类型
-type.IsSimpleListType(); // 判断类型是否是常见类型的 泛型形式 类型
-
-myClass.ToJsonString(); //序列化成json字符串
-
-string s=null;
-bool b=s.IsNullOrEmpty();//判断字符串是否为空
-bool b=s.NotNullOrEmpty();//判断字符串不为空
-string str=s.IfNullOrEmpty("aa");//如果为空则返回aa
-string str=s.IfNullOrEmpty(()=>"aa");//如果为空则返回aa,延迟执行
-
-bool contains=s.Contains(new[]{"aa","bb"});// 检测字符串中是否包含列表中的关键词(快速匹配)
-bool contains=s.ContainsSafety(new[]{"aa","bb"});// 检测字符串中是否包含列表中的关键词(安全匹配),没有计时攻击风险
-bool contains=s.EndsWith(new[]{"aa","bb"});// 检测字符串中是否以列表中的任意关键词结尾
-bool contains=s.StartsWith(new[]{"aa","bb"});// 检测字符串中是否以列表中的任意关键词开头
-
-string str=s.Take(10); // 取字符串前10个字符
-
-bool emoji=s.MatchEmoji(); // 匹配字符串是否包含emoji
-
-var width=str.StringWidth(14); // 计算字符串以14号字体大小的渲染宽度像素
-var width=str.StringWidth("微软雅黑",14); // 计算字符串以14号字体大小的微软雅黑字体的渲染宽度像素
-var width=str.CharacterCount(); // 获取字符串的字符数
-var width=str.BytesCount(); // 获取字符串的字节数
-
-
-var s = "🤔1🥳a👨‍👩‍👧‍👦啊";
-Console.WriteLine("长度:" + s.Length); // 18
-Console.WriteLine("宽度:" + s.StringWidth()); // 7
-Console.WriteLine("字节数:" + s.BytesCount()); // 38
-Console.WriteLine("字符数:" + s.CharacterCount()); // 6
-
-var s="aa".ToSBC(); // 转换为全角
-var s="aa".ToDBC(); // 转换为半角
-

35.INI配置文件操作(仅支持Windows)

INIFile ini=new INIFile("filename.ini");
-ini.IniWriteValue(section,key,value); // 写值
-ini.IniReadValue(section,key); // 读值
-ini.ClearAllSection(); // 清空所有配置节
-ini.ClearSection(section); // 清空配置节
-

36.雷达图计算引擎

应用场景:计算两个多边形的相似度,用户画像之类的

var points=RadarChartEngine.ComputeIntersection(chart1,chart2); //获取两个多边形的相交区域
-points.ComputeArea(); //计算多边形面积
-

37.树形结构实现

基本接口类: ITreeChildren:带Children属性的接口 ITreeParent:带Parent属性的接口 ITree:继承ITreeParent和ITreeChildren,同时多了Name属性 ITreeEntity:继承ITreeChildren,同时多了Id和ParentId属性

相关扩展方法:

trees.Filter(func); // 从树形集合中过滤
-trees.Flatten(); // 将数据平铺开
-tree.AllChildren(); // 获取所有的子级
-tree.AllParent(); // 获取所有的父级
-tree.IsRoot(); // 是否是根节点
-tree.IsLeaf(); // 是否是叶子节点
-tree.Level(); // 所处深度/层级
-tree.Path(); // 全路径
-
-var tree=list.ToTree();//集合元素继承自ITreeEntity<T,TKey>或ITreeEntity<T>的集合转换成树形结构
-var tree=list.ToTree(c => c.Id, c => c.Pid);//集合元素继承自ITreeParent<T>, ITreeChildren<T>的集合转换成树形结构
-var tree=list.ToTreeGeneral(c => c.Id, c => c.Pid);//一般的集合转换成树形结构
-

38.简单的Excel导出

需要额外依赖包:Masuit.Tools.Excel

var stream=list.Select(item=>new{
-    姓名=item.Name,
-    年龄=item.Age,
-    item.Gender,
-    Avatar=Image.FromStream(filestream) //图片列
-}).ToDataTable().ToExcel("Sheet1"); //自定义列名导出
-var stream=list.ToDataTable("Sheet1").ToExcel("文件密码");
-

一些约定规则:

  1. 图片列支持Stream、Bitmap、IEnumerable <Stream>、IEnumerable <Bitmap>、IDictionary<string,Stream>、IDictionary<string,MemoryStream>、IDictionary<string,Bitmap>类型;
  2. 其中,如果是IDictionary类型的图片列,字典的键为图片超链接的完整url;
  3. 默认字段名作为列名导出;
  4. 若list是一个具体的强类型,默认会先查找每个字段的Description标记,若有Description标记,则取Description标记作为列名显示
  5. ToExcel方法支持DataTable、List <DataTable>、Dictionary<string, DataTable>类型的直接调用

39.EFCore实用扩展

跟踪实体变更对比

获取指定实体的变更

var changes=dbContext.GetChanges<TEntity>();//获取变更字段信息
-var added=dbContext.GetAdded<TEntity>();//获取添加的实体字段信息
-var removed=dbContext.GetRemoved<TEntity>();//获取被移除的实体字段信息  
-var allchanges=dbContext.GetAllChanges<TEntity>();//获取增删改的实体字段信息  
-

获取所有实体的变更

var changes=dbContext.GetChanges();//获取变更字段信息
-var added=dbContext.GetAdded();//获取添加的实体字段信息
-var removed=dbContext.GetRemoved();//获取被移除的实体字段信息  
-var allchanges=dbContext.GetAllChanges();//获取增删改的实体字段信息  
-

对比信息包含属性信息、旧值、新值、实体信息、键信息、变更状态等

nolock查询

sqlserver:

上下文注入Interceptor即可在任何查询时使用nolock查询

services.AddDbContext<TContext>(opt => opt.UseSqlserver("ConnString", builder => builder.AddInterceptors(new QueryWithNoLockDbCommandInterceptor()));
-

通用数据库:

nolock本质是开启一个 读未提交级别的事务,此时的查询性能最好,但有可能会读取到脏数据。

dbcontext.NoLock(ctx=>ctx.Users...ToList()); // 开启一个nolock上下文,上下文范围内自动nolock
-
-// 执行单个nolock查询
-await dbcontext.Users.Where(x=>x.Name=="aaa").ToListWithNoLockAsync(); 
-await dbcontext.Users.Where(x=>x.Name=="aaa").FirstOrDefaultWithNoLockAsync(); 
-await dbcontext.Users.Where(x=>x.Name=="aaa").SingleOrDefaultWithNoLockAsync(); 
-await dbcontext.Users.AnyWithNoLockAsync(x=>x.Name=="aaa"); 
-await dbcontext.Users.AllWithNoLockAsync(x=>x.Name=="aaa"); 
-await dbcontext.Users.CountWithNoLockAsync(x=>x.Name=="aaa"); 
-
-// 如果在上下文开启了重试机制,执行单个nolock查询需要开启策略查询
-services.AddDbContext<TContext>(opt => opt.UseNpgsql("ConnString", builder => builder.EnableRetryOnFailure(10));
-
-// 执行策略
-dbcontext.ExecutionStrategy(stg=>stg.NoLock(ctx=>ctx.Users...ToList()));
-dbcontext.ExecutionStrategy(ctx=>ctx.Users.Where(x=>x.Name=="aaa").ToListWithNoLockAsync());
-

自动递归式Include扩展(通常用于树形表)

// 如果你现在正在写类似这样的代码:
-dbcontext.Category.Include(c=>c.Children).ThenInclude(c=>c.Children).ThenInclude(c=>c.Children).ThenInclude(c=>c.Children);
-
-// 那么可以改成这样:
-dbcontext.Category.IncludeRecursive(4, c => c.Children); // 自动Include 4次
-

40.任何类型支持链式调用

a.Next(func1).Next(func2).Next(func3);
-"123".Next(s=>s.ToInt32()).Next(x=>x*2).Next(x=>Math.Log(x));
-

41.Newtonsoft.Json和System.Text.Json的只允许字段(反)序列化行为的契约解释器

DeserializeOnlyContractResolver

该解释器针对类属性被DeserializeOnlyJsonPropertyAttribute/SerializeIgnoreAttribute标记的,在反序列化的时候生效,在序列化的时候忽略;被SerializeOnlyJsonPropertyAttribute/DeserializeIgnoreAttribute标记的,在序列化的时候生效,在反序列化的时候忽略

public class ClassDto
-    {
-        // 序列化时忽略这个属性/反序列化时加载这个属性
-        [DeserializeOnlyJsonProperty]
-        //[SerializeIgnore]
-        public string MyProperty { get; set; }
-
-        // 反序列化时忽略这个属性/序列化时加载这个属性
-        [SerializeOnlyJsonProperty]
-        //[DeserializeIgnore]
-        public int Num { get; set; }
-    }
-  
-    // Newtonsoft.Json
-    JsonConvert.SerializeObject(new MyClass(),new JsonSerializerSettings()
-    {
-        ContractResolver = new DeserializeOnlyContractResolver() // 配置使用DeserializeOnlyContractResolver解释器
-    });
-
-    // System.Text.Json
-    JsonSerializer.Serialize(object, new JsonSerializerOptions() { TypeInfoResolver = new SerializeIgnoreResolver() });
-

如果是WebAPI全局使用:

        //在Startup.ConfigureServices中
-        services.AddMvc().AddNewtonsoftJson(options =>
-             {
-                 var resolver = new DeserializeOnlyContractResolver();
-                 resolver.NamingStrategy = new CamelCaseNamingStrategy();
-                 options.SerializerSettings.ContractResolver = resolver;
-             });
-

FallbackJsonPropertyResolver

该解释器针对某个属性设置多个别名,反序列化时支持多个别名key进行绑定,弥补官方JsonProperty别名属性只能设置单一别名的不足

    public class ClassDto
-    {
-        [FallbackJsonProperty("MyProperty","a","b")]
-        public string MyProperty { get; set; }
-
-        public int Num { get; set; }
-    }
-  
-    JsonConvert.SerializeObject(new MyClass(),new JsonSerializerSettings()
-    {
-        ContractResolver = new FallbackJsonPropertyResolver() // 配置使用FallbackJsonPropertyResolver解释器
-    });
-

CompositeContractResolver

该解释器是DeserializeOnlyContractResolver和FallbackJsonPropertyResolver的融合版

42. ASP.NET Core Action同时支持queryString、表单和json请求类型的模型绑点器BodyOrDefaultModelBinder

用法: 引入包:Masuit.Tools.AspNetCore

PM> Install-Package Masuit.Tools.AspNetCore
-

Startup配置:

app.UseBodyOrDefaultModelBinder();
-

在action的参数模型前打上标记:[FromBodyOrDefault]即可,示例代码如下:

        [HttpGet("query"),HttpPost("query")]
-        public IActionResult Query([FromBodyOrDefault]QueryModel query)
-        {
-            return Ok(...);
-        }
-  
-        [HttpGet("query"),HttpPost("query")]
-        public IActionResult Query([FromBodyOrDefault]int id,[FromBodyOrDefault]string name)
-        {
-            return Ok(...);
-        }
-

43. 字符串SimHash相似度算法

var dis="12345678".HammingDistance("1234567");
-var dis=new SimHash("12345678").HammingDistance(new SimHash("1234567"));
-

44. 真实文件类型探测

// 多种方式,任君调用
-var detector=new FileInfo(filepath).DetectFiletype();
-//var detector=File.OpenRead(filepath).DetectFiletype();
-//var detector=FileSignatureDetector.DetectFiletype(filepath);
-detector.Precondition;//基础文件类型
-detector.Extension;//真实扩展名
-detector.MimeType;//MimeType
-detector.FormatCategories;//格式类别
-

默认支持的文件类型

扩展名说明
3GP3GPP, 3GPP 2
7Z7-Zip
APKZIP based Android Package
AVIAudio-Video Interleave
SHShell Script
BPLISTBinary Property List
BMP, DIBBitmap
BZ2Bunzip2 Compressed
CABMicrosoft Cabinet
CLASSJava Bytecode
CONFIG.NET Configuration File
CRT, CERTCertificate
CURCursor
DBWindows Thumbs.db Thumbnail Database
DDSDirectDraw Surface
DLLWindows Dynamic Linkage Library
DMGApple Disk Mount Image
DMPWindows Memory Dump File
DOCMicrosoft Office Word 97-2003 Document
DOCXMicrosoft Office Word OpenXML Document
EPUBe-Pub Document
EXEWindows Executive
FLACLoseless Audio
FLVFlash Video
GIFGraphics Interchage Format
GZGZ Compressed
HDPHD Photo(JPEG XR) Image
HWPLegacy HWP, HWPML, CFBF HWP
ICOIcon
INIInitialization File
ISOISO-9660 Disc Image
LNKWindows Shortcut Link
JP2JPEG 2000 Image
JPG, JPEGJoint Photographic Experts Group Image
LZHLZH Compressed
M4AMP4 Container Contained Audio Only
M4VMP4 Container Contained Video
MIDMidi Sound
MKAMatroska Container Contained Audio Only
MKVMatroska Container Contained Video
MOVQuickTime Movie Video
MP4MP4 Container Contained Contents
MSIMicrosoft Installer
OGGOGG Video or Audio
ODFOpenDocument Formula
ODGOpenDocument Graphics
ODPOpenDocument Presentation
ODSOpenDocument Spreadsheet
ODTOpenDocument Text
PAKPAK Archive or Quake Archive
PDBMicrosoft Program Database
PDFPortable Document Format
PFXMicrosoft Personal Information Exchange Certificate
PNGPortable Network Graphics Image
PPTMicrosoft Office PowerPoint 97-2003 Document
PPTXMicrosoft Office PowerPoint OpenXML Document
PPSXMicrosoft Office PowerPoint OpenXML Document for Slideshow only
PSDPhotoshop Document
RARWinRAR Compressed
REGWindows Registry
RPMRedHat Package Manager Package
RTFRich Text Format Document
SLNMicrosoft Visual Studio Solution
SRTSubRip Subtitle
SWFShockwave Flash
SQLITE, DBSQLite Database
TARpre-ISO Type and UStar Type TAR Package
TIFFTagged Image File Format Image
TXTPlain Text
WAVWave Audio
WASMBinary WebAssembly
WEBMWebM Video
WEBPWebP Image
XARXAR Package
XLSMicrosoft Office Excel 97-2003 Document
XLSXMicrosoft Office Excep OpenXML Document
XMLExtensible Markup Language Document
ZZ Compressed
ZIPZIP Package

45. 动态类型扩展

让动态类型支持属性访问器和索引器调用

        var obj = DynamicFactory.NewObject();
-        obj.Name = "Masuit";
-        obj.Age = 18;
-        obj["Gender"]="男"
-        obj.MyClass = DynamicFactory.WithObject(new
-        {
-            X = 10,
-            Y = 20,
-            Z = new List<int> { 1, 2, 3, 4, 5 }
-        });
-        Assert.Equal(obj.Name, obj["Name"]);
-        Assert.Equal(obj["Gender"], obj.Gender);
-        Assert.Equal(obj["MyClass"]["X"], obj.MyClass.X);
-        Assert.Equal(obj.MyClass.Z[2], obj["MyClass"]["Z"][2]);
-

普通类型转换成动态类型

        var obj = new
-        {
-            Name = "Masuit"
-        }.ToDynamic();
-        obj.Age = 18;
-        obj.MyClass = new
-        {
-            X = 10,
-            Y = 20,
-            Z = new List<int> { 1, 2, 3, 4, 5 }
-        }.ToDynamic();
-        obj.Prop = "test";
-        _ = obj - "Prop"; // 删除属性
-        _ = obj + "Prop"; // 增加属性
-
-        Assert.Equal(obj.Name, obj["Name"]);
-        Assert.Equal(obj["MyClass"]["X"], obj.MyClass.X);
-

46. 反病毒(仅支持Windows)

// 要求系统WindowsDefender没有被停掉
-var result = WindowsDefenderScanService.ScanFile(@"Y:\1.exe"); // 扫描文件
-var result = WindowsDefenderScanService.ScanDirectory(@"Y:\"); // 扫描文件夹
-var result = WindowsDefenderScanService.ScanStream(stream); // 扫描文件流
-
-// 要求C:\Windows\System32\amsi.dll文件存在,可在WindowsDefender停止时工作
-AmsiScanService.Scan(stream); // 扫描文件流
-AmsiScanService.Scan(@"Y:\1.exe"); // 扫描文件
-AmsiScanService.Scan(bytes); // 扫描二进制数组
-

47. 生成验证码

var code=ValidateCode.ValidateCode(6); // 生成6位长度的验证码
-var stream=code.CreateValidateGraphic(); // 生成验证码图片流
-

48. DistributedCache扩展

var item=cache.Get<T>(key); // 获取值
-var item=cache.GetOrAdd<T>(key,value); // 获取或添加值
-var item=cache.GetOrAdd<T>(key,valueFactory); // 获取或添加值
-cache.Set<T>(key,value); // 设置值
-cache.AddOrUpdate<T>(key,value,valueFactory); // 添加或更新值
-

49. ViewData扩展

var item=ViewData.GetValue<T>(key);//获取对象
-var item=ViewData.GetValueOrDefault<T>(key,defaultValue);//获取对象
-var item=ViewData.GetValueOrDefault<T>(key,defaultValueFactory);//获取对象
-

50. 线程上下文存取临时值

CurrentContext<T>.SetData(value);//设置值
-var item=CurrentContext<T>.GetData();//获取值
-
-CurrentContext.SetData(value);//设置值
-var item=CurrentContext.GetData<T>();//获取值
-

51. ASP.NET Core自动扫描注册服务

// 自动扫描注册服务
-services.AutoRegisterServices();
-
-// 需要自动注册的服务打上ServiceInject标记即可。
-[ServiceInject(ServiceLifetime.Scoped)]
-public class MyClass:MyInterface{...}
-
-[ServiceInject(ServiceLifetime.Scoped)]
-public class MyService{...}
-

52. 房贷试算模型

集成案例:https://masuit.org/tools/loan

支持多次提前还款和多次调整利率,同时支持提前还款时变更贷款方式和缩短年限,如有利率调整或提前还款计划,因银行计算受实时利率或提前还款违约金影响,本试算模型的计算结果和银行结果大约有1‰的误差,结果仅供参考,请以银行结果为准。

模拟案例: 贷款100万, 初始利率6.27%, 等额本息方式, 贷30年, 首次还款时间2021-2-1。

利率调整: 2022-1-1利率调整为5.92%,LPR调整 2023-1-1利率调整为5.85%,LPR调整 2023-9-25利率调整为4.3%,政策因素银行自动调整 2025-1-1利率调整为4.2%,LPR调整 2026-1-1利率调整为4.1%,LPR调整

提前还款计划: 2022-10-23提前还款10万,贷款方式不变, 2023-10-11提前还款10万并缩短年限(实际目前银行政策不允许), 2025-10-12提前还款10万并修改为等额本金方式, 2026-10-14提前还款10万并以等额本金方式+缩短年限(实际目前银行政策不允许)。

计算代码如下:

var (totalInterest, actualInterest, savedInterest, totalRepayment, actualPayment, paymentPlans) = new LoanModel(1000000, 0.0627m, 360, DateTime.Parse("2021-2-1"))
-{
-    RateAdjustments = new Dictionary<DateTime, decimal?>()
-    {
-        [DateTime.Parse("2022-1-1")] = 0.0592m, // 调整前月供6170.19,调整后月供5948.53
-        [DateTime.Parse("2023-1-1")] = 0.058m, // 调整前月供5948.53,调整后月供5273.92
-        [DateTime.Parse("2023-9-25")] = 0.043m, // 调整前月供5273.92,调整后月供4496.91,调整次月还款5118.55
-        [DateTime.Parse("2025-1-1")] = 0.042m, // 调整前月供4496.91,调整后首月4457.15
-        [DateTime.Parse("2026-1-1")] = 0.041m, // 调整前月供4762.47,调整后月供4702,调整次月还款8.87元(还款方式改为了等额本金)
-    },
-
-    Prepayments = new List<PrepaymentOption>()
-    {
-        new(DateTime.Parse("2022-10-23"), 100000m, false, LoanType.EquivalentInterest), // 提前还款前月供5948.53,提前还款后月供5339.85
-        new(DateTime.Parse("2023-10-11"), 100000m, true, LoanType.EquivalentInterest), // 提前还款前月供5273.92,提前还款后月供4493.84,期数减少64期
-        new(DateTime.Parse("2025-10-12"), 100000m, false, LoanType.EquivalentPrincipal), // 提前还款前月供4771.56,提前还款后月供首月4762.47,每月递减60.4元
-        new(DateTime.Parse("2026-10-14"), 100000m, true, LoanType.EquivalentPrincipal), // 提前还款前月供4260.28,提前还款后月供首月4251.44,每月递减8.84元,期数减少38期
-    }
-}.Payment();
-

计算结果: 总利息totalInterest:1221266.8 实际支付利息actualInterest:403845.58 提前还款节省利息savedInterest:817421.22 总提前还款totalRepayment:400000.00 实际还款总额actualPayment:1403845.58 总还款期数paymentPlans:258期,List类型,每条记录可以展示当期的利率,利息,本金,剩余本金等信息

Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult

在ASP.NET Core中通过MVC/WebAPI应用程序传输文件数据时使用断点续传以及多线程下载支持。

它提供了 ETag标头以及 Last-Modified标头。 它还支持以下前置条件标头:If-MatchIf-None-MatchIf-Modified-SinceIf-Unmodified-SinceIf-Range

支持 ASP.NET Core 2.0+

从.NET Core2.0开始,ASP.NET Core内部支持断点续传。 因此只是对FileResult做了一些扩展。 只留下了“Content-Disposition” Inline的一部分。 所有代码都依赖于基础.NET类。

如何使用

.NET Framework

在你的控制器中,你可以像在 FileResult一样的方式使用它。

using Masuit.Tools.Mvc;
-using Masuit.Tools.Mvc.ResumeFileResult;
-
private readonly MimeMapper mimeMapper=new MimeMapper(); // 推荐使用依赖注入
-
-public ActionResult ResumeFileResult()
-{
-    var path = Server.MapPath("~/Content/test.mp4");
-    return new ResumeFileResult(path, mimeMapper.GetMimeFromPath(path), Request);
-}
-
-public ActionResult ResumeFile()
-{
-    return this.ResumeFile("~/Content/test.mp4", mimeMapper.GetMimeFromPath(path), "test.mp4");
-}
-
-public ActionResult ResumePhysicalFile()
-{
-    return this.ResumePhysicalFile(@"D:/test.mp4", mimeMapper.GetMimeFromPath(@"D:/test.mp4"), "test.mp4");
-}
-

Asp.Net Core

要使用ResumeFileResults,必须在 Startup.csConfigureServices方法调用中配置服务:

using Masuit.Tools.AspNetCore.ResumeFileResults.Extensions;
-
public void ConfigureServices(IServiceCollection services)
-{
-    services.AddResumeFileResult();
-}
-

然后在你的控制器中,你可以像在 FileResult一样的方式使用它。

点击查看代码
using Masuit.Tools.AspNetCore.ResumeFileResults.Extensions;
-
private const string EntityTag = "\"TestFile\"";
-
-private readonly IHostingEnvironment _hostingEnvironment;
-
-private readonly DateTimeOffset _lastModified = new DateTimeOffset(2016, 1, 1, 0, 0, 0, TimeSpan.Zero);
-
-/// <summary>
-/// 
-/// </summary>
-/// <param name="hostingEnvironment"></param>
-public TestController(IHostingEnvironment hostingEnvironment)
-{
-    _hostingEnvironment = hostingEnvironment;
-}
-
-[HttpGet("content/{fileName}/{etag}")]
-public IActionResult FileContent(bool fileName, bool etag)
-{
-    string webRoot = _hostingEnvironment.WebRootPath;
-    var content = System.IO.File.ReadAllBytes(Path.Combine(webRoot, "TestFile.txt"));
-    ResumeFileContentResult result = this.ResumeFile(content, "text/plain", fileName ? "TestFile.txt" : null, etag ? EntityTag : null);
-    result.LastModified = _lastModified;
-    return result;
-}
-
-[HttpGet("content/{fileName}")]
-public IActionResult FileContent(bool fileName)
-{
-    string webRoot = _hostingEnvironment.WebRootPath;
-    var content = System.IO.File.ReadAllBytes(Path.Combine(webRoot, "TestFile.txt"));
-    var result = new ResumeFileContentResult(content, "text/plain")
-    {
-        FileInlineName = "TestFile.txt",
-        LastModified = _lastModified
-    };
-    return result;
-}
-
-[HttpHead("file")]
-public IActionResult FileHead()
-{
-    ResumeVirtualFileResult result = this.ResumeFile("TestFile.txt", "text/plain", "TestFile.txt", EntityTag);
-    result.LastModified = _lastModified;
-    return result;
-}
-
-[HttpPut("file")]
-public IActionResult FilePut()
-{
-    ResumeVirtualFileResult result = this.ResumeFile("TestFile.txt", "text/plain", "TestFile.txt", EntityTag);
-    result.LastModified = _lastModified;
-    return result;
-}
-
-[HttpGet("stream/{fileName}/{etag}")]
-public IActionResult FileStream(bool fileName, bool etag)
-{
-    string webRoot = _hostingEnvironment.WebRootPath;
-    FileStream stream = System.IO.File.OpenRead(Path.Combine(webRoot, "TestFile.txt"));
-
-    ResumeFileStreamResult result = this.ResumeFile(stream, "text/plain", fileName ? "TestFile.txt" : null, etag ? EntityTag : null);
-    result.LastModified = _lastModified;
-    return result;
-}
-
-[HttpGet("stream/{fileName}")]
-public IActionResult FileStream(bool fileName)
-{
-    string webRoot = _hostingEnvironment.WebRootPath;
-    FileStream stream = System.IO.File.OpenRead(Path.Combine(webRoot, "TestFile.txt"));
-
-    var result = new ResumeFileStreamResult(stream, "text/plain")
-    {
-        FileInlineName = "TestFile.txt",
-        LastModified = _lastModified
-    };
-
-    return result;
-}
-
-[HttpGet("physical/{fileName}/{etag}")]
-public IActionResult PhysicalFile(bool fileName, bool etag)
-{
-    string webRoot = _hostingEnvironment.WebRootPath;
-
-    ResumePhysicalFileResult result = this.ResumePhysicalFile(Path.Combine(webRoot, "TestFile.txt"), "text/plain", fileName ? "TestFile.txt" : null, etag ? EntityTag : null);
-    result.LastModified = _lastModified;
-    return result;
-}
-
-[HttpGet("physical/{fileName}")]
-public IActionResult PhysicalFile(bool fileName)
-{
-    string webRoot = _hostingEnvironment.WebRootPath;
-
-    var result = new ResumePhysicalFileResult(Path.Combine(webRoot, "TestFile.txt"), "text/plain")
-    {
-        FileInlineName = "TestFile.txt",
-        LastModified = _lastModified
-    };
-
-    return result;
-}
-
-[HttpGet("virtual/{fileName}/{etag}")]
-public IActionResult VirtualFile(bool fileName, bool etag)
-{
-    ResumeVirtualFileResult result = this.ResumeFile("TestFile.txt", "text/plain", fileName ? "TestFile.txt" : null, etag ? EntityTag : null);
-    result.LastModified = _lastModified;
-    return result;
-}
-

以上示例将为您的数据提供“Content-Disposition:attachment”。 当没有提供fileName时,数据将作为“Content-Disposition:inline”提供。 另外,它可以提供 ETagLastModified标头。

[HttpGet("virtual/{fileName}")]
-public IActionResult VirtualFile(bool fileName)
-{
-    var result = new ResumeVirtualFileResult("TestFile.txt", "text/plain")
-    {
-        FileInlineName = "TestFile.txt",
-        LastModified = _lastModified
-    };
-    return result;
-}
-
- - - diff --git a/api.html b/api.html index d02fb1b5..9f0c4a89 100644 --- a/api.html +++ b/api.html @@ -5,19 +5,19 @@ Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult | 码数吐司库 - - + + - - - - - + + + + + -
Skip to content

安装程序包

基础功能包

.NET Framework ≥ 4.6.1

shell
PM> Install-Package Masuit.Tools.Net

.NET Standard ≥ 2.1 或只想使用一些基本功能

通用项目推荐首选包

shell
PM> Install-Package Masuit.Tools.Abstraction

.NET Core ≥ 2.1

.NET Core项目推荐首选包

shell
PM> Install-Package Masuit.Tools.Core

.NET Framework 4.5特供版

请注意:这是.NET Framework 4.5的专用版本,相比4.6.1及.NET Core的版本,阉割了Redis、HTML、文件压缩、ASP.NET扩展、硬件监测、Session扩展等一些功能。如果你的项目版本高于4.5,请务必使用上述版本的包,以享受完整的功能体验!

shell
PM> Install-Package Masuit.Tools.Net45

增值包

Masuit.Tools.AspNetCore

AspNetCore项目推荐首选包 ASP.NET Core Web专用包,包含Masuit.Tools.Core的全部功能,并且增加了一些对ASP.NET Core Web功能的额外支持。

Masuit.Tools.Excel

Excel导入导出的专用独立包

Masuit.Tools.NoSQL.MongoDBClient

mongodb的封装操作类独立包

为工具库注册配置

工具库需要用到外部配置节,.NET Framework项目配置在web.config/app.config的AppSettings配置节中,.NET Core项目配置在appsettings.json中:

  1. EmailDomainWhiteList,邮箱校验需要用到的白名单域名,英文逗号分隔,每个元素支持正则表达式,若未配置,则不启用邮箱校验白名单,示例: "^\\w{1,5}@qq.com,^\\w{1,5}@163.com,^\\w{1,5}@gmail.com,^\\w{1,5}@outlook.com"
  2. EmailDomainBlockList,邮箱校验需要用到的黑名单域名,英文逗号分隔,每个元素支持正则表达式,且黑名单优先级高于白名单,若未配置,则不启用邮箱校验黑白名单
csharp
public Startup(IConfiguration configuration)
+    
Skip to content

安装程序包

基础功能包

.NET Framework ≥ 4.6.1

shell
PM> Install-Package Masuit.Tools.Net

.NET Standard ≥ 2.1 或只想使用一些基本功能

通用项目推荐首选包

shell
PM> Install-Package Masuit.Tools.Abstraction

.NET Core ≥ 2.1

.NET Core项目推荐首选包

shell
PM> Install-Package Masuit.Tools.Core

.NET Framework 4.5特供版

请注意:这是.NET Framework 4.5的专用版本,相比4.6.1及.NET Core的版本,阉割了Redis、HTML、文件压缩、ASP.NET扩展、硬件监测、Session扩展等一些功能。如果你的项目版本高于4.5,请务必使用上述版本的包,以享受完整的功能体验!

shell
PM> Install-Package Masuit.Tools.Net45

增值包

Masuit.Tools.AspNetCore

AspNetCore项目推荐首选包 ASP.NET Core Web专用包,包含Masuit.Tools.Core的全部功能,并且增加了一些对ASP.NET Core Web功能的额外支持。

Masuit.Tools.Excel

Excel导入导出的专用独立包

Masuit.Tools.NoSQL.MongoDBClient

mongodb的封装操作类独立包

为工具库注册配置

工具库需要用到外部配置节,.NET Framework项目配置在web.config/app.config的AppSettings配置节中,.NET Core项目配置在appsettings.json中:

  1. EmailDomainWhiteList,邮箱校验需要用到的白名单域名,英文逗号分隔,每个元素支持正则表达式,若未配置,则不启用邮箱校验白名单,示例: "^\\w{1,5}@qq.com,^\\w{1,5}@163.com,^\\w{1,5}@gmail.com,^\\w{1,5}@outlook.com"
  2. EmailDomainBlockList,邮箱校验需要用到的黑名单域名,英文逗号分隔,每个元素支持正则表达式,且黑名单优先级高于白名单,若未配置,则不启用邮箱校验黑白名单
csharp
public Startup(IConfiguration configuration)
 {
     configuration.AddToMasuitTools(); // 若未调用,则默认自动尝试加载appsettings.json
 }

特色功能示例代码

在线体验

https://replit.com/@ldqk/MasuitToolsDemo?v=1#main.cs

0. 一些创意类型

DisposableDictionary:可被Disposable的字典类型,用于存放Value是Disposable类型的数据,用法和普通字典一致

NullableConcurrentDictionary/NullableDictionary:Key可为null的字典类型,用法和普通字典一致

ConcurrentHashSet:并发HashSet,用法和HashSet一致

ConcurrentLimitedQueue:定长并发队列,特点是长度是固定的,用法与ConcurrentQueue一致

LimitedQueue:定长队列,特点是长度是固定的,用法与Queue一致

LargeMemoryStream:超大内存流,最大可支持1TB数据,推荐当数据流大于2GB时使用,用法与MemoryStream一致

PooledMemoryStream:池化内存流,可内存复用,用法与MemoryStream一致,性能比MemoryStream好

ITree<T>:树形实体接口约束,实现该接口可让类型实现一些树形操作

ChineseCalendar:中国农历类型,可以实现天干地支节气等数据的获取

Clay/DynamicFactory:粘土动态类型,可实现类似js的弱类型编程

RadarChart:雷达图类型,可用于做数据分析或用户行为画像

Circle:圆形类型,可实现⚪的相交相切相离的判断

Sphere:球体类型,可实现计算球体上两点的弧长计算,相交相切相离的判断

MimeMapper:mime类型映射

VersionNumber:版本号类型,比System.Version功能更多一点,用法一致

具体用法,可参阅后文详细示例:

1. 检验字符串是否是Email、手机号、URL、IP地址、身份证号等

csharp
var (isMatch, match) = "337845818@qq.com".MatchEmail(); // 可在appsetting.json中添加EmailDomainWhiteList和EmailDomainBlockList配置邮箱域名黑白名单,逗号分隔,如"EmailDomainBlockList": "^\\w{1,5}@qq.com,^\\w{1,5}@163.com,^\\w{1,5}@gmail.com,^\\w{1,5}@outlook.com",
@@ -432,9 +432,18 @@
 list.RemoveWhere(s => s.Length<1); // 将集合中长度小于1的元素移除
 list.InsertAfter(0, "2"); // 在第一个元素之后插入
 list.InsertAfter(s => s == "1", "2"); // 在元素"1"后插入
+
 var dic = list.ToDictionarySafety(s => s); // 安全的转换成字典类型,当键重复时只添加一个键
 var dic = list.ToConcurrentDictionary(s => s); // 转换成并发字典类型,当键重复时只添加一个键
 var dic = list.ToDictionarySafety(s => s, s => s.GetHashCode()); // 安全的转换成字典类型,当键重复时只添加一个键
+var v = dic[x=>x.Key.Contains("1")]; // 字典根据条件取值
+dic[x=>x.Key.Contains("1")]=2; // 字典根据条件赋值
+var v = dic[(key,value)=>key.Contains("1")]; // 字典根据条件取值
+dic[(key,value)=>key.Contains("1")]=2; // 字典根据条件赋值
+var v = dic[key=>key.Contains("1")]; // 字典根据key条件取值
+dic[key=>key.Contains("1")]=2; // 字典根据key条件赋值
+var v = dic[value=>value>0]; // 字典根据value条件取值
+dic[value=>value>0]=2; // 字典根据value条件赋值
 dic.AddOrUpdate("4", 4); // 添加或更新键值对
 dic.AddOrUpdate(new Dictionary<string, int>()
 {
@@ -445,12 +454,13 @@
 dic.GetOrAdd("7",77); // 字典获取或添加元素
 dic.GetOrAdd("7",()=>77); // 字典获取或添加元素
 dic.AsConcurrentDictionary(); // 普通字典转换成并发字典集合
-var table=list.ToDataTable(); // 转换成DataTable类型
+
+var table=list.ToDataTable(); // 转换成DataTable类型
 table.AddIdentityColumn(); //给DataTable增加一个自增列
 table.HasRows(); // 检查DataTable 是否有数据行
 table.ToList<T>(); // datatable转List
-var set = list.ToHashSet(s=>s.Name);// 转HashSet
-var cts = new CancellationTokenSource(100); //取消口令
+var set = list.ToHashSet(s=>s.Name);// 转HashSet
+var cts = new CancellationTokenSource(100); //取消口令
 await list.ForeachAsync(async i=>{
     await Task.Delay(100);
     Console.WriteLine(i);
@@ -468,25 +478,25 @@
     await Task.Delay(100);
     return item*10;
 }); // 异步Select,带索引编号
-string s=list.Join(",");//将字符串集合连接成逗号分隔的单字符串
-var max=list.MaxOrDefault(); // 取最大值,当集合为空的时候不会报错
-var max=list.MaxOrDefault(selector); // 取最大值,当集合为空的时候不会报错
-var max=list.MaxOrDefault(selector,default); // 取最大值,当集合为空的时候不会报错
-var max=list.MinOrDefault(); // 取最小值,当集合为空的时候不会报错
-var max=list.MinOrDefault(selector); // 取最小值,当集合为空的时候不会报错
-var max=list.MinOrDefault(selector,default); // 取最小值,当集合为空的时候不会报错
-var stdDev=list.Select(s=>s.ConvertTo<int>()).StandardDeviation(); // 求标准差
-
-var pages=queryable.ToPagedList(1,10); // 分页查询
-var pages=await queryable.ToPagedListAsync(1,10); // 分页查询
-
-var nums=Enumerable.Range(1, 10).ExceptBy(Enumerable.Range(5, 10), i => i); // 按字段取差集
-var nums=Enumerable.Range(1, 10).IntersectBy(Enumerable.Range(5, 10), i => i); // 按字段取交集
-var nums=Enumerable.Range(1, 10).SequenceEqual(Enumerable.Range(5, 10), i => i); // 判断序列相等
-var nums=Enumerable.Range(1, 10).OrderByRandom(); // 随机排序
+string s=list.Join(",");//将字符串集合连接成逗号分隔的单字符串
+var max=list.MaxOrDefault(); // 取最大值,当集合为空的时候不会报错
+var max=list.MaxOrDefault(selector); // 取最大值,当集合为空的时候不会报错
+var max=list.MaxOrDefault(selector,default); // 取最大值,当集合为空的时候不会报错
+var max=list.MinOrDefault(); // 取最小值,当集合为空的时候不会报错
+var max=list.MinOrDefault(selector); // 取最小值,当集合为空的时候不会报错
+var max=list.MinOrDefault(selector,default); // 取最小值,当集合为空的时候不会报错
+var stdDev=list.Select(s=>s.ConvertTo<int>()).StandardDeviation(); // 求标准差
+
+var pages=queryable.ToPagedList(1,10); // 分页查询
+var pages=await queryable.ToPagedListAsync(1,10); // 分页查询
+
+var nums=Enumerable.Range(1, 10).ExceptBy(Enumerable.Range(5, 10), i => i); // 按字段取差集
+var nums=Enumerable.Range(1, 10).IntersectBy(Enumerable.Range(5, 10), i => i); // 按字段取交集
+var nums=Enumerable.Range(1, 10).SequenceEqual(Enumerable.Range(5, 10), i => i); // 判断序列相等
+var nums=Enumerable.Range(1, 10).OrderByRandom(); // 随机排序
 
 // 多个集合取交集
-var list=new List<List<MyClass>>(){
+var list=new List<List<MyClass>>(){
     new List<MyClass>(){
         new MyClass(){Name="aa",Age=11},
         new MyClass(){Name="bb",Age=12},
@@ -503,20 +513,20 @@
         new MyClass(){Name="ee",Age=15},
     },
 };
-var sect=list.IntersectAll(m=>m.Name); // new MyClass(){Name="cc",Age=13}
+var sect=list.IntersectAll(m=>m.Name); // new MyClass(){Name="cc",Age=13}
 
-var list=new List<List<int>>(){
+var list=new List<List<int>>(){
     new(){1,2,3},
     new(){2,3,4},
     new(){3,4,5}
 };
-var sect=list.IntersectAll();// [3]
+var sect=list.IntersectAll();// [3]
 
 // 集合元素改变其索引位置
 list.ChangeIndex(item,3); // 将元素item的索引位置变为第3个
 list.ChangeIndex(t=>t.Id=="123",2); // 将id为123的元素的索引位置变为第2个
 
-var item=list.Percentile(50); // 取第50%分位数的元素

31.Mime类型

csharp
var mimeMapper = new MimeMapper();
+var item=list.Percentile(50); // 取第50%分位数的元素

31.Mime类型

csharp
var mimeMapper = new MimeMapper();
 var ext = mimeMapper.GetExtensionFromMime("image/jpeg"); // .jpg
 var mime = mimeMapper.GetMimeFromExtension(".jpg"); // image/jpeg
 
@@ -925,8 +935,8 @@
         LastModified = _lastModified
     };
     return result;
-}

推荐项目

基于EntityFrameworkCore和Lucene.NET实现的全文检索搜索引擎:Masuit.LuceneEFCore.SearchEngine

开源博客系统:Masuit.MyBlogs

- +}

推荐项目

基于EntityFrameworkCore和Lucene.NET实现的全文检索搜索引擎:Masuit.LuceneEFCore.SearchEngine

开源博客系统:Masuit.MyBlogs

+ \ No newline at end of file diff --git a/assets/api.md.n6118s9P.js b/assets/api.md.BN60GCIm.js similarity index 93% rename from assets/api.md.n6118s9P.js rename to assets/api.md.BN60GCIm.js index d0a66e59..cfdb2d11 100644 --- a/assets/api.md.n6118s9P.js +++ b/assets/api.md.BN60GCIm.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,V as n}from"./chunks/framework.cYNwvFF8.js";const F=JSON.parse('{"title":"Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult","description":"","frontmatter":{},"headers":[],"relativePath":"api.md","filePath":"api.md","lastUpdated":null}'),h={name:"api.md"},l=n(`

安装程序包

基础功能包

.NET Framework ≥ 4.6.1

shell
PM> Install-Package Masuit.Tools.Net

.NET Standard ≥ 2.1 或只想使用一些基本功能

通用项目推荐首选包

shell
PM> Install-Package Masuit.Tools.Abstraction

.NET Core ≥ 2.1

.NET Core项目推荐首选包

shell
PM> Install-Package Masuit.Tools.Core

.NET Framework 4.5特供版

请注意:这是.NET Framework 4.5的专用版本,相比4.6.1及.NET Core的版本,阉割了Redis、HTML、文件压缩、ASP.NET扩展、硬件监测、Session扩展等一些功能。如果你的项目版本高于4.5,请务必使用上述版本的包,以享受完整的功能体验!

shell
PM> Install-Package Masuit.Tools.Net45

增值包

Masuit.Tools.AspNetCore

AspNetCore项目推荐首选包 ASP.NET Core Web专用包,包含Masuit.Tools.Core的全部功能,并且增加了一些对ASP.NET Core Web功能的额外支持。

Masuit.Tools.Excel

Excel导入导出的专用独立包

Masuit.Tools.NoSQL.MongoDBClient

mongodb的封装操作类独立包

为工具库注册配置

工具库需要用到外部配置节,.NET Framework项目配置在web.config/app.config的AppSettings配置节中,.NET Core项目配置在appsettings.json中:

  1. EmailDomainWhiteList,邮箱校验需要用到的白名单域名,英文逗号分隔,每个元素支持正则表达式,若未配置,则不启用邮箱校验白名单,示例: "^\\\\w{1,5}@qq.com,^\\\\w{1,5}@163.com,^\\\\w{1,5}@gmail.com,^\\\\w{1,5}@outlook.com"
  2. EmailDomainBlockList,邮箱校验需要用到的黑名单域名,英文逗号分隔,每个元素支持正则表达式,且黑名单优先级高于白名单,若未配置,则不启用邮箱校验黑白名单
csharp
public Startup(IConfiguration configuration)
+import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.IXvbZIHp.js";const F=JSON.parse('{"title":"Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult","description":"","frontmatter":{},"headers":[],"relativePath":"api.md","filePath":"api.md","lastUpdated":null}'),h={name:"api.md"},l=n(`

安装程序包

基础功能包

.NET Framework ≥ 4.6.1

shell
PM> Install-Package Masuit.Tools.Net

.NET Standard ≥ 2.1 或只想使用一些基本功能

通用项目推荐首选包

shell
PM> Install-Package Masuit.Tools.Abstraction

.NET Core ≥ 2.1

.NET Core项目推荐首选包

shell
PM> Install-Package Masuit.Tools.Core

.NET Framework 4.5特供版

请注意:这是.NET Framework 4.5的专用版本,相比4.6.1及.NET Core的版本,阉割了Redis、HTML、文件压缩、ASP.NET扩展、硬件监测、Session扩展等一些功能。如果你的项目版本高于4.5,请务必使用上述版本的包,以享受完整的功能体验!

shell
PM> Install-Package Masuit.Tools.Net45

增值包

Masuit.Tools.AspNetCore

AspNetCore项目推荐首选包 ASP.NET Core Web专用包,包含Masuit.Tools.Core的全部功能,并且增加了一些对ASP.NET Core Web功能的额外支持。

Masuit.Tools.Excel

Excel导入导出的专用独立包

Masuit.Tools.NoSQL.MongoDBClient

mongodb的封装操作类独立包

为工具库注册配置

工具库需要用到外部配置节,.NET Framework项目配置在web.config/app.config的AppSettings配置节中,.NET Core项目配置在appsettings.json中:

  1. EmailDomainWhiteList,邮箱校验需要用到的白名单域名,英文逗号分隔,每个元素支持正则表达式,若未配置,则不启用邮箱校验白名单,示例: "^\\\\w{1,5}@qq.com,^\\\\w{1,5}@163.com,^\\\\w{1,5}@gmail.com,^\\\\w{1,5}@outlook.com"
  2. EmailDomainBlockList,邮箱校验需要用到的黑名单域名,英文逗号分隔,每个元素支持正则表达式,且黑名单优先级高于白名单,若未配置,则不启用邮箱校验黑白名单
csharp
public Startup(IConfiguration configuration)
 {
     configuration.AddToMasuitTools(); // 若未调用,则默认自动尝试加载appsettings.json
 }

特色功能示例代码

在线体验

https://replit.com/@ldqk/MasuitToolsDemo?v=1#main.cs

0. 一些创意类型

DisposableDictionary:可被Disposable的字典类型,用于存放Value是Disposable类型的数据,用法和普通字典一致

NullableConcurrentDictionary/NullableDictionary:Key可为null的字典类型,用法和普通字典一致

ConcurrentHashSet:并发HashSet,用法和HashSet一致

ConcurrentLimitedQueue:定长并发队列,特点是长度是固定的,用法与ConcurrentQueue一致

LimitedQueue:定长队列,特点是长度是固定的,用法与Queue一致

LargeMemoryStream:超大内存流,最大可支持1TB数据,推荐当数据流大于2GB时使用,用法与MemoryStream一致

PooledMemoryStream:池化内存流,可内存复用,用法与MemoryStream一致,性能比MemoryStream好

ITree<T>:树形实体接口约束,实现该接口可让类型实现一些树形操作

ChineseCalendar:中国农历类型,可以实现天干地支节气等数据的获取

Clay/DynamicFactory:粘土动态类型,可实现类似js的弱类型编程

RadarChart:雷达图类型,可用于做数据分析或用户行为画像

Circle:圆形类型,可实现⚪的相交相切相离的判断

Sphere:球体类型,可实现计算球体上两点的弧长计算,相交相切相离的判断

MimeMapper:mime类型映射

VersionNumber:版本号类型,比System.Version功能更多一点,用法一致

具体用法,可参阅后文详细示例:

1. 检验字符串是否是Email、手机号、URL、IP地址、身份证号等

csharp
var (isMatch, match) = "337845818@qq.com".MatchEmail(); // 可在appsetting.json中添加EmailDomainWhiteList和EmailDomainBlockList配置邮箱域名黑白名单,逗号分隔,如"EmailDomainBlockList": "^\\\\w{1,5}@qq.com,^\\\\w{1,5}@163.com,^\\\\w{1,5}@gmail.com,^\\\\w{1,5}@outlook.com",
@@ -413,9 +413,18 @@ import{_ as s,c as i,o as a,V as n}from"./chunks/framework.cYNwvFF8.js";const F=
 list.RemoveWhere(s => s.Length<1); // 将集合中长度小于1的元素移除
 list.InsertAfter(0, "2"); // 在第一个元素之后插入
 list.InsertAfter(s => s == "1", "2"); // 在元素"1"后插入
+
 var dic = list.ToDictionarySafety(s => s); // 安全的转换成字典类型,当键重复时只添加一个键
 var dic = list.ToConcurrentDictionary(s => s); // 转换成并发字典类型,当键重复时只添加一个键
 var dic = list.ToDictionarySafety(s => s, s => s.GetHashCode()); // 安全的转换成字典类型,当键重复时只添加一个键
+var v = dic[x=>x.Key.Contains("1")]; // 字典根据条件取值
+dic[x=>x.Key.Contains("1")]=2; // 字典根据条件赋值
+var v = dic[(key,value)=>key.Contains("1")]; // 字典根据条件取值
+dic[(key,value)=>key.Contains("1")]=2; // 字典根据条件赋值
+var v = dic[key=>key.Contains("1")]; // 字典根据key条件取值
+dic[key=>key.Contains("1")]=2; // 字典根据key条件赋值
+var v = dic[value=>value>0]; // 字典根据value条件取值
+dic[value=>value>0]=2; // 字典根据value条件赋值
 dic.AddOrUpdate("4", 4); // 添加或更新键值对
 dic.AddOrUpdate(new Dictionary<string, int>()
 {
@@ -426,12 +435,13 @@ import{_ as s,c as i,o as a,V as n}from"./chunks/framework.cYNwvFF8.js";const F=
 dic.GetOrAdd("7",77); // 字典获取或添加元素
 dic.GetOrAdd("7",()=>77); // 字典获取或添加元素
 dic.AsConcurrentDictionary(); // 普通字典转换成并发字典集合
-var table=list.ToDataTable(); // 转换成DataTable类型
+
+var table=list.ToDataTable(); // 转换成DataTable类型
 table.AddIdentityColumn(); //给DataTable增加一个自增列
 table.HasRows(); // 检查DataTable 是否有数据行
 table.ToList<T>(); // datatable转List
-var set = list.ToHashSet(s=>s.Name);// 转HashSet
-var cts = new CancellationTokenSource(100); //取消口令
+var set = list.ToHashSet(s=>s.Name);// 转HashSet
+var cts = new CancellationTokenSource(100); //取消口令
 await list.ForeachAsync(async i=>{
     await Task.Delay(100);
     Console.WriteLine(i);
@@ -449,25 +459,25 @@ import{_ as s,c as i,o as a,V as n}from"./chunks/framework.cYNwvFF8.js";const F=
     await Task.Delay(100);
     return item*10;
 }); // 异步Select,带索引编号
-string s=list.Join(",");//将字符串集合连接成逗号分隔的单字符串
-var max=list.MaxOrDefault(); // 取最大值,当集合为空的时候不会报错
-var max=list.MaxOrDefault(selector); // 取最大值,当集合为空的时候不会报错
-var max=list.MaxOrDefault(selector,default); // 取最大值,当集合为空的时候不会报错
-var max=list.MinOrDefault(); // 取最小值,当集合为空的时候不会报错
-var max=list.MinOrDefault(selector); // 取最小值,当集合为空的时候不会报错
-var max=list.MinOrDefault(selector,default); // 取最小值,当集合为空的时候不会报错
-var stdDev=list.Select(s=>s.ConvertTo<int>()).StandardDeviation(); // 求标准差
-
-var pages=queryable.ToPagedList(1,10); // 分页查询
-var pages=await queryable.ToPagedListAsync(1,10); // 分页查询
-
-var nums=Enumerable.Range(1, 10).ExceptBy(Enumerable.Range(5, 10), i => i); // 按字段取差集
-var nums=Enumerable.Range(1, 10).IntersectBy(Enumerable.Range(5, 10), i => i); // 按字段取交集
-var nums=Enumerable.Range(1, 10).SequenceEqual(Enumerable.Range(5, 10), i => i); // 判断序列相等
-var nums=Enumerable.Range(1, 10).OrderByRandom(); // 随机排序
+string s=list.Join(",");//将字符串集合连接成逗号分隔的单字符串
+var max=list.MaxOrDefault(); // 取最大值,当集合为空的时候不会报错
+var max=list.MaxOrDefault(selector); // 取最大值,当集合为空的时候不会报错
+var max=list.MaxOrDefault(selector,default); // 取最大值,当集合为空的时候不会报错
+var max=list.MinOrDefault(); // 取最小值,当集合为空的时候不会报错
+var max=list.MinOrDefault(selector); // 取最小值,当集合为空的时候不会报错
+var max=list.MinOrDefault(selector,default); // 取最小值,当集合为空的时候不会报错
+var stdDev=list.Select(s=>s.ConvertTo<int>()).StandardDeviation(); // 求标准差
+
+var pages=queryable.ToPagedList(1,10); // 分页查询
+var pages=await queryable.ToPagedListAsync(1,10); // 分页查询
+
+var nums=Enumerable.Range(1, 10).ExceptBy(Enumerable.Range(5, 10), i => i); // 按字段取差集
+var nums=Enumerable.Range(1, 10).IntersectBy(Enumerable.Range(5, 10), i => i); // 按字段取交集
+var nums=Enumerable.Range(1, 10).SequenceEqual(Enumerable.Range(5, 10), i => i); // 判断序列相等
+var nums=Enumerable.Range(1, 10).OrderByRandom(); // 随机排序
 
 // 多个集合取交集
-var list=new List<List<MyClass>>(){
+var list=new List<List<MyClass>>(){
     new List<MyClass>(){
         new MyClass(){Name="aa",Age=11},
         new MyClass(){Name="bb",Age=12},
@@ -484,20 +494,20 @@ import{_ as s,c as i,o as a,V as n}from"./chunks/framework.cYNwvFF8.js";const F=
         new MyClass(){Name="ee",Age=15},
     },
 };
-var sect=list.IntersectAll(m=>m.Name); // new MyClass(){Name="cc",Age=13}
+var sect=list.IntersectAll(m=>m.Name); // new MyClass(){Name="cc",Age=13}
 
-var list=new List<List<int>>(){
+var list=new List<List<int>>(){
     new(){1,2,3},
     new(){2,3,4},
     new(){3,4,5}
 };
-var sect=list.IntersectAll();// [3]
+var sect=list.IntersectAll();// [3]
 
 // 集合元素改变其索引位置
 list.ChangeIndex(item,3); // 将元素item的索引位置变为第3个
 list.ChangeIndex(t=>t.Id=="123",2); // 将id为123的元素的索引位置变为第2个
 
-var item=list.Percentile(50); // 取第50%分位数的元素

31.Mime类型

csharp
var mimeMapper = new MimeMapper();
+var item=list.Percentile(50); // 取第50%分位数的元素

31.Mime类型

csharp
var mimeMapper = new MimeMapper();
 var ext = mimeMapper.GetExtensionFromMime("image/jpeg"); // .jpg
 var mime = mimeMapper.GetMimeFromExtension(".jpg"); // image/jpeg
 
@@ -906,4 +916,4 @@ import{_ as s,c as i,o as a,V as n}from"./chunks/framework.cYNwvFF8.js";const F=
         LastModified = _lastModified
     };
     return result;
-}

推荐项目

基于EntityFrameworkCore和Lucene.NET实现的全文检索搜索引擎:Masuit.LuceneEFCore.SearchEngine

开源博客系统:Masuit.MyBlogs

`,243),t=[l];function k(p,e,r,E,d,g){return a(),i("div",null,t)}const c=s(h,[["render",k]]);export{F as __pageData,c as default}; +}

推荐项目

基于EntityFrameworkCore和Lucene.NET实现的全文检索搜索引擎:Masuit.LuceneEFCore.SearchEngine

开源博客系统:Masuit.MyBlogs

`,243),k=[l];function t(p,e,r,E,d,g){return a(),i("div",null,k)}const c=s(h,[["render",t]]);export{F as __pageData,c as default}; diff --git a/assets/api.md.BN60GCIm.lean.js b/assets/api.md.BN60GCIm.lean.js new file mode 100644 index 00000000..23a9e27a --- /dev/null +++ b/assets/api.md.BN60GCIm.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.IXvbZIHp.js";const F=JSON.parse('{"title":"Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult","description":"","frontmatter":{},"headers":[],"relativePath":"api.md","filePath":"api.md","lastUpdated":null}'),h={name:"api.md"},l=n("",243),k=[l];function t(p,e,r,E,d,g){return a(),i("div",null,k)}const c=s(h,[["render",t]]);export{F as __pageData,c as default}; diff --git a/assets/api.md.n6118s9P.lean.js b/assets/api.md.n6118s9P.lean.js deleted file mode 100644 index 33a0b50b..00000000 --- a/assets/api.md.n6118s9P.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,V as n}from"./chunks/framework.cYNwvFF8.js";const F=JSON.parse('{"title":"Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult","description":"","frontmatter":{},"headers":[],"relativePath":"api.md","filePath":"api.md","lastUpdated":null}'),h={name:"api.md"},l=n("",243),t=[l];function k(p,e,r,E,d,g){return a(),i("div",null,t)}const c=s(h,[["render",k]]);export{F as __pageData,c as default}; diff --git a/assets/app.QJwZ54Q3.js b/assets/app.B99LLCkg.js similarity index 83% rename from assets/app.QJwZ54Q3.js rename to assets/app.B99LLCkg.js index 946e2587..d8986677 100644 --- a/assets/app.QJwZ54Q3.js +++ b/assets/app.B99LLCkg.js @@ -1,4 +1,4 @@ -import{j as o,a4 as p,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as A,ad as g,Y as v,d as P,u as y,l as C,z as w,ae as _,af as b,ag as E,ah as R}from"./chunks/framework.cYNwvFF8.js";import{t as D}from"./chunks/theme.0C8HcoKF.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(D),j=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&_(),b(),E(),s.setup&&s.setup(),()=>R(s.Layout)}});async function L(){const e=S(),a=O();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function O(){return h(j)}function S(){let e=o,a;return A(t=>{let n=g(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=v(()=>import(n),__vite__mapDeps([]))),o&&(e=!1),r},s.NotFound)}o&&L().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{L as createApp}; +import{j as o,a5 as p,a6 as u,a7 as c,a8 as l,a9 as f,aa as d,ab as m,ac as h,ad as A,ae as g,Y as v,d as P,u as y,l as C,z as w,af as _,ag as b,ah as E,ai as R}from"./chunks/framework.IXvbZIHp.js";import{t as D}from"./chunks/theme.BYCnEqj-.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(D),j=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&_(),b(),E(),s.setup&&s.setup(),()=>R(s.Layout)}});async function L(){const e=S(),a=O();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function O(){return h(j)}function S(){let e=o,a;return A(t=>{let n=g(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=v(()=>import(n),__vite__mapDeps([]))),o&&(e=!1),r},s.NotFound)}o&&L().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{L as createApp}; function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { __vite__mapDeps.viteFileDeps = [] diff --git a/assets/chunks/@localSearchIndexroot.CDkAgs0_.js b/assets/chunks/@localSearchIndexroot.CDkAgs0_.js new file mode 100644 index 00000000..e86d9557 --- /dev/null +++ b/assets/chunks/@localSearchIndexroot.CDkAgs0_.js @@ -0,0 +1 @@ +const e='{"documentCount":93,"nextId":93,"documentIds":{"0":"/api.html#安装程序包","1":"/api.html#基础功能包","2":"/api.html#net-framework-≥-4-6-1","3":"/api.html#net-standard-≥-2-1-或只想使用一些基本功能","4":"/api.html#net-core-≥-2-1","5":"/api.html#net-framework-4-5特供版","6":"/api.html#增值包","7":"/api.html#masuit-tools-aspnetcore","8":"/api.html#masuit-tools-excel","9":"/api.html#masuit-tools-nosql-mongodbclient","10":"/api.html#为工具库注册配置","11":"/api.html#特色功能示例代码","12":"/api.html#在线体验","13":"/api.html#_0-一些创意类型","14":"/api.html#_1-检验字符串是否是email、手机号、url、ip地址、身份证号等","15":"/api.html#_2-硬件监测-仅支持windows-部分函数仅支持物理机模式","16":"/api.html#_3-html的防xss处理","17":"/api.html#_4-整理windows系统的内存","18":"/api.html#_5-任意进制转换-中文数字","19":"/api.html#大写数字","20":"/api.html#进制转换","21":"/api.html#_6-纳秒级性能计时器","22":"/api.html#_7-产生分布式唯一有序短id-雪花id","23":"/api.html#_8-农历转换","24":"/api.html#_9-linq表达式树扩展","25":"/api.html#_10-模版引擎","26":"/api.html#_11-list转datatable","27":"/api.html#_12-文件压缩解压","28":"/api.html#_13-简易日志组件-又不是不能用-jpg","29":"/api.html#_14-多线程后台下载","30":"/api.html#_15-加密解密-hash","31":"/api.html#_16-实体校验","32":"/api.html#_17-html操作","33":"/api.html#_18-ip地址和url","34":"/api.html#_19-对象属性值合并","35":"/api.html#_20-元素去重","36":"/api.html#_21-枚举扩展","37":"/api.html#_22-定长队列和concurrenthashset实现","38":"/api.html#_23-反射操作","39":"/api.html#_24-邮件发送","40":"/api.html#_25-图像的简单处理","41":"/api.html#_26-随机数","42":"/api.html#_27-权重随机筛选功能","43":"/api.html#_28-ef-core支持addorupdate方法","44":"/api.html#_29-敏感信息掩码","45":"/api.html#_30-集合扩展","46":"/api.html#_31-mime类型","47":"/api.html#_32-日期时间扩展","48":"/api.html#_33-流相关","49":"/api.html#_34-类型操作-字符串","50":"/api.html#_35-ini配置文件操作-仅支持windows","51":"/api.html#_36-雷达图计算引擎","52":"/api.html#_37-树形结构实现","53":"/api.html#_38-简单的excel导出","54":"/api.html#一些约定规则","55":"/api.html#_39-efcore实用扩展","56":"/api.html#跟踪实体变更对比","57":"/api.html#nolock查询","58":"/api.html#自动递归式include扩展-通常用于树形表","59":"/api.html#_40-任何类型支持链式调用","60":"/api.html#_41-newtonsoft-json和system-text-json的只允许字段-反-序列化行为的契约解释器","61":"/api.html#deserializeonlycontractresolver","62":"/api.html#fallbackjsonpropertyresolver","63":"/api.html#compositecontractresolver","64":"/api.html#_42-asp-net-core-action同时支持querystring、表单和json请求类型的模型绑点器bodyordefaultmodelbinder","65":"/api.html#_43-字符串simhash相似度算法","66":"/api.html#_44-真实文件类型探测-文本编码检测","67":"/api.html#默认支持的文件类型","68":"/api.html#_45-动态类型扩展","69":"/api.html#_46-反病毒-仅支持windows","70":"/api.html#_47-生成验证码","71":"/api.html#_48-distributedcache扩展","72":"/api.html#_49-viewdata扩展","73":"/api.html#_50-线程上下文存取临时值","74":"/api.html#_51-asp-net-core自动扫描注册服务","75":"/api.html#_52-房贷试算模型","76":"/api.html#asp-net-mvc和asp-net-core的支持断点续传和多线程下载的resumefileresult","77":"/api.html#支持-asp-net-core-2-0","78":"/api.html#如何使用","79":"/api.html#net-framework","80":"/api.html#asp-net-core","81":"/api.html#推荐项目","82":"/guid/#masuit-tools-码数吐司库","83":"/guid/#本项目已得到jetbrains的支持","84":"/guid/#star趋势","85":"/guid/#请注意","86":"/guid/#建议开发环境","87":"/guid/#推荐项目","88":"/guid.html#masuit-tools-码数吐司库","89":"/guid.html#本项目已得到jetbrains的支持","90":"/guid.html#star趋势","91":"/guid.html#请注意","92":"/guid.html#建议开发环境"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[1,2,1],"2":[7,3,8],"3":[7,3,9],"4":[6,3,10],"5":[5,3,29],"6":[1,2,1],"7":[3,3,11],"8":[3,3,2],"9":[4,3,2],"10":[1,1,39],"11":[1,1,1],"12":[1,2,9],"13":[2,2,59],"14":[6,2,57],"15":[5,2,69],"16":[3,2,64],"17":[3,2,5],"18":[3,2,1],"19":[1,5,10],"20":[1,5,93],"21":[2,2,27],"22":[4,2,63],"23":[2,2,28],"24":[2,2,47],"25":[2,2,26],"26":[2,2,27],"27":[2,2,51],"28":[5,2,18],"29":[2,2,61],"30":[3,2,82],"31":[2,2,56],"32":[2,2,18],"33":[2,2,51],"34":[2,2,26],"35":[2,2,22],"36":[2,2,61],"37":[2,2,20],"38":[2,2,23],"39":[2,2,40],"40":[2,2,91],"41":[2,2,26],"42":[2,2,39],"43":[3,2,18],"44":[2,2,36],"45":[2,2,185],"46":[2,2,27],"47":[2,2,62],"48":[2,2,53],"49":[3,2,126],"50":[4,2,18],"51":[2,2,14],"52":[2,2,51],"53":[2,2,26],"54":[2,4,24],"55":[2,2,1],"56":[1,4,25],"57":[1,4,50],"58":[3,4,17],"59":[2,2,15],"60":[7,2,1],"61":[1,9,61],"62":[1,9,27],"63":[1,9,2],"64":[6,2,31],"65":[2,2,11],"66":[3,2,30],"67":[1,5,215],"68":[2,2,40],"69":[4,2,28],"70":[2,2,11],"71":[2,2,19],"72":[2,2,13],"73":[2,2,13],"74":[4,2,15],"75":[2,2,149],"76":[4,1,17],"77":[6,4,14],"78":[1,4,1],"79":[3,5,36],"80":[3,5,105],"81":[1,5,8],"82":[4,1,39],"83":[1,4,1],"84":[1,4,1],"85":[2,4,22],"86":[1,4,15],"87":[1,4,8],"88":[4,1,40],"89":[1,4,1],"90":[1,4,1],"91":[2,4,21],"92":[1,4,15]},"averageFieldLength":[2.483870967741936,2.752688172043011,33.79569892473119],"storedFields":{"0":{"title":"安装程序包","titles":[null]},"1":{"title":"基础功能包","titles":[null,"安装程序包"]},"2":{"title":".NET Framework ≥ 4.6.1","titles":[null,"安装程序包","基础功能包"]},"3":{"title":".NET Standard ≥ 2.1 或只想使用一些基本功能","titles":[null,"安装程序包","基础功能包"]},"4":{"title":".NET Core ≥ 2.1","titles":[null,"安装程序包","基础功能包"]},"5":{"title":".NET Framework 4.5特供版","titles":[null,"安装程序包","基础功能包"]},"6":{"title":"增值包","titles":[null,"安装程序包"]},"7":{"title":"Masuit.Tools.AspNetCore","titles":[null,"安装程序包","增值包"]},"8":{"title":"Masuit.Tools.Excel","titles":[null,"安装程序包","增值包"]},"9":{"title":"Masuit.Tools.NoSQL.MongoDBClient","titles":[null,"安装程序包","增值包"]},"10":{"title":"为工具库注册配置","titles":[null]},"11":{"title":"特色功能示例代码","titles":[null]},"12":{"title":"在线体验","titles":[null,"特色功能示例代码"]},"13":{"title":"0. 一些创意类型","titles":[null,"特色功能示例代码"]},"14":{"title":"1. 检验字符串是否是Email、手机号、URL、IP地址、身份证号等","titles":[null,"特色功能示例代码"]},"15":{"title":"2.硬件监测(仅支持Windows,部分函数仅支持物理机模式)","titles":[null,"特色功能示例代码"]},"16":{"title":"3.html的防XSS处理:","titles":[null,"特色功能示例代码"]},"17":{"title":"4.整理Windows系统的内存:","titles":[null,"特色功能示例代码"]},"18":{"title":"5.任意进制转换/中文数字","titles":[null,"特色功能示例代码"]},"19":{"title":"大写数字","titles":[null,"特色功能示例代码","5.任意进制转换/中文数字"]},"20":{"title":"进制转换","titles":[null,"特色功能示例代码","5.任意进制转换/中文数字"]},"21":{"title":"6.纳秒级性能计时器","titles":[null,"特色功能示例代码"]},"22":{"title":"7.产生分布式唯一有序短id(雪花id)","titles":[null,"特色功能示例代码"]},"23":{"title":"8.农历转换","titles":[null,"特色功能示例代码"]},"24":{"title":"9.Linq表达式树扩展","titles":[null,"特色功能示例代码"]},"25":{"title":"10.模版引擎","titles":[null,"特色功能示例代码"]},"26":{"title":"11.List转Datatable","titles":[null,"特色功能示例代码"]},"27":{"title":"12.文件压缩解压","titles":[null,"特色功能示例代码"]},"28":{"title":"13.简易日志组件(又不是不能用.jpg)","titles":[null,"特色功能示例代码"]},"29":{"title":"14.多线程后台下载","titles":[null,"特色功能示例代码"]},"30":{"title":"15.加密解密/hash","titles":[null,"特色功能示例代码"]},"31":{"title":"16.实体校验","titles":[null,"特色功能示例代码"]},"32":{"title":"17.HTML操作","titles":[null,"特色功能示例代码"]},"33":{"title":"18.IP地址和URL","titles":[null,"特色功能示例代码"]},"34":{"title":"19.对象属性值合并","titles":[null,"特色功能示例代码"]},"35":{"title":"20.元素去重","titles":[null,"特色功能示例代码"]},"36":{"title":"21.枚举扩展","titles":[null,"特色功能示例代码"]},"37":{"title":"22.定长队列和ConcurrentHashSet实现","titles":[null,"特色功能示例代码"]},"38":{"title":"23.反射操作","titles":[null,"特色功能示例代码"]},"39":{"title":"24.邮件发送","titles":[null,"特色功能示例代码"]},"40":{"title":"25.图像的简单处理","titles":[null,"特色功能示例代码"]},"41":{"title":"26.随机数","titles":[null,"特色功能示例代码"]},"42":{"title":"27.权重随机筛选功能","titles":[null,"特色功能示例代码"]},"43":{"title":"28.EF Core支持AddOrUpdate方法","titles":[null,"特色功能示例代码"]},"44":{"title":"29.敏感信息掩码","titles":[null,"特色功能示例代码"]},"45":{"title":"30.集合扩展","titles":[null,"特色功能示例代码"]},"46":{"title":"31.Mime类型","titles":[null,"特色功能示例代码"]},"47":{"title":"32.日期时间扩展","titles":[null,"特色功能示例代码"]},"48":{"title":"33.流相关","titles":[null,"特色功能示例代码"]},"49":{"title":"34.类型操作/字符串","titles":[null,"特色功能示例代码"]},"50":{"title":"35.INI配置文件操作(仅支持Windows)","titles":[null,"特色功能示例代码"]},"51":{"title":"36.雷达图计算引擎","titles":[null,"特色功能示例代码"]},"52":{"title":"37.树形结构实现","titles":[null,"特色功能示例代码"]},"53":{"title":"38.简单的Excel导出","titles":[null,"特色功能示例代码"]},"54":{"title":"一些约定规则:","titles":[null,"特色功能示例代码","38.简单的Excel导出"]},"55":{"title":"39.EFCore实用扩展","titles":[null,"特色功能示例代码"]},"56":{"title":"跟踪实体变更对比","titles":[null,"特色功能示例代码","39.EFCore实用扩展"]},"57":{"title":"nolock查询","titles":[null,"特色功能示例代码","39.EFCore实用扩展"]},"58":{"title":"自动递归式Include扩展(通常用于树形表)","titles":[null,"特色功能示例代码","39.EFCore实用扩展"]},"59":{"title":"40.任何类型支持链式调用","titles":[null,"特色功能示例代码"]},"60":{"title":"41.Newtonsoft.Json和System.Text.Json的只允许字段(反)序列化行为的契约解释器","titles":[null,"特色功能示例代码"]},"61":{"title":"DeserializeOnlyContractResolver","titles":[null,"特色功能示例代码","41.Newtonsoft.Json和System.Text.Json的只允许字段(反)序列化行为的契约解释器"]},"62":{"title":"FallbackJsonPropertyResolver","titles":[null,"特色功能示例代码","41.Newtonsoft.Json和System.Text.Json的只允许字段(反)序列化行为的契约解释器"]},"63":{"title":"CompositeContractResolver","titles":[null,"特色功能示例代码","41.Newtonsoft.Json和System.Text.Json的只允许字段(反)序列化行为的契约解释器"]},"64":{"title":"42. ASP.NET Core Action同时支持queryString、表单和json请求类型的模型绑点器BodyOrDefaultModelBinder","titles":[null,"特色功能示例代码"]},"65":{"title":"43. 字符串SimHash相似度算法","titles":[null,"特色功能示例代码"]},"66":{"title":"44. 真实文件类型探测/文本编码检测","titles":[null,"特色功能示例代码"]},"67":{"title":"默认支持的文件类型","titles":[null,"特色功能示例代码","44. 真实文件类型探测/文本编码检测"]},"68":{"title":"45. 动态类型扩展","titles":[null,"特色功能示例代码"]},"69":{"title":"46. 反病毒(仅支持Windows)","titles":[null,"特色功能示例代码"]},"70":{"title":"47. 生成验证码","titles":[null,"特色功能示例代码"]},"71":{"title":"48. DistributedCache扩展","titles":[null,"特色功能示例代码"]},"72":{"title":"49. ViewData扩展","titles":[null,"特色功能示例代码"]},"73":{"title":"50. 线程上下文存取临时值","titles":[null,"特色功能示例代码"]},"74":{"title":"51. ASP.NET Core自动扫描注册服务","titles":[null,"特色功能示例代码"]},"75":{"title":"52. 房贷试算模型","titles":[null,"特色功能示例代码"]},"76":{"title":"Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult","titles":[]},"77":{"title":"支持 ASP.NET Core 2.0+","titles":["Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult"]},"78":{"title":"如何使用","titles":["Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult"]},"79":{"title":".NET Framework","titles":["Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult","如何使用"]},"80":{"title":"Asp.Net Core","titles":["Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult","如何使用"]},"81":{"title":"推荐项目","titles":["Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult","如何使用"]},"82":{"title":"Masuit.Tools(码数吐司库)","titles":[]},"83":{"title":"本项目已得到","titles":["Masuit.Tools(码数吐司库)"]},"84":{"title":"Star趋势","titles":["Masuit.Tools(码数吐司库)"]},"85":{"title":"请注意:","titles":["Masuit.Tools(码数吐司库)"]},"86":{"title":"建议开发环境","titles":["Masuit.Tools(码数吐司库)"]},"87":{"title":"推荐项目","titles":["Masuit.Tools(码数吐司库)","建议开发环境"]},"88":{"title":"Masuit.Tools(码数吐司库)","titles":[]},"89":{"title":"本项目已得到","titles":["Masuit.Tools(码数吐司库)"]},"90":{"title":"Star趋势","titles":["Masuit.Tools(码数吐司库)"]},"91":{"title":"请注意:","titles":["Masuit.Tools(码数吐司库)"]},"92":{"title":"建议开发环境","titles":["Masuit.Tools(码数吐司库)"]}},"dirtCount":0,"index":[["人力外包公司或",{"2":{"91":1}}],["人人有责",{"2":{"85":1,"91":1}}],["不管你是菜鸟新手还是骨灰级玩家都能轻松上手",{"2":{"88":1}}],["不过如果你确实有这么骚的需求",{"2":{"20":1}}],["操作系统",{"2":{"86":1,"92":1}}],["建议开发环境",{"0":{"86":1,"92":1},"1":{"87":1}}],["也是废人",{"2":{"85":1,"91":1}}],["其他企业或个人可随意使用不受限",{"2":{"85":1,"91":1}}],["其中",{"2":{"54":1}}],["外包公司或",{"2":{"85":1}}],["或者直接不允许使用任何包含本项目的源代码",{"2":{"85":1,"91":1}}],["或只想使用一些基本功能",{"0":{"3":1}}],["公司工商注册信息认缴金额的2",{"2":{"85":1,"91":1}}],["公钥加密",{"2":{"30":1}}],["雇佣童工等",{"2":{"85":1,"91":1}}],["超时用工",{"2":{"85":1,"91":1}}],["超大数字的进制转换",{"2":{"20":1}}],["超大内存流",{"2":{"13":1}}],["包括但不限定非法裁员",{"2":{"85":1,"91":1}}],["包含一些常用的操作类",{"2":{"82":1}}],["包含masuit",{"2":{"7":1}}],["🤣🤣🤣",{"2":{"82":1,"88":1}}],["🤔1🥳a👨‍👩‍👧‍👦啊",{"2":{"49":1}}],["想适当打赏我也是不会拒绝的",{"2":{"82":1,"88":1}}],["我会为你提供完全免费的技术指导",{"2":{"82":1,"88":1}}],["我还准备了unicodeformater类",{"2":{"20":1}}],["关于本项目",{"2":{"82":1,"88":1}}],["⭐⭐⭐喜欢这个项目的话就star",{"2":{"82":1,"88":1}}],["日常代码积累+网络搜集",{"2":{"82":1,"88":1}}],["日期时间扩展操作",{"2":{"82":1,"88":1}}],["日期时间扩展",{"0":{"47":1}}],["项目开发模式",{"2":{"82":1,"88":1}}],["官网教程",{"2":{"82":1,"88":1}}],["代码量不到2mb",{"2":{"82":1,"88":1}}],["诸多功能集一身",{"2":{"82":1,"88":1}}],["断点续传",{"2":{"82":1,"88":1}}],["验证码",{"2":{"82":1,"88":1}}],["表达式树",{"2":{"82":1,"88":1}}],["表单和json请求类型的模型绑点器bodyordefaultmodelbinder",{"0":{"64":1}}],["权重随机筛选算法",{"2":{"82":1,"88":1}}],["权重随机筛选功能",{"0":{"42":1}}],["万能工具库",{"2":{"82":1}}],["万金油",{"2":{"25":3}}],["新手友好的c",{"2":{"82":1}}],["新值",{"2":{"56":1}}],["码数吐司库",{"0":{"82":1,"88":1},"1":{"83":1,"84":1,"85":1,"86":1,"87":1,"89":1,"90":1,"91":1,"92":1}}],["另外",{"2":{"80":1}}],["提供",{"2":{"80":1}}],["提前还款节省利息savedinterest",{"2":{"75":1}}],["提前还款前月供4260",{"2":{"75":1}}],["提前还款前月供4771",{"2":{"75":1}}],["提前还款前月供5273",{"2":{"75":1}}],["提前还款前月供5948",{"2":{"75":1}}],["提前还款后月供首月4251",{"2":{"75":1}}],["提前还款后月供首月4762",{"2":{"75":1}}],["提前还款后月供4493",{"2":{"75":1}}],["提前还款后月供5339",{"2":{"75":1}}],["提前还款计划",{"2":{"75":1}}],["数据将作为",{"2":{"80":1}}],["数组形式",{"2":{"49":1}}],["点击查看代码",{"2":{"80":1}}],["必须在",{"2":{"80":1}}],["必须包含数字",{"2":{"31":1}}],["要使用resumefileresults",{"2":{"80":1}}],["要求c",{"2":{"69":1}}],["要求系统windowsdefender没有被停掉",{"2":{"69":1}}],["~",{"2":{"79":2}}],["所有代码都依赖于基础",{"2":{"77":1}}],["所处深度",{"2":{"52":1}}],["只留下了",{"2":{"77":1}}],["因此只是对fileresult做了一些扩展",{"2":{"77":1}}],["因银行计算受实时利率或提前还款违约金影响",{"2":{"75":1}}],["支持",{"0":{"77":1}}],["支持多次提前还款和多次调整利率",{"2":{"75":1}}],["它可以提供",{"2":{"80":1}}],["它还支持以下前置条件标头",{"2":{"76":1}}],["它提供了",{"2":{"76":1}}],["剩余本金等信息",{"2":{"75":1}}],["本项目作者有权利追讨本项目的使用费",{"2":{"85":1,"91":1}}],["本项目已得到",{"0":{"83":1,"89":1}}],["本金",{"2":{"75":1}}],["本试算模型的计算结果和银行结果大约有1",{"2":{"75":1}}],["利息",{"2":{"75":1}}],["利率调整",{"2":{"75":1}}],["总还款期数paymentplans",{"2":{"75":1}}],["总提前还款totalrepayment",{"2":{"75":1}}],["总利息totalinterest",{"2":{"75":1}}],["期数减少38期",{"2":{"75":1}}],["期数减少64期",{"2":{"75":1}}],["每条记录可以展示当期的利率",{"2":{"75":1}}],["每月递减8",{"2":{"75":1}}],["每月递减60",{"2":{"75":1}}],["每个元素支持正则表达式",{"2":{"10":2}}],["还款方式改为了等额本金",{"2":{"75":1}}],["调整次月还款8",{"2":{"75":1}}],["调整次月还款5118",{"2":{"75":1}}],["调整后首月4457",{"2":{"75":1}}],["调整后月供4702",{"2":{"75":1}}],["调整后月供4496",{"2":{"75":1}}],["调整后月供5273",{"2":{"75":1}}],["调整后月供5948",{"2":{"75":1}}],["调整前月供4762",{"2":{"75":1}}],["调整前月供4496",{"2":{"75":1}}],["调整前月供5273",{"2":{"75":1}}],["调整前月供5948",{"2":{"75":1}}],["调整前月供6170",{"2":{"75":1}}],["调整光暗",{"2":{"40":1}}],["政策因素银行自动调整",{"2":{"75":1}}],["首次还款时间2021",{"2":{"75":1}}],["贷款方式不变",{"2":{"75":1}}],["贷款100万",{"2":{"75":1}}],["贷30年",{"2":{"75":1}}],["等额本息方式",{"2":{"75":1}}],["初始利率6",{"2":{"75":1}}],["模拟案例",{"2":{"75":1}}],["模版变量",{"2":{"25":1}}],["模版引擎",{"0":{"25":1}}],["的误差",{"2":{"75":1}}],["集成案例",{"2":{"75":1}}],["集合元素继承自itreeparent",{"2":{"52":1}}],["集合元素继承自itreeentity",{"2":{"52":1}}],["集合元素改变其索引位置",{"2":{"45":1}}],["集合扩展",{"0":{"45":1},"2":{"82":1,"88":1}}],["房贷试算模型",{"0":{"75":1}}],["需要自动注册的服务打上serviceinject标记即可",{"2":{"74":1}}],["需要额外依赖包",{"2":{"53":1}}],["线程上下文存取临时值",{"0":{"73":1}}],["添加或更新值",{"2":{"71":1}}],["添加或更新键值对",{"2":{"45":1}}],["扫描二进制数组",{"2":{"69":1}}],["扫描文件流",{"2":{"69":2}}],["扫描文件夹",{"2":{"69":1}}],["扫描文件",{"2":{"69":2}}],["增加属性",{"2":{"68":1}}],["增值包",{"0":{"6":1},"1":{"7":1,"8":1,"9":1}}],["删除属性",{"2":{"68":1}}],["y",{"2":{"68":2,"69":3}}],["yxwc4kphjvqu06rh",{"2":{"29":1}}],["男",{"2":{"68":1}}],["让动态类型支持属性访问器和索引器调用",{"2":{"68":1}}],["动态类型扩展",{"0":{"68":1}}],["说明",{"2":{"67":1}}],["格式类别",{"2":{"66":1}}],["真实扩展名",{"2":{"66":1}}],["真实文件类型探测",{"0":{"66":1},"1":{"67":1}}],["文本编码检测",{"0":{"66":1},"1":{"67":1}}],["文件密码",{"2":{"53":1}}],["文件流快速复制",{"2":{"48":1}}],["文件合并完成",{"2":{"29":1}}],["文件压缩解压",{"0":{"27":1}}],["文件压缩",{"2":{"5":1,"82":1,"88":1}}],["即可",{"2":{"64":1}}],["引入包",{"2":{"64":1}}],["该解释器是deserializeonlycontractresolver和fallbackjsonpropertyresolver的融合版",{"2":{"63":1}}],["该解释器针对某个属性设置多个别名",{"2":{"62":1}}],["该解释器针对类属性被deserializeonlyjsonpropertyattribute",{"2":{"61":1}}],["弥补官方jsonproperty别名属性只能设置单一别名的不足",{"2":{"62":1}}],["被serializeonlyjsonpropertyattribute",{"2":{"61":1}}],["序列化时加载这个属性",{"2":{"61":1}}],["序列化时忽略这个属性",{"2":{"61":1}}],["序列化行为的契约解释器",{"0":{"60":1},"1":{"61":1,"62":1,"63":1}}],["序列化成json字符串",{"2":{"49":1}}],["任何性质的",{"2":{"85":1}}],["任何类型支持链式调用",{"0":{"59":1}}],["任君调用",{"2":{"66":1}}],["任意流转换成二进制数组",{"2":{"48":2}}],["任意流转换成内存流",{"2":{"48":1}}],["任意进制转换",{"0":{"18":1},"1":{"19":1,"20":1}}],["那么可以改成这样",{"2":{"58":1}}],["执行策略",{"2":{"57":1}}],["执行单个nolock查询需要开启策略查询",{"2":{"57":1}}],["执行单个nolock查询",{"2":{"57":1}}],["执行for循环100000次耗时",{"2":{"21":2}}],["开发工具",{"2":{"86":1,"92":1}}],["开源博客系统",{"2":{"81":1,"87":1}}],["开启一个nolock上下文",{"2":{"57":1}}],["开始下载",{"2":{"29":1}}],["但有可能会读取到脏数据",{"2":{"57":1}}],["但是",{"2":{"20":1}}],["此时的查询性能最好",{"2":{"57":1}}],["上下文范围内自动nolock",{"2":{"57":1}}],["上下文注入interceptor即可在任何查询时使用nolock查询",{"2":{"57":1}}],["上下镜像",{"2":{"40":1}}],["变更状态等",{"2":{"56":1}}],["键信息",{"2":{"56":1}}],["旧值",{"2":{"56":1}}],["跟踪实体变更对比",{"0":{"56":1}}],["默认支持的文件类型",{"0":{"67":1}}],["默认会先查找每个字段的description标记",{"2":{"54":1}}],["默认字段名作为列名导出",{"2":{"54":1}}],["默认最小长度6",{"2":{"31":2}}],["姓名=item",{"2":{"53":1}}],["姓名=c",{"2":{"26":1}}],["简单的excel导出",{"0":{"53":1},"1":{"54":1}}],["简易日志组件",{"0":{"28":1}}],["全龄段友好的c",{"2":{"88":1}}],["全路径",{"2":{"52":1}}],["全局设置",{"2":{"22":1}}],["层级",{"2":{"52":1}}],["从",{"2":{"77":1}}],["从树形集合中过滤",{"2":{"52":1}}],["从而起到保护文章的作用",{"2":{"30":1}}],["同时支持提前还款时变更贷款方式和缩短年限",{"2":{"75":1}}],["同时多了id和parentid属性",{"2":{"52":1}}],["同时多了name属性",{"2":{"52":1}}],["同步复制大文件",{"2":{"48":1}}],["继承itreechildren",{"2":{"52":1}}],["继承itreeparent和itreechildren",{"2":{"52":1}}],["继续下载",{"2":{"29":1}}],["树形结构实现",{"0":{"52":1}}],["树形实体接口约束",{"2":{"13":1}}],["计算代码如下",{"2":{"75":1}}],["计算多边形面积",{"2":{"51":1}}],["计算两个多边形的相似度",{"2":{"51":1}}],["计算字符串以14号字体大小的微软雅黑字体的渲染宽度像素",{"2":{"49":1}}],["计算字符串以14号字体大小的渲染宽度像素",{"2":{"49":1}}],["应用场景",{"2":{"51":1}}],["雷达图计算引擎",{"0":{"51":1}}],["雷达图类型",{"2":{"13":1}}],["清空配置节",{"2":{"50":1}}],["清空所有配置节",{"2":{"50":1}}],["清理后",{"2":{"16":1}}],["aa",{"2":{"49":1}}],["宽度",{"2":{"49":1}}],["长度",{"2":{"49":1}}],["微软雅黑",{"2":{"49":1}}],["没有计时攻击风险",{"2":{"49":1}}],["延迟执行",{"2":{"49":1}}],["泛型形式",{"2":{"49":1}}],["枚举",{"2":{"49":1}}],["枚举扩展",{"0":{"36":1}}],["基于entityframeworkcore和lucene",{"2":{"81":1,"87":1}}],["基础文件类型",{"2":{"66":1}}],["基础功能包",{"0":{"1":1},"1":{"2":1,"3":1,"4":1,"5":1}}],["基本接口类",{"2":{"52":1}}],["基元类型为",{"2":{"49":1}}],["小数转t基本类型",{"2":{"49":3}}],["小数转int",{"2":{"49":1}}],["重要数据请谨慎使用",{"2":{"48":1}}],["流扩展调用",{"2":{"66":1}}],["流洗码",{"2":{"48":1}}],["流相关",{"0":{"48":1}}],["根据某个时间段查找在某批时间段中的最大并集",{"2":{"47":1}}],["两个时间段是否相交",{"2":{"47":1}}],["结果仅供参考",{"2":{"75":1}}],["结果",{"2":{"47":1}}],["连接两个时间段",{"2":{"47":1}}],["时间段计算工具",{"2":{"47":1}}],["分布式短id",{"2":{"82":1,"88":1}}],["分位数的元素",{"2":{"45":1}}],["分页查询",{"2":{"45":2}}],["求标准差",{"2":{"45":1}}],["当然",{"2":{"82":1,"88":1}}],["当没有提供filename时",{"2":{"80":1}}],["当集合为空的时候不会报错",{"2":{"45":6}}],["当键重复时只添加一个键",{"2":{"45":3}}],["取字符串前10个字符",{"2":{"49":1}}],["取第50",{"2":{"45":1}}],["取最小值",{"2":{"45":3}}],["取最大值",{"2":{"45":3}}],["取消口令",{"2":{"45":1}}],["带parent属性的接口",{"2":{"52":1}}],["带children属性的接口",{"2":{"52":1}}],["带索引编号",{"2":{"45":2}}],["带嵌套层级的",{"2":{"38":1}}],["转换为半角",{"2":{"49":1}}],["转换为全角",{"2":{"49":1}}],["转换成datatable类型",{"2":{"45":1}}],["转换成并发字典类型",{"2":{"45":1}}],["转换成黑白",{"2":{"40":1}}],["转decimal并保留两位小数",{"2":{"49":1}}],["转hashset",{"2":{"45":1}}],["是否是叶子节点",{"2":{"52":1}}],["是否是根节点",{"2":{"52":1}}],["是否有数据行",{"2":{"45":1}}],["是否带校验位",{"2":{"14":1}}],["普通字典转换成并发字典集合",{"2":{"45":1}}],["若有description标记",{"2":{"54":1}}],["若list是一个具体的强类型",{"2":{"54":1}}],["若更新则值为666",{"2":{"45":1}}],["若更新则值为66",{"2":{"45":1}}],["若未调用",{"2":{"10":1}}],["若未配置",{"2":{"10":2}}],["批量添加或更新键值对",{"2":{"45":1}}],["xml",{"2":{"67":1}}],["xlsx",{"2":{"67":1}}],["xls",{"2":{"67":1}}],["xar",{"2":{"67":2}}],["xr",{"2":{"67":1}}],["x",{"2":{"59":1,"68":6}}],["x=>math",{"2":{"59":1}}],["x=>x",{"2":{"45":2,"57":7,"59":1}}],["x3c",{"2":{"15":1,"16":22,"21":2,"22":2,"24":10,"26":1,"27":2,"31":1,"32":1,"33":2,"35":2,"36":1,"37":5,"42":13,"43":3,"45":12,"47":2,"49":5,"52":4,"56":4,"57":2,"68":2,"71":5,"72":3,"73":3,"75":2,"80":4}}],["安全匹配",{"2":{"49":1}}],["安全的转换成字典类型",{"2":{"45":2}}],["安装程序包",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1}}],["后插入",{"2":{"45":1}}],["在任何法律诉讼中败诉的",{"2":{"85":1,"91":1}}],["在你的控制器中",{"2":{"79":1}}],["在asp",{"2":{"76":1}}],["在startup",{"2":{"61":1}}],["在反序列化的时候忽略",{"2":{"61":1}}],["在反序列化的时候生效",{"2":{"61":1}}],["在序列化的时候生效",{"2":{"61":1}}],["在序列化的时候忽略",{"2":{"61":1}}],["在流的末端随即增加几个空字节",{"2":{"48":1}}],["在元素",{"2":{"45":1}}],["在第一个元素之后插入",{"2":{"45":1}}],["在线体验",{"0":{"12":1}}],["敏感信息掩码",{"0":{"44":1}}],["按字段取交集",{"2":{"45":1}}],["按字段取差集",{"2":{"45":1}}],["按id添加或更新文章实体",{"2":{"43":1}}],["按价格权重选出1个元素",{"2":{"42":1}}],["按价格权重选出3个元素",{"2":{"42":1}}],["按权重选出3个元素",{"2":{"42":1}}],["按权重选出2个元素",{"2":{"42":1}}],["按权重选出1个元素",{"2":{"42":2}}],["随机排序",{"2":{"45":1}}],["随机数",{"0":{"41":1}}],["随机字符串等操作",{"2":{"20":1}}],["范围",{"2":{"40":1}}],["图片列支持stream",{"2":{"54":1}}],["图片列",{"2":{"53":1}}],["图片的相似度",{"2":{"40":1}}],["图片2",{"2":{"40":4}}],["图片1",{"2":{"40":4}}],["图像裁剪",{"2":{"82":1,"88":1}}],["图像相似度对比",{"2":{"40":1}}],["图像的简单处理",{"0":{"40":1}}],["给datatable增加一个自增列",{"2":{"45":1}}],["给图片添加水印",{"2":{"40":2}}],["给对象设置值",{"2":{"38":1}}],["边距",{"2":{"40":2}}],["水印图片",{"2":{"40":1}}],["水印位置",{"2":{"40":2}}],["水印文字",{"2":{"40":1}}],["字符数",{"2":{"49":1}}],["字符串扩展方法",{"2":{"82":1,"88":1}}],["字符串simhash相似度算法",{"0":{"65":1}}],["字符串的转换",{"2":{"49":1}}],["字符串",{"0":{"49":1}}],["字符串转datetime",{"2":{"47":1}}],["字节数",{"2":{"49":1}}],["字典的键为图片超链接的完整url",{"2":{"54":1}}],["字典获取或添加元素",{"2":{"45":2}}],["字典根据value条件赋值",{"2":{"45":1}}],["字典根据value条件取值",{"2":{"45":1}}],["字典根据key条件赋值",{"2":{"45":1}}],["字典根据key条件取值",{"2":{"45":1}}],["字典根据条件赋值",{"2":{"45":2}}],["字典根据条件取值",{"2":{"45":2}}],["字体",{"2":{"40":1}}],["字体大小",{"2":{"40":2}}],["字体文件",{"2":{"40":1}}],["字母",{"2":{"31":2}}],["解压gif每帧图片",{"2":{"40":1}}],["解压rar",{"2":{"27":1}}],["浮雕处理",{"2":{"40":1}}],["反对007",{"2":{"91":1}}],["反对996",{"2":{"85":1}}],["反病毒",{"0":{"69":1}}],["反序列化时支持多个别名key进行绑定",{"2":{"62":1}}],["反序列化时忽略这个属性",{"2":{"61":1}}],["反序列化时加载这个属性",{"2":{"61":1}}],["反",{"0":{"60":1},"1":{"61":1,"62":1,"63":1}}],["反色处理",{"2":{"40":1}}],["反射操作",{"0":{"38":1},"2":{"82":1,"88":1}}],["左右镜像",{"2":{"40":1}}],["改变大小",{"2":{"40":1}}],["改良版雪花id",{"2":{"22":2}}],["裁剪并缩放",{"2":{"40":1}}],["裁剪",{"2":{"40":1}}],["异步获取文件的sha1",{"2":{"48":1}}],["异步获取文件的md5",{"2":{"48":1}}],["异步复制大文件",{"2":{"48":1}}],["异步select",{"2":{"45":2}}],["异步for",{"2":{"45":1}}],["异步foreach",{"2":{"45":1}}],["异步发送邮件",{"2":{"39":1}}],["异常消息",{"2":{"28":1}}],["发送成功后的回调",{"2":{"39":1}}],["测试邮件",{"2":{"39":1}}],["收件人",{"2":{"39":1}}],["使用system",{"2":{"44":2}}],["使用ssl",{"2":{"39":1}}],["使用newtonsoft",{"2":{"44":2}}],["使用中值算法计算给定图像的64位哈希",{"2":{"40":2}}],["使用dct算法计算图像的64位哈希",{"2":{"40":2}}],["使用平均值算法计算图像的64位哈希",{"2":{"40":2}}],["使用差分哈希算法计算图像的256位哈希",{"2":{"40":2}}],["使攻击者无法直接识别文本内容",{"2":{"30":1}}],["邮件内容",{"2":{"39":1}}],["邮件标题",{"2":{"39":1}}],["邮件发送",{"0":{"39":1}}],["邮箱密码",{"2":{"39":1}}],["邮箱用户名",{"2":{"39":1}}],["邮箱校验需要用到的黑名单域名",{"2":{"10":1}}],["邮箱校验需要用到的白名单域名",{"2":{"10":1}}],["声明一个容量为32个元素的线程安全的定长队列",{"2":{"37":1}}],["声明一个容量为32个元素的定长队列",{"2":{"37":1}}],["推荐项目",{"0":{"81":1,"87":1}}],["推荐使用依赖注入",{"2":{"79":1}}],["推荐使用框架自带的channel实现该功能",{"2":{"37":1}}],["推荐当数据流大于2gb时使用",{"2":{"13":1,"48":1}}],["这个库包含一些常用的操作类",{"2":{"88":1}}],["这个函数建议使用在按位定值的枚举",{"2":{"36":1}}],["这是",{"2":{"5":1}}],["得到枚举数组",{"2":{"36":1}}],["拆分枚举值",{"2":{"36":1}}],["写值",{"2":{"50":1}}],["写",{"2":{"36":2}}],["多线程下载",{"2":{"88":1}}],["多线程下载和ftp客户端",{"2":{"82":1}}],["多线程后台下载",{"0":{"29":1}}],["多种方式",{"2":{"66":1}}],["多个集合取交集",{"2":{"45":1}}],["多语言枚举描述",{"2":{"36":1}}],["读未提交级别的事务",{"2":{"57":1}}],["读值",{"2":{"50":1}}],["读取操作",{"2":{"36":1}}],["读",{"2":{"36":3}}],["元素去重",{"0":{"35":1}}],["元旦节",{"2":{"23":1}}],["合并后对象",{"2":{"34":1}}],["对象转换成动态可扩展类型",{"2":{"38":1}}],["对象转字典",{"2":{"38":1}}],["对象深拷贝",{"2":{"38":1}}],["对象属性值合并",{"0":{"34":1}}],["对时间回拨不敏感",{"2":{"22":2}}],["判断字符串不为空",{"2":{"49":1}}],["判断字符串是否为空",{"2":{"49":1}}],["判断类型是否是常见类型的",{"2":{"49":2}}],["判断类型是否是常见的简单类型",{"2":{"49":1}}],["判断类型是否是值类型",{"2":{"49":1}}],["判断是否包含某个时间段",{"2":{"47":1}}],["判断是否在某个时间段内",{"2":{"47":1}}],["判断是否是外网的url",{"2":{"33":1}}],["判断是否是私有地址",{"2":{"33":1}}],["判断序列相等",{"2":{"45":1}}],["判断ip地址是否在这个地址段里",{"2":{"33":1}}],["去除html标签",{"2":{"32":1}}],["检查datatable",{"2":{"45":1}}],["检测字符串中是否以列表中的任意关键词开头",{"2":{"49":1}}],["检测字符串中是否以列表中的任意关键词结尾",{"2":{"49":1}}],["检测字符串中是否包含列表中的关键词",{"2":{"49":2}}],["检测集合元素最少1个",{"2":{"31":1}}],["检测是否是有效枚举值",{"2":{"31":1}}],["检验字符串是否是email",{"0":{"14":1}}],["配置使用fallbackjsonpropertyresolver解释器",{"2":{"62":1}}],["配置使用deserializeonlycontractresolver解释器",{"2":{"61":1}}],["配置最小长度4",{"2":{"31":1}}],["配合随机数生成随机字符串",{"2":{"20":1}}],["最大可支持1tb内存数据",{"2":{"48":1}}],["最大可支持1tb数据",{"2":{"13":1}}],["最大长度12",{"2":{"31":1}}],["最大长度30",{"2":{"31":2}}],["密码复杂度校验",{"2":{"31":3}}],["年龄=item",{"2":{"53":1}}],["年龄=c",{"2":{"26":1}}],["年龄最大100岁",{"2":{"31":1}}],["年龄最小为0岁",{"2":{"31":1}}],["类型的直接调用",{"2":{"54":1}}],["类型",{"2":{"49":2,"54":1}}],["类型操作",{"0":{"49":1}}],["类调用",{"2":{"30":3,"66":2}}],["类似于各大系统优化软件的加速球功能",{"2":{"17":1}}],["将来有竞争力",{"2":{"85":1,"91":1}}],["将数据平铺开",{"2":{"52":1}}],["将小数截断为8位",{"2":{"49":1}}],["将内存流转储成文件",{"2":{"48":1}}],["将id为123的元素的索引位置变为第2个",{"2":{"45":1}}],["将元素item的索引位置变为第3个",{"2":{"45":1}}],["将字符串集合连接成逗号分隔的单字符串",{"2":{"45":1}}],["将字符串编码成零宽字符串",{"2":{"30":2}}],["将集合中长度小于1的元素移除",{"2":{"45":1}}],["将被添加元素中不包含的元素添加到list",{"2":{"45":1}}],["将被添加元素中的长度大于1的元素添加到list",{"2":{"45":1}}],["将base64编码转换成图片",{"2":{"40":1}}],["将包含零宽字符串的密文解密出隐藏字符串",{"2":{"30":2}}],["将",{"2":{"30":2}}],["将自动填充列姓名和年龄",{"2":{"26":1}}],["扩展名",{"2":{"67":1}}],["扩展调用",{"2":{"66":3}}],["扩展函数调用",{"2":{"30":3}}],["扩展方法形式调用",{"2":{"20":1}}],["以下需要配置baiduak",{"2":{"33":1}}],["以零宽字符串的方式隐藏在",{"2":{"30":2}}],["以一种看不见的字符插入到文本中",{"2":{"30":1}}],["以享受完整的功能体验",{"2":{"5":1}}],["通常用于树形表",{"0":{"58":1}}],["通常用作文章暗水印",{"2":{"30":1}}],["通用项目推荐首选包",{"2":{"3":1}}],["零宽字符串",{"2":{"30":1}}],["私钥解密",{"2":{"30":1}}],["生成6位长度的验证码",{"2":{"70":1}}],["生成验证码图片流",{"2":{"70":1}}],["生成验证码",{"0":{"70":1}}],["生成随机字符串",{"2":{"41":1}}],["生成缩略图",{"2":{"40":1}}],["生成sha256摘要",{"2":{"30":1}}],["生成crc64摘要",{"2":{"30":1}}],["生成crc32摘要",{"2":{"30":1}}],["生成rsa密钥对",{"2":{"30":1}}],["生肖",{"2":{"23":1}}],["加密解密",{"0":{"30":1},"2":{"82":1,"88":1}}],["暂停下载",{"2":{"29":1}}],["下载完成",{"2":{"29":1}}],["下载速度",{"2":{"29":1}}],["下载进度",{"2":{"29":1}}],["key=>key",{"2":{"45":2}}],["key",{"2":{"45":4,"50":2,"71":5,"72":3}}],["keyshot",{"2":{"29":2}}],["key可为null的字典类型",{"2":{"13":1}}],["记录一次消息",{"2":{"28":1}}],["注册一些事件操作",{"2":{"28":1}}],["又不是不能用",{"0":{"28":1}}],["自动扫描注册服务",{"2":{"74":1}}],["自动include",{"2":{"58":1}}],["自动递归式include扩展",{"0":{"58":1}}],["自动识别解压压缩包",{"2":{"27":1}}],["自定义列名导出",{"2":{"53":1}}],["自定义节假日",{"2":{"23":1}}],["自定义字符可支持任意进制",{"2":{"20":1}}],["自定义进制字符",{"2":{"20":1}}],["自定义清理",{"2":{"16":1}}],["压缩成zip",{"2":{"27":1}}],["压缩成内存流",{"2":{"27":1}}],["java",{"2":{"67":1}}],["jp2",{"2":{"67":1}}],["jpeg",{"2":{"46":5,"67":3}}],["jpg",{"0":{"28":1},"2":{"27":2,"40":2,"46":3,"67":1}}],["joint",{"2":{"67":1}}],["join",{"2":{"45":1}}],["jsonserializeroptions",{"2":{"61":1}}],["jsonserializer",{"2":{"61":1}}],["jsonserializersettings",{"2":{"61":1,"62":1}}],["jsonconvert",{"2":{"61":1,"62":1}}],["jsonconverter",{"2":{"44":2}}],["json的只允许字段",{"0":{"60":1},"1":{"61":1,"62":1,"63":1}}],["json和system",{"0":{"60":1},"1":{"61":1,"62":1,"63":1}}],["json命名空间",{"2":{"44":2}}],["json请导入masuit",{"2":{"44":4}}],["json",{"2":{"10":1,"61":2}}],["json中添加emaildomainwhitelist配置邮箱域名白名单",{"2":{"31":1}}],["json中添加emaildomainwhitelist和emaildomainblocklist配置邮箱域名黑白名单",{"2":{"14":1}}],["json中",{"2":{"10":1}}],["zero",{"2":{"80":1}}],["zerowidthcodec",{"2":{"30":3}}],["z",{"2":{"67":2,"68":4}}],["zh",{"2":{"36":1}}],["zip",{"2":{"27":2,"67":4}}],["zipstream",{"2":{"27":1}}],["zl字样的前缀",{"2":{"14":1}}],["王五",{"2":{"26":1}}],["李四",{"2":{"26":1}}],["张三",{"2":{"26":1}}],["未被使用",{"2":{"25":1}}],["你可以像在",{"2":{"79":1,"80":1}}],["你好啊",{"2":{"39":1}}],["你好",{"2":{"25":2}}],["你传1w个字符进去那就支持一万进制",{"2":{"20":1}}],["满足条件再执行where",{"2":{"24":1}}],["满足条件再执行or",{"2":{"24":1}}],["满足条件再执行and",{"2":{"24":1}}],["戊戌年甲子月丁酉日",{"2":{"23":1}}],["干支",{"2":{"23":1}}],["狗",{"2":{"23":1}}],["二零一八年十一月廿五",{"2":{"23":1}}],["农历转换",{"0":{"23":1}}],["产生正态高斯分布的随机数",{"2":{"41":1}}],["产生真随机数",{"2":{"41":1}}],["产生100w个id耗时",{"2":{"22":1}}],["产生分布式唯一有序短id",{"0":{"22":1}}],["设置值",{"2":{"71":1,"73":2}}],["设置数制格式化器",{"2":{"22":2}}],["设置起始偏移量",{"2":{"22":2}}],["设置机器id",{"2":{"22":2}}],["8及以上版本",{"2":{"92":1}}],["8小时工作制才可以让你有时间自我提升",{"2":{"85":1,"91":1}}],["817421",{"2":{"75":1}}],["84元",{"2":{"75":1}}],["84",{"2":{"75":1}}],["87元",{"2":{"75":1}}],["87c01ec7gy1fsq6rywto2j20je0d3td0",{"2":{"27":2}}],["85",{"2":{"75":2}}],["80",{"2":{"40":1}}],["8",{"0":{"23":1},"2":{"22":1,"29":1,"47":18,"75":1}}],["静态调用",{"2":{"22":1}}],["实际还款总额actualpayment",{"2":{"75":1}}],["实际支付利息actualinterest",{"2":{"75":1}}],["实际目前银行政策不允许",{"2":{"75":2}}],["实体信息",{"2":{"56":1}}],["实体校验",{"0":{"31":1}}],["实例调用",{"2":{"22":1}}],["实现该接口可让类型实现一些树形操作",{"2":{"13":1}}],["雪花id",{"0":{"22":1}}],["纳秒级性能计时器",{"0":{"21":1}}],["😄🌫😶😋😋",{"2":{"20":1}}],["😀😁😂🤣😃😄😅😆😉😊😋😎😍😘🥰😗😙🥲😚🙂🤗🤩🤔🤨😑😶😶‍🌫🙄😏😣😥😮",{"2":{"20":1}}],["性能比numberformater差了许多",{"2":{"20":1}}],["性能比memorystream好",{"2":{"13":1}}],["十进制",{"2":{"20":1}}],["大文件拷贝",{"2":{"82":1,"88":1}}],["大都是静态类",{"2":{"82":1,"88":1}}],["大型内存流",{"2":{"48":1}}],["大数字16进制转10进制",{"2":{"20":1}}],["大写数字",{"0":{"19":1}}],["+index",{"2":{"45":1}}],["+downloader",{"2":{"29":2}}],["+time+",{"2":{"21":1}}],["+timer",{"2":{"21":1}}],["+",{"2":{"20":2,"22":2,"49":4,"68":1}}],["手动配置必须包含数字",{"2":{"31":1}}],["手动狗头",{"2":{"20":1}}],["手机号",{"0":{"14":1}}],["内置2",{"2":{"20":1}}],["纯数学运算",{"2":{"20":1}}],["短hash",{"2":{"20":1}}],["进制转换",{"0":{"20":1}}],["一经发现",{"2":{"85":1,"91":1}}],["一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法",{"2":{"85":1,"91":1}}],["一些约定规则",{"0":{"54":1}}],["一些创意类型",{"0":{"13":1}}],["一般的集合转换成树形结构",{"2":{"52":1}}],["一百二十三点四五",{"2":{"19":1}}],["壹佰贰拾叁元肆角伍分",{"2":{"19":1}}],["中国农历",{"2":{"82":1,"88":1}}],["中国农历类型",{"2":{"13":1}}],["中",{"2":{"30":2}}],["中文数字",{"0":{"18":1},"1":{"19":1,"20":1}}],["整理windows系统的内存",{"0":{"17":1}}],["ustar",{"2":{"67":1}}],["usebodyordefaultmodelbinder",{"2":{"64":1}}],["usenpgsql",{"2":{"57":1}}],["usesqlserver",{"2":{"57":1}}],["username",{"2":{"39":1}}],["users",{"2":{"16":2,"57":9}}],["user",{"2":{"16":1}}],["using",{"2":{"40":1,"48":2,"79":1}}],["us",{"2":{"36":1}}],["uintptr",{"2":{"49":1}}],["uint64",{"2":{"49":1}}],["uint32",{"2":{"49":1}}],["uint16",{"2":{"49":1}}],["uint",{"2":{"33":2}}],["unmodified",{"2":{"76":1}}],["union",{"2":{"47":1}}],["unicodeformater",{"2":{"20":1}}],["unicodeformater的功能包含numberformater的功能",{"2":{"20":1}}],["unrar",{"2":{"27":1}}],["url",{"0":{"14":1}}],["77",{"2":{"45":1}}],["7z",{"2":{"27":1,"29":2,"67":1}}],["7进制",{"2":{"20":1}}],["7clzi",{"2":{"20":4}}],["7",{"0":{"22":1},"2":{"16":1,"20":1,"29":2,"45":2,"49":1,"67":1}}],[">退出",{"2":{"16":2}}],[">",{"2":{"16":10,"24":2,"45":1,"75":1,"80":1}}],["false",{"2":{"75":2}}],["fallbackjsonproperty",{"2":{"62":1}}],["fallbackjsonpropertyresolver",{"0":{"62":1},"2":{"62":1}}],["flv",{"2":{"67":1}}],["flash",{"2":{"67":2}}],["flac",{"2":{"67":1}}],["flatten",{"2":{"52":1}}],["flags",{"2":{"36":1}}],["fs",{"2":{"48":5}}],["filter",{"2":{"52":1}}],["fileput",{"2":{"80":1}}],["filepath",{"2":{"66":5}}],["filehead",{"2":{"80":1}}],["fileinlinename",{"2":{"80":4}}],["fileinfo",{"2":{"66":2}}],["filecontent",{"2":{"80":2}}],["fileresult一样的方式使用它",{"2":{"79":1,"80":1}}],["file",{"2":{"67":4,"80":6}}],["filename",{"2":{"48":1,"50":1,"80":20}}],["fileaccess",{"2":{"48":1}}],["filemode",{"2":{"48":1}}],["filemergedcomplete+=",{"2":{"29":1}}],["filemergeprogresschanged+=",{"2":{"29":1}}],["filestream",{"2":{"48":2,"53":1,"80":4}}],["firstordefaultwithnolockasync",{"2":{"57":1}}],["firstordefault",{"2":{"46":1}}],["func3",{"2":{"59":1}}],["func2",{"2":{"59":1}}],["func1",{"2":{"59":1}}],["func",{"2":{"24":8,"52":1}}],["follow素质三连关♂注一下吧⭐⭐⭐",{"2":{"82":1,"88":1}}],["fork",{"2":{"82":1,"88":1}}],["forasync",{"2":{"45":1}}],["foreachasync",{"2":{"45":1}}],["for",{"2":{"21":2,"22":1,"67":1}}],["formula",{"2":{"67":1}}],["format",{"2":{"67":4}}],["formatcategories",{"2":{"66":1}}],["formater",{"2":{"20":3}}],["form>",{"2":{"16":1}}],["form",{"2":{"16":1}}],["font",{"2":{"16":2}}],["frames",{"2":{"40":1}}],["framework版本",{"2":{"27":1}}],["framework项目配置在web",{"2":{"10":1}}],["framework",{"0":{"2":1,"5":1,"79":1},"2":{"5":1,"27":1}}],["frombodyordefault",{"2":{"64":4}}],["frombasebig",{"2":{"20":1}}],["frombase",{"2":{"20":1}}],["fromstream",{"2":{"53":1}}],["fromstring",{"2":{"20":2}}],["freephysicalmemory",{"2":{"15":1}}],["bunzip2",{"2":{"67":1}}],["builder",{"2":{"57":4}}],["bz2",{"2":{"67":1}}],["bmp",{"2":{"67":1}}],["bplist",{"2":{"67":1}}],["bytes",{"2":{"69":1}}],["bytescount",{"2":{"49":2}}],["bytecode",{"2":{"67":1}}],["byte",{"2":{"49":1}}],["b=s",{"2":{"49":2}}],["b=1",{"2":{"49":1}}],["b=func",{"2":{"24":2}}],["bb",{"2":{"45":2,"49":4}}],["bwpic",{"2":{"40":1}}],["boot",{"2":{"48":1}}],["boolean",{"2":{"49":1}}],["bool>",{"2":{"24":2}}],["bool>>",{"2":{"24":4}}],["bool",{"2":{"14":6,"24":2,"33":2,"34":1,"49":8,"80":12}}],["boxpad",{"2":{"40":1}}],["body",{"2":{"39":1}}],["b",{"2":{"34":5,"42":2,"62":1}}],["bak",{"2":{"48":2}}],["based",{"2":{"67":1}}],["basedirectory+",{"2":{"28":1}}],["base64",{"2":{"40":1}}],["baidu",{"2":{"29":1,"33":1}}],["binary",{"2":{"67":2}}],["bin=12345678",{"2":{"20":1}}],["bitmap",{"2":{"54":3,"67":1}}],["biosinfo",{"2":{"15":2}}],["快速匹配",{"2":{"49":1}}],["快速获取主板的信息",{"2":{"15":1}}],["快速获取硬盘的信息",{"2":{"15":1}}],["快速获取内存的信息",{"2":{"15":1}}],["快速获取cpu的信息",{"2":{"15":1}}],["快速方法",{"2":{"15":1}}],["硬件信息",{"2":{"82":1,"88":1}}],["硬件监测",{"0":{"15":1},"2":{"5":1}}],["硬盘序列号",{"2":{"15":1}}],["获取对象",{"2":{"72":3}}],["获取或添加值",{"2":{"71":2}}],["获取值",{"2":{"71":1,"73":2}}],["获取流的编码",{"2":{"66":1}}],["获取文件编码",{"2":{"66":2}}],["获取增删改的实体字段信息",{"2":{"56":2}}],["获取被移除的实体字段信息",{"2":{"56":2}}],["获取添加的实体字段信息",{"2":{"56":2}}],["获取变更字段信息",{"2":{"56":2}}],["获取指定实体的变更",{"2":{"56":1}}],["获取所有的父级",{"2":{"52":1}}],["获取所有的子级",{"2":{"52":1}}],["获取两个多边形的相交区域",{"2":{"51":1}}],["获取字符串的字节数",{"2":{"49":1}}],["获取字符串的字符数",{"2":{"49":1}}],["获取字符串表示值对应的枚举值",{"2":{"36":1}}],["获取字符串表示和枚举值的字典映射",{"2":{"36":1}}],["获取一批时间段内存在相互重叠的最大时间段",{"2":{"47":1}}],["获取分钟级时间戳",{"2":{"47":1}}],["获取秒级时间戳",{"2":{"47":1}}],["获取纳秒级时间戳",{"2":{"47":1}}],["获取微秒级时间戳",{"2":{"47":1}}],["获取毫秒级时间戳",{"2":{"47":1}}],["获取图片的真实格式",{"2":{"40":1}}],["获取属性列表",{"2":{"38":1}}],["获取枚举值对应的字符串表示",{"2":{"36":1}}],["获取枚举值和字符串表示的字典映射",{"2":{"36":1}}],["获取display标签的name属性",{"2":{"36":1}}],["获取description标签",{"2":{"36":1}}],["获取详细地理信息集合",{"2":{"33":1}}],["获取详细地理信息对象",{"2":{"33":1}}],["获取isp运营商信息",{"2":{"33":1}}],["获取html字符串里的所有的img标签",{"2":{"32":1}}],["获取html字符串里所有的img标签的src属性",{"2":{"32":1}}],["获取按公历计算的节假日",{"2":{"23":1}}],["获取内存信息",{"2":{"15":1}}],["获取操作系统版本",{"2":{"15":1}}],["获取本机所有网卡mac地址",{"2":{"15":1}}],["获取本机所有ip地址",{"2":{"15":1}}],["获取本机当前正在使用的ip地址",{"2":{"15":1}}],["获取cpu核心数",{"2":{"15":1}}],["获取cpu温度",{"2":{"15":1}}],["获取cpu占用率",{"2":{"15":1}}],["获取可用物理内存",{"2":{"15":1}}],["获取物理内存可用率",{"2":{"15":1}}],["获取物理内存总数",{"2":{"15":1}}],["部分函数仅支持物理机模式",{"0":{"15":1}}],["仅支持windows",{"0":{"15":1,"50":1,"69":1}}],["待校验的号码前不要带cn",{"2":{"14":1}}],["都可以校验",{"2":{"14":1}}],["校验位前是否带",{"2":{"14":1}}],["校验中国专利申请号或专利号",{"2":{"14":1}}],["校验中国大陆身份证号",{"2":{"14":1}}],["996那叫用人",{"2":{"85":1}}],["996公司需要使用本类库",{"2":{"85":1}}],["92",{"2":{"75":4}}],["9660",{"2":{"67":1}}],["97",{"2":{"67":3}}],["90",{"2":{"40":2}}],["900",{"2":{"40":2}}],["91",{"2":{"20":1,"75":2}}],["95进制的转换",{"2":{"20":1}}],["9",{"0":{"24":1},"2":{"14":1,"75":2}}],["3gpp",{"2":{"67":2}}],["3gp",{"2":{"67":1}}],["39",{"0":{"55":1},"1":{"56":1,"57":1,"58":1}}],["35",{"0":{"50":1}}],["38",{"0":{"53":1},"1":{"54":1},"2":{"49":1}}],["34",{"0":{"49":1}}],["33",{"0":{"48":1}}],["337845818",{"2":{"14":1}}],["3~2020",{"2":{"47":2}}],["30",{"0":{"45":1}}],["305849028665645097422198928560410015421",{"2":{"20":1}}],["32",{"0":{"47":1},"2":{"37":2}}],["37",{"0":{"52":1},"2":{"29":2}}],["31",{"0":{"46":1},"2":{"23":2}}],["312000199502230660",{"2":{"14":1}}],["3c665pqupl3whzflvpopqz",{"2":{"20":1}}],["360",{"2":{"75":1}}],["36位长度",{"2":{"20":1}}],["36进制",{"2":{"20":1}}],["36进制转10进制",{"2":{"20":1}}],["36进制的7clzi是",{"2":{"20":1}}],["36",{"0":{"51":1},"2":{"20":4}}],["3",{"0":{"16":1},"2":{"25":2,"29":2,"33":1,"34":2,"42":4,"45":8,"47":4,"68":2,"75":1}}],["匹配字符串是否包含emoji",{"2":{"49":1}}],["匹配座机号",{"2":{"14":1}}],["匹配手机号",{"2":{"14":1}}],["匹配url",{"2":{"14":1}}],["匹配ip地址",{"2":{"14":1}}],["hostingenvironment",{"2":{"80":11}}],["hwpml",{"2":{"67":1}}],["hwp",{"2":{"67":3}}],["hd",{"2":{"67":1}}],["hdp",{"2":{"67":1}}],["hammingdistance",{"2":{"65":2}}],["hasrows",{"2":{"45":1}}],["hash2",{"2":{"40":5}}],["hash1",{"2":{"40":5}}],["hasher",{"2":{"40":9}}],["hash",{"0":{"30":1}}],["hashset",{"2":{"22":1}}],["hasvalue",{"2":{"24":1}}],["height",{"2":{"40":1}}],["hello",{"2":{"30":3}}],["headers",{"2":{"29":1}}],["hidden",{"2":{"30":3}}],["hidden=",{"2":{"30":1}}],["hiperftimer",{"2":{"21":2,"22":1}}],["history",{"2":{"14":1}}],["href=",{"2":{"16":4}}],["httpput",{"2":{"80":1}}],["httppost",{"2":{"64":2}}],["httphead",{"2":{"80":1}}],["httpget",{"2":{"64":2,"80":8}}],["http",{"2":{"14":1,"27":2,"33":1}}],["https",{"2":{"12":1,"29":3,"75":1}}],["html操作",{"0":{"32":1}}],["htmlsanitizercustom",{"2":{"16":1}}],["htmlsanitizerstandard",{"2":{"16":1}}],["html的防xss处理",{"0":{"16":1}}],["html",{"2":{"5":1,"16":3,"32":3}}],["obj",{"2":{"68":23}}],["object",{"2":{"61":1}}],["odt",{"2":{"67":1}}],["ods",{"2":{"67":1}}],["odp",{"2":{"67":1}}],["odg",{"2":{"67":1}}],["odf",{"2":{"67":1}}],["ogg",{"2":{"67":2}}],["only",{"2":{"67":3}}],["one",{"2":{"25":2}}],["office",{"2":{"67":7}}],["ok",{"2":{"64":2}}],["out",{"2":{"49":1}}],["outlook",{"2":{"10":1,"14":1}}],["octet",{"2":{"46":1}}],["override",{"2":{"43":1}}],["opendocument",{"2":{"67":5}}],["openxml",{"2":{"67":4}}],["openread",{"2":{"66":1,"80":2}}],["openorcreate",{"2":{"48":1}}],["options",{"2":{"61":2}}],["opt",{"2":{"57":4}}],["op=myenum",{"2":{"36":1}}],["opzebda2aytceeudequuesbk",{"2":{"20":1}}],["orderbyrandom",{"2":{"45":1}}],["origin",{"2":{"29":1}}],["orif",{"2":{"24":1}}],["or和orif可供选择",{"2":{"24":1}}],["or",{"2":{"24":1,"67":2}}],["org",{"2":{"14":1,"75":1}}],["osversion",{"2":{"15":1}}],["如何使用",{"0":{"78":1},"1":{"79":1,"80":1,"81":1}}],["如有利率调整或提前还款计划",{"2":{"75":1}}],["如果你觉得不好意思接受免费的指导",{"2":{"82":1,"88":1}}],["如果你有任何不懂的地方或使用过程中遇到任何问题",{"2":{"82":1,"88":1}}],["如果你现在正在写类似这样的代码",{"2":{"58":1}}],["如果你的项目版本高于4",{"2":{"5":1}}],["如果在上下文开启了重试机制",{"2":{"57":1}}],["如果为空则返回aa",{"2":{"49":2}}],["如果是idictionary类型的图片列",{"2":{"54":1}}],["如果是添加",{"2":{"45":2}}],["如果是",{"2":{"37":1}}],["如",{"2":{"14":1}}],["逗号分隔",{"2":{"14":1,"31":1}}],["=555",{"2":{"45":1}}],["=2",{"2":{"45":4}}],["=image",{"2":{"40":3}}],["==",{"2":{"22":1,"45":1}}],["=>77",{"2":{"45":1}}],["=>key",{"2":{"45":2}}],["=>",{"2":{"21":1,"22":1,"24":5,"26":1,"28":1,"29":4,"35":1,"39":1,"43":1,"45":13,"49":1,"52":4,"57":4,"58":1,"61":1}}],["=",{"2":{"14":7,"15":15,"16":3,"20":9,"21":4,"22":10,"23":1,"24":6,"25":6,"26":8,"27":2,"29":3,"30":20,"31":2,"32":2,"33":6,"34":10,"35":5,"36":8,"37":3,"38":2,"39":8,"40":17,"41":4,"42":3,"45":11,"46":3,"47":7,"48":3,"49":1,"61":5,"62":1,"68":18,"69":3,"75":8,"79":1,"80":37}}],["身份证号等",{"0":{"14":1}}],["具体用法",{"2":{"13":1}}],["比system",{"2":{"13":1}}],["版本号类型",{"2":{"13":1}}],["v17",{"2":{"92":1}}],["v16",{"2":{"86":1}}],["void",{"2":{"80":1}}],["virtualfile",{"2":{"80":2}}],["virtual",{"2":{"80":2}}],["viewdata扩展",{"0":{"72":1}}],["visualstudio2022",{"2":{"92":1}}],["visualstudio2019",{"2":{"86":1}}],["visual",{"2":{"67":1}}],["video",{"2":{"67":7}}],["vmdk",{"2":{"48":1}}],["vmbq8q3s3zul",{"2":{"22":1}}],["v",{"2":{"45":4}}],["validatecode",{"2":{"70":1}}],["valuefactory",{"2":{"71":2}}],["value",{"2":{"36":1,"45":2,"50":1,"71":3,"73":2}}],["value=>value>0",{"2":{"45":2}}],["value=",{"2":{"16":1}}],["var",{"2":{"15":7,"19":1,"20":6,"22":2,"26":1,"29":1,"30":11,"32":2,"34":4,"36":3,"40":22,"41":1,"42":4,"45":28,"46":5,"47":3,"48":2,"49":8,"52":3,"53":1,"56":6,"61":1,"65":1,"66":5,"68":2,"69":3,"70":1,"71":2,"72":2,"73":2,"79":1,"80":6}}],["version功能更多一点",{"2":{"13":1}}],["versionnumber",{"2":{"13":1}}],["v=1",{"2":{"12":1}}],["相关扩展方法",{"2":{"52":1}}],["相交相切相离的判断",{"2":{"13":1}}],["相比4",{"2":{"5":1}}],["球体类型",{"2":{"13":1}}],["圆形类型",{"2":{"13":1}}],["rich",{"2":{"67":1}}],["rtf",{"2":{"67":1}}],["rpm",{"2":{"67":1}}],["rnd",{"2":{"41":3}}],["rsadecrypt",{"2":{"30":1}}],["rsaencrypt",{"2":{"30":1}}],["rsacrypt",{"2":{"30":1}}],["rsakey",{"2":{"30":4}}],["rcofqodori0w",{"2":{"22":2}}],["role=",{"2":{"16":1}}],["redhat",{"2":{"67":1}}],["registry",{"2":{"67":1}}],["reg",{"2":{"67":1}}],["removed=dbcontext",{"2":{"56":2}}],["removewhere",{"2":{"45":1}}],["removehtmltag",{"2":{"32":1}}],["return",{"2":{"43":1,"45":2,"64":2,"79":3,"80":10}}],["relief",{"2":{"40":1}}],["rel=",{"2":{"16":2}}],["repic",{"2":{"40":1}}],["replit",{"2":{"12":1}}],["revpicud",{"2":{"40":1}}],["revpiclr",{"2":{"40":1}}],["rectangle",{"2":{"40":2}}],["resolver",{"2":{"61":3}}],["resizeimage",{"2":{"40":1}}],["resizemode",{"2":{"40":1}}],["result",{"2":{"33":2,"48":1,"49":1,"69":3,"80":26}}],["resumevirtualfileresult",{"2":{"80":4}}],["resumephysicalfileresult",{"2":{"80":2}}],["resumephysicalfile",{"2":{"79":2,"80":1}}],["resumefilestreamresult",{"2":{"80":2}}],["resumefilecontentresult",{"2":{"80":2}}],["resumefile",{"2":{"79":2,"80":5}}],["resumefileresults",{"2":{"80":2}}],["resumefileresult",{"2":{"79":3}}],["resume",{"2":{"29":1}}],["readallbytes",{"2":{"80":2}}],["readwrite",{"2":{"48":1}}],["read|myenum",{"2":{"36":1}}],["read=1",{"2":{"36":1}}],["read",{"2":{"36":5}}],["readonly",{"2":{"27":1,"79":1,"80":2}}],["referer",{"2":{"29":1}}],["request",{"2":{"79":1}}],["req",{"2":{"29":3}}],["render",{"2":{"25":3}}],["rateadjustments",{"2":{"75":1}}],["range2",{"2":{"47":1}}],["range",{"2":{"45":7,"47":7,"76":1}}],["random",{"2":{"20":1,"41":2}}],["rar",{"2":{"27":1,"67":1}}],["raminfo",{"2":{"15":4}}],["radarchart",{"2":{"13":1}}],["粘土动态类型",{"2":{"13":1}}],["dump",{"2":{"67":1}}],["duration+",{"2":{"21":1}}],["dmp",{"2":{"67":1}}],["dmg",{"2":{"67":1}}],["dmed4dkd5bhcg4qdktklun0zh",{"2":{"20":1}}],["dynamic",{"2":{"67":1}}],["dynamicfactory",{"2":{"13":1,"68":2}}],["dll文件存在",{"2":{"69":1}}],["dll",{"2":{"67":1}}],["db",{"2":{"67":3}}],["dbcontext",{"2":{"57":8,"58":2}}],["dds",{"2":{"67":1}}],["dd",{"2":{"45":2}}],["database",{"2":{"67":3}}],["datatable",{"2":{"54":2}}],["datatable转list",{"2":{"45":1}}],["datacontext",{"2":{"43":1}}],["data=new",{"2":{"42":1}}],["dateholiday",{"2":{"23":1}}],["datetimeoffset",{"2":{"80":2}}],["datetimerange>",{"2":{"47":2}}],["datetimerange",{"2":{"47":1}}],["datetime",{"2":{"23":2,"47":18,"75":11}}],["dcthash",{"2":{"40":2}}],["detector",{"2":{"66":4}}],["detector=filesignaturedetector",{"2":{"66":1}}],["detector=file",{"2":{"66":1}}],["detector=new",{"2":{"66":1}}],["detectfiletype",{"2":{"66":3}}],["defaultvaluefactory",{"2":{"72":1}}],["defaultvalue",{"2":{"72":1}}],["default",{"2":{"45":2}}],["delay",{"2":{"45":4}}],["delete",{"2":{"36":1}}],["delete=4",{"2":{"36":1}}],["deepclone",{"2":{"38":1}}],["decimal",{"2":{"75":1}}],["decrypt",{"2":{"30":1}}],["decodezerowidthstring",{"2":{"30":1}}],["decompress",{"2":{"27":2}}],["dec",{"2":{"30":2}}],["deserializeignore",{"2":{"61":1}}],["deserializeignoreattribute标记的",{"2":{"61":1}}],["deserializeonlyjsonproperty",{"2":{"61":1}}],["deserializeonlycontractresolver",{"0":{"61":1},"2":{"61":2}}],["desencrypt",{"2":{"30":2}}],["desc",{"2":{"36":1}}],["description",{"2":{"36":2}}],["des密钥解密为明文",{"2":{"30":1}}],["des密钥加密为密文",{"2":{"30":1}}],["des解密为明文",{"2":{"30":1}}],["desdecrypt",{"2":{"30":2}}],["des加密为密文",{"2":{"30":1}}],["docx",{"2":{"67":1}}],["document",{"2":{"67":12}}],["doc",{"2":{"67":1}}],["downloader",{"2":{"29":1}}],["downloads",{"2":{"29":1}}],["download",{"2":{"27":6}}],["double",{"2":{"15":2,"22":1,"41":1,"47":5,"49":1}}],["d",{"2":{"27":8,"40":4,"42":2,"48":3,"79":2}}],["directdraw",{"2":{"67":1}}],["dib",{"2":{"67":1}}],["digits8",{"2":{"49":1}}],["differencehash256",{"2":{"40":2}}],["dictionary",{"2":{"45":1,"54":1,"75":1}}],["dic",{"2":{"45":18}}],["dic2",{"2":{"36":1}}],["dic1",{"2":{"36":1}}],["div>",{"2":{"16":3}}],["div",{"2":{"16":1}}],["distributedcache扩展",{"0":{"71":1}}],["distinctby",{"2":{"35":1}}],["disc",{"2":{"67":1}}],["disk",{"2":{"67":1}}],["diskinfo",{"2":{"15":1}}],["diskinfos",{"2":{"15":1}}],["dis=new",{"2":{"65":1}}],["dis=",{"2":{"65":1}}],["disposition",{"2":{"77":1,"80":2}}],["disposabledictionary",{"2":{"13":1}}],["display",{"2":{"36":3}}],["drivesn=systeminfo",{"2":{"15":1}}],["gz",{"2":{"67":2}}],["group",{"2":{"67":1}}],["graphics",{"2":{"67":3}}],["greet",{"2":{"25":2}}],["gauss",{"2":{"41":1}}],["ganzhidatestring",{"2":{"23":1}}],["gif",{"2":{"40":3,"67":1}}],["gender",{"2":{"53":1,"68":3}}],["generatersakeys",{"2":{"30":1}}],["getallchanges",{"2":{"56":2}}],["getadded",{"2":{"56":2}}],["getremoved",{"2":{"56":2}}],["getraminfo",{"2":{"15":1}}],["getchanges",{"2":{"56":2}}],["getcpuinfo",{"2":{"15":1}}],["getcpucount",{"2":{"15":1}}],["getcputemperature",{"2":{"15":1}}],["getfilesha1",{"2":{"48":1}}],["getfilemd5async",{"2":{"48":1}}],["getframes",{"2":{"40":1}}],["getfreephysicalmemory",{"2":{"15":1}}],["getunionset",{"2":{"47":1}}],["getuniqueshortid",{"2":{"22":1}}],["getuniqueid",{"2":{"22":2}}],["gettotalseconds",{"2":{"47":1}}],["gettotalnanoseconds",{"2":{"47":1}}],["gettotalminutes",{"2":{"47":1}}],["gettotalmicroseconds",{"2":{"47":1}}],["gettotalmilliseconds",{"2":{"47":1}}],["getmimefrompath",{"2":{"79":3}}],["getmimefromextension",{"2":{"46":1}}],["getmaxtimeperiod",{"2":{"47":1}}],["getmacaddress",{"2":{"15":1}}],["getencoding",{"2":{"66":3}}],["getenvironmentvariable",{"2":{"29":1}}],["getextensionfrommime",{"2":{"46":1}}],["getoradd",{"2":{"45":2,"71":2}}],["getosversion",{"2":{"15":1}}],["gethashcode",{"2":{"45":1}}],["getproperties",{"2":{"38":1}}],["getphysicsaddressinfo",{"2":{"33":1}}],["getvalueordefault",{"2":{"72":2}}],["getvalue",{"2":{"36":1,"72":1}}],["getdata",{"2":{"73":2}}],["getdescription",{"2":{"36":1}}],["getdescriptionandvalue",{"2":{"36":1}}],["getdisplay",{"2":{"36":1}}],["getdiskinfo",{"2":{"15":1}}],["getdictionary",{"2":{"36":1}}],["getimagetype",{"2":{"40":1}}],["getipaddressinfo",{"2":{"33":1}}],["getisp",{"2":{"33":1}}],["getinstance",{"2":{"22":2}}],["get",{"2":{"16":1,"31":10,"34":3,"44":2,"61":2,"62":2,"71":1}}],["getlocalusedip",{"2":{"15":1}}],["getlocalips",{"2":{"15":1}}],["gt",{"2":{"13":1,"54":7}}],["gmail",{"2":{"10":1,"14":1}}],["tiff",{"2":{"67":1}}],["timespan",{"2":{"80":1}}],["time=",{"2":{"47":1}}],["time",{"2":{"21":1,"22":2}}],["timer",{"2":{"21":2}}],["this",{"2":{"79":2,"80":6}}],["thumbnail",{"2":{"67":1}}],["thumbs",{"2":{"67":1}}],["theninclude",{"2":{"58":3}}],["throw",{"2":{"25":1}}],["three",{"2":{"25":2}}],["tcontext>",{"2":{"57":2}}],["tkey>或itreeentity",{"2":{"52":1}}],["tree=list",{"2":{"52":3}}],["tree",{"2":{"52":6}}],["trees",{"2":{"52":1}}],["tryconvertto",{"2":{"49":1}}],["true",{"2":{"22":1,"24":2,"34":2,"35":1,"39":1,"47":4,"75":2}}],["t=>t",{"2":{"45":1,"46":1}}],["t>的集合转换成树形结构",{"2":{"52":2}}],["t>",{"2":{"45":1,"49":4,"52":1,"71":5,"72":3,"73":3}}],["typeinforesolver",{"2":{"61":1}}],["type",{"2":{"49":4,"67":2}}],["typeof",{"2":{"36":4,"44":2}}],["type=defaultmimeitems",{"2":{"46":1}}],["type=contenttype",{"2":{"46":2}}],["type=",{"2":{"16":1}}],["tuple",{"2":{"33":1}}],["tagged",{"2":{"67":1}}],["take",{"2":{"49":1}}],["task",{"2":{"45":4}}],["tar",{"2":{"27":1,"67":2}}],["table=list",{"2":{"45":1}}],["table",{"2":{"26":1,"45":3}}],["tentity>",{"2":{"56":4}}],["text",{"0":{"60":1},"1":{"61":1,"62":1,"63":1},"2":{"44":4,"61":1,"67":3,"80":10}}],["testcontroller",{"2":{"80":1}}],["testfile",{"2":{"80":21}}],["test",{"2":{"27":4,"68":1,"79":6}}],["temp",{"2":{"29":1}}],["template",{"2":{"25":3}}],["temperature",{"2":{"15":1}}],["txt",{"2":{"27":2,"67":1,"80":20}}],["two",{"2":{"25":2}}],["tmp",{"2":{"25":8}}],["toint32",{"2":{"59":1}}],["toexcel方法支持datatable",{"2":{"54":1}}],["toexcel",{"2":{"53":2}}],["toenumstring",{"2":{"36":1}}],["totreegeneral",{"2":{"52":1}}],["totree",{"2":{"52":2}}],["totalrepayment",{"2":{"75":1}}],["totalinterest",{"2":{"75":1}}],["totalspeedinbytes",{"2":{"29":1}}],["totalprogress+",{"2":{"29":1}}],["totalprogresschanged+=",{"2":{"29":1}}],["tojsonstring",{"2":{"49":1}}],["toarrayasync",{"2":{"48":1}}],["toarray",{"2":{"48":1}}],["topagedlistasync",{"2":{"45":1}}],["topagedlist",{"2":{"45":1}}],["token",{"2":{"45":2}}],["tohashset",{"2":{"45":1}}],["toconcurrentdictionary",{"2":{"45":1}}],["tochinesenumber",{"2":{"19":1}}],["tochinesemoney",{"2":{"19":1}}],["tosbc",{"2":{"49":1}}],["tos",{"2":{"39":1}}],["tostring",{"2":{"20":3,"41":1}}],["touint32",{"2":{"33":1}}],["tolistwithnolockasync",{"2":{"57":2}}],["tolist",{"2":{"32":1,"35":1,"45":1,"57":2}}],["todbc",{"2":{"49":1}}],["todecimal",{"2":{"49":1}}],["todynamic",{"2":{"38":1,"68":2}}],["todictionarysafety",{"2":{"45":2}}],["todictionary",{"2":{"38":1}}],["todatetime",{"2":{"47":1}}],["todatatable",{"2":{"26":1,"45":1,"53":2}}],["today",{"2":{"23":5}}],["todo",{"2":{"21":2,"28":1}}],["tobase",{"2":{"20":6}}],["tools",{"0":{"7":1,"8":1,"9":1,"82":1,"88":1},"1":{"83":1,"84":1,"85":1,"86":1,"87":1,"89":1,"90":1,"91":1,"92":1},"2":{"2":1,"3":1,"4":1,"5":1,"7":1,"44":4,"53":1,"64":2,"75":1,"79":2,"80":2}}],["t",{"2":{"13":1,"43":5,"52":1}}],["可以直接提issue或私信联系我",{"2":{"82":1,"88":1}}],["可以实现天干地支节气等数据的获取",{"2":{"13":1}}],["可在windowsdefender停止时工作",{"2":{"69":1}}],["可在appsetting",{"2":{"14":1,"31":1}}],["可能造成流损坏",{"2":{"48":1}}],["可通过代码把水印还原出来取证",{"2":{"30":1}}],["可用于生成验证码",{"2":{"20":1}}],["可用于生成短id",{"2":{"20":1}}],["可用于做数据分析或用户行为画像",{"2":{"13":1}}],["可参阅后文详细示例",{"2":{"13":1}}],["可实现计算球体上两点的弧长计算",{"2":{"13":1}}],["可实现⚪的相交相切相离的判断",{"2":{"13":1}}],["可实现类似js的弱类型编程",{"2":{"13":1}}],["可内存复用",{"2":{"13":1}}],["可被disposable的字典类型",{"2":{"13":1}}],["池化内存流",{"2":{"13":1,"48":1}}],["plain",{"2":{"67":1,"80":10}}],["psd",{"2":{"67":1}}],["ppsx",{"2":{"67":1}}],["pptx",{"2":{"67":1}}],["ppt",{"2":{"67":1}}],["png",{"2":{"67":1}}],["personal",{"2":{"67":1}}],["percentile",{"2":{"45":1}}],["pfx",{"2":{"67":1}}],["pdf",{"2":{"67":1}}],["pdb",{"2":{"67":1}}],["pid",{"2":{"52":2}}],["powerpoint",{"2":{"67":3}}],["portable",{"2":{"67":2}}],["points",{"2":{"51":1}}],["points=radarchartengine",{"2":{"51":1}}],["post>",{"2":{"43":1}}],["post",{"2":{"43":2}}],["pooledmemorystream",{"2":{"13":1}}],["photoshop",{"2":{"67":1}}],["photographic",{"2":{"67":1}}],["photo",{"2":{"67":1}}],["phonenumber",{"2":{"31":1,"44":1}}],["physicalfile",{"2":{"80":2}}],["physical",{"2":{"80":2}}],["physicalmemory",{"2":{"15":2}}],["physicsaddress",{"2":{"33":2}}],["pub",{"2":{"30":2,"67":1}}],["pub=",{"2":{"30":1}}],["publickey",{"2":{"30":1}}],["public",{"2":{"27":1,"31":10,"34":3,"36":1,"43":1,"44":3,"61":2,"62":3,"64":2,"74":2,"79":3,"80":11}}],["prepaymentoption>",{"2":{"75":1}}],["prepayments",{"2":{"75":1}}],["pre",{"2":{"67":1}}],["presentation",{"2":{"67":1}}],["precondition",{"2":{"66":1}}],["private",{"2":{"80":2}}],["privatekey",{"2":{"30":1}}],["price",{"2":{"42":2}}],["prop",{"2":{"68":3}}],["property",{"2":{"67":1}}],["propertyinfo",{"2":{"38":1}}],["properties",{"2":{"38":1}}],["program",{"2":{"67":1}}],["pro",{"2":{"29":2}}],["param>",{"2":{"80":1}}],["param",{"2":{"80":1}}],["parse",{"2":{"23":2,"47":13,"49":1,"75":10}}],["payment",{"2":{"75":1}}],["paymentplans",{"2":{"75":1}}],["pak",{"2":{"67":2}}],["path",{"2":{"52":1,"79":4,"80":6}}],["pages=await",{"2":{"45":1}}],["pages=queryable",{"2":{"45":1}}],["password",{"2":{"31":3,"39":1}}],["pause",{"2":{"29":1}}],["packages",{"2":{"16":1}}],["package",{"2":{"2":1,"3":1,"4":1,"5":1,"64":1,"67":6}}],["定长队列和concurrenthashset实现",{"0":{"37":1}}],["定长队列",{"2":{"13":1}}],["定长并发队列",{"2":{"13":1}}],["luceneefcore",{"2":{"81":1,"87":1}}],["lpr调整",{"2":{"75":4}}],["lzh",{"2":{"67":2}}],["lnk",{"2":{"67":1}}],["legacy",{"2":{"67":1}}],["level",{"2":{"52":1}}],["length",{"2":{"24":2,"45":2,"49":1}}],["ldpic",{"2":{"40":1}}],["ldqk",{"2":{"12":1,"30":5}}],["lastmodified标头",{"2":{"80":1}}],["lastmodified",{"2":{"80":21}}],["last",{"2":{"76":1}}],["language",{"2":{"67":1}}],["landline",{"2":{"31":1}}],["large",{"2":{"27":2}}],["largememorystream",{"2":{"13":1}}],["library",{"2":{"67":1}}],["list类型",{"2":{"75":1}}],["list=new",{"2":{"45":2}}],["list=data",{"2":{"42":1}}],["list",{"2":{"26":3,"27":2,"31":1,"33":1,"35":4,"42":4,"45":24,"47":2,"54":1,"67":1,"68":2,"75":1}}],["list转datatable",{"0":{"26":1}}],["linq扩展",{"2":{"82":1,"88":1}}],["linq表达式树扩展",{"0":{"24":1}}],["linkage",{"2":{"67":1}}],["link",{"2":{"16":2,"67":1}}],["limitedqueue",{"2":{"13":1,"37":1}}],["loantype",{"2":{"75":4}}],["loanmodel",{"2":{"75":1}}],["loan",{"2":{"75":1}}],["load",{"2":{"15":1,"40":2}}],["loseless",{"2":{"67":1}}],["log",{"2":{"59":1}}],["logmanager",{"2":{"28":3}}],["logs",{"2":{"28":1}}],["logdirectory=appdomain",{"2":{"28":1}}],["logoff",{"2":{"16":2}}],["local",{"2":{"15":2}}],["locals",{"2":{"15":2}}],["localusedip",{"2":{"15":1}}],["long",{"2":{"15":2,"20":1}}],["lt",{"2":{"13":1,"54":7}}],["特殊符号",{"2":{"31":2}}],["特点是长度是固定的",{"2":{"13":2}}],["特色功能示例代码",{"0":{"11":1},"1":{"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1}}],["并且",{"2":{"20":1}}],["并且增加了一些对asp",{"2":{"7":1}}],["并发hashset",{"2":{"13":1}}],["用户画像之类的",{"2":{"51":1}}],["用于支持emoji",{"2":{"20":1}}],["用于存放value是disposable类型的数据",{"2":{"13":1}}],["用法",{"2":{"64":1}}],["用法一致",{"2":{"13":1}}],["用法与memorysteam保持一致",{"2":{"48":2}}],["用法与memorystream一致",{"2":{"13":2}}],["用法与queue一致",{"2":{"13":1}}],["用法与concurrentqueue一致",{"2":{"13":1}}],["用法和hashset保持一致",{"2":{"37":1}}],["用法和hashset一致",{"2":{"13":1}}],["用法和numberformater一模一样",{"2":{"20":1}}],["用法和普通字典一致",{"2":{"13":2}}],["0及以上所有版本",{"2":{"86":1,"92":1}}],["0开始",{"2":{"77":1}}],["0+",{"0":{"77":1}}],["041m",{"2":{"75":1}}],["042m",{"2":{"75":1}}],["043m",{"2":{"75":1}}],["058m",{"2":{"75":1}}],["0592m",{"2":{"75":1}}],["0627m",{"2":{"75":1}}],["007那叫用人",{"2":{"91":1}}],["007公司需要使用本类库",{"2":{"91":1}}],["00",{"2":{"47":2,"75":1}}],["0123456789abcdefghijklmnopqrstuvwxyz",{"2":{"20":1,"22":2}}],["01088888888",{"2":{"14":1}}],["0",{"0":{"13":1},"2":{"15":2,"21":2,"22":1,"31":1,"36":1,"40":5,"45":1,"75":6,"80":3}}],["则取description标记作为列名显示",{"2":{"54":1}}],["则值为6",{"2":{"45":2}}],["则默认自动尝试加载appsettings",{"2":{"10":1}}],["则不启用邮箱校验黑白名单",{"2":{"10":1}}],["则不启用邮箱校验白名单",{"2":{"10":1}}],["io",{"2":{"80":4}}],["ihostingenvironment",{"2":{"80":2}}],["icon",{"2":{"67":1}}],["iconfiguration",{"2":{"10":1}}],["ico",{"2":{"67":1}}],["iactionresult",{"2":{"64":2,"80":10}}],["i=>",{"2":{"45":2}}],["items",{"2":{"46":1}}],["item=currentcontext",{"2":{"73":2}}],["item=cache",{"2":{"71":3}}],["item=viewdata",{"2":{"72":3}}],["item=>new",{"2":{"53":1}}],["item=list",{"2":{"45":1}}],["item=data",{"2":{"42":1}}],["item+",{"2":{"45":1}}],["item",{"2":{"42":1,"45":4,"53":1}}],["itreeentity",{"2":{"52":1}}],["itreeparent",{"2":{"52":1}}],["itreechildren",{"2":{"52":2}}],["itree",{"2":{"13":1,"52":1}}],["imageformat=stream",{"2":{"40":1}}],["imagehasher",{"2":{"40":1}}],["image",{"2":{"40":13,"46":4,"67":9}}],["imgtags",{"2":{"32":1}}],["im",{"2":{"29":1}}],["iqueryable的whereif扩展函数",{"2":{"24":1}}],["idictionary",{"2":{"54":3}}],["id",{"2":{"22":4,"43":1,"52":2,"64":1}}],["id==",{"2":{"45":1}}],["id=",{"2":{"16":3}}],["i++",{"2":{"21":2,"22":1}}],["i",{"2":{"21":4,"22":2,"45":9}}],["ienumerable",{"2":{"54":2}}],["ie7",{"2":{"16":1}}],["ie",{"2":{"16":1}}],["ifnullorempty",{"2":{"49":2}}],["if",{"2":{"16":1,"76":5}}],["ilist",{"2":{"15":1}}],["iptoid",{"2":{"33":1}}],["ip",{"2":{"31":1}}],["ipaddressinfo",{"2":{"33":1}}],["ipaddressinrange",{"2":{"33":1}}],["ipaddress",{"2":{"15":1}}],["ip地址转10进制",{"2":{"33":2}}],["ip地址和url",{"0":{"33":1}}],["ip地址",{"0":{"14":1}}],["inline",{"2":{"80":1}}],["inline的一部分",{"2":{"77":1}}],["includerecursive",{"2":{"58":1}}],["include",{"2":{"58":1}}],["initialization",{"2":{"67":1}}],["inireadvalue",{"2":{"50":1}}],["iniwritevalue",{"2":{"50":1}}],["ini",{"2":{"50":5,"67":1}}],["inifile",{"2":{"50":1}}],["ini=new",{"2":{"50":1}}],["ini配置文件操作",{"0":{"50":1}}],["in",{"2":{"47":2}}],["indate=datetime",{"2":{"47":1}}],["index",{"2":{"45":2}}],["insertafter",{"2":{"45":2}}],["installer",{"2":{"67":1}}],["install",{"2":{"2":1,"3":1,"4":1,"5":1,"64":1}}],["inrange",{"2":{"33":1}}],["injectzerowidthstring",{"2":{"30":1}}],["information",{"2":{"67":1}}],["info",{"2":{"28":1}}],["input",{"2":{"16":2}}],["interchage",{"2":{"67":1}}],["interleave",{"2":{"67":1}}],["intersect",{"2":{"47":1}}],["intersected",{"2":{"47":1}}],["intersectall",{"2":{"45":2}}],["intersectby",{"2":{"45":1}}],["intptr",{"2":{"49":1}}],["int64",{"2":{"49":1}}],["int32",{"2":{"49":1}}],["int16",{"2":{"49":1}}],["int>>",{"2":{"45":1}}],["int>",{"2":{"45":2,"49":1,"68":2}}],["int",{"2":{"15":1,"20":1,"21":2,"22":1,"31":1,"34":1,"36":1,"41":2,"61":1,"62":1,"64":1}}],["iso",{"2":{"67":3}}],["isleaf",{"2":{"52":1}}],["islandline",{"2":{"14":1,"31":1}}],["isroot",{"2":{"52":1}}],["issimplelisttype",{"2":{"49":1}}],["issimplearraytype",{"2":{"49":1}}],["issimpletype",{"2":{"49":1}}],["isprimitive",{"2":{"49":1}}],["isprivateip",{"2":{"33":2}}],["isp",{"2":{"33":1}}],["isphone",{"2":{"31":1}}],["isphonenumber",{"2":{"14":1}}],["iservicecollection",{"2":{"80":1}}],["isexternaladdress",{"2":{"33":2}}],["isemail",{"2":{"31":1}}],["isevenzipcompressor",{"2":{"27":2}}],["isnullorempty",{"2":{"24":3,"49":1}}],["iscnpatentnumber",{"2":{"14":1}}],["isipaddress",{"2":{"31":1}}],["isidentifycard",{"2":{"14":1}}],["isinetaddress",{"2":{"14":1}}],["isurl",{"2":{"14":1}}],["ismatch",{"2":{"14":1}}],["cfbf",{"2":{"67":1}}],["certificate",{"2":{"67":2}}],["cert",{"2":{"67":1}}],["createvalidategraphic",{"2":{"70":1}}],["crt",{"2":{"67":1}}],["crc64",{"2":{"30":1}}],["crc32",{"2":{"30":1}}],["c=>c",{"2":{"58":4}}],["cache",{"2":{"71":2}}],["cabinet",{"2":{"67":1}}],["cab",{"2":{"67":1}}],["camelcasenamingstrategy",{"2":{"61":1}}],["category",{"2":{"58":2}}],["cancellationtokensource",{"2":{"45":1}}],["ctx=>ctx",{"2":{"57":3}}],["cts",{"2":{"45":3}}],["children",{"2":{"58":5}}],["chinesedatestring",{"2":{"23":1}}],["chinesecalendar",{"2":{"13":1,"23":2}}],["chart2",{"2":{"51":1}}],["chart1",{"2":{"51":1}}],["charactercount",{"2":{"49":2}}],["char",{"2":{"49":1}}],["changes=dbcontext",{"2":{"56":2}}],["changetypeto不仅适用于基元类型的互转还支持数组",{"2":{"49":1}}],["changetypeto",{"2":{"49":1}}],["changeindex",{"2":{"45":2}}],["cc",{"2":{"45":4}}],["cdn",{"2":{"29":1}}],["currentcontext",{"2":{"73":1}}],["currentdomain",{"2":{"28":1}}],["cursor",{"2":{"67":1}}],["cur",{"2":{"67":1}}],["cutandresize",{"2":{"40":1}}],["cutimage",{"2":{"40":1}}],["customholidays",{"2":{"23":1}}],["cn",{"2":{"27":2,"35":3,"36":1,"38":1}}],["c",{"2":{"26":1,"34":5,"35":2,"42":2,"52":8,"58":2}}],["clearsection",{"2":{"50":1}}],["clearallsection",{"2":{"50":1}}],["clearmemorysilent",{"2":{"17":1}}],["classdto",{"2":{"61":1,"62":1}}],["classes",{"2":{"35":2}}],["class",{"2":{"31":1,"34":1,"44":1,"61":1,"62":1,"67":1,"74":2}}],["class=",{"2":{"16":1}}],["clay",{"2":{"13":1}}],["cpuinfo",{"2":{"15":1}}],["cpuinfos",{"2":{"15":1}}],["cpu序列号",{"2":{"15":1}}],["cpusn=systeminfo",{"2":{"15":1}}],["cpucount",{"2":{"15":1}}],["cpuload",{"2":{"15":1}}],["circle",{"2":{"13":1}}],["cs的",{"2":{"80":1}}],["css",{"2":{"16":2}}],["csharpusing",{"2":{"79":1,"80":2}}],["csharpcurrentcontext",{"2":{"73":1}}],["csharpchinesecalendar",{"2":{"23":1}}],["csharpapp",{"2":{"64":1}}],["csharpa",{"2":{"59":1}}],["csharpdbcontext",{"2":{"57":1}}],["csharptrees",{"2":{"52":1}}],["csharpinifile",{"2":{"50":1}}],["csharp1",{"2":{"49":1}}],["csharprandom",{"2":{"41":1}}],["csharpnew",{"2":{"39":1}}],["csharpnumberformater",{"2":{"20":1}}],["csharpmyclass",{"2":{"38":1}}],["csharpmemorystream",{"2":{"27":1}}],["csharpbool",{"2":{"33":1}}],["csharplimitedqueue",{"2":{"37":1}}],["csharplist",{"2":{"32":1}}],["csharplogmanager",{"2":{"28":1}}],["csharpprivate",{"2":{"27":1}}],["csharppublic",{"2":{"10":1,"31":1,"34":1,"61":1}}],["csharpstream",{"2":{"48":1}}],["csharpstring",{"2":{"16":1}}],["csharpservices",{"2":{"27":1,"57":1}}],["csharpexpression",{"2":{"24":1}}],["csharp",{"2":{"22":1,"36":1,"40":1,"43":1,"44":1,"47":1,"58":1,"61":1,"62":1,"64":1,"68":2,"69":1,"74":1,"80":1}}],["csharphiperftimer",{"2":{"21":1}}],["csharpwindows",{"2":{"17":1}}],["csharpfloat",{"2":{"15":1}}],["csharpvar",{"2":{"14":1,"19":1,"20":1,"25":1,"26":1,"29":1,"30":1,"35":1,"42":1,"45":1,"46":1,"51":1,"53":1,"56":2,"65":1,"66":1,"70":1,"71":1,"72":1,"75":1}}],["cs",{"2":{"12":1,"27":1}}],["code=validatecode",{"2":{"70":1}}],["copytofileasync",{"2":{"48":1}}],["copytofile",{"2":{"48":1}}],["color",{"2":{"40":1}}],["countwithnolockasync",{"2":{"57":1}}],["count==1",{"2":{"35":1}}],["count",{"2":{"22":1}}],["const",{"2":{"80":1}}],["console",{"2":{"20":8,"21":2,"22":2,"23":4,"29":4,"35":1,"39":1,"45":2,"49":4}}],["connstring",{"2":{"57":2}}],["convertto的性能更高",{"2":{"49":1}}],["convertto只适用于基元类型的互转",{"2":{"49":1}}],["convertto和changetypeto的区别在于",{"2":{"49":1}}],["convertto",{"2":{"45":1,"49":2}}],["contained",{"2":{"67":5}}],["container",{"2":{"67":5}}],["containssafety",{"2":{"49":1}}],["contains=s",{"2":{"49":4}}],["contains",{"2":{"45":6,"47":1,"49":1}}],["contractresolver",{"2":{"61":2,"62":1}}],["contents",{"2":{"67":1}}],["contenttype常量库",{"2":{"46":1}}],["content",{"2":{"16":2,"77":1,"79":2,"80":8}}],["concurrentlimitedqueue",{"2":{"13":1,"37":2}}],["concurrenthashset",{"2":{"13":1,"37":1}}],["configureservices",{"2":{"80":1}}],["configureservices方法调用中配置服务",{"2":{"80":1}}],["configureservices中",{"2":{"61":1}}],["configure",{"2":{"29":1}}],["configuration",{"2":{"10":2,"67":1}}],["config的appsettings配置节中",{"2":{"10":1}}],["config",{"2":{"10":1,"67":1}}],["combine",{"2":{"80":6}}],["compressed",{"2":{"67":5}}],["compositecontractresolver",{"0":{"63":1}}],["computearea",{"2":{"51":1}}],["computeintersection",{"2":{"51":1}}],["compare",{"2":{"40":1}}],["complexpassword",{"2":{"31":3}}],["compile",{"2":{"24":2}}],["com",{"2":{"10":4,"12":1,"14":5,"29":2,"33":1,"39":4,"44":2}}],["core内部支持断点续传",{"2":{"77":1}}],["core2",{"2":{"77":1}}],["core中通过mvc",{"2":{"76":1}}],["core自动扫描注册服务",{"0":{"74":1}}],["core支持addorupdate方法",{"0":{"43":1}}],["core项目配置在appsettings",{"2":{"10":1}}],["core项目推荐首选包",{"2":{"4":1}}],["core的支持断点续传和多线程下载的resumefileresult",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1}}],["core的全部功能",{"2":{"7":1}}],["core的版本",{"2":{"5":1}}],["core",{"0":{"4":1,"64":1,"77":1,"80":1},"2":{"4":1,"7":2,"27":1,"86":1,"92":1}}],["且黑名单优先级高于白名单",{"2":{"10":1}}],["quake",{"2":{"67":1}}],["quicktime",{"2":{"67":1}}],["querymodel",{"2":{"64":1}}],["query",{"2":{"64":7}}],["querywithnolockdbcommandinterceptor",{"2":{"57":1}}],["queryable",{"2":{"45":1}}],["queue",{"2":{"37":2}}],["quot",{"2":{"10":2}}],["qodw9728",{"2":{"22":1}}],["q",{"2":{"16":1}}],["qq",{"2":{"10":1,"14":2,"39":2}}],["wasm",{"2":{"67":1}}],["wave",{"2":{"67":1}}],["wav",{"2":{"67":1}}],["word",{"2":{"67":2}}],["world",{"2":{"30":3}}],["weightedby",{"2":{"42":1}}],["weightedselector",{"2":{"42":1}}],["weighteditems",{"2":{"42":2}}],["weighteditem",{"2":{"42":11}}],["webrootpath",{"2":{"80":6}}],["webroot",{"2":{"80":12}}],["webapi应用程序传输文件数据时使用断点续传以及多线程下载支持",{"2":{"76":1}}],["webassembly",{"2":{"67":1}}],["webp",{"2":{"67":2}}],["webm",{"2":{"67":2}}],["web功能的额外支持",{"2":{"7":1}}],["web专用包",{"2":{"7":1}}],["withobject",{"2":{"68":1}}],["winrar",{"2":{"67":1}}],["windowsdefenderscanservice",{"2":{"69":3}}],["windows",{"2":{"15":1,"67":6,"69":1,"86":1,"92":1}}],["width=str",{"2":{"49":4}}],["width",{"2":{"40":1}}],["write|myenum",{"2":{"36":1}}],["write=2",{"2":{"36":1}}],["writeline",{"2":{"20":8,"21":2,"22":2,"23":4,"29":4,"35":1,"39":1,"45":2,"49":4}}],["ww3",{"2":{"27":2}}],["where",{"2":{"57":4}}],["whereif",{"2":{"24":2}}],["where2",{"2":{"24":4}}],["where1",{"2":{"24":4}}],["w",{"2":{"10":4,"14":4}}],["^",{"2":{"10":4,"14":4}}],["示例代码如下",{"2":{"64":1}}],["示例",{"2":{"10":1}}],["英文逗号分隔",{"2":{"10":2}}],["etag和",{"2":{"80":1}}],["etag",{"2":{"80":12}}],["etag标头以及",{"2":{"76":1}}],["equivalentprincipal",{"2":{"75":2}}],["equivalentinterest",{"2":{"75":2}}],["equal",{"2":{"68":6}}],["epub",{"2":{"67":1}}],["emoji=s",{"2":{"49":1}}],["email",{"2":{"31":1,"35":4,"38":1,"39":1,"44":1}}],["emaildomainblocklist",{"2":{"10":1,"14":1}}],["emaildomainwhitelist",{"2":{"10":1}}],["ee",{"2":{"45":1}}],["efcore实用扩展",{"0":{"55":1},"1":{"56":1,"57":1,"58":1}}],["ef",{"0":{"43":1}}],["e",{"2":{"29":4,"67":1}}],["entitytag",{"2":{"80":7}}],["enableretryonfailure",{"2":{"57":1}}],["enablessl",{"2":{"39":1}}],["endswith",{"2":{"49":1}}],["endif",{"2":{"16":1}}],["en",{"2":{"36":1}}],["enumerable",{"2":{"45":3}}],["enums=op",{"2":{"36":1}}],["enumstring",{"2":{"36":1}}],["enumdescription",{"2":{"36":2}}],["enum",{"2":{"36":1}}],["enumof",{"2":{"31":1}}],["encoding=textencodingdetector",{"2":{"66":1}}],["encoding=stream",{"2":{"66":1}}],["encoding=new",{"2":{"66":1}}],["encode",{"2":{"30":1}}],["encodetozerowidthtext",{"2":{"30":1}}],["encrypt",{"2":{"30":3}}],["enc",{"2":{"30":6}}],["enc=",{"2":{"30":6}}],["environment",{"2":{"29":1}}],["errormessage",{"2":{"31":2}}],["error",{"2":{"28":1}}],["event+=info",{"2":{"28":1}}],["e=>e",{"2":{"24":2,"42":2}}],["exchange",{"2":{"67":1}}],["excep",{"2":{"67":1}}],["exceptby",{"2":{"45":1}}],["exception",{"2":{"28":1}}],["excel导出等常用封装",{"2":{"82":1,"88":1}}],["excel导入导出的专用独立包",{"2":{"8":1}}],["excel",{"0":{"8":1},"2":{"53":1,"67":1}}],["experts",{"2":{"67":1}}],["expression",{"2":{"24":2}}],["executive",{"2":{"67":1}}],["executionstrategy",{"2":{"57":2}}],["execute",{"2":{"21":1,"22":1}}],["exe",{"2":{"46":1,"67":1,"69":2}}],["extensible",{"2":{"67":1}}],["extensions",{"2":{"80":2}}],["extension",{"2":{"66":1}}],["extension==",{"2":{"46":1}}],["ext",{"2":{"46":1}}],["e6186159d38cd50e0463a55e596336bd",{"2":{"20":1}}],["工具库需要用到外部配置节",{"2":{"10":1}}],["为工具库注册配置",{"0":{"10":1}}],["mvc",{"2":{"79":2}}],["mvc和asp",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1}}],["mkv",{"2":{"67":1}}],["mka",{"2":{"67":1}}],["m4v",{"2":{"67":1}}],["m4a",{"2":{"67":1}}],["mp4",{"2":{"67":4,"79":6}}],["m=>m",{"2":{"45":1}}],["myblogs",{"2":{"81":1,"87":1}}],["myservice",{"2":{"74":1}}],["myinterface",{"2":{"74":1}}],["myproperty",{"2":{"61":1,"62":2}}],["myenum",{"2":{"31":2,"36":7}}],["myclass",{"2":{"26":3,"31":1,"34":4,"35":3,"38":7,"44":1,"45":10,"49":1,"61":1,"62":1,"68":8,"74":1}}],["myclass>>",{"2":{"45":1}}],["myclass>",{"2":{"26":1,"35":2,"45":3}}],["mustsymbol=true",{"2":{"31":1}}],["mustletter=true",{"2":{"31":1}}],["mustnumber=true",{"2":{"31":1}}],["multithreaddownloader",{"2":{"29":2}}],["md5三次加盐",{"2":{"30":1}}],["md5三次",{"2":{"30":1}}],["md5两次加盐",{"2":{"30":1}}],["md5两次",{"2":{"30":1}}],["md5加盐",{"2":{"30":1}}],["md5",{"2":{"30":1,"48":1}}],["mdstring3",{"2":{"30":2}}],["mdstring2",{"2":{"30":2}}],["mdstring",{"2":{"30":2}}],["mbps",{"2":{"29":1}}],["mtd",{"2":{"29":8}}],["msi",{"2":{"67":1}}],["ms=largememorystream",{"2":{"48":1}}],["ms=pooledmemorystream",{"2":{"48":1}}],["ms",{"2":{"27":1}}],["memory",{"2":{"67":1}}],["memorystream",{"2":{"48":1,"54":1}}],["memoryavailable",{"2":{"15":2}}],["medianhash64",{"2":{"40":2}}],["merge",{"2":{"34":2}}],["method=",{"2":{"16":1}}],["modified",{"2":{"76":1}}],["modified标头",{"2":{"76":1}}],["modernizr",{"2":{"16":1}}],["movie",{"2":{"67":1}}],["mov",{"2":{"67":1}}],["mount",{"2":{"67":1}}],["mongodb的封装操作类独立包",{"2":{"9":1}}],["mongodbclient",{"0":{"9":1}}],["midi",{"2":{"67":1}}],["mid",{"2":{"67":1}}],["microsoft",{"2":{"67":12}}],["microseconds",{"2":{"47":1}}],["milliseconds",{"2":{"47":1}}],["minutes",{"2":{"47":1}}],["minordefault",{"2":{"45":3}}],["minitemscount",{"2":{"31":1}}],["minvalue",{"2":{"31":1}}],["min",{"2":{"16":1}}],["mimetype",{"2":{"66":2}}],["mime",{"2":{"46":1}}],["mime类型",{"0":{"46":1}}],["mime类型映射",{"2":{"13":1}}],["mimemapper=new",{"2":{"79":1}}],["mimemapper",{"2":{"13":1,"46":4,"79":5}}],["mappath",{"2":{"79":1}}],["markup",{"2":{"67":1}}],["marker=imagewatermarker",{"2":{"40":1}}],["manager",{"2":{"67":1}}],["matroska",{"2":{"67":2}}],["matchemoji",{"2":{"49":1}}],["matchemail",{"2":{"14":1}}],["matchcnpatentnumber",{"2":{"14":1}}],["matchimgtags",{"2":{"32":1}}],["matchimgsrcs",{"2":{"32":1}}],["matchidentifycard",{"2":{"14":1}}],["matchinetaddress",{"2":{"14":1}}],["matchlandline",{"2":{"14":1}}],["matchphonenumber",{"2":{"14":1}}],["matchurl",{"2":{"14":1}}],["match",{"2":{"14":1,"76":2}}],["maxordefault",{"2":{"45":3}}],["max=list",{"2":{"45":6}}],["maxvalue",{"2":{"20":1,"31":1,"41":1}}],["maskconverter",{"2":{"44":1}}],["maskemailconverter",{"2":{"44":1}}],["maskemail",{"2":{"44":1}}],["mask",{"2":{"44":1}}],["masuittoolsdemo",{"2":{"12":1}}],["masuit",{"0":{"7":1,"8":1,"9":1,"82":1,"88":1},"1":{"83":1,"84":1,"85":1,"86":1,"87":1,"89":1,"90":1,"91":1,"92":1},"2":{"2":1,"3":1,"4":1,"5":1,"14":1,"29":1,"39":2,"44":2,"53":1,"64":2,"68":2,"75":1,"79":2,"80":2,"81":2,"87":2}}],["makethumbnail",{"2":{"40":1}}],["macaddress",{"2":{"15":1}}],["main",{"2":{"12":1}}],["namingstrategy",{"2":{"61":1}}],["name",{"2":{"24":3,"25":4,"26":4,"36":2,"45":2,"53":1,"64":1,"68":6}}],["name==",{"2":{"57":7}}],["name==name",{"2":{"24":1}}],["name=",{"2":{"16":1,"45":10,"80":1}}],["nanoseconds",{"2":{"47":1}}],["none",{"2":{"76":1}}],["nolock",{"2":{"57":2}}],["nolock本质是开启一个",{"2":{"57":1}}],["nolock查询",{"0":{"57":1}}],["notnullorempty",{"2":{"49":1}}],["now",{"2":{"47":5}}],["nosql",{"0":{"9":1}}],["n",{"2":{"44":1}}],["nextgauss",{"2":{"41":1}}],["next",{"2":{"20":1,"41":1,"59":6}}],["newobject",{"2":{"68":1}}],["newtonsoft",{"0":{"60":1},"1":{"61":1,"62":1,"63":1},"2":{"61":1}}],["newbmp",{"2":{"40":9}}],["newid",{"2":{"22":3}}],["new",{"2":{"20":5,"22":3,"23":1,"25":3,"26":5,"27":2,"28":1,"29":1,"34":3,"35":4,"37":3,"38":1,"40":3,"41":3,"42":10,"45":19,"46":1,"47":1,"48":1,"49":4,"57":1,"61":7,"62":3,"65":1,"68":5,"75":7,"79":1,"80":5}}],["net万能工具库",{"2":{"88":1}}],["net实现的全文检索搜索引擎",{"2":{"81":1,"87":1}}],["net类",{"2":{"77":1}}],["network",{"2":{"67":1}}],["net5及以上",{"2":{"37":1}}],["net45",{"2":{"5":1}}],["net扩展",{"2":{"5":1}}],["net",{"0":{"2":1,"3":1,"4":1,"5":1,"64":1,"74":1,"76":2,"77":1,"79":1,"80":1},"1":{"77":2,"78":2,"79":2,"80":2,"81":2},"2":{"2":1,"4":1,"5":2,"7":2,"10":2,"27":3,"67":1,"76":1,"77":2,"86":1,"92":1}}],["nf",{"2":{"20":4}}],["null",{"2":{"80":8}}],["nullable",{"2":{"49":1}}],["nullabledictionary",{"2":{"13":1}}],["nullableconcurrentdictionary",{"2":{"13":1}}],["nums=enumerable",{"2":{"45":4}}],["number=",{"2":{"33":1}}],["number=ipaddress",{"2":{"33":1}}],["numberformater是不支持的",{"2":{"20":1}}],["numberformater",{"2":{"20":4,"22":2,"41":1}}],["num=1",{"2":{"49":1}}],["num=123",{"2":{"19":2}}],["num=",{"2":{"20":1}}],["num",{"2":{"20":10,"41":1,"61":1,"62":1}}],["请联系作者进行商业授权",{"2":{"85":1,"91":1}}],["请以银行结果为准",{"2":{"75":1}}],["请务必使用上述版本的包",{"2":{"5":1}}],["请注意命名空间",{"2":{"44":2}}],["请注意",{"0":{"85":1,"91":1},"2":{"5":1}}],["autoregisterservices",{"2":{"74":1}}],["audio",{"2":{"67":6}}],["amsiscanservice",{"2":{"69":3}}],["amsi",{"2":{"69":1}}],["archive",{"2":{"67":2}}],["apk",{"2":{"67":1}}],["apple",{"2":{"67":1}}],["application",{"2":{"46":1}}],["app",{"2":{"10":1}}],["avi",{"2":{"67":1}}],["avatar=image",{"2":{"53":1}}],["averagehash64",{"2":{"40":2}}],["allwithnolockasync",{"2":{"57":1}}],["allchanges=dbcontext",{"2":{"56":2}}],["allchildren",{"2":{"52":1}}],["allparent",{"2":{"52":1}}],["all=8",{"2":{"36":1}}],["await",{"2":{"45":8,"57":6}}],["awesome",{"2":{"16":2}}],["attachment",{"2":{"80":1}}],["attachments",{"2":{"29":1}}],["attribute的方式为json序列化时进行数据脱敏",{"2":{"44":1}}],["admin",{"2":{"39":1,"44":1}}],["addresumefileresult",{"2":{"80":1}}],["addrangeifnotcontains",{"2":{"45":1}}],["addrangeif",{"2":{"45":1}}],["addnewtonsoftjson",{"2":{"61":1}}],["addmvc",{"2":{"61":1}}],["addinterceptors",{"2":{"57":1}}],["addidentitycolumn",{"2":{"45":1}}],["adddbcontext",{"2":{"57":2}}],["added=dbcontext",{"2":{"56":2}}],["addorupdate",{"2":{"43":1,"45":4,"71":1}}],["addwatermark",{"2":{"40":2}}],["addsevenzipcompressor",{"2":{"27":1}}],["add",{"2":{"22":1,"23":1,"29":1}}],["addtomasuittools",{"2":{"10":1}}],["aaa",{"2":{"57":7}}],["aa",{"2":{"34":2,"45":1,"49":7}}],["aes密钥解密为明文",{"2":{"30":1}}],["aes密钥加密为密文",{"2":{"30":1}}],["aes解密为明文",{"2":{"30":1}}],["aesdecrypt",{"2":{"30":2}}],["aes加密为密文",{"2":{"30":1}}],["aesencrypt",{"2":{"30":2}}],["aes",{"2":{"30":4}}],["assert",{"2":{"68":6}}],["async",{"2":{"45":4}}],["asconcurrentdictionary",{"2":{"45":1}}],["as",{"2":{"29":1}}],["aspnetcore项目推荐首选包",{"2":{"7":1}}],["aspnetcore",{"0":{"7":1},"2":{"64":2,"80":2}}],["asp",{"0":{"64":1,"74":1,"76":1,"77":1,"80":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1},"2":{"5":1,"7":1,"77":1}}],["age=15",{"2":{"45":1}}],["age=14",{"2":{"45":2}}],["age=13",{"2":{"45":4}}],["age=12",{"2":{"45":2}}],["age=11",{"2":{"45":1}}],["age>=age",{"2":{"24":1}}],["age",{"2":{"24":1,"26":4,"31":1,"53":1,"68":2}}],["abcdefgh",{"2":{"30":2}}],["abcd12345678",{"2":{"24":1}}],["abc",{"2":{"24":1,"30":5}}],["abstraction",{"2":{"3":1}}],["anywithnolockasync",{"2":{"57":1}}],["android",{"2":{"67":1}}],["and和andif可供选择",{"2":{"24":1}}],["andif",{"2":{"24":1}}],["and",{"2":{"24":1,"67":1}}],["animalstring",{"2":{"23":1}}],["a>",{"2":{"16":2}}],["actualpayment",{"2":{"75":1}}],["actualinterest",{"2":{"75":1}}],["actionresult",{"2":{"79":3}}],["action同时支持querystring",{"0":{"64":1}}],["actions",{"2":{"16":1}}],["action=",{"2":{"16":1}}],["account",{"2":{"16":2}}],["a",{"2":{"16":2,"24":2,"34":5,"42":2,"44":1,"62":1}}],["阉割了redis",{"2":{"5":1}}],["5及以上版本",{"2":{"86":1}}],["5倍作为本项目的授权费",{"2":{"85":1,"91":1}}],["58",{"2":{"75":2}}],["56",{"2":{"75":1}}],["5678",{"2":{"44":1}}],["53",{"2":{"75":3}}],["52",{"0":{"75":1}}],["5217744842749978a756b22135b16a5998a5",{"2":{"20":1}}],["51",{"0":{"74":1}}],["50",{"0":{"73":1},"2":{"45":1}}],["55",{"2":{"45":1,"75":1}}],["5",{"0":{"18":1},"1":{"19":1,"20":1},"2":{"5":1,"10":4,"14":4,"41":1,"45":8,"47":1,"68":2}}],["5的专用版本",{"2":{"5":1}}],["5特供版",{"0":{"5":1}}],["29",{"0":{"44":1}}],["27",{"0":{"42":1},"2":{"75":1}}],["26",{"0":{"41":1}}],["2600240311641665565300424545154525131265221035",{"2":{"20":1}}],["24",{"0":{"39":1}}],["24位长度",{"2":{"20":1}}],["23h2及以上版本",{"2":{"92":1}}],["23提前还款10万",{"2":{"75":1}}],["2345",{"2":{"49":1}}],["2345678901",{"2":{"49":1}}],["23",{"0":{"38":1},"2":{"33":1,"49":4,"75":1}}],["258期",{"2":{"75":1}}],["25利率调整为4",{"2":{"75":1}}],["25",{"0":{"40":1},"2":{"33":1,"39":1,"75":1}}],["255",{"2":{"33":1}}],["25位长度",{"2":{"20":1}}],["28",{"0":{"43":1},"2":{"26":1,"75":1}}],["21",{"0":{"36":1},"2":{"26":1}}],["22",{"0":{"37":1},"2":{"26":1,"75":1}}],["22位长度",{"2":{"20":1}}],["2016",{"2":{"80":1}}],["2018",{"2":{"23":2}}],["2000",{"2":{"67":1}}],["2003",{"2":{"67":3}}],["200410018477",{"2":{"14":1}}],["2026",{"2":{"75":4}}],["2025",{"2":{"75":4}}],["2023",{"2":{"75":6}}],["2022",{"2":{"75":4}}],["2021",{"2":{"47":1,"75":1}}],["2020",{"2":{"47":15}}],["20",{"0":{"35":1},"2":{"14":1,"41":1,"68":2}}],["2",{"0":{"3":1,"4":1,"15":1,"77":1},"2":{"22":1,"25":2,"33":2,"40":1,"42":1,"45":5,"47":1,"49":1,"59":1,"67":1,"68":4,"75":3,"86":1,"92":1}}],["sdk",{"2":{"86":1,"92":1}}],["scoped",{"2":{"74":2}}],["scan",{"2":{"69":3}}],["scanstream",{"2":{"69":1}}],["scandirectory",{"2":{"69":1}}],["scanfile",{"2":{"69":1}}],["script>",{"2":{"16":1}}],["scripts",{"2":{"16":1}}],["script",{"2":{"16":1,"67":1}}],["sqlite",{"2":{"67":2}}],["sqlserver",{"2":{"57":1}}],["swf",{"2":{"67":1}}],["srt",{"2":{"67":1}}],["srcs",{"2":{"32":1}}],["src=",{"2":{"16":1}}],["solution",{"2":{"67":1}}],["sound",{"2":{"67":1}}],["sln",{"2":{"67":1}}],["slideshow",{"2":{"67":1}}],["sbyte",{"2":{"49":1}}],["s=",{"2":{"49":2}}],["s=null",{"2":{"49":1}}],["s=list",{"2":{"45":1}}],["s=>s",{"2":{"45":2,"59":1}}],["s=>s==name",{"2":{"24":2}}],["system32",{"2":{"69":1}}],["system",{"2":{"61":1,"80":4}}],["systems",{"2":{"44":2}}],["systems命名空间",{"2":{"44":2}}],["systeminfo",{"2":{"15":10}}],["savedinterest",{"2":{"75":1}}],["savedatauriasimagefile",{"2":{"40":1}}],["savefile",{"2":{"48":1}}],["saveasmemorystream",{"2":{"48":1}}],["savepost",{"2":{"43":1}}],["surface",{"2":{"67":1}}],["summary>",{"2":{"43":2,"80":2}}],["subtitle",{"2":{"67":1}}],["subrip",{"2":{"67":1}}],["subject",{"2":{"39":1}}],["submit",{"2":{"16":2}}],["simhash",{"2":{"65":2}}],["sim=imagehasher",{"2":{"40":1}}],["since",{"2":{"76":2}}],["singleordefaultwithnolockasync",{"2":{"57":1}}],["single",{"2":{"49":1}}],["sinaimg",{"2":{"27":2}}],["smtpport",{"2":{"39":1}}],["smtp服务器端口",{"2":{"39":1}}],["smtp服务器",{"2":{"39":1}}],["smtp",{"2":{"39":1}}],["smtpserver",{"2":{"39":1}}],["shockwave",{"2":{"67":1}}],["shortcut",{"2":{"67":1}}],["shortid",{"2":{"22":1}}],["sh",{"2":{"67":1}}],["shell",{"2":{"67":1}}],["shellpm>",{"2":{"2":1,"3":1,"4":1,"5":1,"64":1}}],["sheet1",{"2":{"53":2}}],["sha1",{"2":{"48":1}}],["sha256",{"2":{"30":1}}],["shufflecode",{"2":{"48":1}}],["shimo",{"2":{"29":1}}],["snowflakenew",{"2":{"22":5}}],["snowflake",{"2":{"22":6}}],["sfn",{"2":{"22":2}}],["sf",{"2":{"22":3}}],["s36",{"2":{"20":2}}],["s",{"2":{"16":2,"20":3,"21":2,"22":1,"24":8,"25":3,"30":8,"39":2,"41":1,"45":15,"49":5}}],["spreadsheet",{"2":{"67":1}}],["split",{"2":{"36":1}}],["span>",{"2":{"16":3}}],["span",{"2":{"16":1}}],["sphere",{"2":{"13":1}}],["server",{"2":{"79":1}}],["servicelifetime",{"2":{"74":2}}],["serviceinject",{"2":{"74":2}}],["services",{"2":{"57":1,"61":1,"74":1,"80":2}}],["serializersettings",{"2":{"61":1}}],["serialize",{"2":{"61":1}}],["serializeobject",{"2":{"61":1,"62":1}}],["serializeonlyjsonproperty",{"2":{"61":1}}],["serializeignoreresolver",{"2":{"61":1}}],["serializeignore",{"2":{"61":1}}],["serializeignoreattribute标记的",{"2":{"61":1}}],["serialnumber",{"2":{"15":2}}],["section",{"2":{"50":3}}],["sect=list",{"2":{"45":2}}],["seconds",{"2":{"47":1}}],["sequenceequal",{"2":{"45":1}}],["sendasync",{"2":{"39":1}}],["sender",{"2":{"29":4}}],["sevenzipcompressor",{"2":{"27":8}}],["selectasync",{"2":{"45":2}}],["selectmultiple",{"2":{"42":1}}],["selector",{"2":{"42":3,"45":4}}],["select",{"2":{"26":1,"42":1,"45":1,"53":1}}],["setdata",{"2":{"73":2}}],["setproperty",{"2":{"38":1}}],["set",{"2":{"22":3,"25":5,"31":10,"34":3,"37":1,"43":1,"44":2,"45":1,"61":2,"62":2,"71":1}}],["setnumberformater",{"2":{"22":2}}],["setinitialoffset",{"2":{"22":2}}],["setmachienid",{"2":{"22":2}}],["searchengine",{"2":{"81":1,"87":1}}],["search",{"2":{"16":1}}],["searchboxsubmit",{"2":{"16":1}}],["searchboxinput",{"2":{"16":1}}],["searchbox",{"2":{"16":1}}],["session扩展等一些功能",{"2":{"5":1}}],["studio",{"2":{"67":1}}],["stg=>stg",{"2":{"57":1}}],["stddev=list",{"2":{"45":1}}],["strictnext",{"2":{"41":1}}],["stringwidth",{"2":{"49":3}}],["string>>",{"2":{"33":1,"42":2}}],["string>",{"2":{"15":1,"22":1,"27":2,"31":1,"32":1,"36":1,"37":5,"42":9,"45":1}}],["string",{"2":{"15":2,"16":2,"20":1,"22":5,"24":9,"25":3,"30":15,"31":7,"33":2,"34":1,"36":3,"44":2,"45":2,"48":2,"49":4,"54":4,"61":1,"62":1,"64":1,"80":7}}],["stream=code",{"2":{"70":1}}],["stream=list",{"2":{"53":2}}],["stream=maker",{"2":{"40":2}}],["stream",{"2":{"40":1,"46":1,"48":3,"54":2,"69":2,"80":6}}],["str=s",{"2":{"49":3}}],["str=",{"2":{"32":1}}],["strs",{"2":{"31":1}}],["str",{"2":{"30":5}}],["stop",{"2":{"21":1}}],["stylesheet",{"2":{"16":2}}],["star趋势",{"0":{"84":1,"90":1}}],["start",{"2":{"29":1}}],["startswith",{"2":{"24":2,"49":1}}],["startnew",{"2":{"21":1}}],["startup",{"2":{"10":1,"27":1,"80":1}}],["standarddeviation",{"2":{"45":1}}],["standard",{"0":{"3":1}}],["1csharpprivate",{"2":{"80":1}}],["1csharppublic",{"2":{"80":1}}],["1利率调整为4",{"2":{"75":2}}],["1利率调整为5",{"2":{"75":2}}],["1在action的参数模型前打上标记",{"2":{"64":1}}],["1startup配置",{"2":{"64":1}}],["1通用数据库",{"2":{"57":1}}],["1903及以上版本",{"2":{"86":1}}],["19",{"0":{"34":1},"2":{"75":1}}],["192",{"2":{"33":3}}],["18",{"0":{"33":1},"2":{"49":1,"68":2}}],["172",{"2":{"33":1}}],["17",{"0":{"32":1}}],["15",{"0":{"30":1},"2":{"75":1}}],["15205201520",{"2":{"14":1}}],["1403845",{"2":{"75":1}}],["14提前还款10万并以等额本金方式+缩短年限",{"2":{"75":1}}],["14",{"0":{"29":1},"2":{"49":2,"75":1}}],["131",{"2":{"44":1}}],["13123456789",{"2":{"44":1}}],["13",{"0":{"28":1}}],["1构造函数注入isevenzipcompressor",{"2":{"27":1}}],["11提前还款10万并缩短年限",{"2":{"75":1}}],["11",{"0":{"26":1},"2":{"45":2,"75":1,"92":1}}],["114",{"2":{"14":4,"33":16}}],["160",{"2":{"40":2}}],["1600",{"2":{"40":2}}],["168",{"2":{"33":3}}],["16",{"0":{"31":1},"2":{"20":1,"33":1}}],["163",{"2":{"10":1,"14":1}}],["10001",{"2":{"39":1}}],["10000",{"2":{"39":1}}],["100000m",{"2":{"75":4}}],["1000000",{"2":{"22":2,"75":1}}],["100000",{"2":{"20":1,"21":2,"41":1}}],["100",{"2":{"31":1,"45":5}}],["1024+",{"2":{"29":1}}],["1024",{"2":{"29":1}}],["10",{"0":{"25":1},"2":{"24":2,"40":1,"45":11,"49":1,"57":1,"68":2,"75":8,"86":1}}],["10进制转36进制",{"2":{"20":1}}],["1221266",{"2":{"75":1}}],["12提前还款10万并修改为等额本金方式",{"2":{"75":1}}],["12csharpprivate",{"2":{"79":1}}],["12csharp",{"2":{"44":1}}],["12csharpvar",{"2":{"25":1,"37":1}}],["120",{"2":{"40":1}}],["12进制",{"2":{"20":1}}],["123",{"2":{"20":1,"25":1,"30":3,"45":1,"59":1,"72":1}}],["123csharpvar",{"2":{"25":1}}],["123csharp",{"2":{"20":1}}],["1234然后在你的控制器中",{"2":{"80":1}}],["1234对比信息包含属性信息",{"2":{"56":1}}],["1234获取所有实体的变更",{"2":{"56":1}}],["12345",{"2":{"50":1,"58":1,"71":1,"73":1}}],["12345使用方式同",{"2":{"27":1}}],["12345csharpsevenzipcompressor",{"2":{"27":1}}],["123456csharpvar",{"2":{"36":1}}],["123456csharpexpression",{"2":{"24":1}}],["123456",{"2":{"30":11,"38":1,"39":1}}],["1234567csharpqueryable",{"2":{"24":1}}],["1234567csharpdouble",{"2":{"21":1}}],["1234567csharp",{"2":{"20":1}}],["12345678asp",{"2":{"27":1}}],["123456789",{"2":{"44":1,"69":1,"74":1}}],["123456789csharplist",{"2":{"42":1}}],["123456789csharpvar",{"2":{"42":1}}],["12345678910111213",{"2":{"66":1}}],["1234567891011121314普通类型转换成动态类型",{"2":{"68":1}}],["12345678910111213141516",{"2":{"57":1}}],["1234567891011121314151617csharpdictionary",{"2":{"36":1}}],["1234567891011121314151617",{"2":{"35":1,"68":1,"79":1}}],["12345678910111213141516171819计算结果",{"2":{"75":1}}],["123456789101112131415161718192021如果是webapi全局使用",{"2":{"61":1}}],["1234567891011121314151617181920212223242526272829303132",{"2":{"31":1}}],["1234567891011121314151617181920212223242526272829303132333435363738394041424344",{"2":{"49":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111以上示例将为您的数据提供",{"2":{"80":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104",{"2":{"45":1}}],["1234567891011121314151617181920212223242526272829303132333435",{"2":{"40":1}}],["12345678910111213141516171819202122232425262728293031323334",{"2":{"30":1}}],["12345678910111213141516171819202122",{"2":{"29":1,"34":1}}],["1234567891011121314151617181920",{"2":{"47":1,"48":1}}],["12345678910111213141516171819csharpvar",{"2":{"22":1}}],["12345678910111213141516171819",{"2":{"15":1,"26":1}}],["1234567891011121314",{"2":{"16":1,"39":1}}],["123456789101112",{"2":{"52":1,"62":1}}],["1234567891011",{"2":{"33":1,"64":1}}],["12345678910",{"2":{"22":1,"80":1}}],["1234567890",{"2":{"20":2}}],["12345678如果你想让进制符支持emoji",{"2":{"20":1}}],["12345678的36进制是",{"2":{"20":1}}],["12345678",{"2":{"20":3,"21":1,"43":1,"46":1,"65":2}}],["1234567",{"2":{"14":1,"23":1,"28":1,"53":1,"61":1,"65":2}}],["1234",{"2":{"10":1,"32":1,"41":1}}],["12",{"0":{"27":1},"2":{"19":1,"20":1,"23":2,"24":1,"31":1,"36":1,"42":1,"51":1,"59":1,"65":1,"70":1,"75":1}}],["1及",{"2":{"5":1}}],["1",{"0":{"2":1,"3":1,"4":1,"14":1},"2":{"2":1,"3":1,"4":1,"5":1,"10":4,"14":4,"17":1,"22":2,"25":2,"27":2,"31":1,"33":2,"35":6,"37":1,"38":2,"40":3,"42":2,"45":20,"47":2,"48":2,"49":3,"68":2,"69":2,"75":15,"80":2,"86":1,"92":1}}],["666",{"2":{"45":1}}],["66",{"2":{"45":1}}],["62",{"2":{"41":1}}],["6891495s",{"2":{"22":1}}],["64进制",{"2":{"20":1}}],["64",{"2":{"20":1}}],["6",{"0":{"2":1,"21":1},"2":{"5":1,"45":2,"47":4,"49":1,"70":1}}],["4元",{"2":{"75":1}}],["49",{"0":{"72":1}}],["48",{"0":{"71":1}}],["47",{"0":{"70":1},"2":{"75":2}}],["46",{"0":{"69":1}}],["46位长度",{"2":{"20":1}}],["44",{"0":{"66":1},"1":{"67":1},"2":{"75":1}}],["43",{"0":{"65":1}}],["42",{"0":{"64":1}}],["4219864516915105792",{"2":{"22":2}}],["400000",{"2":{"75":1}}],["403845",{"2":{"75":1}}],["40",{"0":{"59":1}}],["4次",{"2":{"58":1}}],["41进制",{"2":{"20":1}}],["41",{"0":{"60":1},"1":{"61":1,"62":1,"63":1},"2":{"20":1}}],["45",{"0":{"68":1},"2":{"19":2}}],["4",{"0":{"2":1,"5":1,"17":1},"2":{"5":1,"31":1,"42":4,"45":4,"47":5,"58":1,"68":2}}],["≥",{"0":{"2":1,"3":1,"4":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/assets/chunks/@localSearchIndexroot.RlWnfnLl.js b/assets/chunks/@localSearchIndexroot.RlWnfnLl.js deleted file mode 100644 index ca7d4b5f..00000000 --- a/assets/chunks/@localSearchIndexroot.RlWnfnLl.js +++ /dev/null @@ -1 +0,0 @@ -const e='{"documentCount":93,"nextId":93,"documentIds":{"0":"/api.html#安装程序包","1":"/api.html#基础功能包","2":"/api.html#net-framework-≥-4-6-1","3":"/api.html#net-standard-≥-2-1-或只想使用一些基本功能","4":"/api.html#net-core-≥-2-1","5":"/api.html#net-framework-4-5特供版","6":"/api.html#增值包","7":"/api.html#masuit-tools-aspnetcore","8":"/api.html#masuit-tools-excel","9":"/api.html#masuit-tools-nosql-mongodbclient","10":"/api.html#为工具库注册配置","11":"/api.html#特色功能示例代码","12":"/api.html#在线体验","13":"/api.html#_0-一些创意类型","14":"/api.html#_1-检验字符串是否是email、手机号、url、ip地址、身份证号等","15":"/api.html#_2-硬件监测-仅支持windows-部分函数仅支持物理机模式","16":"/api.html#_3-html的防xss处理","17":"/api.html#_4-整理windows系统的内存","18":"/api.html#_5-任意进制转换-中文数字","19":"/api.html#大写数字","20":"/api.html#进制转换","21":"/api.html#_6-纳秒级性能计时器","22":"/api.html#_7-产生分布式唯一有序短id-雪花id","23":"/api.html#_8-农历转换","24":"/api.html#_9-linq表达式树扩展","25":"/api.html#_10-模版引擎","26":"/api.html#_11-list转datatable","27":"/api.html#_12-文件压缩解压","28":"/api.html#_13-简易日志组件-又不是不能用-jpg","29":"/api.html#_14-多线程后台下载","30":"/api.html#_15-加密解密-hash","31":"/api.html#_16-实体校验","32":"/api.html#_17-html操作","33":"/api.html#_18-ip地址和url","34":"/api.html#_19-对象属性值合并","35":"/api.html#_20-元素去重","36":"/api.html#_21-枚举扩展","37":"/api.html#_22-定长队列和concurrenthashset实现","38":"/api.html#_23-反射操作","39":"/api.html#_24-邮件发送","40":"/api.html#_25-图像的简单处理","41":"/api.html#_26-随机数","42":"/api.html#_27-权重随机筛选功能","43":"/api.html#_28-ef-core支持addorupdate方法","44":"/api.html#_29-敏感信息掩码","45":"/api.html#_30-集合扩展","46":"/api.html#_31-mime类型","47":"/api.html#_32-日期时间扩展","48":"/api.html#_33-流相关","49":"/api.html#_34-类型操作-字符串","50":"/api.html#_35-ini配置文件操作-仅支持windows","51":"/api.html#_36-雷达图计算引擎","52":"/api.html#_37-树形结构实现","53":"/api.html#_38-简单的excel导出","54":"/api.html#一些约定规则","55":"/api.html#_39-efcore实用扩展","56":"/api.html#跟踪实体变更对比","57":"/api.html#nolock查询","58":"/api.html#自动递归式include扩展-通常用于树形表","59":"/api.html#_40-任何类型支持链式调用","60":"/api.html#_41-newtonsoft-json和system-text-json的只允许字段-反-序列化行为的契约解释器","61":"/api.html#deserializeonlycontractresolver","62":"/api.html#fallbackjsonpropertyresolver","63":"/api.html#compositecontractresolver","64":"/api.html#_42-asp-net-core-action同时支持querystring、表单和json请求类型的模型绑点器bodyordefaultmodelbinder","65":"/api.html#_43-字符串simhash相似度算法","66":"/api.html#_44-真实文件类型探测-文本编码检测","67":"/api.html#默认支持的文件类型","68":"/api.html#_45-动态类型扩展","69":"/api.html#_46-反病毒-仅支持windows","70":"/api.html#_47-生成验证码","71":"/api.html#_48-distributedcache扩展","72":"/api.html#_49-viewdata扩展","73":"/api.html#_50-线程上下文存取临时值","74":"/api.html#_51-asp-net-core自动扫描注册服务","75":"/api.html#_52-房贷试算模型","76":"/api.html#asp-net-mvc和asp-net-core的支持断点续传和多线程下载的resumefileresult","77":"/api.html#支持-asp-net-core-2-0","78":"/api.html#如何使用","79":"/api.html#net-framework","80":"/api.html#asp-net-core","81":"/api.html#推荐项目","82":"/guid/#masuit-tools-码数吐司库","83":"/guid/#本项目已得到jetbrains的支持","84":"/guid/#star趋势","85":"/guid/#请注意","86":"/guid/#建议开发环境","87":"/guid/#推荐项目","88":"/guid.html#masuit-tools-码数吐司库","89":"/guid.html#本项目已得到jetbrains的支持","90":"/guid.html#star趋势","91":"/guid.html#请注意","92":"/guid.html#建议开发环境"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[1,2,1],"2":[7,3,8],"3":[7,3,9],"4":[6,3,10],"5":[5,3,29],"6":[1,2,1],"7":[3,3,11],"8":[3,3,2],"9":[4,3,2],"10":[1,1,39],"11":[1,1,1],"12":[1,2,9],"13":[2,2,59],"14":[6,2,57],"15":[5,2,69],"16":[3,2,64],"17":[3,2,5],"18":[3,2,1],"19":[1,5,10],"20":[1,5,93],"21":[2,2,27],"22":[4,2,63],"23":[2,2,28],"24":[2,2,47],"25":[2,2,26],"26":[2,2,27],"27":[2,2,51],"28":[5,2,18],"29":[2,2,61],"30":[3,2,82],"31":[2,2,56],"32":[2,2,18],"33":[2,2,51],"34":[2,2,26],"35":[2,2,22],"36":[2,2,61],"37":[2,2,20],"38":[2,2,23],"39":[2,2,40],"40":[2,2,91],"41":[2,2,26],"42":[2,2,39],"43":[3,2,18],"44":[2,2,36],"45":[2,2,169],"46":[2,2,27],"47":[2,2,62],"48":[2,2,53],"49":[3,2,126],"50":[4,2,18],"51":[2,2,14],"52":[2,2,51],"53":[2,2,26],"54":[2,4,24],"55":[2,2,1],"56":[1,4,25],"57":[1,4,50],"58":[3,4,17],"59":[2,2,15],"60":[7,2,1],"61":[1,9,61],"62":[1,9,27],"63":[1,9,2],"64":[6,2,31],"65":[2,2,11],"66":[3,2,30],"67":[1,5,215],"68":[2,2,40],"69":[4,2,28],"70":[2,2,11],"71":[2,2,19],"72":[2,2,13],"73":[2,2,13],"74":[4,2,15],"75":[2,2,149],"76":[4,1,17],"77":[6,4,14],"78":[1,4,1],"79":[3,5,36],"80":[3,5,105],"81":[1,5,8],"82":[4,1,39],"83":[1,4,1],"84":[1,4,1],"85":[2,4,22],"86":[1,4,15],"87":[1,4,8],"88":[4,1,40],"89":[1,4,1],"90":[1,4,1],"91":[2,4,21],"92":[1,4,15]},"averageFieldLength":[2.483870967741936,2.752688172043011,33.62365591397849],"storedFields":{"0":{"title":"安装程序包","titles":[null]},"1":{"title":"基础功能包","titles":[null,"安装程序包"]},"2":{"title":".NET Framework ≥ 4.6.1","titles":[null,"安装程序包","基础功能包"]},"3":{"title":".NET Standard ≥ 2.1 或只想使用一些基本功能","titles":[null,"安装程序包","基础功能包"]},"4":{"title":".NET Core ≥ 2.1","titles":[null,"安装程序包","基础功能包"]},"5":{"title":".NET Framework 4.5特供版","titles":[null,"安装程序包","基础功能包"]},"6":{"title":"增值包","titles":[null,"安装程序包"]},"7":{"title":"Masuit.Tools.AspNetCore","titles":[null,"安装程序包","增值包"]},"8":{"title":"Masuit.Tools.Excel","titles":[null,"安装程序包","增值包"]},"9":{"title":"Masuit.Tools.NoSQL.MongoDBClient","titles":[null,"安装程序包","增值包"]},"10":{"title":"为工具库注册配置","titles":[null]},"11":{"title":"特色功能示例代码","titles":[null]},"12":{"title":"在线体验","titles":[null,"特色功能示例代码"]},"13":{"title":"0. 一些创意类型","titles":[null,"特色功能示例代码"]},"14":{"title":"1. 检验字符串是否是Email、手机号、URL、IP地址、身份证号等","titles":[null,"特色功能示例代码"]},"15":{"title":"2.硬件监测(仅支持Windows,部分函数仅支持物理机模式)","titles":[null,"特色功能示例代码"]},"16":{"title":"3.html的防XSS处理:","titles":[null,"特色功能示例代码"]},"17":{"title":"4.整理Windows系统的内存:","titles":[null,"特色功能示例代码"]},"18":{"title":"5.任意进制转换/中文数字","titles":[null,"特色功能示例代码"]},"19":{"title":"大写数字","titles":[null,"特色功能示例代码","5.任意进制转换/中文数字"]},"20":{"title":"进制转换","titles":[null,"特色功能示例代码","5.任意进制转换/中文数字"]},"21":{"title":"6.纳秒级性能计时器","titles":[null,"特色功能示例代码"]},"22":{"title":"7.产生分布式唯一有序短id(雪花id)","titles":[null,"特色功能示例代码"]},"23":{"title":"8.农历转换","titles":[null,"特色功能示例代码"]},"24":{"title":"9.Linq表达式树扩展","titles":[null,"特色功能示例代码"]},"25":{"title":"10.模版引擎","titles":[null,"特色功能示例代码"]},"26":{"title":"11.List转Datatable","titles":[null,"特色功能示例代码"]},"27":{"title":"12.文件压缩解压","titles":[null,"特色功能示例代码"]},"28":{"title":"13.简易日志组件(又不是不能用.jpg)","titles":[null,"特色功能示例代码"]},"29":{"title":"14.多线程后台下载","titles":[null,"特色功能示例代码"]},"30":{"title":"15.加密解密/hash","titles":[null,"特色功能示例代码"]},"31":{"title":"16.实体校验","titles":[null,"特色功能示例代码"]},"32":{"title":"17.HTML操作","titles":[null,"特色功能示例代码"]},"33":{"title":"18.IP地址和URL","titles":[null,"特色功能示例代码"]},"34":{"title":"19.对象属性值合并","titles":[null,"特色功能示例代码"]},"35":{"title":"20.元素去重","titles":[null,"特色功能示例代码"]},"36":{"title":"21.枚举扩展","titles":[null,"特色功能示例代码"]},"37":{"title":"22.定长队列和ConcurrentHashSet实现","titles":[null,"特色功能示例代码"]},"38":{"title":"23.反射操作","titles":[null,"特色功能示例代码"]},"39":{"title":"24.邮件发送","titles":[null,"特色功能示例代码"]},"40":{"title":"25.图像的简单处理","titles":[null,"特色功能示例代码"]},"41":{"title":"26.随机数","titles":[null,"特色功能示例代码"]},"42":{"title":"27.权重随机筛选功能","titles":[null,"特色功能示例代码"]},"43":{"title":"28.EF Core支持AddOrUpdate方法","titles":[null,"特色功能示例代码"]},"44":{"title":"29.敏感信息掩码","titles":[null,"特色功能示例代码"]},"45":{"title":"30.集合扩展","titles":[null,"特色功能示例代码"]},"46":{"title":"31.Mime类型","titles":[null,"特色功能示例代码"]},"47":{"title":"32.日期时间扩展","titles":[null,"特色功能示例代码"]},"48":{"title":"33.流相关","titles":[null,"特色功能示例代码"]},"49":{"title":"34.类型操作/字符串","titles":[null,"特色功能示例代码"]},"50":{"title":"35.INI配置文件操作(仅支持Windows)","titles":[null,"特色功能示例代码"]},"51":{"title":"36.雷达图计算引擎","titles":[null,"特色功能示例代码"]},"52":{"title":"37.树形结构实现","titles":[null,"特色功能示例代码"]},"53":{"title":"38.简单的Excel导出","titles":[null,"特色功能示例代码"]},"54":{"title":"一些约定规则:","titles":[null,"特色功能示例代码","38.简单的Excel导出"]},"55":{"title":"39.EFCore实用扩展","titles":[null,"特色功能示例代码"]},"56":{"title":"跟踪实体变更对比","titles":[null,"特色功能示例代码","39.EFCore实用扩展"]},"57":{"title":"nolock查询","titles":[null,"特色功能示例代码","39.EFCore实用扩展"]},"58":{"title":"自动递归式Include扩展(通常用于树形表)","titles":[null,"特色功能示例代码","39.EFCore实用扩展"]},"59":{"title":"40.任何类型支持链式调用","titles":[null,"特色功能示例代码"]},"60":{"title":"41.Newtonsoft.Json和System.Text.Json的只允许字段(反)序列化行为的契约解释器","titles":[null,"特色功能示例代码"]},"61":{"title":"DeserializeOnlyContractResolver","titles":[null,"特色功能示例代码","41.Newtonsoft.Json和System.Text.Json的只允许字段(反)序列化行为的契约解释器"]},"62":{"title":"FallbackJsonPropertyResolver","titles":[null,"特色功能示例代码","41.Newtonsoft.Json和System.Text.Json的只允许字段(反)序列化行为的契约解释器"]},"63":{"title":"CompositeContractResolver","titles":[null,"特色功能示例代码","41.Newtonsoft.Json和System.Text.Json的只允许字段(反)序列化行为的契约解释器"]},"64":{"title":"42. ASP.NET Core Action同时支持queryString、表单和json请求类型的模型绑点器BodyOrDefaultModelBinder","titles":[null,"特色功能示例代码"]},"65":{"title":"43. 字符串SimHash相似度算法","titles":[null,"特色功能示例代码"]},"66":{"title":"44. 真实文件类型探测/文本编码检测","titles":[null,"特色功能示例代码"]},"67":{"title":"默认支持的文件类型","titles":[null,"特色功能示例代码","44. 真实文件类型探测/文本编码检测"]},"68":{"title":"45. 动态类型扩展","titles":[null,"特色功能示例代码"]},"69":{"title":"46. 反病毒(仅支持Windows)","titles":[null,"特色功能示例代码"]},"70":{"title":"47. 生成验证码","titles":[null,"特色功能示例代码"]},"71":{"title":"48. DistributedCache扩展","titles":[null,"特色功能示例代码"]},"72":{"title":"49. ViewData扩展","titles":[null,"特色功能示例代码"]},"73":{"title":"50. 线程上下文存取临时值","titles":[null,"特色功能示例代码"]},"74":{"title":"51. ASP.NET Core自动扫描注册服务","titles":[null,"特色功能示例代码"]},"75":{"title":"52. 房贷试算模型","titles":[null,"特色功能示例代码"]},"76":{"title":"Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult","titles":[]},"77":{"title":"支持 ASP.NET Core 2.0+","titles":["Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult"]},"78":{"title":"如何使用","titles":["Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult"]},"79":{"title":".NET Framework","titles":["Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult","如何使用"]},"80":{"title":"Asp.Net Core","titles":["Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult","如何使用"]},"81":{"title":"推荐项目","titles":["Asp.Net MVC和Asp.Net Core的支持断点续传和多线程下载的ResumeFileResult","如何使用"]},"82":{"title":"Masuit.Tools(码数吐司库)","titles":[]},"83":{"title":"本项目已得到","titles":["Masuit.Tools(码数吐司库)"]},"84":{"title":"Star趋势","titles":["Masuit.Tools(码数吐司库)"]},"85":{"title":"请注意:","titles":["Masuit.Tools(码数吐司库)"]},"86":{"title":"建议开发环境","titles":["Masuit.Tools(码数吐司库)"]},"87":{"title":"推荐项目","titles":["Masuit.Tools(码数吐司库)","建议开发环境"]},"88":{"title":"Masuit.Tools(码数吐司库)","titles":[]},"89":{"title":"本项目已得到","titles":["Masuit.Tools(码数吐司库)"]},"90":{"title":"Star趋势","titles":["Masuit.Tools(码数吐司库)"]},"91":{"title":"请注意:","titles":["Masuit.Tools(码数吐司库)"]},"92":{"title":"建议开发环境","titles":["Masuit.Tools(码数吐司库)"]}},"dirtCount":0,"index":[["人力外包公司或",{"2":{"91":1}}],["人人有责",{"2":{"85":1,"91":1}}],["不管你是菜鸟新手还是骨灰级玩家都能轻松上手",{"2":{"88":1}}],["不过如果你确实有这么骚的需求",{"2":{"20":1}}],["操作系统",{"2":{"86":1,"92":1}}],["建议开发环境",{"0":{"86":1,"92":1},"1":{"87":1}}],["也是废人",{"2":{"85":1,"91":1}}],["其他企业或个人可随意使用不受限",{"2":{"85":1,"91":1}}],["其中",{"2":{"54":1}}],["外包公司或",{"2":{"85":1}}],["或者直接不允许使用任何包含本项目的源代码",{"2":{"85":1,"91":1}}],["或只想使用一些基本功能",{"0":{"3":1}}],["公司工商注册信息认缴金额的2",{"2":{"85":1,"91":1}}],["公钥加密",{"2":{"30":1}}],["雇佣童工等",{"2":{"85":1,"91":1}}],["超时用工",{"2":{"85":1,"91":1}}],["超大数字的进制转换",{"2":{"20":1}}],["超大内存流",{"2":{"13":1}}],["包括但不限定非法裁员",{"2":{"85":1,"91":1}}],["包含一些常用的操作类",{"2":{"82":1}}],["包含masuit",{"2":{"7":1}}],["🤣🤣🤣",{"2":{"82":1,"88":1}}],["🤔1🥳a👨‍👩‍👧‍👦啊",{"2":{"49":1}}],["想适当打赏我也是不会拒绝的",{"2":{"82":1,"88":1}}],["我会为你提供完全免费的技术指导",{"2":{"82":1,"88":1}}],["我还准备了unicodeformater类",{"2":{"20":1}}],["关于本项目",{"2":{"82":1,"88":1}}],["⭐⭐⭐喜欢这个项目的话就star",{"2":{"82":1,"88":1}}],["日常代码积累+网络搜集",{"2":{"82":1,"88":1}}],["日期时间扩展操作",{"2":{"82":1,"88":1}}],["日期时间扩展",{"0":{"47":1}}],["项目开发模式",{"2":{"82":1,"88":1}}],["官网教程",{"2":{"82":1,"88":1}}],["代码量不到2mb",{"2":{"82":1,"88":1}}],["诸多功能集一身",{"2":{"82":1,"88":1}}],["断点续传",{"2":{"82":1,"88":1}}],["验证码",{"2":{"82":1,"88":1}}],["表达式树",{"2":{"82":1,"88":1}}],["表单和json请求类型的模型绑点器bodyordefaultmodelbinder",{"0":{"64":1}}],["权重随机筛选算法",{"2":{"82":1,"88":1}}],["权重随机筛选功能",{"0":{"42":1}}],["万能工具库",{"2":{"82":1}}],["万金油",{"2":{"25":3}}],["新手友好的c",{"2":{"82":1}}],["新值",{"2":{"56":1}}],["码数吐司库",{"0":{"82":1,"88":1},"1":{"83":1,"84":1,"85":1,"86":1,"87":1,"89":1,"90":1,"91":1,"92":1}}],["另外",{"2":{"80":1}}],["提供",{"2":{"80":1}}],["提前还款节省利息savedinterest",{"2":{"75":1}}],["提前还款前月供4260",{"2":{"75":1}}],["提前还款前月供4771",{"2":{"75":1}}],["提前还款前月供5273",{"2":{"75":1}}],["提前还款前月供5948",{"2":{"75":1}}],["提前还款后月供首月4251",{"2":{"75":1}}],["提前还款后月供首月4762",{"2":{"75":1}}],["提前还款后月供4493",{"2":{"75":1}}],["提前还款后月供5339",{"2":{"75":1}}],["提前还款计划",{"2":{"75":1}}],["数据将作为",{"2":{"80":1}}],["数组形式",{"2":{"49":1}}],["点击查看代码",{"2":{"80":1}}],["必须在",{"2":{"80":1}}],["必须包含数字",{"2":{"31":1}}],["要使用resumefileresults",{"2":{"80":1}}],["要求c",{"2":{"69":1}}],["要求系统windowsdefender没有被停掉",{"2":{"69":1}}],["~",{"2":{"79":2}}],["所有代码都依赖于基础",{"2":{"77":1}}],["所处深度",{"2":{"52":1}}],["只留下了",{"2":{"77":1}}],["因此只是对fileresult做了一些扩展",{"2":{"77":1}}],["因银行计算受实时利率或提前还款违约金影响",{"2":{"75":1}}],["支持",{"0":{"77":1}}],["支持多次提前还款和多次调整利率",{"2":{"75":1}}],["它可以提供",{"2":{"80":1}}],["它还支持以下前置条件标头",{"2":{"76":1}}],["它提供了",{"2":{"76":1}}],["剩余本金等信息",{"2":{"75":1}}],["本项目作者有权利追讨本项目的使用费",{"2":{"85":1,"91":1}}],["本项目已得到",{"0":{"83":1,"89":1}}],["本金",{"2":{"75":1}}],["本试算模型的计算结果和银行结果大约有1",{"2":{"75":1}}],["利息",{"2":{"75":1}}],["利率调整",{"2":{"75":1}}],["总还款期数paymentplans",{"2":{"75":1}}],["总提前还款totalrepayment",{"2":{"75":1}}],["总利息totalinterest",{"2":{"75":1}}],["期数减少38期",{"2":{"75":1}}],["期数减少64期",{"2":{"75":1}}],["每条记录可以展示当期的利率",{"2":{"75":1}}],["每月递减8",{"2":{"75":1}}],["每月递减60",{"2":{"75":1}}],["每个元素支持正则表达式",{"2":{"10":2}}],["还款方式改为了等额本金",{"2":{"75":1}}],["调整次月还款8",{"2":{"75":1}}],["调整次月还款5118",{"2":{"75":1}}],["调整后首月4457",{"2":{"75":1}}],["调整后月供4702",{"2":{"75":1}}],["调整后月供4496",{"2":{"75":1}}],["调整后月供5273",{"2":{"75":1}}],["调整后月供5948",{"2":{"75":1}}],["调整前月供4762",{"2":{"75":1}}],["调整前月供4496",{"2":{"75":1}}],["调整前月供5273",{"2":{"75":1}}],["调整前月供5948",{"2":{"75":1}}],["调整前月供6170",{"2":{"75":1}}],["调整光暗",{"2":{"40":1}}],["政策因素银行自动调整",{"2":{"75":1}}],["首次还款时间2021",{"2":{"75":1}}],["贷款方式不变",{"2":{"75":1}}],["贷款100万",{"2":{"75":1}}],["贷30年",{"2":{"75":1}}],["等额本息方式",{"2":{"75":1}}],["初始利率6",{"2":{"75":1}}],["模拟案例",{"2":{"75":1}}],["模版变量",{"2":{"25":1}}],["模版引擎",{"0":{"25":1}}],["的误差",{"2":{"75":1}}],["集成案例",{"2":{"75":1}}],["集合元素继承自itreeparent",{"2":{"52":1}}],["集合元素继承自itreeentity",{"2":{"52":1}}],["集合元素改变其索引位置",{"2":{"45":1}}],["集合扩展",{"0":{"45":1},"2":{"82":1,"88":1}}],["房贷试算模型",{"0":{"75":1}}],["需要自动注册的服务打上serviceinject标记即可",{"2":{"74":1}}],["需要额外依赖包",{"2":{"53":1}}],["线程上下文存取临时值",{"0":{"73":1}}],["添加或更新值",{"2":{"71":1}}],["添加或更新键值对",{"2":{"45":1}}],["扫描二进制数组",{"2":{"69":1}}],["扫描文件流",{"2":{"69":2}}],["扫描文件夹",{"2":{"69":1}}],["扫描文件",{"2":{"69":2}}],["增加属性",{"2":{"68":1}}],["增值包",{"0":{"6":1},"1":{"7":1,"8":1,"9":1}}],["删除属性",{"2":{"68":1}}],["y",{"2":{"68":2,"69":3}}],["yxwc4kphjvqu06rh",{"2":{"29":1}}],["男",{"2":{"68":1}}],["让动态类型支持属性访问器和索引器调用",{"2":{"68":1}}],["动态类型扩展",{"0":{"68":1}}],["说明",{"2":{"67":1}}],["格式类别",{"2":{"66":1}}],["真实扩展名",{"2":{"66":1}}],["真实文件类型探测",{"0":{"66":1},"1":{"67":1}}],["文本编码检测",{"0":{"66":1},"1":{"67":1}}],["文件密码",{"2":{"53":1}}],["文件流快速复制",{"2":{"48":1}}],["文件合并完成",{"2":{"29":1}}],["文件压缩解压",{"0":{"27":1}}],["文件压缩",{"2":{"5":1,"82":1,"88":1}}],["即可",{"2":{"64":1}}],["引入包",{"2":{"64":1}}],["该解释器是deserializeonlycontractresolver和fallbackjsonpropertyresolver的融合版",{"2":{"63":1}}],["该解释器针对某个属性设置多个别名",{"2":{"62":1}}],["该解释器针对类属性被deserializeonlyjsonpropertyattribute",{"2":{"61":1}}],["弥补官方jsonproperty别名属性只能设置单一别名的不足",{"2":{"62":1}}],["被serializeonlyjsonpropertyattribute",{"2":{"61":1}}],["序列化时加载这个属性",{"2":{"61":1}}],["序列化时忽略这个属性",{"2":{"61":1}}],["序列化行为的契约解释器",{"0":{"60":1},"1":{"61":1,"62":1,"63":1}}],["序列化成json字符串",{"2":{"49":1}}],["任何性质的",{"2":{"85":1}}],["任何类型支持链式调用",{"0":{"59":1}}],["任君调用",{"2":{"66":1}}],["任意流转换成二进制数组",{"2":{"48":2}}],["任意流转换成内存流",{"2":{"48":1}}],["任意进制转换",{"0":{"18":1},"1":{"19":1,"20":1}}],["那么可以改成这样",{"2":{"58":1}}],["xml",{"2":{"67":1}}],["xlsx",{"2":{"67":1}}],["xls",{"2":{"67":1}}],["xar",{"2":{"67":2}}],["xr",{"2":{"67":1}}],["x",{"2":{"59":1,"68":6}}],["x=>math",{"2":{"59":1}}],["x=>x",{"2":{"57":7,"59":1}}],["x3c",{"2":{"15":1,"16":22,"21":2,"22":2,"24":10,"26":1,"27":2,"31":1,"32":1,"33":2,"35":2,"36":1,"37":5,"42":13,"43":3,"45":12,"47":2,"49":5,"52":4,"56":4,"57":2,"68":2,"71":5,"72":3,"73":3,"75":2,"80":4}}],["执行策略",{"2":{"57":1}}],["执行单个nolock查询需要开启策略查询",{"2":{"57":1}}],["执行单个nolock查询",{"2":{"57":1}}],["执行for循环100000次耗时",{"2":{"21":2}}],["开发工具",{"2":{"86":1,"92":1}}],["开源博客系统",{"2":{"81":1,"87":1}}],["开启一个nolock上下文",{"2":{"57":1}}],["开始下载",{"2":{"29":1}}],["但有可能会读取到脏数据",{"2":{"57":1}}],["但是",{"2":{"20":1}}],["此时的查询性能最好",{"2":{"57":1}}],["上下文范围内自动nolock",{"2":{"57":1}}],["上下文注入interceptor即可在任何查询时使用nolock查询",{"2":{"57":1}}],["上下镜像",{"2":{"40":1}}],["变更状态等",{"2":{"56":1}}],["键信息",{"2":{"56":1}}],["旧值",{"2":{"56":1}}],["跟踪实体变更对比",{"0":{"56":1}}],["默认支持的文件类型",{"0":{"67":1}}],["默认会先查找每个字段的description标记",{"2":{"54":1}}],["默认字段名作为列名导出",{"2":{"54":1}}],["默认最小长度6",{"2":{"31":2}}],["姓名=item",{"2":{"53":1}}],["姓名=c",{"2":{"26":1}}],["简单的excel导出",{"0":{"53":1},"1":{"54":1}}],["简易日志组件",{"0":{"28":1}}],["全龄段友好的c",{"2":{"88":1}}],["全路径",{"2":{"52":1}}],["全局设置",{"2":{"22":1}}],["层级",{"2":{"52":1}}],["从",{"2":{"77":1}}],["从树形集合中过滤",{"2":{"52":1}}],["从而起到保护文章的作用",{"2":{"30":1}}],["同时支持提前还款时变更贷款方式和缩短年限",{"2":{"75":1}}],["同时多了id和parentid属性",{"2":{"52":1}}],["同时多了name属性",{"2":{"52":1}}],["同步复制大文件",{"2":{"48":1}}],["继承itreechildren",{"2":{"52":1}}],["继承itreeparent和itreechildren",{"2":{"52":1}}],["继续下载",{"2":{"29":1}}],["树形结构实现",{"0":{"52":1}}],["树形实体接口约束",{"2":{"13":1}}],["计算代码如下",{"2":{"75":1}}],["计算多边形面积",{"2":{"51":1}}],["计算两个多边形的相似度",{"2":{"51":1}}],["计算字符串以14号字体大小的微软雅黑字体的渲染宽度像素",{"2":{"49":1}}],["计算字符串以14号字体大小的渲染宽度像素",{"2":{"49":1}}],["应用场景",{"2":{"51":1}}],["雷达图计算引擎",{"0":{"51":1}}],["雷达图类型",{"2":{"13":1}}],["清空配置节",{"2":{"50":1}}],["清空所有配置节",{"2":{"50":1}}],["清理后",{"2":{"16":1}}],["aa",{"2":{"49":1}}],["宽度",{"2":{"49":1}}],["长度",{"2":{"49":1}}],["微软雅黑",{"2":{"49":1}}],["没有计时攻击风险",{"2":{"49":1}}],["延迟执行",{"2":{"49":1}}],["泛型形式",{"2":{"49":1}}],["枚举",{"2":{"49":1}}],["枚举扩展",{"0":{"36":1}}],["基于entityframeworkcore和lucene",{"2":{"81":1,"87":1}}],["基础文件类型",{"2":{"66":1}}],["基础功能包",{"0":{"1":1},"1":{"2":1,"3":1,"4":1,"5":1}}],["基本接口类",{"2":{"52":1}}],["基元类型为",{"2":{"49":1}}],["小数转t基本类型",{"2":{"49":3}}],["小数转int",{"2":{"49":1}}],["重要数据请谨慎使用",{"2":{"48":1}}],["流扩展调用",{"2":{"66":1}}],["流洗码",{"2":{"48":1}}],["流相关",{"0":{"48":1}}],["根据某个时间段查找在某批时间段中的最大并集",{"2":{"47":1}}],["两个时间段是否相交",{"2":{"47":1}}],["结果仅供参考",{"2":{"75":1}}],["结果",{"2":{"47":1}}],["连接两个时间段",{"2":{"47":1}}],["时间段计算工具",{"2":{"47":1}}],["分布式短id",{"2":{"82":1,"88":1}}],["分位数的元素",{"2":{"45":1}}],["分页查询",{"2":{"45":2}}],["求标准差",{"2":{"45":1}}],["当然",{"2":{"82":1,"88":1}}],["当没有提供filename时",{"2":{"80":1}}],["当集合为空的时候不会报错",{"2":{"45":6}}],["当键重复时只添加一个键",{"2":{"45":3}}],["取字符串前10个字符",{"2":{"49":1}}],["取第50",{"2":{"45":1}}],["取最小值",{"2":{"45":3}}],["取最大值",{"2":{"45":3}}],["取消口令",{"2":{"45":1}}],["带parent属性的接口",{"2":{"52":1}}],["带children属性的接口",{"2":{"52":1}}],["带索引编号",{"2":{"45":2}}],["带嵌套层级的",{"2":{"38":1}}],["转换为半角",{"2":{"49":1}}],["转换为全角",{"2":{"49":1}}],["转换成datatable类型",{"2":{"45":1}}],["转换成并发字典类型",{"2":{"45":1}}],["转换成黑白",{"2":{"40":1}}],["转decimal并保留两位小数",{"2":{"49":1}}],["转hashset",{"2":{"45":1}}],["是否是叶子节点",{"2":{"52":1}}],["是否是根节点",{"2":{"52":1}}],["是否有数据行",{"2":{"45":1}}],["是否带校验位",{"2":{"14":1}}],["普通字典转换成并发字典集合",{"2":{"45":1}}],["若有description标记",{"2":{"54":1}}],["若list是一个具体的强类型",{"2":{"54":1}}],["若更新则值为666",{"2":{"45":1}}],["若更新则值为66",{"2":{"45":1}}],["若未调用",{"2":{"10":1}}],["若未配置",{"2":{"10":2}}],["批量添加或更新键值对",{"2":{"45":1}}],["安全匹配",{"2":{"49":1}}],["安全的转换成字典类型",{"2":{"45":2}}],["安装程序包",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1}}],["后插入",{"2":{"45":1}}],["在任何法律诉讼中败诉的",{"2":{"85":1,"91":1}}],["在你的控制器中",{"2":{"79":1}}],["在asp",{"2":{"76":1}}],["在startup",{"2":{"61":1}}],["在反序列化的时候忽略",{"2":{"61":1}}],["在反序列化的时候生效",{"2":{"61":1}}],["在序列化的时候生效",{"2":{"61":1}}],["在序列化的时候忽略",{"2":{"61":1}}],["在流的末端随即增加几个空字节",{"2":{"48":1}}],["在元素",{"2":{"45":1}}],["在第一个元素之后插入",{"2":{"45":1}}],["在线体验",{"0":{"12":1}}],["敏感信息掩码",{"0":{"44":1}}],["按字段取交集",{"2":{"45":1}}],["按字段取差集",{"2":{"45":1}}],["按id添加或更新文章实体",{"2":{"43":1}}],["按价格权重选出1个元素",{"2":{"42":1}}],["按价格权重选出3个元素",{"2":{"42":1}}],["按权重选出3个元素",{"2":{"42":1}}],["按权重选出2个元素",{"2":{"42":1}}],["按权重选出1个元素",{"2":{"42":2}}],["随机排序",{"2":{"45":1}}],["随机数",{"0":{"41":1}}],["随机字符串等操作",{"2":{"20":1}}],["范围",{"2":{"40":1}}],["图片列支持stream",{"2":{"54":1}}],["图片列",{"2":{"53":1}}],["图片的相似度",{"2":{"40":1}}],["图片2",{"2":{"40":4}}],["图片1",{"2":{"40":4}}],["图像裁剪",{"2":{"82":1,"88":1}}],["图像相似度对比",{"2":{"40":1}}],["图像的简单处理",{"0":{"40":1}}],["给datatable增加一个自增列",{"2":{"45":1}}],["给图片添加水印",{"2":{"40":2}}],["给对象设置值",{"2":{"38":1}}],["边距",{"2":{"40":2}}],["水印图片",{"2":{"40":1}}],["水印位置",{"2":{"40":2}}],["水印文字",{"2":{"40":1}}],["字典的键为图片超链接的完整url",{"2":{"54":1}}],["字典获取或添加元素",{"2":{"45":2}}],["字符数",{"2":{"49":1}}],["字符串扩展方法",{"2":{"82":1,"88":1}}],["字符串simhash相似度算法",{"0":{"65":1}}],["字符串的转换",{"2":{"49":1}}],["字符串",{"0":{"49":1}}],["字符串转datetime",{"2":{"47":1}}],["字节数",{"2":{"49":1}}],["字体",{"2":{"40":1}}],["字体大小",{"2":{"40":2}}],["字体文件",{"2":{"40":1}}],["字母",{"2":{"31":2}}],["解压gif每帧图片",{"2":{"40":1}}],["解压rar",{"2":{"27":1}}],["浮雕处理",{"2":{"40":1}}],["反对007",{"2":{"91":1}}],["反对996",{"2":{"85":1}}],["反病毒",{"0":{"69":1}}],["反序列化时支持多个别名key进行绑定",{"2":{"62":1}}],["反序列化时忽略这个属性",{"2":{"61":1}}],["反序列化时加载这个属性",{"2":{"61":1}}],["反",{"0":{"60":1},"1":{"61":1,"62":1,"63":1}}],["反色处理",{"2":{"40":1}}],["反射操作",{"0":{"38":1},"2":{"82":1,"88":1}}],["左右镜像",{"2":{"40":1}}],["改变大小",{"2":{"40":1}}],["改良版雪花id",{"2":{"22":2}}],["裁剪并缩放",{"2":{"40":1}}],["裁剪",{"2":{"40":1}}],["异步获取文件的sha1",{"2":{"48":1}}],["异步获取文件的md5",{"2":{"48":1}}],["异步复制大文件",{"2":{"48":1}}],["异步select",{"2":{"45":2}}],["异步for",{"2":{"45":1}}],["异步foreach",{"2":{"45":1}}],["异步发送邮件",{"2":{"39":1}}],["异常消息",{"2":{"28":1}}],["发送成功后的回调",{"2":{"39":1}}],["测试邮件",{"2":{"39":1}}],["收件人",{"2":{"39":1}}],["使用system",{"2":{"44":2}}],["使用ssl",{"2":{"39":1}}],["使用newtonsoft",{"2":{"44":2}}],["使用中值算法计算给定图像的64位哈希",{"2":{"40":2}}],["使用dct算法计算图像的64位哈希",{"2":{"40":2}}],["使用平均值算法计算图像的64位哈希",{"2":{"40":2}}],["使用差分哈希算法计算图像的256位哈希",{"2":{"40":2}}],["使攻击者无法直接识别文本内容",{"2":{"30":1}}],["邮件内容",{"2":{"39":1}}],["邮件标题",{"2":{"39":1}}],["邮件发送",{"0":{"39":1}}],["邮箱密码",{"2":{"39":1}}],["邮箱用户名",{"2":{"39":1}}],["邮箱校验需要用到的黑名单域名",{"2":{"10":1}}],["邮箱校验需要用到的白名单域名",{"2":{"10":1}}],["声明一个容量为32个元素的线程安全的定长队列",{"2":{"37":1}}],["声明一个容量为32个元素的定长队列",{"2":{"37":1}}],["推荐项目",{"0":{"81":1,"87":1}}],["推荐使用依赖注入",{"2":{"79":1}}],["推荐使用框架自带的channel实现该功能",{"2":{"37":1}}],["推荐当数据流大于2gb时使用",{"2":{"13":1,"48":1}}],["这个库包含一些常用的操作类",{"2":{"88":1}}],["这个函数建议使用在按位定值的枚举",{"2":{"36":1}}],["这是",{"2":{"5":1}}],["得到枚举数组",{"2":{"36":1}}],["拆分枚举值",{"2":{"36":1}}],["写值",{"2":{"50":1}}],["写",{"2":{"36":2}}],["多线程下载",{"2":{"88":1}}],["多线程下载和ftp客户端",{"2":{"82":1}}],["多线程后台下载",{"0":{"29":1}}],["多种方式",{"2":{"66":1}}],["多个集合取交集",{"2":{"45":1}}],["多语言枚举描述",{"2":{"36":1}}],["读未提交级别的事务",{"2":{"57":1}}],["读值",{"2":{"50":1}}],["读取操作",{"2":{"36":1}}],["读",{"2":{"36":3}}],["元素去重",{"0":{"35":1}}],["元旦节",{"2":{"23":1}}],["合并后对象",{"2":{"34":1}}],["对象转换成动态可扩展类型",{"2":{"38":1}}],["对象转字典",{"2":{"38":1}}],["对象深拷贝",{"2":{"38":1}}],["对象属性值合并",{"0":{"34":1}}],["对时间回拨不敏感",{"2":{"22":2}}],["判断字符串不为空",{"2":{"49":1}}],["判断字符串是否为空",{"2":{"49":1}}],["判断类型是否是常见类型的",{"2":{"49":2}}],["判断类型是否是常见的简单类型",{"2":{"49":1}}],["判断类型是否是值类型",{"2":{"49":1}}],["判断是否包含某个时间段",{"2":{"47":1}}],["判断是否在某个时间段内",{"2":{"47":1}}],["判断是否是外网的url",{"2":{"33":1}}],["判断是否是私有地址",{"2":{"33":1}}],["判断序列相等",{"2":{"45":1}}],["判断ip地址是否在这个地址段里",{"2":{"33":1}}],["去除html标签",{"2":{"32":1}}],["检查datatable",{"2":{"45":1}}],["检测字符串中是否以列表中的任意关键词开头",{"2":{"49":1}}],["检测字符串中是否以列表中的任意关键词结尾",{"2":{"49":1}}],["检测字符串中是否包含列表中的关键词",{"2":{"49":2}}],["检测集合元素最少1个",{"2":{"31":1}}],["检测是否是有效枚举值",{"2":{"31":1}}],["检验字符串是否是email",{"0":{"14":1}}],["配置使用fallbackjsonpropertyresolver解释器",{"2":{"62":1}}],["配置使用deserializeonlycontractresolver解释器",{"2":{"61":1}}],["配置最小长度4",{"2":{"31":1}}],["配合随机数生成随机字符串",{"2":{"20":1}}],["最大可支持1tb内存数据",{"2":{"48":1}}],["最大可支持1tb数据",{"2":{"13":1}}],["最大长度12",{"2":{"31":1}}],["最大长度30",{"2":{"31":2}}],["密码复杂度校验",{"2":{"31":3}}],["年龄=item",{"2":{"53":1}}],["年龄=c",{"2":{"26":1}}],["年龄最大100岁",{"2":{"31":1}}],["年龄最小为0岁",{"2":{"31":1}}],["类型的直接调用",{"2":{"54":1}}],["类型",{"2":{"49":2,"54":1}}],["类型操作",{"0":{"49":1}}],["类调用",{"2":{"30":3,"66":2}}],["类似于各大系统优化软件的加速球功能",{"2":{"17":1}}],["将来有竞争力",{"2":{"85":1,"91":1}}],["将数据平铺开",{"2":{"52":1}}],["将小数截断为8位",{"2":{"49":1}}],["将内存流转储成文件",{"2":{"48":1}}],["将id为123的元素的索引位置变为第2个",{"2":{"45":1}}],["将元素item的索引位置变为第3个",{"2":{"45":1}}],["将字符串集合连接成逗号分隔的单字符串",{"2":{"45":1}}],["将字符串编码成零宽字符串",{"2":{"30":2}}],["将集合中长度小于1的元素移除",{"2":{"45":1}}],["将被添加元素中不包含的元素添加到list",{"2":{"45":1}}],["将被添加元素中的长度大于1的元素添加到list",{"2":{"45":1}}],["将base64编码转换成图片",{"2":{"40":1}}],["将包含零宽字符串的密文解密出隐藏字符串",{"2":{"30":2}}],["将",{"2":{"30":2}}],["将自动填充列姓名和年龄",{"2":{"26":1}}],["扩展名",{"2":{"67":1}}],["扩展调用",{"2":{"66":3}}],["扩展函数调用",{"2":{"30":3}}],["扩展方法形式调用",{"2":{"20":1}}],["以下需要配置baiduak",{"2":{"33":1}}],["以零宽字符串的方式隐藏在",{"2":{"30":2}}],["以一种看不见的字符插入到文本中",{"2":{"30":1}}],["以享受完整的功能体验",{"2":{"5":1}}],["通常用于树形表",{"0":{"58":1}}],["通常用作文章暗水印",{"2":{"30":1}}],["通用项目推荐首选包",{"2":{"3":1}}],["零宽字符串",{"2":{"30":1}}],["私钥解密",{"2":{"30":1}}],["生成6位长度的验证码",{"2":{"70":1}}],["生成验证码图片流",{"2":{"70":1}}],["生成验证码",{"0":{"70":1}}],["生成随机字符串",{"2":{"41":1}}],["生成缩略图",{"2":{"40":1}}],["生成sha256摘要",{"2":{"30":1}}],["生成crc64摘要",{"2":{"30":1}}],["生成crc32摘要",{"2":{"30":1}}],["生成rsa密钥对",{"2":{"30":1}}],["生肖",{"2":{"23":1}}],["加密解密",{"0":{"30":1},"2":{"82":1,"88":1}}],["暂停下载",{"2":{"29":1}}],["下载完成",{"2":{"29":1}}],["下载速度",{"2":{"29":1}}],["下载进度",{"2":{"29":1}}],["key",{"2":{"50":2,"71":5,"72":3}}],["keyshot",{"2":{"29":2}}],["key可为null的字典类型",{"2":{"13":1}}],["记录一次消息",{"2":{"28":1}}],["注册一些事件操作",{"2":{"28":1}}],["又不是不能用",{"0":{"28":1}}],["自动扫描注册服务",{"2":{"74":1}}],["自动include",{"2":{"58":1}}],["自动递归式include扩展",{"0":{"58":1}}],["自动识别解压压缩包",{"2":{"27":1}}],["自定义列名导出",{"2":{"53":1}}],["自定义节假日",{"2":{"23":1}}],["自定义字符可支持任意进制",{"2":{"20":1}}],["自定义进制字符",{"2":{"20":1}}],["自定义清理",{"2":{"16":1}}],["压缩成zip",{"2":{"27":1}}],["压缩成内存流",{"2":{"27":1}}],["java",{"2":{"67":1}}],["jp2",{"2":{"67":1}}],["jpeg",{"2":{"46":5,"67":3}}],["jpg",{"0":{"28":1},"2":{"27":2,"40":2,"46":3,"67":1}}],["joint",{"2":{"67":1}}],["join",{"2":{"45":1}}],["jsonserializeroptions",{"2":{"61":1}}],["jsonserializer",{"2":{"61":1}}],["jsonserializersettings",{"2":{"61":1,"62":1}}],["jsonconvert",{"2":{"61":1,"62":1}}],["jsonconverter",{"2":{"44":2}}],["json的只允许字段",{"0":{"60":1},"1":{"61":1,"62":1,"63":1}}],["json和system",{"0":{"60":1},"1":{"61":1,"62":1,"63":1}}],["json命名空间",{"2":{"44":2}}],["json请导入masuit",{"2":{"44":4}}],["json",{"2":{"10":1,"61":2}}],["json中添加emaildomainwhitelist配置邮箱域名白名单",{"2":{"31":1}}],["json中添加emaildomainwhitelist和emaildomainblocklist配置邮箱域名黑白名单",{"2":{"14":1}}],["json中",{"2":{"10":1}}],["zero",{"2":{"80":1}}],["zerowidthcodec",{"2":{"30":3}}],["z",{"2":{"67":2,"68":4}}],["zh",{"2":{"36":1}}],["zip",{"2":{"27":2,"67":4}}],["zipstream",{"2":{"27":1}}],["zl字样的前缀",{"2":{"14":1}}],["王五",{"2":{"26":1}}],["李四",{"2":{"26":1}}],["张三",{"2":{"26":1}}],["未被使用",{"2":{"25":1}}],["你可以像在",{"2":{"79":1,"80":1}}],["你好啊",{"2":{"39":1}}],["你好",{"2":{"25":2}}],["你传1w个字符进去那就支持一万进制",{"2":{"20":1}}],["满足条件再执行where",{"2":{"24":1}}],["满足条件再执行or",{"2":{"24":1}}],["满足条件再执行and",{"2":{"24":1}}],["戊戌年甲子月丁酉日",{"2":{"23":1}}],["干支",{"2":{"23":1}}],["狗",{"2":{"23":1}}],["二零一八年十一月廿五",{"2":{"23":1}}],["农历转换",{"0":{"23":1}}],["产生正态高斯分布的随机数",{"2":{"41":1}}],["产生真随机数",{"2":{"41":1}}],["产生100w个id耗时",{"2":{"22":1}}],["产生分布式唯一有序短id",{"0":{"22":1}}],["设置值",{"2":{"71":1,"73":2}}],["设置数制格式化器",{"2":{"22":2}}],["设置起始偏移量",{"2":{"22":2}}],["设置机器id",{"2":{"22":2}}],["8及以上版本",{"2":{"92":1}}],["8小时工作制才可以让你有时间自我提升",{"2":{"85":1,"91":1}}],["817421",{"2":{"75":1}}],["84元",{"2":{"75":1}}],["84",{"2":{"75":1}}],["87元",{"2":{"75":1}}],["87c01ec7gy1fsq6rywto2j20je0d3td0",{"2":{"27":2}}],["85",{"2":{"75":2}}],["80",{"2":{"40":1}}],["8",{"0":{"23":1},"2":{"22":1,"29":1,"47":18,"75":1}}],["静态调用",{"2":{"22":1}}],["实际还款总额actualpayment",{"2":{"75":1}}],["实际支付利息actualinterest",{"2":{"75":1}}],["实际目前银行政策不允许",{"2":{"75":2}}],["实体信息",{"2":{"56":1}}],["实体校验",{"0":{"31":1}}],["实例调用",{"2":{"22":1}}],["实现该接口可让类型实现一些树形操作",{"2":{"13":1}}],["雪花id",{"0":{"22":1}}],["纳秒级性能计时器",{"0":{"21":1}}],["😄🌫😶😋😋",{"2":{"20":1}}],["😀😁😂🤣😃😄😅😆😉😊😋😎😍😘🥰😗😙🥲😚🙂🤗🤩🤔🤨😑😶😶‍🌫🙄😏😣😥😮",{"2":{"20":1}}],["性能比numberformater差了许多",{"2":{"20":1}}],["性能比memorystream好",{"2":{"13":1}}],["十进制",{"2":{"20":1}}],["大文件拷贝",{"2":{"82":1,"88":1}}],["大都是静态类",{"2":{"82":1,"88":1}}],["大型内存流",{"2":{"48":1}}],["大数字16进制转10进制",{"2":{"20":1}}],["大写数字",{"0":{"19":1}}],["+index",{"2":{"45":1}}],["+downloader",{"2":{"29":2}}],["+time+",{"2":{"21":1}}],["+timer",{"2":{"21":1}}],["+",{"2":{"20":2,"22":2,"49":4,"68":1}}],["手动配置必须包含数字",{"2":{"31":1}}],["手动狗头",{"2":{"20":1}}],["手机号",{"0":{"14":1}}],["内置2",{"2":{"20":1}}],["纯数学运算",{"2":{"20":1}}],["短hash",{"2":{"20":1}}],["进制转换",{"0":{"20":1}}],["一经发现",{"2":{"85":1,"91":1}}],["一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法",{"2":{"85":1,"91":1}}],["一些约定规则",{"0":{"54":1}}],["一些创意类型",{"0":{"13":1}}],["一般的集合转换成树形结构",{"2":{"52":1}}],["一百二十三点四五",{"2":{"19":1}}],["壹佰贰拾叁元肆角伍分",{"2":{"19":1}}],["中国农历",{"2":{"82":1,"88":1}}],["中国农历类型",{"2":{"13":1}}],["中",{"2":{"30":2}}],["中文数字",{"0":{"18":1},"1":{"19":1,"20":1}}],["整理windows系统的内存",{"0":{"17":1}}],["ustar",{"2":{"67":1}}],["usebodyordefaultmodelbinder",{"2":{"64":1}}],["usenpgsql",{"2":{"57":1}}],["usesqlserver",{"2":{"57":1}}],["username",{"2":{"39":1}}],["users",{"2":{"16":2,"57":9}}],["user",{"2":{"16":1}}],["using",{"2":{"40":1,"48":2,"79":1}}],["us",{"2":{"36":1}}],["uintptr",{"2":{"49":1}}],["uint64",{"2":{"49":1}}],["uint32",{"2":{"49":1}}],["uint16",{"2":{"49":1}}],["uint",{"2":{"33":2}}],["unmodified",{"2":{"76":1}}],["union",{"2":{"47":1}}],["unicodeformater",{"2":{"20":1}}],["unicodeformater的功能包含numberformater的功能",{"2":{"20":1}}],["unrar",{"2":{"27":1}}],["url",{"0":{"14":1}}],["77",{"2":{"45":1}}],["7z",{"2":{"27":1,"29":2,"67":1}}],["7进制",{"2":{"20":1}}],["7clzi",{"2":{"20":4}}],["7",{"0":{"22":1},"2":{"16":1,"20":1,"29":2,"45":2,"49":1,"67":1}}],[">退出",{"2":{"16":2}}],[">",{"2":{"16":10,"24":2,"45":1,"75":1,"80":1}}],["false",{"2":{"75":2}}],["fallbackjsonproperty",{"2":{"62":1}}],["fallbackjsonpropertyresolver",{"0":{"62":1},"2":{"62":1}}],["flv",{"2":{"67":1}}],["flash",{"2":{"67":2}}],["flac",{"2":{"67":1}}],["flatten",{"2":{"52":1}}],["flags",{"2":{"36":1}}],["fs",{"2":{"48":5}}],["filter",{"2":{"52":1}}],["fileput",{"2":{"80":1}}],["filepath",{"2":{"66":5}}],["filehead",{"2":{"80":1}}],["fileinlinename",{"2":{"80":4}}],["fileinfo",{"2":{"66":2}}],["filecontent",{"2":{"80":2}}],["fileresult一样的方式使用它",{"2":{"79":1,"80":1}}],["file",{"2":{"67":4,"80":6}}],["filename",{"2":{"48":1,"50":1,"80":20}}],["fileaccess",{"2":{"48":1}}],["filemode",{"2":{"48":1}}],["filemergedcomplete+=",{"2":{"29":1}}],["filemergeprogresschanged+=",{"2":{"29":1}}],["filestream",{"2":{"48":2,"53":1,"80":4}}],["firstordefaultwithnolockasync",{"2":{"57":1}}],["firstordefault",{"2":{"46":1}}],["func3",{"2":{"59":1}}],["func2",{"2":{"59":1}}],["func1",{"2":{"59":1}}],["func",{"2":{"24":8,"52":1}}],["follow素质三连关♂注一下吧⭐⭐⭐",{"2":{"82":1,"88":1}}],["fork",{"2":{"82":1,"88":1}}],["forasync",{"2":{"45":1}}],["foreachasync",{"2":{"45":1}}],["for",{"2":{"21":2,"22":1,"67":1}}],["formula",{"2":{"67":1}}],["format",{"2":{"67":4}}],["formatcategories",{"2":{"66":1}}],["formater",{"2":{"20":3}}],["form>",{"2":{"16":1}}],["form",{"2":{"16":1}}],["font",{"2":{"16":2}}],["frames",{"2":{"40":1}}],["framework版本",{"2":{"27":1}}],["framework项目配置在web",{"2":{"10":1}}],["framework",{"0":{"2":1,"5":1,"79":1},"2":{"5":1,"27":1}}],["frombodyordefault",{"2":{"64":4}}],["frombasebig",{"2":{"20":1}}],["frombase",{"2":{"20":1}}],["fromstream",{"2":{"53":1}}],["fromstring",{"2":{"20":2}}],["freephysicalmemory",{"2":{"15":1}}],["bunzip2",{"2":{"67":1}}],["builder",{"2":{"57":4}}],["bz2",{"2":{"67":1}}],["bmp",{"2":{"67":1}}],["bplist",{"2":{"67":1}}],["bytes",{"2":{"69":1}}],["bytescount",{"2":{"49":2}}],["bytecode",{"2":{"67":1}}],["byte",{"2":{"49":1}}],["b=s",{"2":{"49":2}}],["b=1",{"2":{"49":1}}],["b=func",{"2":{"24":2}}],["bb",{"2":{"45":2,"49":4}}],["bwpic",{"2":{"40":1}}],["boot",{"2":{"48":1}}],["boolean",{"2":{"49":1}}],["bool>",{"2":{"24":2}}],["bool>>",{"2":{"24":4}}],["bool",{"2":{"14":6,"24":2,"33":2,"34":1,"49":8,"80":12}}],["boxpad",{"2":{"40":1}}],["body",{"2":{"39":1}}],["b",{"2":{"34":5,"42":2,"62":1}}],["bak",{"2":{"48":2}}],["based",{"2":{"67":1}}],["basedirectory+",{"2":{"28":1}}],["base64",{"2":{"40":1}}],["baidu",{"2":{"29":1,"33":1}}],["binary",{"2":{"67":2}}],["bin=12345678",{"2":{"20":1}}],["bitmap",{"2":{"54":3,"67":1}}],["biosinfo",{"2":{"15":2}}],["快速匹配",{"2":{"49":1}}],["快速获取主板的信息",{"2":{"15":1}}],["快速获取硬盘的信息",{"2":{"15":1}}],["快速获取内存的信息",{"2":{"15":1}}],["快速获取cpu的信息",{"2":{"15":1}}],["快速方法",{"2":{"15":1}}],["硬件信息",{"2":{"82":1,"88":1}}],["硬件监测",{"0":{"15":1},"2":{"5":1}}],["硬盘序列号",{"2":{"15":1}}],["获取对象",{"2":{"72":3}}],["获取或添加值",{"2":{"71":2}}],["获取值",{"2":{"71":1,"73":2}}],["获取流的编码",{"2":{"66":1}}],["获取文件编码",{"2":{"66":2}}],["获取增删改的实体字段信息",{"2":{"56":2}}],["获取被移除的实体字段信息",{"2":{"56":2}}],["获取添加的实体字段信息",{"2":{"56":2}}],["获取变更字段信息",{"2":{"56":2}}],["获取指定实体的变更",{"2":{"56":1}}],["获取所有的父级",{"2":{"52":1}}],["获取所有的子级",{"2":{"52":1}}],["获取两个多边形的相交区域",{"2":{"51":1}}],["获取字符串的字节数",{"2":{"49":1}}],["获取字符串的字符数",{"2":{"49":1}}],["获取字符串表示值对应的枚举值",{"2":{"36":1}}],["获取字符串表示和枚举值的字典映射",{"2":{"36":1}}],["获取一批时间段内存在相互重叠的最大时间段",{"2":{"47":1}}],["获取分钟级时间戳",{"2":{"47":1}}],["获取秒级时间戳",{"2":{"47":1}}],["获取纳秒级时间戳",{"2":{"47":1}}],["获取微秒级时间戳",{"2":{"47":1}}],["获取毫秒级时间戳",{"2":{"47":1}}],["获取图片的真实格式",{"2":{"40":1}}],["获取属性列表",{"2":{"38":1}}],["获取枚举值对应的字符串表示",{"2":{"36":1}}],["获取枚举值和字符串表示的字典映射",{"2":{"36":1}}],["获取display标签的name属性",{"2":{"36":1}}],["获取description标签",{"2":{"36":1}}],["获取详细地理信息集合",{"2":{"33":1}}],["获取详细地理信息对象",{"2":{"33":1}}],["获取isp运营商信息",{"2":{"33":1}}],["获取html字符串里的所有的img标签",{"2":{"32":1}}],["获取html字符串里所有的img标签的src属性",{"2":{"32":1}}],["获取按公历计算的节假日",{"2":{"23":1}}],["获取内存信息",{"2":{"15":1}}],["获取操作系统版本",{"2":{"15":1}}],["获取本机所有网卡mac地址",{"2":{"15":1}}],["获取本机所有ip地址",{"2":{"15":1}}],["获取本机当前正在使用的ip地址",{"2":{"15":1}}],["获取cpu核心数",{"2":{"15":1}}],["获取cpu温度",{"2":{"15":1}}],["获取cpu占用率",{"2":{"15":1}}],["获取可用物理内存",{"2":{"15":1}}],["获取物理内存可用率",{"2":{"15":1}}],["获取物理内存总数",{"2":{"15":1}}],["部分函数仅支持物理机模式",{"0":{"15":1}}],["仅支持windows",{"0":{"15":1,"50":1,"69":1}}],["待校验的号码前不要带cn",{"2":{"14":1}}],["都可以校验",{"2":{"14":1}}],["校验位前是否带",{"2":{"14":1}}],["校验中国专利申请号或专利号",{"2":{"14":1}}],["校验中国大陆身份证号",{"2":{"14":1}}],["996那叫用人",{"2":{"85":1}}],["996公司需要使用本类库",{"2":{"85":1}}],["92",{"2":{"75":4}}],["9660",{"2":{"67":1}}],["97",{"2":{"67":3}}],["90",{"2":{"40":2}}],["900",{"2":{"40":2}}],["91",{"2":{"20":1,"75":2}}],["95进制的转换",{"2":{"20":1}}],["9",{"0":{"24":1},"2":{"14":1,"75":2}}],["3gpp",{"2":{"67":2}}],["3gp",{"2":{"67":1}}],["39",{"0":{"55":1},"1":{"56":1,"57":1,"58":1}}],["35",{"0":{"50":1}}],["38",{"0":{"53":1},"1":{"54":1},"2":{"49":1}}],["34",{"0":{"49":1}}],["33",{"0":{"48":1}}],["337845818",{"2":{"14":1}}],["3~2020",{"2":{"47":2}}],["30",{"0":{"45":1}}],["305849028665645097422198928560410015421",{"2":{"20":1}}],["32",{"0":{"47":1},"2":{"37":2}}],["37",{"0":{"52":1},"2":{"29":2}}],["31",{"0":{"46":1},"2":{"23":2}}],["312000199502230660",{"2":{"14":1}}],["3c665pqupl3whzflvpopqz",{"2":{"20":1}}],["360",{"2":{"75":1}}],["36位长度",{"2":{"20":1}}],["36进制",{"2":{"20":1}}],["36进制转10进制",{"2":{"20":1}}],["36进制的7clzi是",{"2":{"20":1}}],["36",{"0":{"51":1},"2":{"20":4}}],["3",{"0":{"16":1},"2":{"25":2,"29":2,"33":1,"34":2,"42":4,"45":8,"47":4,"68":2,"75":1}}],["匹配字符串是否包含emoji",{"2":{"49":1}}],["匹配座机号",{"2":{"14":1}}],["匹配手机号",{"2":{"14":1}}],["匹配url",{"2":{"14":1}}],["匹配ip地址",{"2":{"14":1}}],["hostingenvironment",{"2":{"80":11}}],["hwpml",{"2":{"67":1}}],["hwp",{"2":{"67":3}}],["hd",{"2":{"67":1}}],["hdp",{"2":{"67":1}}],["hammingdistance",{"2":{"65":2}}],["hasrows",{"2":{"45":1}}],["hash2",{"2":{"40":5}}],["hash1",{"2":{"40":5}}],["hasher",{"2":{"40":9}}],["hash",{"0":{"30":1}}],["hashset",{"2":{"22":1}}],["hasvalue",{"2":{"24":1}}],["height",{"2":{"40":1}}],["hello",{"2":{"30":3}}],["headers",{"2":{"29":1}}],["hidden",{"2":{"30":3}}],["hidden=",{"2":{"30":1}}],["hiperftimer",{"2":{"21":2,"22":1}}],["history",{"2":{"14":1}}],["href=",{"2":{"16":4}}],["httpput",{"2":{"80":1}}],["httppost",{"2":{"64":2}}],["httphead",{"2":{"80":1}}],["httpget",{"2":{"64":2,"80":8}}],["http",{"2":{"14":1,"27":2,"33":1}}],["https",{"2":{"12":1,"29":3,"75":1}}],["html操作",{"0":{"32":1}}],["htmlsanitizercustom",{"2":{"16":1}}],["htmlsanitizerstandard",{"2":{"16":1}}],["html的防xss处理",{"0":{"16":1}}],["html",{"2":{"5":1,"16":3,"32":3}}],["obj",{"2":{"68":23}}],["object",{"2":{"61":1}}],["odt",{"2":{"67":1}}],["ods",{"2":{"67":1}}],["odp",{"2":{"67":1}}],["odg",{"2":{"67":1}}],["odf",{"2":{"67":1}}],["ogg",{"2":{"67":2}}],["only",{"2":{"67":3}}],["one",{"2":{"25":2}}],["office",{"2":{"67":7}}],["ok",{"2":{"64":2}}],["out",{"2":{"49":1}}],["outlook",{"2":{"10":1,"14":1}}],["octet",{"2":{"46":1}}],["override",{"2":{"43":1}}],["opendocument",{"2":{"67":5}}],["openxml",{"2":{"67":4}}],["openread",{"2":{"66":1,"80":2}}],["openorcreate",{"2":{"48":1}}],["options",{"2":{"61":2}}],["opt",{"2":{"57":4}}],["op=myenum",{"2":{"36":1}}],["opzebda2aytceeudequuesbk",{"2":{"20":1}}],["orderbyrandom",{"2":{"45":1}}],["origin",{"2":{"29":1}}],["orif",{"2":{"24":1}}],["or和orif可供选择",{"2":{"24":1}}],["or",{"2":{"24":1,"67":2}}],["org",{"2":{"14":1,"75":1}}],["osversion",{"2":{"15":1}}],["如何使用",{"0":{"78":1},"1":{"79":1,"80":1,"81":1}}],["如有利率调整或提前还款计划",{"2":{"75":1}}],["如果你觉得不好意思接受免费的指导",{"2":{"82":1,"88":1}}],["如果你有任何不懂的地方或使用过程中遇到任何问题",{"2":{"82":1,"88":1}}],["如果你现在正在写类似这样的代码",{"2":{"58":1}}],["如果你的项目版本高于4",{"2":{"5":1}}],["如果在上下文开启了重试机制",{"2":{"57":1}}],["如果为空则返回aa",{"2":{"49":2}}],["如果是idictionary类型的图片列",{"2":{"54":1}}],["如果是添加",{"2":{"45":2}}],["如果是",{"2":{"37":1}}],["如",{"2":{"14":1}}],["逗号分隔",{"2":{"14":1,"31":1}}],["=555",{"2":{"45":1}}],["=image",{"2":{"40":3}}],["==",{"2":{"22":1,"45":1}}],["=>77",{"2":{"45":1}}],["=>",{"2":{"21":1,"22":1,"24":5,"26":1,"28":1,"29":4,"35":1,"39":1,"43":1,"45":13,"49":1,"52":4,"57":4,"58":1,"61":1}}],["=",{"2":{"14":7,"15":15,"16":3,"20":9,"21":4,"22":10,"23":1,"24":6,"25":6,"26":8,"27":2,"29":3,"30":20,"31":2,"32":2,"33":6,"34":10,"35":5,"36":8,"37":3,"38":2,"39":8,"40":17,"41":4,"42":3,"45":7,"46":3,"47":7,"48":3,"49":1,"61":5,"62":1,"68":18,"69":3,"75":8,"79":1,"80":37}}],["身份证号等",{"0":{"14":1}}],["具体用法",{"2":{"13":1}}],["比system",{"2":{"13":1}}],["版本号类型",{"2":{"13":1}}],["v17",{"2":{"92":1}}],["v16",{"2":{"86":1}}],["void",{"2":{"80":1}}],["virtualfile",{"2":{"80":2}}],["virtual",{"2":{"80":2}}],["viewdata扩展",{"0":{"72":1}}],["visualstudio2022",{"2":{"92":1}}],["visualstudio2019",{"2":{"86":1}}],["visual",{"2":{"67":1}}],["video",{"2":{"67":7}}],["vmdk",{"2":{"48":1}}],["vmbq8q3s3zul",{"2":{"22":1}}],["validatecode",{"2":{"70":1}}],["valuefactory",{"2":{"71":2}}],["value",{"2":{"36":1,"50":1,"71":3,"73":2}}],["value=",{"2":{"16":1}}],["var",{"2":{"15":7,"19":1,"20":6,"22":2,"26":1,"29":1,"30":11,"32":2,"34":4,"36":3,"40":22,"41":1,"42":4,"45":24,"46":5,"47":3,"48":2,"49":8,"52":3,"53":1,"56":6,"61":1,"65":1,"66":5,"68":2,"69":3,"70":1,"71":2,"72":2,"73":2,"79":1,"80":6}}],["version功能更多一点",{"2":{"13":1}}],["versionnumber",{"2":{"13":1}}],["v=1",{"2":{"12":1}}],["相关扩展方法",{"2":{"52":1}}],["相交相切相离的判断",{"2":{"13":1}}],["相比4",{"2":{"5":1}}],["球体类型",{"2":{"13":1}}],["圆形类型",{"2":{"13":1}}],["rich",{"2":{"67":1}}],["rtf",{"2":{"67":1}}],["rpm",{"2":{"67":1}}],["rnd",{"2":{"41":3}}],["rsadecrypt",{"2":{"30":1}}],["rsaencrypt",{"2":{"30":1}}],["rsacrypt",{"2":{"30":1}}],["rsakey",{"2":{"30":4}}],["rcofqodori0w",{"2":{"22":2}}],["role=",{"2":{"16":1}}],["redhat",{"2":{"67":1}}],["registry",{"2":{"67":1}}],["reg",{"2":{"67":1}}],["removed=dbcontext",{"2":{"56":2}}],["removewhere",{"2":{"45":1}}],["removehtmltag",{"2":{"32":1}}],["return",{"2":{"43":1,"45":2,"64":2,"79":3,"80":10}}],["relief",{"2":{"40":1}}],["rel=",{"2":{"16":2}}],["repic",{"2":{"40":1}}],["replit",{"2":{"12":1}}],["revpicud",{"2":{"40":1}}],["revpiclr",{"2":{"40":1}}],["rectangle",{"2":{"40":2}}],["resolver",{"2":{"61":3}}],["resizeimage",{"2":{"40":1}}],["resizemode",{"2":{"40":1}}],["result",{"2":{"33":2,"48":1,"49":1,"69":3,"80":26}}],["resumevirtualfileresult",{"2":{"80":4}}],["resumephysicalfileresult",{"2":{"80":2}}],["resumephysicalfile",{"2":{"79":2,"80":1}}],["resumefilestreamresult",{"2":{"80":2}}],["resumefilecontentresult",{"2":{"80":2}}],["resumefile",{"2":{"79":2,"80":5}}],["resumefileresults",{"2":{"80":2}}],["resumefileresult",{"2":{"79":3}}],["resume",{"2":{"29":1}}],["readallbytes",{"2":{"80":2}}],["readwrite",{"2":{"48":1}}],["read|myenum",{"2":{"36":1}}],["read=1",{"2":{"36":1}}],["read",{"2":{"36":5}}],["readonly",{"2":{"27":1,"79":1,"80":2}}],["referer",{"2":{"29":1}}],["request",{"2":{"79":1}}],["req",{"2":{"29":3}}],["render",{"2":{"25":3}}],["rateadjustments",{"2":{"75":1}}],["range2",{"2":{"47":1}}],["range",{"2":{"45":7,"47":7,"76":1}}],["random",{"2":{"20":1,"41":2}}],["rar",{"2":{"27":1,"67":1}}],["raminfo",{"2":{"15":4}}],["radarchart",{"2":{"13":1}}],["粘土动态类型",{"2":{"13":1}}],["dump",{"2":{"67":1}}],["duration+",{"2":{"21":1}}],["dmp",{"2":{"67":1}}],["dmg",{"2":{"67":1}}],["dmed4dkd5bhcg4qdktklun0zh",{"2":{"20":1}}],["dynamic",{"2":{"67":1}}],["dynamicfactory",{"2":{"13":1,"68":2}}],["dll文件存在",{"2":{"69":1}}],["dll",{"2":{"67":1}}],["db",{"2":{"67":3}}],["dbcontext",{"2":{"57":8,"58":2}}],["dds",{"2":{"67":1}}],["dd",{"2":{"45":2}}],["database",{"2":{"67":3}}],["datatable",{"2":{"54":2}}],["datatable转list",{"2":{"45":1}}],["datacontext",{"2":{"43":1}}],["data=new",{"2":{"42":1}}],["dateholiday",{"2":{"23":1}}],["datetimeoffset",{"2":{"80":2}}],["datetimerange>",{"2":{"47":2}}],["datetimerange",{"2":{"47":1}}],["datetime",{"2":{"23":2,"47":18,"75":11}}],["dcthash",{"2":{"40":2}}],["detector",{"2":{"66":4}}],["detector=filesignaturedetector",{"2":{"66":1}}],["detector=file",{"2":{"66":1}}],["detector=new",{"2":{"66":1}}],["detectfiletype",{"2":{"66":3}}],["defaultvaluefactory",{"2":{"72":1}}],["defaultvalue",{"2":{"72":1}}],["default",{"2":{"45":2}}],["delay",{"2":{"45":4}}],["delete",{"2":{"36":1}}],["delete=4",{"2":{"36":1}}],["deepclone",{"2":{"38":1}}],["decimal",{"2":{"75":1}}],["decrypt",{"2":{"30":1}}],["decodezerowidthstring",{"2":{"30":1}}],["decompress",{"2":{"27":2}}],["dec",{"2":{"30":2}}],["deserializeignore",{"2":{"61":1}}],["deserializeignoreattribute标记的",{"2":{"61":1}}],["deserializeonlyjsonproperty",{"2":{"61":1}}],["deserializeonlycontractresolver",{"0":{"61":1},"2":{"61":2}}],["desencrypt",{"2":{"30":2}}],["desc",{"2":{"36":1}}],["description",{"2":{"36":2}}],["des密钥解密为明文",{"2":{"30":1}}],["des密钥加密为密文",{"2":{"30":1}}],["des解密为明文",{"2":{"30":1}}],["desdecrypt",{"2":{"30":2}}],["des加密为密文",{"2":{"30":1}}],["docx",{"2":{"67":1}}],["document",{"2":{"67":12}}],["doc",{"2":{"67":1}}],["downloader",{"2":{"29":1}}],["downloads",{"2":{"29":1}}],["download",{"2":{"27":6}}],["double",{"2":{"15":2,"22":1,"41":1,"47":5,"49":1}}],["d",{"2":{"27":8,"40":4,"42":2,"48":3,"79":2}}],["directdraw",{"2":{"67":1}}],["dib",{"2":{"67":1}}],["digits8",{"2":{"49":1}}],["differencehash256",{"2":{"40":2}}],["dictionary",{"2":{"45":1,"54":1,"75":1}}],["dic",{"2":{"45":10}}],["dic2",{"2":{"36":1}}],["dic1",{"2":{"36":1}}],["div>",{"2":{"16":3}}],["div",{"2":{"16":1}}],["distributedcache扩展",{"0":{"71":1}}],["distinctby",{"2":{"35":1}}],["disc",{"2":{"67":1}}],["disk",{"2":{"67":1}}],["diskinfo",{"2":{"15":1}}],["diskinfos",{"2":{"15":1}}],["dis=new",{"2":{"65":1}}],["dis=",{"2":{"65":1}}],["disposition",{"2":{"77":1,"80":2}}],["disposabledictionary",{"2":{"13":1}}],["display",{"2":{"36":3}}],["drivesn=systeminfo",{"2":{"15":1}}],["gz",{"2":{"67":2}}],["group",{"2":{"67":1}}],["graphics",{"2":{"67":3}}],["greet",{"2":{"25":2}}],["gauss",{"2":{"41":1}}],["ganzhidatestring",{"2":{"23":1}}],["gif",{"2":{"40":3,"67":1}}],["gender",{"2":{"53":1,"68":3}}],["generatersakeys",{"2":{"30":1}}],["getallchanges",{"2":{"56":2}}],["getadded",{"2":{"56":2}}],["getremoved",{"2":{"56":2}}],["getraminfo",{"2":{"15":1}}],["getchanges",{"2":{"56":2}}],["getcpuinfo",{"2":{"15":1}}],["getcpucount",{"2":{"15":1}}],["getcputemperature",{"2":{"15":1}}],["getfilesha1",{"2":{"48":1}}],["getfilemd5async",{"2":{"48":1}}],["getframes",{"2":{"40":1}}],["getfreephysicalmemory",{"2":{"15":1}}],["getunionset",{"2":{"47":1}}],["getuniqueshortid",{"2":{"22":1}}],["getuniqueid",{"2":{"22":2}}],["gettotalseconds",{"2":{"47":1}}],["gettotalnanoseconds",{"2":{"47":1}}],["gettotalminutes",{"2":{"47":1}}],["gettotalmicroseconds",{"2":{"47":1}}],["gettotalmilliseconds",{"2":{"47":1}}],["getmimefrompath",{"2":{"79":3}}],["getmimefromextension",{"2":{"46":1}}],["getmaxtimeperiod",{"2":{"47":1}}],["getmacaddress",{"2":{"15":1}}],["getencoding",{"2":{"66":3}}],["getenvironmentvariable",{"2":{"29":1}}],["getextensionfrommime",{"2":{"46":1}}],["getoradd",{"2":{"45":2,"71":2}}],["getosversion",{"2":{"15":1}}],["gethashcode",{"2":{"45":1}}],["getproperties",{"2":{"38":1}}],["getphysicsaddressinfo",{"2":{"33":1}}],["getvalueordefault",{"2":{"72":2}}],["getvalue",{"2":{"36":1,"72":1}}],["getdata",{"2":{"73":2}}],["getdescription",{"2":{"36":1}}],["getdescriptionandvalue",{"2":{"36":1}}],["getdisplay",{"2":{"36":1}}],["getdiskinfo",{"2":{"15":1}}],["getdictionary",{"2":{"36":1}}],["getimagetype",{"2":{"40":1}}],["getipaddressinfo",{"2":{"33":1}}],["getisp",{"2":{"33":1}}],["getinstance",{"2":{"22":2}}],["get",{"2":{"16":1,"31":10,"34":3,"44":2,"61":2,"62":2,"71":1}}],["getlocalusedip",{"2":{"15":1}}],["getlocalips",{"2":{"15":1}}],["gt",{"2":{"13":1,"54":7}}],["gmail",{"2":{"10":1,"14":1}}],["tiff",{"2":{"67":1}}],["timespan",{"2":{"80":1}}],["time=",{"2":{"47":1}}],["time",{"2":{"21":1,"22":2}}],["timer",{"2":{"21":2}}],["this",{"2":{"79":2,"80":6}}],["thumbnail",{"2":{"67":1}}],["thumbs",{"2":{"67":1}}],["theninclude",{"2":{"58":3}}],["throw",{"2":{"25":1}}],["three",{"2":{"25":2}}],["tcontext>",{"2":{"57":2}}],["tkey>或itreeentity",{"2":{"52":1}}],["tree=list",{"2":{"52":3}}],["tree",{"2":{"52":6}}],["trees",{"2":{"52":1}}],["tryconvertto",{"2":{"49":1}}],["true",{"2":{"22":1,"24":2,"34":2,"35":1,"39":1,"47":4,"75":2}}],["t=>t",{"2":{"45":1,"46":1}}],["t>的集合转换成树形结构",{"2":{"52":2}}],["t>",{"2":{"45":1,"49":4,"52":1,"71":5,"72":3,"73":3}}],["typeinforesolver",{"2":{"61":1}}],["type",{"2":{"49":4,"67":2}}],["typeof",{"2":{"36":4,"44":2}}],["type=defaultmimeitems",{"2":{"46":1}}],["type=contenttype",{"2":{"46":2}}],["type=",{"2":{"16":1}}],["tuple",{"2":{"33":1}}],["tagged",{"2":{"67":1}}],["take",{"2":{"49":1}}],["task",{"2":{"45":4}}],["tar",{"2":{"27":1,"67":2}}],["table=list",{"2":{"45":1}}],["table",{"2":{"26":1,"45":3}}],["tentity>",{"2":{"56":4}}],["text",{"0":{"60":1},"1":{"61":1,"62":1,"63":1},"2":{"44":4,"61":1,"67":3,"80":10}}],["testcontroller",{"2":{"80":1}}],["testfile",{"2":{"80":21}}],["test",{"2":{"27":4,"68":1,"79":6}}],["temp",{"2":{"29":1}}],["template",{"2":{"25":3}}],["temperature",{"2":{"15":1}}],["txt",{"2":{"27":2,"67":1,"80":20}}],["two",{"2":{"25":2}}],["tmp",{"2":{"25":8}}],["toint32",{"2":{"59":1}}],["toexcel方法支持datatable",{"2":{"54":1}}],["toexcel",{"2":{"53":2}}],["toenumstring",{"2":{"36":1}}],["totreegeneral",{"2":{"52":1}}],["totree",{"2":{"52":2}}],["totalrepayment",{"2":{"75":1}}],["totalinterest",{"2":{"75":1}}],["totalspeedinbytes",{"2":{"29":1}}],["totalprogress+",{"2":{"29":1}}],["totalprogresschanged+=",{"2":{"29":1}}],["tojsonstring",{"2":{"49":1}}],["toarrayasync",{"2":{"48":1}}],["toarray",{"2":{"48":1}}],["topagedlistasync",{"2":{"45":1}}],["topagedlist",{"2":{"45":1}}],["token",{"2":{"45":2}}],["tohashset",{"2":{"45":1}}],["toconcurrentdictionary",{"2":{"45":1}}],["tochinesenumber",{"2":{"19":1}}],["tochinesemoney",{"2":{"19":1}}],["tosbc",{"2":{"49":1}}],["tos",{"2":{"39":1}}],["tostring",{"2":{"20":3,"41":1}}],["touint32",{"2":{"33":1}}],["tolistwithnolockasync",{"2":{"57":2}}],["tolist",{"2":{"32":1,"35":1,"45":1,"57":2}}],["todbc",{"2":{"49":1}}],["todecimal",{"2":{"49":1}}],["todynamic",{"2":{"38":1,"68":2}}],["todictionarysafety",{"2":{"45":2}}],["todictionary",{"2":{"38":1}}],["todatetime",{"2":{"47":1}}],["todatatable",{"2":{"26":1,"45":1,"53":2}}],["today",{"2":{"23":5}}],["todo",{"2":{"21":2,"28":1}}],["tobase",{"2":{"20":6}}],["tools",{"0":{"7":1,"8":1,"9":1,"82":1,"88":1},"1":{"83":1,"84":1,"85":1,"86":1,"87":1,"89":1,"90":1,"91":1,"92":1},"2":{"2":1,"3":1,"4":1,"5":1,"7":1,"44":4,"53":1,"64":2,"75":1,"79":2,"80":2}}],["t",{"2":{"13":1,"43":5,"52":1}}],["可以直接提issue或私信联系我",{"2":{"82":1,"88":1}}],["可以实现天干地支节气等数据的获取",{"2":{"13":1}}],["可在windowsdefender停止时工作",{"2":{"69":1}}],["可在appsetting",{"2":{"14":1,"31":1}}],["可能造成流损坏",{"2":{"48":1}}],["可通过代码把水印还原出来取证",{"2":{"30":1}}],["可用于生成验证码",{"2":{"20":1}}],["可用于生成短id",{"2":{"20":1}}],["可用于做数据分析或用户行为画像",{"2":{"13":1}}],["可参阅后文详细示例",{"2":{"13":1}}],["可实现计算球体上两点的弧长计算",{"2":{"13":1}}],["可实现⚪的相交相切相离的判断",{"2":{"13":1}}],["可实现类似js的弱类型编程",{"2":{"13":1}}],["可内存复用",{"2":{"13":1}}],["可被disposable的字典类型",{"2":{"13":1}}],["池化内存流",{"2":{"13":1,"48":1}}],["plain",{"2":{"67":1,"80":10}}],["psd",{"2":{"67":1}}],["ppsx",{"2":{"67":1}}],["pptx",{"2":{"67":1}}],["ppt",{"2":{"67":1}}],["png",{"2":{"67":1}}],["personal",{"2":{"67":1}}],["percentile",{"2":{"45":1}}],["pfx",{"2":{"67":1}}],["pdf",{"2":{"67":1}}],["pdb",{"2":{"67":1}}],["pid",{"2":{"52":2}}],["powerpoint",{"2":{"67":3}}],["portable",{"2":{"67":2}}],["points",{"2":{"51":1}}],["points=radarchartengine",{"2":{"51":1}}],["post>",{"2":{"43":1}}],["post",{"2":{"43":2}}],["pooledmemorystream",{"2":{"13":1}}],["photoshop",{"2":{"67":1}}],["photographic",{"2":{"67":1}}],["photo",{"2":{"67":1}}],["phonenumber",{"2":{"31":1,"44":1}}],["physicalfile",{"2":{"80":2}}],["physical",{"2":{"80":2}}],["physicalmemory",{"2":{"15":2}}],["physicsaddress",{"2":{"33":2}}],["pub",{"2":{"30":2,"67":1}}],["pub=",{"2":{"30":1}}],["publickey",{"2":{"30":1}}],["public",{"2":{"27":1,"31":10,"34":3,"36":1,"43":1,"44":3,"61":2,"62":3,"64":2,"74":2,"79":3,"80":11}}],["prepaymentoption>",{"2":{"75":1}}],["prepayments",{"2":{"75":1}}],["pre",{"2":{"67":1}}],["presentation",{"2":{"67":1}}],["precondition",{"2":{"66":1}}],["private",{"2":{"80":2}}],["privatekey",{"2":{"30":1}}],["price",{"2":{"42":2}}],["prop",{"2":{"68":3}}],["property",{"2":{"67":1}}],["propertyinfo",{"2":{"38":1}}],["properties",{"2":{"38":1}}],["program",{"2":{"67":1}}],["pro",{"2":{"29":2}}],["param>",{"2":{"80":1}}],["param",{"2":{"80":1}}],["parse",{"2":{"23":2,"47":13,"49":1,"75":10}}],["payment",{"2":{"75":1}}],["paymentplans",{"2":{"75":1}}],["pak",{"2":{"67":2}}],["path",{"2":{"52":1,"79":4,"80":6}}],["pages=await",{"2":{"45":1}}],["pages=queryable",{"2":{"45":1}}],["password",{"2":{"31":3,"39":1}}],["pause",{"2":{"29":1}}],["packages",{"2":{"16":1}}],["package",{"2":{"2":1,"3":1,"4":1,"5":1,"64":1,"67":6}}],["定长队列和concurrenthashset实现",{"0":{"37":1}}],["定长队列",{"2":{"13":1}}],["定长并发队列",{"2":{"13":1}}],["luceneefcore",{"2":{"81":1,"87":1}}],["lpr调整",{"2":{"75":4}}],["lzh",{"2":{"67":2}}],["lnk",{"2":{"67":1}}],["legacy",{"2":{"67":1}}],["level",{"2":{"52":1}}],["length",{"2":{"24":2,"45":2,"49":1}}],["ldpic",{"2":{"40":1}}],["ldqk",{"2":{"12":1,"30":5}}],["lastmodified标头",{"2":{"80":1}}],["lastmodified",{"2":{"80":21}}],["last",{"2":{"76":1}}],["language",{"2":{"67":1}}],["landline",{"2":{"31":1}}],["large",{"2":{"27":2}}],["largememorystream",{"2":{"13":1}}],["library",{"2":{"67":1}}],["list类型",{"2":{"75":1}}],["list=new",{"2":{"45":2}}],["list=data",{"2":{"42":1}}],["list",{"2":{"26":3,"27":2,"31":1,"33":1,"35":4,"42":4,"45":24,"47":2,"54":1,"67":1,"68":2,"75":1}}],["list转datatable",{"0":{"26":1}}],["linq扩展",{"2":{"82":1,"88":1}}],["linq表达式树扩展",{"0":{"24":1}}],["linkage",{"2":{"67":1}}],["link",{"2":{"16":2,"67":1}}],["limitedqueue",{"2":{"13":1,"37":1}}],["loantype",{"2":{"75":4}}],["loanmodel",{"2":{"75":1}}],["loan",{"2":{"75":1}}],["load",{"2":{"15":1,"40":2}}],["loseless",{"2":{"67":1}}],["log",{"2":{"59":1}}],["logmanager",{"2":{"28":3}}],["logs",{"2":{"28":1}}],["logdirectory=appdomain",{"2":{"28":1}}],["logoff",{"2":{"16":2}}],["local",{"2":{"15":2}}],["locals",{"2":{"15":2}}],["localusedip",{"2":{"15":1}}],["long",{"2":{"15":2,"20":1}}],["lt",{"2":{"13":1,"54":7}}],["特殊符号",{"2":{"31":2}}],["特点是长度是固定的",{"2":{"13":2}}],["特色功能示例代码",{"0":{"11":1},"1":{"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1}}],["并且",{"2":{"20":1}}],["并且增加了一些对asp",{"2":{"7":1}}],["并发hashset",{"2":{"13":1}}],["用户画像之类的",{"2":{"51":1}}],["用于支持emoji",{"2":{"20":1}}],["用于存放value是disposable类型的数据",{"2":{"13":1}}],["用法",{"2":{"64":1}}],["用法一致",{"2":{"13":1}}],["用法与memorysteam保持一致",{"2":{"48":2}}],["用法与memorystream一致",{"2":{"13":2}}],["用法与queue一致",{"2":{"13":1}}],["用法与concurrentqueue一致",{"2":{"13":1}}],["用法和hashset保持一致",{"2":{"37":1}}],["用法和hashset一致",{"2":{"13":1}}],["用法和numberformater一模一样",{"2":{"20":1}}],["用法和普通字典一致",{"2":{"13":2}}],["0及以上所有版本",{"2":{"86":1,"92":1}}],["0开始",{"2":{"77":1}}],["0+",{"0":{"77":1}}],["041m",{"2":{"75":1}}],["042m",{"2":{"75":1}}],["043m",{"2":{"75":1}}],["058m",{"2":{"75":1}}],["0592m",{"2":{"75":1}}],["0627m",{"2":{"75":1}}],["007那叫用人",{"2":{"91":1}}],["007公司需要使用本类库",{"2":{"91":1}}],["00",{"2":{"47":2,"75":1}}],["0123456789abcdefghijklmnopqrstuvwxyz",{"2":{"20":1,"22":2}}],["01088888888",{"2":{"14":1}}],["0",{"0":{"13":1},"2":{"15":2,"21":2,"22":1,"31":1,"36":1,"40":5,"45":1,"75":6,"80":3}}],["则取description标记作为列名显示",{"2":{"54":1}}],["则值为6",{"2":{"45":2}}],["则默认自动尝试加载appsettings",{"2":{"10":1}}],["则不启用邮箱校验黑白名单",{"2":{"10":1}}],["则不启用邮箱校验白名单",{"2":{"10":1}}],["io",{"2":{"80":4}}],["ihostingenvironment",{"2":{"80":2}}],["icon",{"2":{"67":1}}],["iconfiguration",{"2":{"10":1}}],["ico",{"2":{"67":1}}],["iactionresult",{"2":{"64":2,"80":10}}],["i=>",{"2":{"45":2}}],["items",{"2":{"46":1}}],["item=currentcontext",{"2":{"73":2}}],["item=cache",{"2":{"71":3}}],["item=viewdata",{"2":{"72":3}}],["item=>new",{"2":{"53":1}}],["item=list",{"2":{"45":1}}],["item=data",{"2":{"42":1}}],["item+",{"2":{"45":1}}],["item",{"2":{"42":1,"45":4,"53":1}}],["itreeentity",{"2":{"52":1}}],["itreeparent",{"2":{"52":1}}],["itreechildren",{"2":{"52":2}}],["itree",{"2":{"13":1,"52":1}}],["imageformat=stream",{"2":{"40":1}}],["imagehasher",{"2":{"40":1}}],["image",{"2":{"40":13,"46":4,"67":9}}],["imgtags",{"2":{"32":1}}],["im",{"2":{"29":1}}],["iqueryable的whereif扩展函数",{"2":{"24":1}}],["idictionary",{"2":{"54":3}}],["id",{"2":{"22":4,"43":1,"52":2,"64":1}}],["id==",{"2":{"45":1}}],["id=",{"2":{"16":3}}],["i++",{"2":{"21":2,"22":1}}],["i",{"2":{"21":4,"22":2,"45":9}}],["ienumerable",{"2":{"54":2}}],["ie7",{"2":{"16":1}}],["ie",{"2":{"16":1}}],["ifnullorempty",{"2":{"49":2}}],["if",{"2":{"16":1,"76":5}}],["ilist",{"2":{"15":1}}],["iptoid",{"2":{"33":1}}],["ip",{"2":{"31":1}}],["ipaddressinfo",{"2":{"33":1}}],["ipaddressinrange",{"2":{"33":1}}],["ipaddress",{"2":{"15":1}}],["ip地址转10进制",{"2":{"33":2}}],["ip地址和url",{"0":{"33":1}}],["ip地址",{"0":{"14":1}}],["inline",{"2":{"80":1}}],["inline的一部分",{"2":{"77":1}}],["includerecursive",{"2":{"58":1}}],["include",{"2":{"58":1}}],["initialization",{"2":{"67":1}}],["inireadvalue",{"2":{"50":1}}],["iniwritevalue",{"2":{"50":1}}],["ini",{"2":{"50":5,"67":1}}],["inifile",{"2":{"50":1}}],["ini=new",{"2":{"50":1}}],["ini配置文件操作",{"0":{"50":1}}],["in",{"2":{"47":2}}],["indate=datetime",{"2":{"47":1}}],["index",{"2":{"45":2}}],["insertafter",{"2":{"45":2}}],["installer",{"2":{"67":1}}],["install",{"2":{"2":1,"3":1,"4":1,"5":1,"64":1}}],["inrange",{"2":{"33":1}}],["injectzerowidthstring",{"2":{"30":1}}],["information",{"2":{"67":1}}],["info",{"2":{"28":1}}],["input",{"2":{"16":2}}],["interchage",{"2":{"67":1}}],["interleave",{"2":{"67":1}}],["intersect",{"2":{"47":1}}],["intersected",{"2":{"47":1}}],["intersectall",{"2":{"45":2}}],["intersectby",{"2":{"45":1}}],["intptr",{"2":{"49":1}}],["int64",{"2":{"49":1}}],["int32",{"2":{"49":1}}],["int16",{"2":{"49":1}}],["int>>",{"2":{"45":1}}],["int>",{"2":{"45":2,"49":1,"68":2}}],["int",{"2":{"15":1,"20":1,"21":2,"22":1,"31":1,"34":1,"36":1,"41":2,"61":1,"62":1,"64":1}}],["iso",{"2":{"67":3}}],["isleaf",{"2":{"52":1}}],["islandline",{"2":{"14":1,"31":1}}],["isroot",{"2":{"52":1}}],["issimplelisttype",{"2":{"49":1}}],["issimplearraytype",{"2":{"49":1}}],["issimpletype",{"2":{"49":1}}],["isprimitive",{"2":{"49":1}}],["isprivateip",{"2":{"33":2}}],["isp",{"2":{"33":1}}],["isphone",{"2":{"31":1}}],["isphonenumber",{"2":{"14":1}}],["iservicecollection",{"2":{"80":1}}],["isexternaladdress",{"2":{"33":2}}],["isemail",{"2":{"31":1}}],["isevenzipcompressor",{"2":{"27":2}}],["isnullorempty",{"2":{"24":3,"49":1}}],["iscnpatentnumber",{"2":{"14":1}}],["isipaddress",{"2":{"31":1}}],["isidentifycard",{"2":{"14":1}}],["isinetaddress",{"2":{"14":1}}],["isurl",{"2":{"14":1}}],["ismatch",{"2":{"14":1}}],["cfbf",{"2":{"67":1}}],["certificate",{"2":{"67":2}}],["cert",{"2":{"67":1}}],["createvalidategraphic",{"2":{"70":1}}],["crt",{"2":{"67":1}}],["crc64",{"2":{"30":1}}],["crc32",{"2":{"30":1}}],["c=>c",{"2":{"58":4}}],["cache",{"2":{"71":2}}],["cabinet",{"2":{"67":1}}],["cab",{"2":{"67":1}}],["camelcasenamingstrategy",{"2":{"61":1}}],["category",{"2":{"58":2}}],["cancellationtokensource",{"2":{"45":1}}],["ctx=>ctx",{"2":{"57":3}}],["cts",{"2":{"45":3}}],["children",{"2":{"58":5}}],["chinesedatestring",{"2":{"23":1}}],["chinesecalendar",{"2":{"13":1,"23":2}}],["chart2",{"2":{"51":1}}],["chart1",{"2":{"51":1}}],["charactercount",{"2":{"49":2}}],["char",{"2":{"49":1}}],["changes=dbcontext",{"2":{"56":2}}],["changetypeto不仅适用于基元类型的互转还支持数组",{"2":{"49":1}}],["changetypeto",{"2":{"49":1}}],["changeindex",{"2":{"45":2}}],["cc",{"2":{"45":4}}],["cdn",{"2":{"29":1}}],["currentcontext",{"2":{"73":1}}],["currentdomain",{"2":{"28":1}}],["cursor",{"2":{"67":1}}],["cur",{"2":{"67":1}}],["cutandresize",{"2":{"40":1}}],["cutimage",{"2":{"40":1}}],["customholidays",{"2":{"23":1}}],["cn",{"2":{"27":2,"35":3,"36":1,"38":1}}],["c",{"2":{"26":1,"34":5,"35":2,"42":2,"52":8,"58":2}}],["clearsection",{"2":{"50":1}}],["clearallsection",{"2":{"50":1}}],["clearmemorysilent",{"2":{"17":1}}],["classdto",{"2":{"61":1,"62":1}}],["classes",{"2":{"35":2}}],["class",{"2":{"31":1,"34":1,"44":1,"61":1,"62":1,"67":1,"74":2}}],["class=",{"2":{"16":1}}],["clay",{"2":{"13":1}}],["cpuinfo",{"2":{"15":1}}],["cpuinfos",{"2":{"15":1}}],["cpu序列号",{"2":{"15":1}}],["cpusn=systeminfo",{"2":{"15":1}}],["cpucount",{"2":{"15":1}}],["cpuload",{"2":{"15":1}}],["circle",{"2":{"13":1}}],["cs的",{"2":{"80":1}}],["css",{"2":{"16":2}}],["csharpusing",{"2":{"79":1,"80":2}}],["csharpcurrentcontext",{"2":{"73":1}}],["csharpchinesecalendar",{"2":{"23":1}}],["csharpapp",{"2":{"64":1}}],["csharpa",{"2":{"59":1}}],["csharpdbcontext",{"2":{"57":1}}],["csharptrees",{"2":{"52":1}}],["csharpinifile",{"2":{"50":1}}],["csharp1",{"2":{"49":1}}],["csharprandom",{"2":{"41":1}}],["csharpnew",{"2":{"39":1}}],["csharpnumberformater",{"2":{"20":1}}],["csharpmyclass",{"2":{"38":1}}],["csharpmemorystream",{"2":{"27":1}}],["csharpbool",{"2":{"33":1}}],["csharplimitedqueue",{"2":{"37":1}}],["csharplist",{"2":{"32":1}}],["csharplogmanager",{"2":{"28":1}}],["csharpprivate",{"2":{"27":1}}],["csharppublic",{"2":{"10":1,"31":1,"34":1,"61":1}}],["csharpstream",{"2":{"48":1}}],["csharpstring",{"2":{"16":1}}],["csharpservices",{"2":{"27":1,"57":1}}],["csharpexpression",{"2":{"24":1}}],["csharp",{"2":{"22":1,"36":1,"40":1,"43":1,"44":1,"47":1,"58":1,"61":1,"62":1,"64":1,"68":2,"69":1,"74":1,"80":1}}],["csharphiperftimer",{"2":{"21":1}}],["csharpwindows",{"2":{"17":1}}],["csharpfloat",{"2":{"15":1}}],["csharpvar",{"2":{"14":1,"19":1,"20":1,"25":1,"26":1,"29":1,"30":1,"35":1,"42":1,"45":1,"46":1,"51":1,"53":1,"56":2,"65":1,"66":1,"70":1,"71":1,"72":1,"75":1}}],["cs",{"2":{"12":1,"27":1}}],["code=validatecode",{"2":{"70":1}}],["copytofileasync",{"2":{"48":1}}],["copytofile",{"2":{"48":1}}],["color",{"2":{"40":1}}],["countwithnolockasync",{"2":{"57":1}}],["count==1",{"2":{"35":1}}],["count",{"2":{"22":1}}],["const",{"2":{"80":1}}],["console",{"2":{"20":8,"21":2,"22":2,"23":4,"29":4,"35":1,"39":1,"45":2,"49":4}}],["connstring",{"2":{"57":2}}],["contained",{"2":{"67":5}}],["container",{"2":{"67":5}}],["containssafety",{"2":{"49":1}}],["contains=s",{"2":{"49":4}}],["contains",{"2":{"47":1,"49":1}}],["contractresolver",{"2":{"61":2,"62":1}}],["contents",{"2":{"67":1}}],["contenttype常量库",{"2":{"46":1}}],["content",{"2":{"16":2,"77":1,"79":2,"80":8}}],["convertto的性能更高",{"2":{"49":1}}],["convertto只适用于基元类型的互转",{"2":{"49":1}}],["convertto和changetypeto的区别在于",{"2":{"49":1}}],["convertto",{"2":{"45":1,"49":2}}],["concurrentlimitedqueue",{"2":{"13":1,"37":2}}],["concurrenthashset",{"2":{"13":1,"37":1}}],["configureservices",{"2":{"80":1}}],["configureservices方法调用中配置服务",{"2":{"80":1}}],["configureservices中",{"2":{"61":1}}],["configure",{"2":{"29":1}}],["configuration",{"2":{"10":2,"67":1}}],["config的appsettings配置节中",{"2":{"10":1}}],["config",{"2":{"10":1,"67":1}}],["combine",{"2":{"80":6}}],["compressed",{"2":{"67":5}}],["compositecontractresolver",{"0":{"63":1}}],["computearea",{"2":{"51":1}}],["computeintersection",{"2":{"51":1}}],["compare",{"2":{"40":1}}],["complexpassword",{"2":{"31":3}}],["compile",{"2":{"24":2}}],["com",{"2":{"10":4,"12":1,"14":5,"29":2,"33":1,"39":4,"44":2}}],["core内部支持断点续传",{"2":{"77":1}}],["core2",{"2":{"77":1}}],["core中通过mvc",{"2":{"76":1}}],["core自动扫描注册服务",{"0":{"74":1}}],["core支持addorupdate方法",{"0":{"43":1}}],["core项目配置在appsettings",{"2":{"10":1}}],["core项目推荐首选包",{"2":{"4":1}}],["core的支持断点续传和多线程下载的resumefileresult",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1}}],["core的全部功能",{"2":{"7":1}}],["core的版本",{"2":{"5":1}}],["core",{"0":{"4":1,"64":1,"77":1,"80":1},"2":{"4":1,"7":2,"27":1,"86":1,"92":1}}],["且黑名单优先级高于白名单",{"2":{"10":1}}],["quake",{"2":{"67":1}}],["quicktime",{"2":{"67":1}}],["querymodel",{"2":{"64":1}}],["query",{"2":{"64":7}}],["querywithnolockdbcommandinterceptor",{"2":{"57":1}}],["queryable",{"2":{"45":1}}],["queue",{"2":{"37":2}}],["quot",{"2":{"10":2}}],["qodw9728",{"2":{"22":1}}],["q",{"2":{"16":1}}],["qq",{"2":{"10":1,"14":2,"39":2}}],["wasm",{"2":{"67":1}}],["wave",{"2":{"67":1}}],["wav",{"2":{"67":1}}],["word",{"2":{"67":2}}],["world",{"2":{"30":3}}],["weightedby",{"2":{"42":1}}],["weightedselector",{"2":{"42":1}}],["weighteditems",{"2":{"42":2}}],["weighteditem",{"2":{"42":11}}],["webrootpath",{"2":{"80":6}}],["webroot",{"2":{"80":12}}],["webapi应用程序传输文件数据时使用断点续传以及多线程下载支持",{"2":{"76":1}}],["webassembly",{"2":{"67":1}}],["webp",{"2":{"67":2}}],["webm",{"2":{"67":2}}],["web功能的额外支持",{"2":{"7":1}}],["web专用包",{"2":{"7":1}}],["withobject",{"2":{"68":1}}],["winrar",{"2":{"67":1}}],["windowsdefenderscanservice",{"2":{"69":3}}],["windows",{"2":{"15":1,"67":6,"69":1,"86":1,"92":1}}],["width=str",{"2":{"49":4}}],["width",{"2":{"40":1}}],["write|myenum",{"2":{"36":1}}],["write=2",{"2":{"36":1}}],["writeline",{"2":{"20":8,"21":2,"22":2,"23":4,"29":4,"35":1,"39":1,"45":2,"49":4}}],["ww3",{"2":{"27":2}}],["where",{"2":{"57":4}}],["whereif",{"2":{"24":2}}],["where2",{"2":{"24":4}}],["where1",{"2":{"24":4}}],["w",{"2":{"10":4,"14":4}}],["^",{"2":{"10":4,"14":4}}],["示例代码如下",{"2":{"64":1}}],["示例",{"2":{"10":1}}],["英文逗号分隔",{"2":{"10":2}}],["etag和",{"2":{"80":1}}],["etag",{"2":{"80":12}}],["etag标头以及",{"2":{"76":1}}],["equivalentprincipal",{"2":{"75":2}}],["equivalentinterest",{"2":{"75":2}}],["equal",{"2":{"68":6}}],["epub",{"2":{"67":1}}],["emoji=s",{"2":{"49":1}}],["email",{"2":{"31":1,"35":4,"38":1,"39":1,"44":1}}],["emaildomainblocklist",{"2":{"10":1,"14":1}}],["emaildomainwhitelist",{"2":{"10":1}}],["ee",{"2":{"45":1}}],["efcore实用扩展",{"0":{"55":1},"1":{"56":1,"57":1,"58":1}}],["ef",{"0":{"43":1}}],["e",{"2":{"29":4,"67":1}}],["entitytag",{"2":{"80":7}}],["enableretryonfailure",{"2":{"57":1}}],["enablessl",{"2":{"39":1}}],["endswith",{"2":{"49":1}}],["endif",{"2":{"16":1}}],["en",{"2":{"36":1}}],["enumerable",{"2":{"45":3}}],["enums=op",{"2":{"36":1}}],["enumstring",{"2":{"36":1}}],["enumdescription",{"2":{"36":2}}],["enum",{"2":{"36":1}}],["enumof",{"2":{"31":1}}],["encoding=textencodingdetector",{"2":{"66":1}}],["encoding=stream",{"2":{"66":1}}],["encoding=new",{"2":{"66":1}}],["encode",{"2":{"30":1}}],["encodetozerowidthtext",{"2":{"30":1}}],["encrypt",{"2":{"30":3}}],["enc",{"2":{"30":6}}],["enc=",{"2":{"30":6}}],["environment",{"2":{"29":1}}],["errormessage",{"2":{"31":2}}],["error",{"2":{"28":1}}],["event+=info",{"2":{"28":1}}],["e=>e",{"2":{"24":2,"42":2}}],["exchange",{"2":{"67":1}}],["excep",{"2":{"67":1}}],["exceptby",{"2":{"45":1}}],["exception",{"2":{"28":1}}],["excel导出等常用封装",{"2":{"82":1,"88":1}}],["excel导入导出的专用独立包",{"2":{"8":1}}],["excel",{"0":{"8":1},"2":{"53":1,"67":1}}],["experts",{"2":{"67":1}}],["expression",{"2":{"24":2}}],["executive",{"2":{"67":1}}],["executionstrategy",{"2":{"57":2}}],["execute",{"2":{"21":1,"22":1}}],["exe",{"2":{"46":1,"67":1,"69":2}}],["extensible",{"2":{"67":1}}],["extensions",{"2":{"80":2}}],["extension",{"2":{"66":1}}],["extension==",{"2":{"46":1}}],["ext",{"2":{"46":1}}],["e6186159d38cd50e0463a55e596336bd",{"2":{"20":1}}],["工具库需要用到外部配置节",{"2":{"10":1}}],["为工具库注册配置",{"0":{"10":1}}],["mvc",{"2":{"79":2}}],["mvc和asp",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1}}],["mkv",{"2":{"67":1}}],["mka",{"2":{"67":1}}],["m4v",{"2":{"67":1}}],["m4a",{"2":{"67":1}}],["mp4",{"2":{"67":4,"79":6}}],["m=>m",{"2":{"45":1}}],["myblogs",{"2":{"81":1,"87":1}}],["myservice",{"2":{"74":1}}],["myinterface",{"2":{"74":1}}],["myproperty",{"2":{"61":1,"62":2}}],["myenum",{"2":{"31":2,"36":7}}],["myclass",{"2":{"26":3,"31":1,"34":4,"35":3,"38":7,"44":1,"45":10,"49":1,"61":1,"62":1,"68":8,"74":1}}],["myclass>>",{"2":{"45":1}}],["myclass>",{"2":{"26":1,"35":2,"45":3}}],["mustsymbol=true",{"2":{"31":1}}],["mustletter=true",{"2":{"31":1}}],["mustnumber=true",{"2":{"31":1}}],["multithreaddownloader",{"2":{"29":2}}],["md5三次加盐",{"2":{"30":1}}],["md5三次",{"2":{"30":1}}],["md5两次加盐",{"2":{"30":1}}],["md5两次",{"2":{"30":1}}],["md5加盐",{"2":{"30":1}}],["md5",{"2":{"30":1,"48":1}}],["mdstring3",{"2":{"30":2}}],["mdstring2",{"2":{"30":2}}],["mdstring",{"2":{"30":2}}],["mbps",{"2":{"29":1}}],["mtd",{"2":{"29":8}}],["msi",{"2":{"67":1}}],["ms=largememorystream",{"2":{"48":1}}],["ms=pooledmemorystream",{"2":{"48":1}}],["ms",{"2":{"27":1}}],["memory",{"2":{"67":1}}],["memorystream",{"2":{"48":1,"54":1}}],["memoryavailable",{"2":{"15":2}}],["medianhash64",{"2":{"40":2}}],["merge",{"2":{"34":2}}],["method=",{"2":{"16":1}}],["modified",{"2":{"76":1}}],["modified标头",{"2":{"76":1}}],["modernizr",{"2":{"16":1}}],["movie",{"2":{"67":1}}],["mov",{"2":{"67":1}}],["mount",{"2":{"67":1}}],["mongodb的封装操作类独立包",{"2":{"9":1}}],["mongodbclient",{"0":{"9":1}}],["midi",{"2":{"67":1}}],["mid",{"2":{"67":1}}],["microsoft",{"2":{"67":12}}],["microseconds",{"2":{"47":1}}],["milliseconds",{"2":{"47":1}}],["minutes",{"2":{"47":1}}],["minordefault",{"2":{"45":3}}],["minitemscount",{"2":{"31":1}}],["minvalue",{"2":{"31":1}}],["min",{"2":{"16":1}}],["mimetype",{"2":{"66":2}}],["mime",{"2":{"46":1}}],["mime类型",{"0":{"46":1}}],["mime类型映射",{"2":{"13":1}}],["mimemapper=new",{"2":{"79":1}}],["mimemapper",{"2":{"13":1,"46":4,"79":5}}],["mappath",{"2":{"79":1}}],["markup",{"2":{"67":1}}],["marker=imagewatermarker",{"2":{"40":1}}],["manager",{"2":{"67":1}}],["matroska",{"2":{"67":2}}],["matchemoji",{"2":{"49":1}}],["matchemail",{"2":{"14":1}}],["matchcnpatentnumber",{"2":{"14":1}}],["matchimgtags",{"2":{"32":1}}],["matchimgsrcs",{"2":{"32":1}}],["matchidentifycard",{"2":{"14":1}}],["matchinetaddress",{"2":{"14":1}}],["matchlandline",{"2":{"14":1}}],["matchphonenumber",{"2":{"14":1}}],["matchurl",{"2":{"14":1}}],["match",{"2":{"14":1,"76":2}}],["maxordefault",{"2":{"45":3}}],["max=list",{"2":{"45":6}}],["maxvalue",{"2":{"20":1,"31":1,"41":1}}],["maskconverter",{"2":{"44":1}}],["maskemailconverter",{"2":{"44":1}}],["maskemail",{"2":{"44":1}}],["mask",{"2":{"44":1}}],["masuittoolsdemo",{"2":{"12":1}}],["masuit",{"0":{"7":1,"8":1,"9":1,"82":1,"88":1},"1":{"83":1,"84":1,"85":1,"86":1,"87":1,"89":1,"90":1,"91":1,"92":1},"2":{"2":1,"3":1,"4":1,"5":1,"14":1,"29":1,"39":2,"44":2,"53":1,"64":2,"68":2,"75":1,"79":2,"80":2,"81":2,"87":2}}],["makethumbnail",{"2":{"40":1}}],["macaddress",{"2":{"15":1}}],["main",{"2":{"12":1}}],["namingstrategy",{"2":{"61":1}}],["name",{"2":{"24":3,"25":4,"26":4,"36":2,"45":2,"53":1,"64":1,"68":6}}],["name==",{"2":{"57":7}}],["name==name",{"2":{"24":1}}],["name=",{"2":{"16":1,"45":10,"80":1}}],["nanoseconds",{"2":{"47":1}}],["none",{"2":{"76":1}}],["nolock",{"2":{"57":2}}],["nolock本质是开启一个",{"2":{"57":1}}],["nolock查询",{"0":{"57":1}}],["notnullorempty",{"2":{"49":1}}],["now",{"2":{"47":5}}],["nosql",{"0":{"9":1}}],["n",{"2":{"44":1}}],["nextgauss",{"2":{"41":1}}],["next",{"2":{"20":1,"41":1,"59":6}}],["newobject",{"2":{"68":1}}],["newtonsoft",{"0":{"60":1},"1":{"61":1,"62":1,"63":1},"2":{"61":1}}],["newbmp",{"2":{"40":9}}],["newid",{"2":{"22":3}}],["new",{"2":{"20":5,"22":3,"23":1,"25":3,"26":5,"27":2,"28":1,"29":1,"34":3,"35":4,"37":3,"38":1,"40":3,"41":3,"42":10,"45":19,"46":1,"47":1,"48":1,"49":4,"57":1,"61":7,"62":3,"65":1,"68":5,"75":7,"79":1,"80":5}}],["net万能工具库",{"2":{"88":1}}],["net实现的全文检索搜索引擎",{"2":{"81":1,"87":1}}],["net类",{"2":{"77":1}}],["network",{"2":{"67":1}}],["net5及以上",{"2":{"37":1}}],["net45",{"2":{"5":1}}],["net扩展",{"2":{"5":1}}],["net",{"0":{"2":1,"3":1,"4":1,"5":1,"64":1,"74":1,"76":2,"77":1,"79":1,"80":1},"1":{"77":2,"78":2,"79":2,"80":2,"81":2},"2":{"2":1,"4":1,"5":2,"7":2,"10":2,"27":3,"67":1,"76":1,"77":2,"86":1,"92":1}}],["nf",{"2":{"20":4}}],["null",{"2":{"80":8}}],["nullable",{"2":{"49":1}}],["nullabledictionary",{"2":{"13":1}}],["nullableconcurrentdictionary",{"2":{"13":1}}],["nums=enumerable",{"2":{"45":4}}],["number=",{"2":{"33":1}}],["number=ipaddress",{"2":{"33":1}}],["numberformater是不支持的",{"2":{"20":1}}],["numberformater",{"2":{"20":4,"22":2,"41":1}}],["num=1",{"2":{"49":1}}],["num=123",{"2":{"19":2}}],["num=",{"2":{"20":1}}],["num",{"2":{"20":10,"41":1,"61":1,"62":1}}],["请联系作者进行商业授权",{"2":{"85":1,"91":1}}],["请以银行结果为准",{"2":{"75":1}}],["请务必使用上述版本的包",{"2":{"5":1}}],["请注意命名空间",{"2":{"44":2}}],["请注意",{"0":{"85":1,"91":1},"2":{"5":1}}],["autoregisterservices",{"2":{"74":1}}],["audio",{"2":{"67":6}}],["amsiscanservice",{"2":{"69":3}}],["amsi",{"2":{"69":1}}],["archive",{"2":{"67":2}}],["apk",{"2":{"67":1}}],["apple",{"2":{"67":1}}],["application",{"2":{"46":1}}],["app",{"2":{"10":1}}],["avi",{"2":{"67":1}}],["avatar=image",{"2":{"53":1}}],["averagehash64",{"2":{"40":2}}],["allwithnolockasync",{"2":{"57":1}}],["allchanges=dbcontext",{"2":{"56":2}}],["allchildren",{"2":{"52":1}}],["allparent",{"2":{"52":1}}],["all=8",{"2":{"36":1}}],["await",{"2":{"45":8,"57":6}}],["awesome",{"2":{"16":2}}],["attachment",{"2":{"80":1}}],["attachments",{"2":{"29":1}}],["attribute的方式为json序列化时进行数据脱敏",{"2":{"44":1}}],["admin",{"2":{"39":1,"44":1}}],["addresumefileresult",{"2":{"80":1}}],["addrangeifnotcontains",{"2":{"45":1}}],["addrangeif",{"2":{"45":1}}],["addnewtonsoftjson",{"2":{"61":1}}],["addmvc",{"2":{"61":1}}],["addinterceptors",{"2":{"57":1}}],["addidentitycolumn",{"2":{"45":1}}],["adddbcontext",{"2":{"57":2}}],["added=dbcontext",{"2":{"56":2}}],["addorupdate",{"2":{"43":1,"45":4,"71":1}}],["addwatermark",{"2":{"40":2}}],["addsevenzipcompressor",{"2":{"27":1}}],["add",{"2":{"22":1,"23":1,"29":1}}],["addtomasuittools",{"2":{"10":1}}],["aaa",{"2":{"57":7}}],["aa",{"2":{"34":2,"45":1,"49":7}}],["aes密钥解密为明文",{"2":{"30":1}}],["aes密钥加密为密文",{"2":{"30":1}}],["aes解密为明文",{"2":{"30":1}}],["aesdecrypt",{"2":{"30":2}}],["aes加密为密文",{"2":{"30":1}}],["aesencrypt",{"2":{"30":2}}],["aes",{"2":{"30":4}}],["assert",{"2":{"68":6}}],["async",{"2":{"45":4}}],["asconcurrentdictionary",{"2":{"45":1}}],["as",{"2":{"29":1}}],["aspnetcore项目推荐首选包",{"2":{"7":1}}],["aspnetcore",{"0":{"7":1},"2":{"64":2,"80":2}}],["asp",{"0":{"64":1,"74":1,"76":1,"77":1,"80":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1},"2":{"5":1,"7":1,"77":1}}],["age=15",{"2":{"45":1}}],["age=14",{"2":{"45":2}}],["age=13",{"2":{"45":4}}],["age=12",{"2":{"45":2}}],["age=11",{"2":{"45":1}}],["age>=age",{"2":{"24":1}}],["age",{"2":{"24":1,"26":4,"31":1,"53":1,"68":2}}],["abcdefgh",{"2":{"30":2}}],["abcd12345678",{"2":{"24":1}}],["abc",{"2":{"24":1,"30":5}}],["abstraction",{"2":{"3":1}}],["anywithnolockasync",{"2":{"57":1}}],["android",{"2":{"67":1}}],["and和andif可供选择",{"2":{"24":1}}],["andif",{"2":{"24":1}}],["and",{"2":{"24":1,"67":1}}],["animalstring",{"2":{"23":1}}],["a>",{"2":{"16":2}}],["actualpayment",{"2":{"75":1}}],["actualinterest",{"2":{"75":1}}],["actionresult",{"2":{"79":3}}],["action同时支持querystring",{"0":{"64":1}}],["actions",{"2":{"16":1}}],["action=",{"2":{"16":1}}],["account",{"2":{"16":2}}],["a",{"2":{"16":2,"24":2,"34":5,"42":2,"44":1,"62":1}}],["阉割了redis",{"2":{"5":1}}],["5及以上版本",{"2":{"86":1}}],["5倍作为本项目的授权费",{"2":{"85":1,"91":1}}],["58",{"2":{"75":2}}],["56",{"2":{"75":1}}],["5678",{"2":{"44":1}}],["53",{"2":{"75":3}}],["52",{"0":{"75":1}}],["5217744842749978a756b22135b16a5998a5",{"2":{"20":1}}],["51",{"0":{"74":1}}],["50",{"0":{"73":1},"2":{"45":1}}],["55",{"2":{"45":1,"75":1}}],["5",{"0":{"18":1},"1":{"19":1,"20":1},"2":{"5":1,"10":4,"14":4,"41":1,"45":8,"47":1,"68":2}}],["5的专用版本",{"2":{"5":1}}],["5特供版",{"0":{"5":1}}],["29",{"0":{"44":1}}],["27",{"0":{"42":1},"2":{"75":1}}],["26",{"0":{"41":1}}],["2600240311641665565300424545154525131265221035",{"2":{"20":1}}],["24",{"0":{"39":1}}],["24位长度",{"2":{"20":1}}],["23h2及以上版本",{"2":{"92":1}}],["23提前还款10万",{"2":{"75":1}}],["2345",{"2":{"49":1}}],["2345678901",{"2":{"49":1}}],["23",{"0":{"38":1},"2":{"33":1,"49":4,"75":1}}],["258期",{"2":{"75":1}}],["25利率调整为4",{"2":{"75":1}}],["25",{"0":{"40":1},"2":{"33":1,"39":1,"75":1}}],["255",{"2":{"33":1}}],["25位长度",{"2":{"20":1}}],["28",{"0":{"43":1},"2":{"26":1,"75":1}}],["21",{"0":{"36":1},"2":{"26":1}}],["22",{"0":{"37":1},"2":{"26":1,"75":1}}],["22位长度",{"2":{"20":1}}],["2016",{"2":{"80":1}}],["2018",{"2":{"23":2}}],["2000",{"2":{"67":1}}],["2003",{"2":{"67":3}}],["200410018477",{"2":{"14":1}}],["2026",{"2":{"75":4}}],["2025",{"2":{"75":4}}],["2023",{"2":{"75":6}}],["2022",{"2":{"75":4}}],["2021",{"2":{"47":1,"75":1}}],["2020",{"2":{"47":15}}],["20",{"0":{"35":1},"2":{"14":1,"41":1,"68":2}}],["2",{"0":{"3":1,"4":1,"15":1,"77":1},"2":{"22":1,"25":2,"33":2,"40":1,"42":1,"45":5,"47":1,"49":1,"59":1,"67":1,"68":4,"75":3,"86":1,"92":1}}],["sdk",{"2":{"86":1,"92":1}}],["scoped",{"2":{"74":2}}],["scan",{"2":{"69":3}}],["scanstream",{"2":{"69":1}}],["scandirectory",{"2":{"69":1}}],["scanfile",{"2":{"69":1}}],["script>",{"2":{"16":1}}],["scripts",{"2":{"16":1}}],["script",{"2":{"16":1,"67":1}}],["sqlite",{"2":{"67":2}}],["sqlserver",{"2":{"57":1}}],["swf",{"2":{"67":1}}],["srt",{"2":{"67":1}}],["srcs",{"2":{"32":1}}],["src=",{"2":{"16":1}}],["solution",{"2":{"67":1}}],["sound",{"2":{"67":1}}],["sln",{"2":{"67":1}}],["slideshow",{"2":{"67":1}}],["sbyte",{"2":{"49":1}}],["s=",{"2":{"49":2}}],["s=null",{"2":{"49":1}}],["s=list",{"2":{"45":1}}],["s=>s",{"2":{"45":2,"59":1}}],["s=>s==name",{"2":{"24":2}}],["system32",{"2":{"69":1}}],["system",{"2":{"61":1,"80":4}}],["systems",{"2":{"44":2}}],["systems命名空间",{"2":{"44":2}}],["systeminfo",{"2":{"15":10}}],["savedinterest",{"2":{"75":1}}],["savedatauriasimagefile",{"2":{"40":1}}],["savefile",{"2":{"48":1}}],["saveasmemorystream",{"2":{"48":1}}],["savepost",{"2":{"43":1}}],["surface",{"2":{"67":1}}],["summary>",{"2":{"43":2,"80":2}}],["subtitle",{"2":{"67":1}}],["subrip",{"2":{"67":1}}],["subject",{"2":{"39":1}}],["submit",{"2":{"16":2}}],["simhash",{"2":{"65":2}}],["sim=imagehasher",{"2":{"40":1}}],["since",{"2":{"76":2}}],["singleordefaultwithnolockasync",{"2":{"57":1}}],["single",{"2":{"49":1}}],["sinaimg",{"2":{"27":2}}],["smtpport",{"2":{"39":1}}],["smtp服务器端口",{"2":{"39":1}}],["smtp服务器",{"2":{"39":1}}],["smtp",{"2":{"39":1}}],["smtpserver",{"2":{"39":1}}],["shockwave",{"2":{"67":1}}],["shortcut",{"2":{"67":1}}],["shortid",{"2":{"22":1}}],["sh",{"2":{"67":1}}],["shell",{"2":{"67":1}}],["shellpm>",{"2":{"2":1,"3":1,"4":1,"5":1,"64":1}}],["sheet1",{"2":{"53":2}}],["sha1",{"2":{"48":1}}],["sha256",{"2":{"30":1}}],["shufflecode",{"2":{"48":1}}],["shimo",{"2":{"29":1}}],["snowflakenew",{"2":{"22":5}}],["snowflake",{"2":{"22":6}}],["sfn",{"2":{"22":2}}],["sf",{"2":{"22":3}}],["s36",{"2":{"20":2}}],["s",{"2":{"16":2,"20":3,"21":2,"22":1,"24":8,"25":3,"30":8,"39":2,"41":1,"45":15,"49":5}}],["spreadsheet",{"2":{"67":1}}],["split",{"2":{"36":1}}],["span>",{"2":{"16":3}}],["span",{"2":{"16":1}}],["sphere",{"2":{"13":1}}],["server",{"2":{"79":1}}],["servicelifetime",{"2":{"74":2}}],["serviceinject",{"2":{"74":2}}],["services",{"2":{"57":1,"61":1,"74":1,"80":2}}],["serializersettings",{"2":{"61":1}}],["serialize",{"2":{"61":1}}],["serializeobject",{"2":{"61":1,"62":1}}],["serializeonlyjsonproperty",{"2":{"61":1}}],["serializeignoreresolver",{"2":{"61":1}}],["serializeignore",{"2":{"61":1}}],["serializeignoreattribute标记的",{"2":{"61":1}}],["serialnumber",{"2":{"15":2}}],["section",{"2":{"50":3}}],["sect=list",{"2":{"45":2}}],["seconds",{"2":{"47":1}}],["sequenceequal",{"2":{"45":1}}],["sendasync",{"2":{"39":1}}],["sender",{"2":{"29":4}}],["sevenzipcompressor",{"2":{"27":8}}],["selectasync",{"2":{"45":2}}],["selectmultiple",{"2":{"42":1}}],["selector",{"2":{"42":3,"45":4}}],["select",{"2":{"26":1,"42":1,"45":1,"53":1}}],["setdata",{"2":{"73":2}}],["setproperty",{"2":{"38":1}}],["set",{"2":{"22":3,"25":5,"31":10,"34":3,"37":1,"43":1,"44":2,"45":1,"61":2,"62":2,"71":1}}],["setnumberformater",{"2":{"22":2}}],["setinitialoffset",{"2":{"22":2}}],["setmachienid",{"2":{"22":2}}],["searchengine",{"2":{"81":1,"87":1}}],["search",{"2":{"16":1}}],["searchboxsubmit",{"2":{"16":1}}],["searchboxinput",{"2":{"16":1}}],["searchbox",{"2":{"16":1}}],["session扩展等一些功能",{"2":{"5":1}}],["studio",{"2":{"67":1}}],["stg=>stg",{"2":{"57":1}}],["stddev=list",{"2":{"45":1}}],["strictnext",{"2":{"41":1}}],["stringwidth",{"2":{"49":3}}],["string>>",{"2":{"33":1,"42":2}}],["string>",{"2":{"15":1,"22":1,"27":2,"31":1,"32":1,"36":1,"37":5,"42":9,"45":1}}],["string",{"2":{"15":2,"16":2,"20":1,"22":5,"24":9,"25":3,"30":15,"31":7,"33":2,"34":1,"36":3,"44":2,"45":2,"48":2,"49":4,"54":4,"61":1,"62":1,"64":1,"80":7}}],["stream=code",{"2":{"70":1}}],["stream=list",{"2":{"53":2}}],["stream=maker",{"2":{"40":2}}],["stream",{"2":{"40":1,"46":1,"48":3,"54":2,"69":2,"80":6}}],["str=s",{"2":{"49":3}}],["str=",{"2":{"32":1}}],["strs",{"2":{"31":1}}],["str",{"2":{"30":5}}],["stop",{"2":{"21":1}}],["stylesheet",{"2":{"16":2}}],["star趋势",{"0":{"84":1,"90":1}}],["start",{"2":{"29":1}}],["startswith",{"2":{"24":2,"49":1}}],["startnew",{"2":{"21":1}}],["startup",{"2":{"10":1,"27":1,"80":1}}],["standarddeviation",{"2":{"45":1}}],["standard",{"0":{"3":1}}],["1csharpprivate",{"2":{"80":1}}],["1csharppublic",{"2":{"80":1}}],["1利率调整为4",{"2":{"75":2}}],["1利率调整为5",{"2":{"75":2}}],["1在action的参数模型前打上标记",{"2":{"64":1}}],["1startup配置",{"2":{"64":1}}],["1通用数据库",{"2":{"57":1}}],["1903及以上版本",{"2":{"86":1}}],["19",{"0":{"34":1},"2":{"75":1}}],["192",{"2":{"33":3}}],["18",{"0":{"33":1},"2":{"49":1,"68":2}}],["172",{"2":{"33":1}}],["17",{"0":{"32":1}}],["15",{"0":{"30":1},"2":{"75":1}}],["15205201520",{"2":{"14":1}}],["1403845",{"2":{"75":1}}],["14提前还款10万并以等额本金方式+缩短年限",{"2":{"75":1}}],["14",{"0":{"29":1},"2":{"49":2,"75":1}}],["131",{"2":{"44":1}}],["13123456789",{"2":{"44":1}}],["13",{"0":{"28":1}}],["1构造函数注入isevenzipcompressor",{"2":{"27":1}}],["11提前还款10万并缩短年限",{"2":{"75":1}}],["11",{"0":{"26":1},"2":{"45":2,"75":1,"92":1}}],["114",{"2":{"14":4,"33":16}}],["160",{"2":{"40":2}}],["1600",{"2":{"40":2}}],["168",{"2":{"33":3}}],["16",{"0":{"31":1},"2":{"20":1,"33":1}}],["163",{"2":{"10":1,"14":1}}],["10001",{"2":{"39":1}}],["10000",{"2":{"39":1}}],["100000m",{"2":{"75":4}}],["1000000",{"2":{"22":2,"75":1}}],["100000",{"2":{"20":1,"21":2,"41":1}}],["100",{"2":{"31":1,"45":5}}],["1024+",{"2":{"29":1}}],["1024",{"2":{"29":1}}],["10",{"0":{"25":1},"2":{"24":2,"40":1,"45":11,"49":1,"57":1,"68":2,"75":8,"86":1}}],["10进制转36进制",{"2":{"20":1}}],["1221266",{"2":{"75":1}}],["12提前还款10万并修改为等额本金方式",{"2":{"75":1}}],["12csharpprivate",{"2":{"79":1}}],["12csharp",{"2":{"44":1}}],["12csharpvar",{"2":{"25":1,"37":1}}],["120",{"2":{"40":1}}],["12进制",{"2":{"20":1}}],["123",{"2":{"20":1,"25":1,"30":3,"45":1,"59":1,"72":1}}],["123csharpvar",{"2":{"25":1}}],["123csharp",{"2":{"20":1}}],["1234然后在你的控制器中",{"2":{"80":1}}],["1234对比信息包含属性信息",{"2":{"56":1}}],["1234获取所有实体的变更",{"2":{"56":1}}],["12345",{"2":{"50":1,"58":1,"71":1,"73":1}}],["12345使用方式同",{"2":{"27":1}}],["12345csharpsevenzipcompressor",{"2":{"27":1}}],["123456csharpvar",{"2":{"36":1}}],["123456csharpexpression",{"2":{"24":1}}],["123456",{"2":{"30":11,"38":1,"39":1}}],["1234567csharpqueryable",{"2":{"24":1}}],["1234567csharpdouble",{"2":{"21":1}}],["1234567csharp",{"2":{"20":1}}],["12345678asp",{"2":{"27":1}}],["123456789",{"2":{"44":1,"69":1,"74":1}}],["123456789csharplist",{"2":{"42":1}}],["123456789csharpvar",{"2":{"42":1}}],["12345678910111213",{"2":{"66":1}}],["1234567891011121314普通类型转换成动态类型",{"2":{"68":1}}],["12345678910111213141516",{"2":{"57":1}}],["1234567891011121314151617csharpdictionary",{"2":{"36":1}}],["1234567891011121314151617",{"2":{"35":1,"68":1,"79":1}}],["12345678910111213141516171819计算结果",{"2":{"75":1}}],["123456789101112131415161718192021如果是webapi全局使用",{"2":{"61":1}}],["1234567891011121314151617181920212223242526272829303132",{"2":{"31":1}}],["1234567891011121314151617181920212223242526272829303132333435363738394041424344",{"2":{"49":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111以上示例将为您的数据提供",{"2":{"80":1}}],["12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394",{"2":{"45":1}}],["1234567891011121314151617181920212223242526272829303132333435",{"2":{"40":1}}],["12345678910111213141516171819202122232425262728293031323334",{"2":{"30":1}}],["12345678910111213141516171819202122",{"2":{"29":1,"34":1}}],["1234567891011121314151617181920",{"2":{"47":1,"48":1}}],["12345678910111213141516171819csharpvar",{"2":{"22":1}}],["12345678910111213141516171819",{"2":{"15":1,"26":1}}],["1234567891011121314",{"2":{"16":1,"39":1}}],["123456789101112",{"2":{"52":1,"62":1}}],["1234567891011",{"2":{"33":1,"64":1}}],["12345678910",{"2":{"22":1,"80":1}}],["1234567890",{"2":{"20":2}}],["12345678如果你想让进制符支持emoji",{"2":{"20":1}}],["12345678的36进制是",{"2":{"20":1}}],["12345678",{"2":{"20":3,"21":1,"43":1,"46":1,"65":2}}],["1234567",{"2":{"14":1,"23":1,"28":1,"53":1,"61":1,"65":2}}],["1234",{"2":{"10":1,"32":1,"41":1}}],["12",{"0":{"27":1},"2":{"19":1,"20":1,"23":2,"24":1,"31":1,"36":1,"42":1,"51":1,"59":1,"65":1,"70":1,"75":1}}],["1及",{"2":{"5":1}}],["1",{"0":{"2":1,"3":1,"4":1,"14":1},"2":{"2":1,"3":1,"4":1,"5":1,"10":4,"14":4,"17":1,"22":2,"25":2,"27":2,"31":1,"33":2,"35":6,"37":1,"38":2,"40":3,"42":2,"45":14,"47":2,"48":2,"49":3,"68":2,"69":2,"75":15,"80":2,"86":1,"92":1}}],["666",{"2":{"45":1}}],["66",{"2":{"45":1}}],["62",{"2":{"41":1}}],["6891495s",{"2":{"22":1}}],["64进制",{"2":{"20":1}}],["64",{"2":{"20":1}}],["6",{"0":{"2":1,"21":1},"2":{"5":1,"45":2,"47":4,"49":1,"70":1}}],["4元",{"2":{"75":1}}],["49",{"0":{"72":1}}],["48",{"0":{"71":1}}],["47",{"0":{"70":1},"2":{"75":2}}],["46",{"0":{"69":1}}],["46位长度",{"2":{"20":1}}],["44",{"0":{"66":1},"1":{"67":1},"2":{"75":1}}],["43",{"0":{"65":1}}],["42",{"0":{"64":1}}],["4219864516915105792",{"2":{"22":2}}],["400000",{"2":{"75":1}}],["403845",{"2":{"75":1}}],["40",{"0":{"59":1}}],["4次",{"2":{"58":1}}],["41进制",{"2":{"20":1}}],["41",{"0":{"60":1},"1":{"61":1,"62":1,"63":1},"2":{"20":1}}],["45",{"0":{"68":1},"2":{"19":2}}],["4",{"0":{"2":1,"5":1,"17":1},"2":{"5":1,"31":1,"42":4,"45":4,"47":5,"58":1,"68":2}}],["≥",{"0":{"2":1,"3":1,"4":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/assets/chunks/VPLocalSearchBox.-iAUueMW.js b/assets/chunks/VPLocalSearchBox.W3C8Lx0C.js similarity index 58% rename from assets/chunks/VPLocalSearchBox.-iAUueMW.js rename to assets/chunks/VPLocalSearchBox.W3C8Lx0C.js index 540218b3..a4c27eb9 100644 --- a/assets/chunks/VPLocalSearchBox.-iAUueMW.js +++ b/assets/chunks/VPLocalSearchBox.W3C8Lx0C.js @@ -1,10 +1,10 @@ -var kt=Object.defineProperty;var It=(o,e,t)=>e in o?kt(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>(It(o,typeof e!="symbol"?e+"":e,t),t);import{Y as mt,h as oe,y as $e,ai as Dt,aj as Ot,d as _t,H as xe,ak as tt,k as Fe,al as Rt,am as Mt,z as Lt,an as zt,l as _e,S as de,Q as Ee,ao as Pt,ap as Bt,Z as Vt,j as $t,aq as Wt,o as ee,b as jt,m as E,a2 as Kt,p as U,ar as Jt,as as Ut,at as Ht,c as re,n as rt,e as Se,G as at,F as nt,a as ve,t as pe,au as Gt,q as qt,s as Qt,av as it,aw as Yt,a7 as Zt,ad as Xt,ax as er,_ as tr}from"./framework.cYNwvFF8.js";import{u as rr,c as ar}from"./theme.0C8HcoKF.js";const nr={root:()=>mt(()=>import("./@localSearchIndexroot.RlWnfnLl.js"),__vite__mapDeps([]))};/*! +var It=Object.defineProperty;var Dt=(o,e,t)=>e in o?It(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>(Dt(o,typeof e!="symbol"?e+"":e,t),t);import{Y as yt,h as oe,y as $e,aj as kt,ak as Ot,d as _t,H as xe,al as tt,k as Fe,am as Rt,an as Mt,z as Lt,ao as Pt,l as _e,U as de,S as Ee,ap as zt,aq as Vt,Z as Bt,j as $t,ar as Wt,o as ee,b as Kt,m as k,a2 as Jt,p as j,as as Ut,at as jt,au as Gt,c as re,n as rt,e as Se,G as at,F as nt,a as ve,t as pe,av as qt,q as Ht,s as Qt,aw as it,ax as Yt,a8 as Zt,ae as Xt,ay as er,_ as tr}from"./framework.IXvbZIHp.js";import{u as rr,c as ar}from"./theme.BYCnEqj-.js";const nr={root:()=>yt(()=>import("./@localSearchIndexroot.CDkAgs0_.js"),__vite__mapDeps([]))};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE -*/var yt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Te=yt.join(","),gt=typeof Element>"u",ue=gt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!gt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},ke=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},ir=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},bt=function(e,t,r){if(ke(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Te));return t&&ue.call(e,Te)&&n.unshift(e),n=n.filter(r),n},wt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!ke(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,l=o(u,!0,r);r.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=ue.call(i,Te);h&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var d=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!ke(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(d&&v){var m=o(d===!0?i.children:d.children,!0,r);r.flatten?n.push.apply(n,m):n.push({scopeParent:i,candidates:m})}else a.unshift.apply(a,i.children)}}return n},xt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},se=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||ir(e))&&!xt(e)?0:e.tabIndex},or=function(e,t){var r=se(e);return r<0&&t&&!xt(e)?0:r},sr=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Ft=function(e){return e.tagName==="INPUT"},ur=function(e){return Ft(e)&&e.type==="hidden"},lr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},cr=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(ue.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var u=e.parentElement,l=Ne(e);if(u&&!u.shadowRoot&&n(u)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!u&&l!==e.ownerDocument?e=l.host:e=u}e=s}if(vr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return ot(e);return!1},mr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},gr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,u=or(s,i),l=i?o(n.candidates):s;u===0?i?t.push.apply(t,l):t.push(s):r.push({documentOrder:a,tabIndex:u,item:n,isScope:i,content:l})}),r.sort(sr).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},br=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:We.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:yr}):r=bt(e,t.includeContainer,We.bind(null,t)),gr(r)},wr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:Ie.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=bt(e,t.includeContainer,Ie.bind(null,t)),r},le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,Te)===!1?!1:We(t,e)},xr=yt.concat("iframe").join(","),Re=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,xr)===!1?!1:Ie(t,e)};/*! +*/var mt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ne=mt.join(","),gt=typeof Element>"u",ue=gt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ce=!gt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},Ie=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},ir=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},bt=function(e,t,r){if(Ie(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ne));return t&&ue.call(e,Ne)&&n.unshift(e),n=n.filter(r),n},wt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!Ie(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,l=o(u,!0,r);r.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=ue.call(i,Ne);h&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var d=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!Ie(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(d&&v){var y=o(d===!0?i.children:d.children,!0,r);r.flatten?n.push.apply(n,y):n.push({scopeParent:i,candidates:y})}else a.unshift.apply(a,i.children)}}return n},xt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},se=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||ir(e))&&!xt(e)?0:e.tabIndex},or=function(e,t){var r=se(e);return r<0&&t&&!xt(e)?0:r},sr=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Ft=function(e){return e.tagName==="INPUT"},ur=function(e){return Ft(e)&&e.type==="hidden"},lr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},cr=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(ue.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var u=e.parentElement,l=Ce(e);if(u&&!u.shadowRoot&&n(u)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!u&&l!==e.ownerDocument?e=l.host:e=u}e=s}if(vr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return ot(e);return!1},yr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},gr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,u=or(s,i),l=i?o(n.candidates):s;u===0?i?t.push.apply(t,l):t.push(s):r.push({documentOrder:a,tabIndex:u,item:n,isScope:i,content:l})}),r.sort(sr).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},br=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:We.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:mr}):r=bt(e,t.includeContainer,We.bind(null,t)),gr(r)},wr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:De.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=bt(e,t.includeContainer,De.bind(null,t)),r},le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,Ne)===!1?!1:We(t,e)},xr=mt.concat("iframe").join(","),Re=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,xr)===!1?!1:De(t,e)};/*! * focus-trap 7.5.4 * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE -*/function st(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(o,n).enumerable})),t.push.apply(t,r)}return t}function ut(o){for(var e=1;e0){var r=e[e.length-1];r!==t&&r.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var r=e.indexOf(t);r!==-1&&e.splice(r,1),e.length>0&&e[e.length-1].unpause()}},Ar=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Cr=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ge=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Tr=function(e){return ge(e)&&!e.shiftKey},Nr=function(e){return ge(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ft=function(e,t){var r=-1;return e.every(function(n,a){return t(n)?(r=a,!1):!0}),r},me=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?p-1:0),I=1;I=0)c=r.activeElement;else{var f=i.tabbableGroups[0],p=f&&f.firstTabbableNode;c=p||h("fallbackFocus")}if(!c)throw new Error("Your focus-trap needs to have at least one focusable element");return c},v=function(){if(i.containerGroups=i.containers.map(function(c){var f=br(c,a.tabbableOptions),p=wr(c,a.tabbableOptions),k=f.length>0?f[0]:void 0,I=f.length>0?f[f.length-1]:void 0,M=p.find(function(y){return le(y)}),z=p.slice().reverse().find(function(y){return le(y)}),P=!!f.find(function(y){return se(y)>0});return{container:c,tabbableNodes:f,focusableNodes:p,posTabIndexesFound:P,firstTabbableNode:k,lastTabbableNode:I,firstDomTabbableNode:M,lastDomTabbableNode:z,nextTabbableNode:function(x){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,j=f.indexOf(x);return j<0?$?p.slice(p.indexOf(x)+1).find(function(G){return le(G)}):p.slice(0,p.indexOf(x)).reverse().find(function(G){return le(G)}):f[j+($?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(c){return c.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(c){return c.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},m=function w(c){var f=c.activeElement;if(f)return f.shadowRoot&&f.shadowRoot.activeElement!==null?w(f.shadowRoot):f},b=function w(c){if(c!==!1&&c!==m(document)){if(!c||!c.focus){w(d());return}c.focus({preventScroll:!!a.preventScroll}),i.mostRecentlyFocusedNode=c,Ar(c)&&c.select()}},S=function(c){var f=h("setReturnFocus",c);return f||(f===!1?!1:c)},g=function(c){var f=c.target,p=c.event,k=c.isBackward,I=k===void 0?!1:k;f=f||Ae(p),v();var M=null;if(i.tabbableGroups.length>0){var z=l(f,p),P=z>=0?i.containerGroups[z]:void 0;if(z<0)I?M=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:M=i.tabbableGroups[0].firstTabbableNode;else if(I){var y=ft(i.tabbableGroups,function(B){var J=B.firstTabbableNode;return f===J});if(y<0&&(P.container===f||Re(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f,!1))&&(y=z),y>=0){var x=y===0?i.tabbableGroups.length-1:y-1,$=i.tabbableGroups[x];M=se(f)>=0?$.lastTabbableNode:$.lastDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f,!1))}else{var j=ft(i.tabbableGroups,function(B){var J=B.lastTabbableNode;return f===J});if(j<0&&(P.container===f||Re(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f))&&(j=z),j>=0){var G=j===i.tabbableGroups.length-1?0:j+1,q=i.tabbableGroups[G];M=se(f)>=0?q.firstTabbableNode:q.firstDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f))}}else M=h("fallbackFocus");return M},A=function(c){var f=Ae(c);if(!(l(f,c)>=0)){if(me(a.clickOutsideDeactivates,c)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}me(a.allowOutsideClick,c)||c.preventDefault()}},T=function(c){var f=Ae(c),p=l(f,c)>=0;if(p||f instanceof Document)p&&(i.mostRecentlyFocusedNode=f);else{c.stopImmediatePropagation();var k,I=!0;if(i.mostRecentlyFocusedNode)if(se(i.mostRecentlyFocusedNode)>0){var M=l(i.mostRecentlyFocusedNode),z=i.containerGroups[M].tabbableNodes;if(z.length>0){var P=z.findIndex(function(y){return y===i.mostRecentlyFocusedNode});P>=0&&(a.isKeyForward(i.recentNavEvent)?P+1=0&&(k=z[P-1],I=!1))}}else i.containerGroups.some(function(y){return y.tabbableNodes.some(function(x){return se(x)>0})})||(I=!1);else I=!1;I&&(k=g({target:i.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(i.recentNavEvent)})),b(k||i.mostRecentlyFocusedNode||d())}i.recentNavEvent=void 0},F=function(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=c;var p=g({event:c,isBackward:f});p&&(ge(c)&&c.preventDefault(),b(p))},L=function(c){if(Cr(c)&&me(a.escapeDeactivates,c)!==!1){c.preventDefault(),s.deactivate();return}(a.isKeyForward(c)||a.isKeyBackward(c))&&F(c,a.isKeyBackward(c))},R=function(c){var f=Ae(c);l(f,c)>=0||me(a.clickOutsideDeactivates,c)||me(a.allowOutsideClick,c)||(c.preventDefault(),c.stopImmediatePropagation())},V=function(){if(i.active)return lt.activateTrap(n,s),i.delayInitialFocusTimer=a.delayInitialFocus?ct(function(){b(d())}):b(d()),r.addEventListener("focusin",T,!0),r.addEventListener("mousedown",A,{capture:!0,passive:!1}),r.addEventListener("touchstart",A,{capture:!0,passive:!1}),r.addEventListener("click",R,{capture:!0,passive:!1}),r.addEventListener("keydown",L,{capture:!0,passive:!1}),s},N=function(){if(i.active)return r.removeEventListener("focusin",T,!0),r.removeEventListener("mousedown",A,!0),r.removeEventListener("touchstart",A,!0),r.removeEventListener("click",R,!0),r.removeEventListener("keydown",L,!0),s},_=function(c){var f=c.some(function(p){var k=Array.from(p.removedNodes);return k.some(function(I){return I===i.mostRecentlyFocusedNode})});f&&b(d())},C=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(_):void 0,O=function(){C&&(C.disconnect(),i.active&&!i.paused&&i.containers.map(function(c){C.observe(c,{subtree:!0,childList:!0})}))};return s={get active(){return i.active},get paused(){return i.paused},activate:function(c){if(i.active)return this;var f=u(c,"onActivate"),p=u(c,"onPostActivate"),k=u(c,"checkCanFocusTrap");k||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,f==null||f();var I=function(){k&&v(),V(),O(),p==null||p()};return k?(k(i.containers.concat()).then(I,I),this):(I(),this)},deactivate:function(c){if(!i.active)return this;var f=ut({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},c);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,N(),i.active=!1,i.paused=!1,O(),lt.deactivateTrap(n,s);var p=u(f,"onDeactivate"),k=u(f,"onPostDeactivate"),I=u(f,"checkCanReturnFocus"),M=u(f,"returnFocus","returnFocusOnDeactivate");p==null||p();var z=function(){ct(function(){M&&b(S(i.nodeFocusedBeforeActivation)),k==null||k()})};return M&&I?(I(S(i.nodeFocusedBeforeActivation)).then(z,z),this):(z(),this)},pause:function(c){if(i.paused||!i.active)return this;var f=u(c,"onPause"),p=u(c,"onPostPause");return i.paused=!0,f==null||f(),N(),O(),p==null||p(),this},unpause:function(c){if(!i.paused||!i.active)return this;var f=u(c,"onUnpause"),p=u(c,"onPostUnpause");return i.paused=!1,f==null||f(),v(),V(),O(),p==null||p(),this},updateContainerElements:function(c){var f=[].concat(c).filter(Boolean);return i.containers=f.map(function(p){return typeof p=="string"?r.querySelector(p):p}),i.active&&v(),O(),this}},s.updateContainerElements(e),s};function Dr(o,e={}){let t;const{immediate:r,...n}=e,a=oe(!1),i=oe(!1),s=d=>t&&t.activate(d),u=d=>t&&t.deactivate(d),l=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return $e(()=>Dt(o),d=>{d&&(t=Ir(d,{...n,onActivate(){a.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){a.value=!1,e.onDeactivate&&e.onDeactivate()}}),r&&s())},{flush:"post"}),Ot(()=>u()),{hasFocus:a,isPaused:i,activate:s,deactivate:u,pause:l,unpause:h}}class fe{constructor(e,t=!0,r=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=r,this.iframesTimeout=n}static matches(e,t){const r=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let a=!1;return r.every(i=>n.call(e,i)?(a=!0,!1):!0),a}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(r=>{const n=t.filter(a=>a.contains(r)).length>0;t.indexOf(r)===-1&&!n&&t.push(r)}),t}getIframeContents(e,t,r=()=>{}){let n;try{const a=e.contentWindow;if(n=a.document,!a||!n)throw new Error("iframe inaccessible")}catch{r()}n&&t(n)}isIframeBlank(e){const t="about:blank",r=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&r!==t&&r}observeIframeLoad(e,t,r){let n=!1,a=null;const i=()=>{if(!n){n=!0,clearTimeout(a);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,r))}catch{r()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,r){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,r):this.getIframeContents(e,t,r):this.observeIframeLoad(e,t,r)}catch{r()}}waitForIframes(e,t){let r=0;this.forEachIframe(e,()=>!0,n=>{r++,this.waitForIframes(n.querySelector("html"),()=>{--r||t()})},n=>{n||t()})}forEachIframe(e,t,r,n=()=>{}){let a=e.querySelectorAll("iframe"),i=a.length,s=0;a=Array.prototype.slice.call(a);const u=()=>{--i<=0&&n(s)};i||u(),a.forEach(l=>{fe.matches(l,this.exclude)?u():this.onIframeReady(l,h=>{t(l)&&(s++,r(h)),u()},u)})}createIterator(e,t,r){return document.createNodeIterator(e,t,r,!1)}createInstanceOnIframe(e){return new fe(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,r){const n=e.compareDocumentPosition(r),a=Node.DOCUMENT_POSITION_PRECEDING;if(n&a)if(t!==null){const i=t.compareDocumentPosition(r),s=Node.DOCUMENT_POSITION_FOLLOWING;if(i&s)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let r;return t===null?r=e.nextNode():r=e.nextNode()&&e.nextNode(),{prevNode:t,node:r}}checkIframeFilter(e,t,r,n){let a=!1,i=!1;return n.forEach((s,u)=>{s.val===r&&(a=u,i=s.handled)}),this.compareNodeIframe(e,t,r)?(a===!1&&!i?n.push({val:r,handled:!0}):a!==!1&&!i&&(n[a].handled=!0),!0):(a===!1&&n.push({val:r,handled:!1}),!1)}handleOpenIframes(e,t,r,n){e.forEach(a=>{a.handled||this.getIframeContents(a.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,r,n)})})}iterateThroughNodes(e,t,r,n,a){const i=this.createIterator(t,e,n);let s=[],u=[],l,h,d=()=>({prevNode:h,node:l}=this.getIteratorNode(i),l);for(;d();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(l,h,v,s),v=>{this.createInstanceOnIframe(v).forEachNode(e,m=>u.push(m),n)}),u.push(l);u.forEach(v=>{r(v)}),this.iframes&&this.handleOpenIframes(s,e,r,n),a()}forEachNode(e,t,r,n=()=>{}){const a=this.getContexts();let i=a.length;i||n(),a.forEach(s=>{const u=()=>{this.iterateThroughNodes(e,s,t,r,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(s,u):u()})}}let Or=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new fe(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const r=this.opt.log;this.opt.debug&&typeof r=="object"&&typeof r[t]=="function"&&r[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let a in t)if(t.hasOwnProperty(a)){const i=t[a],s=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(a):this.escapeStr(a),u=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);s!==""&&u!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(s)}|${this.escapeStr(u)})`,`gm${r}`),n+`(${this.processSynomyms(s)}|${this.processSynomyms(u)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,r,n)=>{let a=n.charAt(r+1);return/[(|)\\]/.test(a)||a===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const r=this.opt.ignorePunctuation;return Array.isArray(r)&&r.length&&t.push(this.escapeStr(r.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",r=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(a=>{r.every(i=>{if(i.indexOf(a)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let r=this.opt.accuracy,n=typeof r=="string"?r:r.value,a=typeof r=="string"?[]:r.limiters,i="";switch(a.forEach(s=>{i+=`|${this.escapeStr(s)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(r=>{this.opt.separateWordSearch?r.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):r.trim()&&t.indexOf(r)===-1&&t.push(r)}),{keywords:t.sort((r,n)=>n.length-r.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let r=0;return e.sort((n,a)=>n.start-a.start).forEach(n=>{let{start:a,end:i,valid:s}=this.callNoMatchOnInvalidRanges(n,r);s&&(n.start=a,n.length=i-a,t.push(n),r=i)}),t}callNoMatchOnInvalidRanges(e,t){let r,n,a=!1;return e&&typeof e.start<"u"?(r=parseInt(e.start,10),n=r+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-r>0?a=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:r,end:n,valid:a}}checkWhitespaceRanges(e,t,r){let n,a=!0,i=r.length,s=t-i,u=parseInt(e.start,10)-s;return u=u>i?i:u,n=u+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),u<0||n-u<0||u>i||n>i?(a=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):r.substring(u,n).replace(/\s+/g,"")===""&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:u,end:n,valid:a}}getTextNodes(e){let t="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{r.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:r})})}matchesExclude(e){return fe.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,r){const n=this.opt.element?this.opt.element:"mark",a=e.splitText(t),i=a.splitText(r-t);let s=document.createElement(n);return s.setAttribute("data-markjs","true"),this.opt.className&&s.setAttribute("class",this.opt.className),s.textContent=a.textContent,a.parentNode.replaceChild(s,a),i}wrapRangeInMappedTextNode(e,t,r,n,a){e.nodes.every((i,s)=>{const u=e.nodes[s+1];if(typeof u>"u"||u.start>t){if(!n(i.node))return!1;const l=t-i.start,h=(r>i.end?i.end:r)-i.start,d=e.value.substr(0,i.start),v=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,l,h),e.value=d+v,e.nodes.forEach((m,b)=>{b>=s&&(e.nodes[b].start>0&&b!==s&&(e.nodes[b].start-=h),e.nodes[b].end-=h)}),r-=h,a(i.node.previousSibling,i.start),r>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,r,n,a){const i=t===0?0:t+1;this.getTextNodes(s=>{s.nodes.forEach(u=>{u=u.node;let l;for(;(l=e.exec(u.textContent))!==null&&l[i]!=="";){if(!r(l[i],u))continue;let h=l.index;if(i!==0)for(let d=1;d{let u;for(;(u=e.exec(s.value))!==null&&u[i]!=="";){let l=u.index;if(i!==0)for(let d=1;dr(u[i],d),(d,v)=>{e.lastIndex=v,n(d)})}a()})}wrapRangeFromIndex(e,t,r,n){this.getTextNodes(a=>{const i=a.value.length;e.forEach((s,u)=>{let{start:l,end:h,valid:d}=this.checkWhitespaceRanges(s,i,a.value);d&&this.wrapRangeInMappedTextNode(a,l,h,v=>t(v,s,a.value.substring(l,h),u),v=>{r(v,s)})}),n()})}unwrapMatches(e){const t=e.parentNode;let r=document.createDocumentFragment();for(;e.firstChild;)r.appendChild(e.removeChild(e.firstChild));t.replaceChild(r,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let r=0,n="wrapMatches";const a=i=>{r++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,s)=>this.opt.filter(s,i,r),a,()=>{r===0&&this.opt.noMatch(e),this.opt.done(r)})}mark(e,t){this.opt=t;let r=0,n="wrapMatches";const{keywords:a,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),s=this.opt.caseSensitive?"":"i",u=l=>{let h=new RegExp(this.createRegExp(l),`gm${s}`),d=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(v,m)=>this.opt.filter(m,l,r,d),v=>{d++,r++,this.opt.each(v)},()=>{d===0&&this.opt.noMatch(l),a[i-1]===l?this.opt.done(r):u(a[a.indexOf(l)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(r):u(a[0])}markRanges(e,t){this.opt=t;let r=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(a,i,s,u)=>this.opt.filter(a,i,s,u),(a,i)=>{r++,this.opt.each(a,i)},()=>{this.opt.done(r)})):this.opt.done(r)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,r=>{this.unwrapMatches(r)},r=>{const n=fe.matches(r,t),a=this.matchesExclude(r);return!n||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function _r(o){const e=new Or(o);return this.mark=(t,r)=>(e.mark(t,r),this),this.markRegExp=(t,r)=>(e.markRegExp(t,r),this),this.markRanges=(t,r)=>(e.markRanges(t,r),this),this.unmark=t=>(e.unmark(t),this),this}var W=function(){return W=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]=o.length&&(o=void 0),{value:o&&o[r++],done:!o}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function K(o,e){var t=typeof Symbol=="function"&&o[Symbol.iterator];if(!t)return o;var r=t.call(o),n,a=[],i;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(i)throw i.error}}return a}var Lr="ENTRIES",Et="KEYS",St="VALUES",H="",Me=function(){function o(e,t){var r=e._tree,n=Array.from(r.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:r,keys:n}]:[]}return o.prototype.next=function(){var e=this.dive();return this.backtrack(),e},o.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=ce(this._path),t=e.node,r=e.keys;if(ce(r)===H)return{done:!1,value:this.result()};var n=t.get(ce(r));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()},o.prototype.backtrack=function(){if(this._path.length!==0){var e=ce(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},o.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return ce(t)}).filter(function(e){return e!==H}).join("")},o.prototype.value=function(){return ce(this._path).node.get(H)},o.prototype.result=function(){switch(this._type){case St:return this.value();case Et:return this.key();default:return[this.key(),this.value()]}},o.prototype[Symbol.iterator]=function(){return this},o}(),ce=function(o){return o[o.length-1]},zr=function(o,e,t){var r=new Map;if(e===void 0)return r;for(var n=e.length+1,a=n+t,i=new Uint8Array(a*n).fill(t+1),s=0;st)continue e}At(o.get(m),e,t,r,n,S,i,s+m)}}}catch(f){u={error:f}}finally{try{v&&!v.done&&(l=d.return)&&l.call(d)}finally{if(u)throw u.error}}},Le=function(){function o(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return o.prototype.atPrefix=function(e){var t,r;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var n=K(De(this._tree,e.slice(this._prefix.length)),2),a=n[0],i=n[1];if(a===void 0){var s=K(Ue(i),2),u=s[0],l=s[1];try{for(var h=D(u.keys()),d=h.next();!d.done;d=h.next()){var v=d.value;if(v!==H&&v.startsWith(l)){var m=new Map;return m.set(v.slice(l.length),u.get(v)),new o(m,e)}}}catch(b){t={error:b}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}return new o(a,e)},o.prototype.clear=function(){this._size=void 0,this._tree.clear()},o.prototype.delete=function(e){return this._size=void 0,Pr(this._tree,e)},o.prototype.entries=function(){return new Me(this,Lr)},o.prototype.forEach=function(e){var t,r;try{for(var n=D(this),a=n.next();!a.done;a=n.next()){var i=K(a.value,2),s=i[0],u=i[1];e(s,u,this)}}catch(l){t={error:l}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},o.prototype.fuzzyGet=function(e,t){return zr(this._tree,e,t)},o.prototype.get=function(e){var t=je(this._tree,e);return t!==void 0?t.get(H):void 0},o.prototype.has=function(e){var t=je(this._tree,e);return t!==void 0&&t.has(H)},o.prototype.keys=function(){return new Me(this,Et)},o.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(H,t),this},Object.defineProperty(o.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),o.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(H,t(r.get(H))),this},o.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e),n=r.get(H);return n===void 0&&r.set(H,n=t()),n},o.prototype.values=function(){return new Me(this,St)},o.prototype[Symbol.iterator]=function(){return this.entries()},o.from=function(e){var t,r,n=new o;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=K(i.value,2),u=s[0],l=s[1];n.set(u,l)}}catch(h){t={error:h}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n},o.fromObject=function(e){return o.from(Object.entries(e))},o}(),De=function(o,e,t){var r,n;if(t===void 0&&(t=[]),e.length===0||o==null)return[o,t];try{for(var a=D(o.keys()),i=a.next();!i.done;i=a.next()){var s=i.value;if(s!==H&&e.startsWith(s))return t.push([o,s]),De(o.get(s),e.slice(s.length),t)}}catch(u){r={error:u}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return t.push([o,e]),De(void 0,"",t)},je=function(o,e){var t,r;if(e.length===0||o==null)return o;try{for(var n=D(o.keys()),a=n.next();!a.done;a=n.next()){var i=a.value;if(i!==H&&e.startsWith(i))return je(o.get(i),e.slice(i.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},ze=function(o,e){var t,r,n=e.length;e:for(var a=0;o&&a0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Le,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},o.prototype.discard=function(e){var t=this,r=this._idToShortId.get(e);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(n,a){t.removeFieldLength(r,a,t._documentCount,n)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},o.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,r=e.minDirtCount,n=e.batchSize,a=e.batchWait;this.conditionalVacuum({batchSize:n,batchWait:a},{minDirtCount:r,minDirtFactor:t})}},o.prototype.discardAll=function(e){var t,r,n=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=i.value;this.discard(s)}}catch(u){t={error:u}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()},o.prototype.replace=function(e){var t=this._options,r=t.idField,n=t.extractField,a=n(e,r);this.discard(a),this.add(e)},o.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},o.prototype.conditionalVacuum=function(e,t){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var n=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=Je,r.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},o.prototype.performVacuuming=function(e,t){return Rr(this,void 0,void 0,function(){var r,n,a,i,s,u,l,h,d,v,m,b,S,g,A,T,F,L,R,V,N,_,C,O,w;return Mr(this,function(c){switch(c.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];n=e.batchSize||Ke.batchSize,a=e.batchWait||Ke.batchWait,i=1,c.label=1;case 1:c.trys.push([1,7,8,9]),s=D(this._index),u=s.next(),c.label=2;case 2:if(u.done)return[3,6];l=K(u.value,2),h=l[0],d=l[1];try{for(v=(_=void 0,D(d)),m=v.next();!m.done;m=v.next()){b=K(m.value,2),S=b[0],g=b[1];try{for(A=(O=void 0,D(g)),T=A.next();!T.done;T=A.next())F=K(T.value,1),L=F[0],!this._documentIds.has(L)&&(g.size<=1?d.delete(S):g.delete(L))}catch(f){O={error:f}}finally{try{T&&!T.done&&(w=A.return)&&w.call(A)}finally{if(O)throw O.error}}}}catch(f){_={error:f}}finally{try{m&&!m.done&&(C=v.return)&&C.call(v)}finally{if(_)throw _.error}}return this._index.get(h).size===0&&this._index.delete(h),i%n!==0?[3,4]:[4,new Promise(function(f){return setTimeout(f,a)})];case 3:c.sent(),c.label=4;case 4:i+=1,c.label=5;case 5:return u=s.next(),[3,2];case 6:return[3,9];case 7:return R=c.sent(),V={error:R},[3,9];case 8:try{u&&!u.done&&(N=s.return)&&N.call(s)}finally{if(V)throw V.error}return[7];case 9:this._dirtCount-=r,c.label=10;case 10:return[4,null];case 11:return c.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},o.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,r=e.minDirtFactor;return t=t||Ve.minDirtCount,r=r||Ve.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=r},Object.defineProperty(o.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),o.prototype.has=function(e){return this._idToShortId.has(e)},o.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},o.prototype.search=function(e,t){var r,n;t===void 0&&(t={});var a=this.executeQuery(e,t),i=[];try{for(var s=D(a),u=s.next();!u.done;u=s.next()){var l=K(u.value,2),h=l[0],d=l[1],v=d.score,m=d.terms,b=d.match,S=m.length||1,g={id:this._documentIds.get(h),score:v*S,terms:Object.keys(b),queryTerms:m,match:b};Object.assign(g,this._storedFields.get(h)),(t.filter==null||t.filter(g))&&i.push(g)}}catch(A){r={error:A}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return e===o.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||i.sort(vt),i},o.prototype.autoSuggest=function(e,t){var r,n,a,i;t===void 0&&(t={}),t=W(W({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var u=D(this.search(e,t)),l=u.next();!l.done;l=u.next()){var h=l.value,d=h.score,v=h.terms,m=v.join(" "),b=s.get(m);b!=null?(b.score+=d,b.count+=1):s.set(m,{score:d,terms:v,count:1})}}catch(R){r={error:R}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var S=[];try{for(var g=D(s),A=g.next();!A.done;A=g.next()){var T=K(A.value,2),b=T[0],F=T[1],d=F.score,v=F.terms,L=F.count;S.push({suggestion:b,terms:v,score:d/L})}}catch(R){a={error:R}}finally{try{A&&!A.done&&(i=g.return)&&i.call(g)}finally{if(a)throw a.error}}return S.sort(vt),S},Object.defineProperty(o.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),o.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},o.getDefault=function(e){if(Be.hasOwnProperty(e))return Pe(Be,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},o.loadJS=function(e,t){var r,n,a,i,s,u,l=e.index,h=e.documentCount,d=e.nextId,v=e.documentIds,m=e.fieldIds,b=e.fieldLength,S=e.averageFieldLength,g=e.storedFields,A=e.dirtCount,T=e.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var F=new o(t);F._documentCount=h,F._nextId=d,F._documentIds=Ce(v),F._idToShortId=new Map,F._fieldIds=m,F._fieldLength=Ce(b),F._avgFieldLength=S,F._storedFields=Ce(g),F._dirtCount=A||0,F._index=new Le;try{for(var L=D(F._documentIds),R=L.next();!R.done;R=L.next()){var V=K(R.value,2),N=V[0],_=V[1];F._idToShortId.set(_,N)}}catch(P){r={error:P}}finally{try{R&&!R.done&&(n=L.return)&&n.call(L)}finally{if(r)throw r.error}}try{for(var C=D(l),O=C.next();!O.done;O=C.next()){var w=K(O.value,2),c=w[0],f=w[1],p=new Map;try{for(var k=(s=void 0,D(Object.keys(f))),I=k.next();!I.done;I=k.next()){var M=I.value,z=f[M];T===1&&(z=z.ds),p.set(parseInt(M,10),Ce(z))}}catch(P){s={error:P}}finally{try{I&&!I.done&&(u=k.return)&&u.call(k)}finally{if(s)throw s.error}}F._index.set(c,p)}}catch(P){a={error:P}}finally{try{O&&!O.done&&(i=C.return)&&i.call(C)}finally{if(a)throw a.error}}return F},o.prototype.executeQuery=function(e,t){var r=this;if(t===void 0&&(t={}),e===o.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var n=W(W(W({},t),e),{queries:void 0}),a=e.queries.map(function(g){return r.executeQuery(g,n)});return this.combineResults(a,n.combineWith)}var i=this._options,s=i.tokenize,u=i.processTerm,l=i.searchOptions,h=W(W({tokenize:s,processTerm:u},l),t),d=h.tokenize,v=h.processTerm,m=d(e).flatMap(function(g){return v(g)}).filter(function(g){return!!g}),b=m.map(Kr(h)),S=b.map(function(g){return r.executeQuerySpec(g,h)});return this.combineResults(S,h.combineWith)},o.prototype.executeQuerySpec=function(e,t){var r,n,a,i,s=W(W({},this._options.searchOptions),t),u=(s.fields||this._options.fields).reduce(function(M,z){var P;return W(W({},M),(P={},P[z]=Pe(s.boost,z)||1,P))},{}),l=s.boostDocument,h=s.weights,d=s.maxFuzzy,v=s.bm25,m=W(W({},ht.weights),h),b=m.fuzzy,S=m.prefix,g=this._index.get(e.term),A=this.termResults(e.term,e.term,1,g,u,l,v),T,F;if(e.prefix&&(T=this._index.atPrefix(e.term)),e.fuzzy){var L=e.fuzzy===!0?.2:e.fuzzy,R=L<1?Math.min(d,Math.round(e.term.length*L)):L;R&&(F=this._index.fuzzyGet(e.term,R))}if(T)try{for(var V=D(T),N=V.next();!N.done;N=V.next()){var _=K(N.value,2),C=_[0],O=_[1],w=C.length-e.term.length;if(w){F==null||F.delete(C);var c=S*C.length/(C.length+.3*w);this.termResults(e.term,C,c,O,u,l,v,A)}}}catch(M){r={error:M}}finally{try{N&&!N.done&&(n=V.return)&&n.call(V)}finally{if(r)throw r.error}}if(F)try{for(var f=D(F.keys()),p=f.next();!p.done;p=f.next()){var C=p.value,k=K(F.get(C),2),I=k[0],w=k[1];if(w){var c=b*C.length/(C.length+w);this.termResults(e.term,C,c,I,u,l,v,A)}}}catch(M){a={error:M}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(a)throw a.error}}return A},o.prototype.executeWildcardQuery=function(e){var t,r,n=new Map,a=W(W({},this._options.searchOptions),e);try{for(var i=D(this._documentIds),s=i.next();!s.done;s=i.next()){var u=K(s.value,2),l=u[0],h=u[1],d=a.boostDocument?a.boostDocument(h,"",this._storedFields.get(l)):1;n.set(l,{score:d,terms:[],match:{}})}}catch(v){t={error:v}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return n},o.prototype.combineResults=function(e,t){if(t===void 0&&(t=He),e.length===0)return new Map;var r=t.toLowerCase();return e.reduce($r[r])||new Map},o.prototype.toJSON=function(){var e,t,r,n,a=[];try{for(var i=D(this._index),s=i.next();!s.done;s=i.next()){var u=K(s.value,2),l=u[0],h=u[1],d={};try{for(var v=(r=void 0,D(h)),m=v.next();!m.done;m=v.next()){var b=K(m.value,2),S=b[0],g=b[1];d[S]=Object.fromEntries(g)}}catch(A){r={error:A}}finally{try{m&&!m.done&&(n=v.return)&&n.call(v)}finally{if(r)throw r.error}}a.push([l,d])}}catch(A){e={error:A}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},o.prototype.termResults=function(e,t,r,n,a,i,s,u){var l,h,d,v,m;if(u===void 0&&(u=new Map),n==null)return u;try{for(var b=D(Object.keys(a)),S=b.next();!S.done;S=b.next()){var g=S.value,A=a[g],T=this._fieldIds[g],F=n.get(T);if(F!=null){var L=F.size,R=this._avgFieldLength[T];try{for(var V=(d=void 0,D(F.keys())),N=V.next();!N.done;N=V.next()){var _=N.value;if(!this._documentIds.has(_)){this.removeTerm(T,_,t),L-=1;continue}var C=i?i(this._documentIds.get(_),t,this._storedFields.get(_)):1;if(C){var O=F.get(_),w=this._fieldLength.get(_)[T],c=jr(O,L,this._documentCount,w,R,s),f=r*A*C*c,p=u.get(_);if(p){p.score+=f,Ur(p.terms,e);var k=Pe(p.match,t);k?k.push(g):p.match[t]=[g]}else u.set(_,{score:f,terms:[e],match:(m={},m[t]=[g],m)})}}}catch(I){d={error:I}}finally{try{N&&!N.done&&(v=V.return)&&v.call(V)}finally{if(d)throw d.error}}}}}catch(I){l={error:I}}finally{try{S&&!S.done&&(h=b.return)&&h.call(b)}finally{if(l)throw l.error}}return u},o.prototype.addTerm=function(e,t,r){var n=this._index.fetch(r,pt),a=n.get(e);if(a==null)a=new Map,a.set(t,1),n.set(e,a);else{var i=a.get(t);a.set(t,(i||0)+1)}},o.prototype.removeTerm=function(e,t,r){if(!this._index.has(r)){this.warnDocumentChanged(t,e,r);return}var n=this._index.fetch(r,pt),a=n.get(e);a==null||a.get(t)==null?this.warnDocumentChanged(t,e,r):a.get(t)<=1?a.size<=1?n.delete(e):a.delete(t):a.set(t,a.get(t)-1),this._index.get(r).size===0&&this._index.delete(r)},o.prototype.warnDocumentChanged=function(e,t,r){var n,a;try{for(var i=D(Object.keys(this._fieldIds)),s=i.next();!s.done;s=i.next()){var u=s.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(r,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(l){n={error:l}}finally{try{s&&!s.done&&(a=i.return)&&a.call(i)}finally{if(n)throw n.error}}},o.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},o.prototype.addFields=function(e){for(var t=0;t(qt("data-v-7f54cb12"),o=o(),Qt(),o),qr=["aria-owns"],Qr={class:"shell"},Yr=["title"],Zr=Y(()=>E("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[E("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[E("circle",{cx:"11",cy:"11",r:"8"}),E("path",{d:"m21 21l-4.35-4.35"})])],-1)),Xr=[Zr],ea={class:"search-actions before"},ta=["title"],ra=Y(()=>E("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[E("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 12H5m7 7l-7-7l7-7"})],-1)),aa=[ra],na=["placeholder"],ia={class:"search-actions"},oa=["title"],sa=Y(()=>E("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[E("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 14h7v7H3zM3 3h7v7H3zm11 1h7m-7 5h7m-7 6h7m-7 5h7"})],-1)),ua=[sa],la=["disabled","title"],ca=Y(()=>E("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"},[E("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20 5H9l-7 7l7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Zm-2 4l-6 6m0-6l6 6"})],-1)),fa=[ca],ha=["id","role","aria-labelledby"],da=["aria-selected"],va=["href","aria-label","onMouseenter","onFocusin"],pa={class:"titles"},ma=Y(()=>E("span",{class:"title-icon"},"#",-1)),ya=["innerHTML"],ga=Y(()=>E("svg",{width:"18",height:"18",viewBox:"0 0 24 24"},[E("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m9 18l6-6l-6-6"})],-1)),ba={class:"title main"},wa=["innerHTML"],xa={key:0,class:"excerpt-wrapper"},Fa={key:0,class:"excerpt",inert:""},Ea=["innerHTML"],Sa=Y(()=>E("div",{class:"excerpt-gradient-bottom"},null,-1)),Aa=Y(()=>E("div",{class:"excerpt-gradient-top"},null,-1)),Ca={key:0,class:"no-results"},Ta={class:"search-keyboard-shortcuts"},Na=["aria-label"],ka=Y(()=>E("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[E("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 19V5m-7 7l7-7l7 7"})],-1)),Ia=[ka],Da=["aria-label"],Oa=Y(()=>E("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[E("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 5v14m7-7l-7 7l-7-7"})],-1)),_a=[Oa],Ra=["aria-label"],Ma=Y(()=>E("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[E("g",{fill:"none",stroke:"currentcolor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[E("path",{d:"m9 10l-5 5l5 5"}),E("path",{d:"M20 4v7a4 4 0 0 1-4 4H4"})])],-1)),La=[Ma],za=["aria-label"],Pa=_t({__name:"VPLocalSearchBox",emits:["close"],setup(o,{emit:e}){var z,P;const t=e,r=xe(),n=xe(),a=xe(nr),i=rr(),{activate:s}=Dr(r,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:u,theme:l}=i,h=tt(async()=>{var y,x,$,j,G,q,B,J,Z;return it(Vr.loadJSON(($=await((x=(y=a.value)[u.value])==null?void 0:x.call(y)))==null?void 0:$.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((j=l.value.search)==null?void 0:j.provider)==="local"&&((q=(G=l.value.search.options)==null?void 0:G.miniSearch)==null?void 0:q.searchOptions)},...((B=l.value.search)==null?void 0:B.provider)==="local"&&((Z=(J=l.value.search.options)==null?void 0:J.miniSearch)==null?void 0:Z.options)}))}),v=Fe(()=>{var y,x;return((y=l.value.search)==null?void 0:y.provider)==="local"&&((x=l.value.search.options)==null?void 0:x.disableQueryPersistence)===!0}).value?oe(""):Rt("vitepress:local-search-filter",""),m=Mt("vitepress:local-search-detailed-list",((z=l.value.search)==null?void 0:z.provider)==="local"&&((P=l.value.search.options)==null?void 0:P.detailedView)===!0),b=Fe(()=>{var y,x,$;return((y=l.value.search)==null?void 0:y.provider)==="local"&&(((x=l.value.search.options)==null?void 0:x.disableDetailedView)===!0||(($=l.value.search.options)==null?void 0:$.detailedView)===!1)}),S=Fe(()=>{var x,$,j,G,q,B,J;const y=((x=l.value.search)==null?void 0:x.options)??l.value.algolia;return((q=(G=(j=($=y==null?void 0:y.locales)==null?void 0:$[u.value])==null?void 0:j.translations)==null?void 0:G.button)==null?void 0:q.buttonText)||((J=(B=y==null?void 0:y.translations)==null?void 0:B.button)==null?void 0:J.buttonText)||"Search"});Lt(()=>{b.value&&(m.value=!1)});const g=xe([]),A=oe(!1);$e(v,()=>{A.value=!1});const T=tt(async()=>{if(n.value)return it(new _r(n.value))},null),F=new Gr(16);zt(()=>[h.value,v.value,m.value],async([y,x,$],j,G)=>{var be,Ge,qe,Qe;(j==null?void 0:j[0])!==y&&F.clear();let q=!1;if(G(()=>{q=!0}),!y)return;g.value=y.search(x).slice(0,16),A.value=!0;const B=$?await Promise.all(g.value.map(Q=>L(Q.id))):[];if(q)return;for(const{id:Q,mod:ae}of B){const ne=Q.slice(0,Q.indexOf("#"));let te=F.get(ne);if(te)continue;te=new Map,F.set(ne,te);const X=ae.default??ae;if(X!=null&&X.render||X!=null&&X.setup){const ie=Yt(X);ie.config.warnHandler=()=>{},ie.provide(Zt,i),Object.defineProperties(ie.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const Ye=document.createElement("div");ie.mount(Ye),Ye.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(he=>{var et;const we=(et=he.querySelector("a"))==null?void 0:et.getAttribute("href"),Ze=(we==null?void 0:we.startsWith("#"))&&we.slice(1);if(!Ze)return;let Xe="";for(;(he=he.nextElementSibling)&&!/^h[1-6]$/i.test(he.tagName);)Xe+=he.outerHTML;te.set(Ze,Xe)}),ie.unmount()}if(q)return}const J=new Set;if(g.value=g.value.map(Q=>{const[ae,ne]=Q.id.split("#"),te=F.get(ae),X=(te==null?void 0:te.get(ne))??"";for(const ie in Q.match)J.add(ie);return{...Q,text:X}}),await de(),q)return;await new Promise(Q=>{var ae;(ae=T.value)==null||ae.unmark({done:()=>{var ne;(ne=T.value)==null||ne.markRegExp(M(J),{done:Q})}})});const Z=((be=r.value)==null?void 0:be.querySelectorAll(".result .excerpt"))??[];for(const Q of Z)(Ge=Q.querySelector('mark[data-markjs="true"]'))==null||Ge.scrollIntoView({block:"center"});(Qe=(qe=n.value)==null?void 0:qe.firstElementChild)==null||Qe.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function L(y){const x=Xt(y.slice(0,y.indexOf("#")));try{if(!x)throw new Error(`Cannot find file for id: ${y}`);return{id:y,mod:await mt(()=>import(x),__vite__mapDeps([]))}}catch($){return console.error($),{id:y,mod:{}}}}const R=oe(),V=Fe(()=>{var y;return((y=v.value)==null?void 0:y.length)<=0});function N(y=!0){var x,$;(x=R.value)==null||x.focus(),y&&(($=R.value)==null||$.select())}_e(()=>{N()});function _(y){y.pointerType==="mouse"&&N()}const C=oe(-1),O=oe(!1);$e(g,y=>{C.value=y.length?0:-1,w()});function w(){de(()=>{const y=document.querySelector(".result.selected");y&&y.scrollIntoView({block:"nearest"})})}Ee("ArrowUp",y=>{y.preventDefault(),C.value--,C.value<0&&(C.value=g.value.length-1),O.value=!0,w()}),Ee("ArrowDown",y=>{y.preventDefault(),C.value++,C.value>=g.value.length&&(C.value=0),O.value=!0,w()});const c=Pt();Ee("Enter",y=>{if(y.isComposing||y.target instanceof HTMLButtonElement&&y.target.type!=="submit")return;const x=g.value[C.value];if(y.target instanceof HTMLInputElement&&!x){y.preventDefault();return}x&&(c.go(x.id),t("close"))}),Ee("Escape",()=>{t("close")});const p=ar({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});_e(()=>{window.history.pushState(null,"",null)}),Bt("popstate",y=>{y.preventDefault(),t("close")});const k=Vt($t?document.body:null);_e(()=>{de(()=>{k.value=!0,de().then(()=>s())})}),Wt(()=>{k.value=!1});function I(){v.value="",de().then(()=>N(!1))}function M(y){return new RegExp([...y].sort((x,$)=>$.length-x.length).map(x=>`(${er(x)})`).join("|"),"gi")}return(y,x)=>{var $,j,G,q;return ee(),jt(Gt,{to:"body"},[E("div",{ref_key:"el",ref:r,role:"button","aria-owns":($=g.value)!=null&&$.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[E("div",{class:"backdrop",onClick:x[0]||(x[0]=B=>y.$emit("close"))}),E("div",Qr,[E("form",{class:"search-bar",onPointerup:x[4]||(x[4]=B=>_(B)),onSubmit:x[5]||(x[5]=Kt(()=>{},["prevent"]))},[E("label",{title:S.value,id:"localsearch-label",for:"localsearch-input"},Xr,8,Yr),E("div",ea,[E("button",{class:"back-button",title:U(p)("modal.backButtonTitle"),onClick:x[1]||(x[1]=B=>y.$emit("close"))},aa,8,ta)]),Jt(E("input",{ref_key:"searchInput",ref:R,"onUpdate:modelValue":x[2]||(x[2]=B=>Ht(v)?v.value=B:null),placeholder:S.value,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,na),[[Ut,U(v)]]),E("div",ia,[b.value?Se("",!0):(ee(),re("button",{key:0,class:rt(["toggle-layout-button",{"detailed-list":U(m)}]),type:"button",title:U(p)("modal.displayDetails"),onClick:x[3]||(x[3]=B=>C.value>-1&&(m.value=!U(m)))},ua,10,oa)),E("button",{class:"clear-button",type:"reset",disabled:V.value,title:U(p)("modal.resetButtonTitle"),onClick:I},fa,8,la)])],32),E("ul",{ref_key:"resultsEl",ref:n,id:(j=g.value)!=null&&j.length?"localsearch-list":void 0,role:(G=g.value)!=null&&G.length?"listbox":void 0,"aria-labelledby":(q=g.value)!=null&&q.length?"localsearch-label":void 0,class:"results",onMousemove:x[7]||(x[7]=B=>O.value=!1)},[(ee(!0),re(nt,null,at(g.value,(B,J)=>(ee(),re("li",{key:B.id,role:"option","aria-selected":C.value===J?"true":"false"},[E("a",{href:B.id,class:rt(["result",{selected:C.value===J}]),"aria-label":[...B.titles,B.title].join(" > "),onMouseenter:Z=>!O.value&&(C.value=J),onFocusin:Z=>C.value=J,onClick:x[6]||(x[6]=Z=>y.$emit("close"))},[E("div",null,[E("div",pa,[ma,(ee(!0),re(nt,null,at(B.titles,(Z,be)=>(ee(),re("span",{key:be,class:"title"},[E("span",{class:"text",innerHTML:Z},null,8,ya),ga]))),128)),E("span",ba,[E("span",{class:"text",innerHTML:B.title},null,8,wa)])]),U(m)?(ee(),re("div",xa,[B.text?(ee(),re("div",Fa,[E("div",{class:"vp-doc",innerHTML:B.text},null,8,Ea)])):Se("",!0),Sa,Aa])):Se("",!0)])],42,va)],8,da))),128)),U(v)&&!g.value.length&&A.value?(ee(),re("li",Ca,[ve(pe(U(p)("modal.noResultsText"))+' "',1),E("strong",null,pe(U(v)),1),ve('" ')])):Se("",!0)],40,ha),E("div",Ta,[E("span",null,[E("kbd",{"aria-label":U(p)("modal.footer.navigateUpKeyAriaLabel")},Ia,8,Na),E("kbd",{"aria-label":U(p)("modal.footer.navigateDownKeyAriaLabel")},_a,8,Da),ve(" "+pe(U(p)("modal.footer.navigateText")),1)]),E("span",null,[E("kbd",{"aria-label":U(p)("modal.footer.selectKeyAriaLabel")},La,8,Ra),ve(" "+pe(U(p)("modal.footer.selectText")),1)]),E("span",null,[E("kbd",{"aria-label":U(p)("modal.footer.closeKeyAriaLabel")},"esc",8,za),ve(" "+pe(U(p)("modal.footer.closeText")),1)])])])],8,qr)])}}}),Ka=tr(Pa,[["__scopeId","data-v-7f54cb12"]]);export{Ka as default}; +*/function st(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(o,n).enumerable})),t.push.apply(t,r)}return t}function ut(o){for(var e=1;e0){var r=e[e.length-1];r!==t&&r.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var r=e.indexOf(t);r!==-1&&e.splice(r,1),e.length>0&&e[e.length-1].unpause()}},Ar=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Tr=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ge=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Nr=function(e){return ge(e)&&!e.shiftKey},Cr=function(e){return ge(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ft=function(e,t){var r=-1;return e.every(function(n,a){return t(n)?(r=a,!1):!0}),r},ye=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?p-1:0),I=1;I=0)c=r.activeElement;else{var f=i.tabbableGroups[0],p=f&&f.firstTabbableNode;c=p||h("fallbackFocus")}if(!c)throw new Error("Your focus-trap needs to have at least one focusable element");return c},v=function(){if(i.containerGroups=i.containers.map(function(c){var f=br(c,a.tabbableOptions),p=wr(c,a.tabbableOptions),C=f.length>0?f[0]:void 0,I=f.length>0?f[f.length-1]:void 0,M=p.find(function(m){return le(m)}),P=p.slice().reverse().find(function(m){return le(m)}),z=!!f.find(function(m){return se(m)>0});return{container:c,tabbableNodes:f,focusableNodes:p,posTabIndexesFound:z,firstTabbableNode:C,lastTabbableNode:I,firstDomTabbableNode:M,lastDomTabbableNode:P,nextTabbableNode:function(x){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,K=f.indexOf(x);return K<0?$?p.slice(p.indexOf(x)+1).find(function(q){return le(q)}):p.slice(0,p.indexOf(x)).reverse().find(function(q){return le(q)}):f[K+($?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(c){return c.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(c){return c.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},y=function w(c){var f=c.activeElement;if(f)return f.shadowRoot&&f.shadowRoot.activeElement!==null?w(f.shadowRoot):f},b=function w(c){if(c!==!1&&c!==y(document)){if(!c||!c.focus){w(d());return}c.focus({preventScroll:!!a.preventScroll}),i.mostRecentlyFocusedNode=c,Ar(c)&&c.select()}},E=function(c){var f=h("setReturnFocus",c);return f||(f===!1?!1:c)},g=function(c){var f=c.target,p=c.event,C=c.isBackward,I=C===void 0?!1:C;f=f||Ae(p),v();var M=null;if(i.tabbableGroups.length>0){var P=l(f,p),z=P>=0?i.containerGroups[P]:void 0;if(P<0)I?M=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:M=i.tabbableGroups[0].firstTabbableNode;else if(I){var m=ft(i.tabbableGroups,function(V){var U=V.firstTabbableNode;return f===U});if(m<0&&(z.container===f||Re(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!z.nextTabbableNode(f,!1))&&(m=P),m>=0){var x=m===0?i.tabbableGroups.length-1:m-1,$=i.tabbableGroups[x];M=se(f)>=0?$.lastTabbableNode:$.lastDomTabbableNode}else ge(p)||(M=z.nextTabbableNode(f,!1))}else{var K=ft(i.tabbableGroups,function(V){var U=V.lastTabbableNode;return f===U});if(K<0&&(z.container===f||Re(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!z.nextTabbableNode(f))&&(K=P),K>=0){var q=K===i.tabbableGroups.length-1?0:K+1,H=i.tabbableGroups[q];M=se(f)>=0?H.firstTabbableNode:H.firstDomTabbableNode}else ge(p)||(M=z.nextTabbableNode(f))}}else M=h("fallbackFocus");return M},S=function(c){var f=Ae(c);if(!(l(f,c)>=0)){if(ye(a.clickOutsideDeactivates,c)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}ye(a.allowOutsideClick,c)||c.preventDefault()}},T=function(c){var f=Ae(c),p=l(f,c)>=0;if(p||f instanceof Document)p&&(i.mostRecentlyFocusedNode=f);else{c.stopImmediatePropagation();var C,I=!0;if(i.mostRecentlyFocusedNode)if(se(i.mostRecentlyFocusedNode)>0){var M=l(i.mostRecentlyFocusedNode),P=i.containerGroups[M].tabbableNodes;if(P.length>0){var z=P.findIndex(function(m){return m===i.mostRecentlyFocusedNode});z>=0&&(a.isKeyForward(i.recentNavEvent)?z+1=0&&(C=P[z-1],I=!1))}}else i.containerGroups.some(function(m){return m.tabbableNodes.some(function(x){return se(x)>0})})||(I=!1);else I=!1;I&&(C=g({target:i.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(i.recentNavEvent)})),b(C||i.mostRecentlyFocusedNode||d())}i.recentNavEvent=void 0},F=function(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=c;var p=g({event:c,isBackward:f});p&&(ge(c)&&c.preventDefault(),b(p))},L=function(c){if(Tr(c)&&ye(a.escapeDeactivates,c)!==!1){c.preventDefault(),s.deactivate();return}(a.isKeyForward(c)||a.isKeyBackward(c))&&F(c,a.isKeyBackward(c))},R=function(c){var f=Ae(c);l(f,c)>=0||ye(a.clickOutsideDeactivates,c)||ye(a.allowOutsideClick,c)||(c.preventDefault(),c.stopImmediatePropagation())},B=function(){if(i.active)return lt.activateTrap(n,s),i.delayInitialFocusTimer=a.delayInitialFocus?ct(function(){b(d())}):b(d()),r.addEventListener("focusin",T,!0),r.addEventListener("mousedown",S,{capture:!0,passive:!1}),r.addEventListener("touchstart",S,{capture:!0,passive:!1}),r.addEventListener("click",R,{capture:!0,passive:!1}),r.addEventListener("keydown",L,{capture:!0,passive:!1}),s},N=function(){if(i.active)return r.removeEventListener("focusin",T,!0),r.removeEventListener("mousedown",S,!0),r.removeEventListener("touchstart",S,!0),r.removeEventListener("click",R,!0),r.removeEventListener("keydown",L,!0),s},_=function(c){var f=c.some(function(p){var C=Array.from(p.removedNodes);return C.some(function(I){return I===i.mostRecentlyFocusedNode})});f&&b(d())},A=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(_):void 0,O=function(){A&&(A.disconnect(),i.active&&!i.paused&&i.containers.map(function(c){A.observe(c,{subtree:!0,childList:!0})}))};return s={get active(){return i.active},get paused(){return i.paused},activate:function(c){if(i.active)return this;var f=u(c,"onActivate"),p=u(c,"onPostActivate"),C=u(c,"checkCanFocusTrap");C||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,f==null||f();var I=function(){C&&v(),B(),O(),p==null||p()};return C?(C(i.containers.concat()).then(I,I),this):(I(),this)},deactivate:function(c){if(!i.active)return this;var f=ut({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},c);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,N(),i.active=!1,i.paused=!1,O(),lt.deactivateTrap(n,s);var p=u(f,"onDeactivate"),C=u(f,"onPostDeactivate"),I=u(f,"checkCanReturnFocus"),M=u(f,"returnFocus","returnFocusOnDeactivate");p==null||p();var P=function(){ct(function(){M&&b(E(i.nodeFocusedBeforeActivation)),C==null||C()})};return M&&I?(I(E(i.nodeFocusedBeforeActivation)).then(P,P),this):(P(),this)},pause:function(c){if(i.paused||!i.active)return this;var f=u(c,"onPause"),p=u(c,"onPostPause");return i.paused=!0,f==null||f(),N(),O(),p==null||p(),this},unpause:function(c){if(!i.paused||!i.active)return this;var f=u(c,"onUnpause"),p=u(c,"onPostUnpause");return i.paused=!1,f==null||f(),v(),B(),O(),p==null||p(),this},updateContainerElements:function(c){var f=[].concat(c).filter(Boolean);return i.containers=f.map(function(p){return typeof p=="string"?r.querySelector(p):p}),i.active&&v(),O(),this}},s.updateContainerElements(e),s};function kr(o,e={}){let t;const{immediate:r,...n}=e,a=oe(!1),i=oe(!1),s=d=>t&&t.activate(d),u=d=>t&&t.deactivate(d),l=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return $e(()=>kt(o),d=>{d&&(t=Dr(d,{...n,onActivate(){a.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){a.value=!1,e.onDeactivate&&e.onDeactivate()}}),r&&s())},{flush:"post"}),Ot(()=>u()),{hasFocus:a,isPaused:i,activate:s,deactivate:u,pause:l,unpause:h}}class fe{constructor(e,t=!0,r=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=r,this.iframesTimeout=n}static matches(e,t){const r=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let a=!1;return r.every(i=>n.call(e,i)?(a=!0,!1):!0),a}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(r=>{const n=t.filter(a=>a.contains(r)).length>0;t.indexOf(r)===-1&&!n&&t.push(r)}),t}getIframeContents(e,t,r=()=>{}){let n;try{const a=e.contentWindow;if(n=a.document,!a||!n)throw new Error("iframe inaccessible")}catch{r()}n&&t(n)}isIframeBlank(e){const t="about:blank",r=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&r!==t&&r}observeIframeLoad(e,t,r){let n=!1,a=null;const i=()=>{if(!n){n=!0,clearTimeout(a);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,r))}catch{r()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,r){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,r):this.getIframeContents(e,t,r):this.observeIframeLoad(e,t,r)}catch{r()}}waitForIframes(e,t){let r=0;this.forEachIframe(e,()=>!0,n=>{r++,this.waitForIframes(n.querySelector("html"),()=>{--r||t()})},n=>{n||t()})}forEachIframe(e,t,r,n=()=>{}){let a=e.querySelectorAll("iframe"),i=a.length,s=0;a=Array.prototype.slice.call(a);const u=()=>{--i<=0&&n(s)};i||u(),a.forEach(l=>{fe.matches(l,this.exclude)?u():this.onIframeReady(l,h=>{t(l)&&(s++,r(h)),u()},u)})}createIterator(e,t,r){return document.createNodeIterator(e,t,r,!1)}createInstanceOnIframe(e){return new fe(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,r){const n=e.compareDocumentPosition(r),a=Node.DOCUMENT_POSITION_PRECEDING;if(n&a)if(t!==null){const i=t.compareDocumentPosition(r),s=Node.DOCUMENT_POSITION_FOLLOWING;if(i&s)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let r;return t===null?r=e.nextNode():r=e.nextNode()&&e.nextNode(),{prevNode:t,node:r}}checkIframeFilter(e,t,r,n){let a=!1,i=!1;return n.forEach((s,u)=>{s.val===r&&(a=u,i=s.handled)}),this.compareNodeIframe(e,t,r)?(a===!1&&!i?n.push({val:r,handled:!0}):a!==!1&&!i&&(n[a].handled=!0),!0):(a===!1&&n.push({val:r,handled:!1}),!1)}handleOpenIframes(e,t,r,n){e.forEach(a=>{a.handled||this.getIframeContents(a.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,r,n)})})}iterateThroughNodes(e,t,r,n,a){const i=this.createIterator(t,e,n);let s=[],u=[],l,h,d=()=>({prevNode:h,node:l}=this.getIteratorNode(i),l);for(;d();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(l,h,v,s),v=>{this.createInstanceOnIframe(v).forEachNode(e,y=>u.push(y),n)}),u.push(l);u.forEach(v=>{r(v)}),this.iframes&&this.handleOpenIframes(s,e,r,n),a()}forEachNode(e,t,r,n=()=>{}){const a=this.getContexts();let i=a.length;i||n(),a.forEach(s=>{const u=()=>{this.iterateThroughNodes(e,s,t,r,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(s,u):u()})}}let Or=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new fe(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const r=this.opt.log;this.opt.debug&&typeof r=="object"&&typeof r[t]=="function"&&r[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let a in t)if(t.hasOwnProperty(a)){const i=t[a],s=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(a):this.escapeStr(a),u=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);s!==""&&u!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(s)}|${this.escapeStr(u)})`,`gm${r}`),n+`(${this.processSynomyms(s)}|${this.processSynomyms(u)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,r,n)=>{let a=n.charAt(r+1);return/[(|)\\]/.test(a)||a===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const r=this.opt.ignorePunctuation;return Array.isArray(r)&&r.length&&t.push(this.escapeStr(r.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",r=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(a=>{r.every(i=>{if(i.indexOf(a)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let r=this.opt.accuracy,n=typeof r=="string"?r:r.value,a=typeof r=="string"?[]:r.limiters,i="";switch(a.forEach(s=>{i+=`|${this.escapeStr(s)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(r=>{this.opt.separateWordSearch?r.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):r.trim()&&t.indexOf(r)===-1&&t.push(r)}),{keywords:t.sort((r,n)=>n.length-r.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let r=0;return e.sort((n,a)=>n.start-a.start).forEach(n=>{let{start:a,end:i,valid:s}=this.callNoMatchOnInvalidRanges(n,r);s&&(n.start=a,n.length=i-a,t.push(n),r=i)}),t}callNoMatchOnInvalidRanges(e,t){let r,n,a=!1;return e&&typeof e.start<"u"?(r=parseInt(e.start,10),n=r+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-r>0?a=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:r,end:n,valid:a}}checkWhitespaceRanges(e,t,r){let n,a=!0,i=r.length,s=t-i,u=parseInt(e.start,10)-s;return u=u>i?i:u,n=u+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),u<0||n-u<0||u>i||n>i?(a=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):r.substring(u,n).replace(/\s+/g,"")===""&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:u,end:n,valid:a}}getTextNodes(e){let t="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{r.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:r})})}matchesExclude(e){return fe.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,r){const n=this.opt.element?this.opt.element:"mark",a=e.splitText(t),i=a.splitText(r-t);let s=document.createElement(n);return s.setAttribute("data-markjs","true"),this.opt.className&&s.setAttribute("class",this.opt.className),s.textContent=a.textContent,a.parentNode.replaceChild(s,a),i}wrapRangeInMappedTextNode(e,t,r,n,a){e.nodes.every((i,s)=>{const u=e.nodes[s+1];if(typeof u>"u"||u.start>t){if(!n(i.node))return!1;const l=t-i.start,h=(r>i.end?i.end:r)-i.start,d=e.value.substr(0,i.start),v=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,l,h),e.value=d+v,e.nodes.forEach((y,b)=>{b>=s&&(e.nodes[b].start>0&&b!==s&&(e.nodes[b].start-=h),e.nodes[b].end-=h)}),r-=h,a(i.node.previousSibling,i.start),r>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,r,n,a){const i=t===0?0:t+1;this.getTextNodes(s=>{s.nodes.forEach(u=>{u=u.node;let l;for(;(l=e.exec(u.textContent))!==null&&l[i]!=="";){if(!r(l[i],u))continue;let h=l.index;if(i!==0)for(let d=1;d{let u;for(;(u=e.exec(s.value))!==null&&u[i]!=="";){let l=u.index;if(i!==0)for(let d=1;dr(u[i],d),(d,v)=>{e.lastIndex=v,n(d)})}a()})}wrapRangeFromIndex(e,t,r,n){this.getTextNodes(a=>{const i=a.value.length;e.forEach((s,u)=>{let{start:l,end:h,valid:d}=this.checkWhitespaceRanges(s,i,a.value);d&&this.wrapRangeInMappedTextNode(a,l,h,v=>t(v,s,a.value.substring(l,h),u),v=>{r(v,s)})}),n()})}unwrapMatches(e){const t=e.parentNode;let r=document.createDocumentFragment();for(;e.firstChild;)r.appendChild(e.removeChild(e.firstChild));t.replaceChild(r,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let r=0,n="wrapMatches";const a=i=>{r++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,s)=>this.opt.filter(s,i,r),a,()=>{r===0&&this.opt.noMatch(e),this.opt.done(r)})}mark(e,t){this.opt=t;let r=0,n="wrapMatches";const{keywords:a,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),s=this.opt.caseSensitive?"":"i",u=l=>{let h=new RegExp(this.createRegExp(l),`gm${s}`),d=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(v,y)=>this.opt.filter(y,l,r,d),v=>{d++,r++,this.opt.each(v)},()=>{d===0&&this.opt.noMatch(l),a[i-1]===l?this.opt.done(r):u(a[a.indexOf(l)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(r):u(a[0])}markRanges(e,t){this.opt=t;let r=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(a,i,s,u)=>this.opt.filter(a,i,s,u),(a,i)=>{r++,this.opt.each(a,i)},()=>{this.opt.done(r)})):this.opt.done(r)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,r=>{this.unwrapMatches(r)},r=>{const n=fe.matches(r,t),a=this.matchesExclude(r);return!n||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function _r(o){const e=new Or(o);return this.mark=(t,r)=>(e.mark(t,r),this),this.markRegExp=(t,r)=>(e.markRegExp(t,r),this),this.markRanges=(t,r)=>(e.markRanges(t,r),this),this.unmark=t=>(e.unmark(t),this),this}var W=function(){return W=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]=o.length&&(o=void 0),{value:o&&o[r++],done:!o}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function J(o,e){var t=typeof Symbol=="function"&&o[Symbol.iterator];if(!t)return o;var r=t.call(o),n,a=[],i;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(i)throw i.error}}return a}var Lr="ENTRIES",Et="KEYS",St="VALUES",G="",Me=function(){function o(e,t){var r=e._tree,n=Array.from(r.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:r,keys:n}]:[]}return o.prototype.next=function(){var e=this.dive();return this.backtrack(),e},o.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=ce(this._path),t=e.node,r=e.keys;if(ce(r)===G)return{done:!1,value:this.result()};var n=t.get(ce(r));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()},o.prototype.backtrack=function(){if(this._path.length!==0){var e=ce(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},o.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return ce(t)}).filter(function(e){return e!==G}).join("")},o.prototype.value=function(){return ce(this._path).node.get(G)},o.prototype.result=function(){switch(this._type){case St:return this.value();case Et:return this.key();default:return[this.key(),this.value()]}},o.prototype[Symbol.iterator]=function(){return this},o}(),ce=function(o){return o[o.length-1]},Pr=function(o,e,t){var r=new Map;if(e===void 0)return r;for(var n=e.length+1,a=n+t,i=new Uint8Array(a*n).fill(t+1),s=0;st)continue e}At(o.get(y),e,t,r,n,E,i,s+y)}}}catch(f){u={error:f}}finally{try{v&&!v.done&&(l=d.return)&&l.call(d)}finally{if(u)throw u.error}}},Le=function(){function o(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return o.prototype.atPrefix=function(e){var t,r;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var n=J(ke(this._tree,e.slice(this._prefix.length)),2),a=n[0],i=n[1];if(a===void 0){var s=J(je(i),2),u=s[0],l=s[1];try{for(var h=D(u.keys()),d=h.next();!d.done;d=h.next()){var v=d.value;if(v!==G&&v.startsWith(l)){var y=new Map;return y.set(v.slice(l.length),u.get(v)),new o(y,e)}}}catch(b){t={error:b}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}return new o(a,e)},o.prototype.clear=function(){this._size=void 0,this._tree.clear()},o.prototype.delete=function(e){return this._size=void 0,zr(this._tree,e)},o.prototype.entries=function(){return new Me(this,Lr)},o.prototype.forEach=function(e){var t,r;try{for(var n=D(this),a=n.next();!a.done;a=n.next()){var i=J(a.value,2),s=i[0],u=i[1];e(s,u,this)}}catch(l){t={error:l}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},o.prototype.fuzzyGet=function(e,t){return Pr(this._tree,e,t)},o.prototype.get=function(e){var t=Ke(this._tree,e);return t!==void 0?t.get(G):void 0},o.prototype.has=function(e){var t=Ke(this._tree,e);return t!==void 0&&t.has(G)},o.prototype.keys=function(){return new Me(this,Et)},o.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=Pe(this._tree,e);return r.set(G,t),this},Object.defineProperty(o.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),o.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=Pe(this._tree,e);return r.set(G,t(r.get(G))),this},o.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=Pe(this._tree,e),n=r.get(G);return n===void 0&&r.set(G,n=t()),n},o.prototype.values=function(){return new Me(this,St)},o.prototype[Symbol.iterator]=function(){return this.entries()},o.from=function(e){var t,r,n=new o;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=J(i.value,2),u=s[0],l=s[1];n.set(u,l)}}catch(h){t={error:h}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n},o.fromObject=function(e){return o.from(Object.entries(e))},o}(),ke=function(o,e,t){var r,n;if(t===void 0&&(t=[]),e.length===0||o==null)return[o,t];try{for(var a=D(o.keys()),i=a.next();!i.done;i=a.next()){var s=i.value;if(s!==G&&e.startsWith(s))return t.push([o,s]),ke(o.get(s),e.slice(s.length),t)}}catch(u){r={error:u}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return t.push([o,e]),ke(void 0,"",t)},Ke=function(o,e){var t,r;if(e.length===0||o==null)return o;try{for(var n=D(o.keys()),a=n.next();!a.done;a=n.next()){var i=a.value;if(i!==G&&e.startsWith(i))return Ke(o.get(i),e.slice(i.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},Pe=function(o,e){var t,r,n=e.length;e:for(var a=0;o&&a0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Le,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},o.prototype.discard=function(e){var t=this,r=this._idToShortId.get(e);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(n,a){t.removeFieldLength(r,a,t._documentCount,n)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},o.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,r=e.minDirtCount,n=e.batchSize,a=e.batchWait;this.conditionalVacuum({batchSize:n,batchWait:a},{minDirtCount:r,minDirtFactor:t})}},o.prototype.discardAll=function(e){var t,r,n=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=i.value;this.discard(s)}}catch(u){t={error:u}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()},o.prototype.replace=function(e){var t=this._options,r=t.idField,n=t.extractField,a=n(e,r);this.discard(a),this.add(e)},o.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},o.prototype.conditionalVacuum=function(e,t){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var n=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=Ue,r.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},o.prototype.performVacuuming=function(e,t){return Rr(this,void 0,void 0,function(){var r,n,a,i,s,u,l,h,d,v,y,b,E,g,S,T,F,L,R,B,N,_,A,O,w;return Mr(this,function(c){switch(c.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];n=e.batchSize||Je.batchSize,a=e.batchWait||Je.batchWait,i=1,c.label=1;case 1:c.trys.push([1,7,8,9]),s=D(this._index),u=s.next(),c.label=2;case 2:if(u.done)return[3,6];l=J(u.value,2),h=l[0],d=l[1];try{for(v=(_=void 0,D(d)),y=v.next();!y.done;y=v.next()){b=J(y.value,2),E=b[0],g=b[1];try{for(S=(O=void 0,D(g)),T=S.next();!T.done;T=S.next())F=J(T.value,1),L=F[0],!this._documentIds.has(L)&&(g.size<=1?d.delete(E):g.delete(L))}catch(f){O={error:f}}finally{try{T&&!T.done&&(w=S.return)&&w.call(S)}finally{if(O)throw O.error}}}}catch(f){_={error:f}}finally{try{y&&!y.done&&(A=v.return)&&A.call(v)}finally{if(_)throw _.error}}return this._index.get(h).size===0&&this._index.delete(h),i%n!==0?[3,4]:[4,new Promise(function(f){return setTimeout(f,a)})];case 3:c.sent(),c.label=4;case 4:i+=1,c.label=5;case 5:return u=s.next(),[3,2];case 6:return[3,9];case 7:return R=c.sent(),B={error:R},[3,9];case 8:try{u&&!u.done&&(N=s.return)&&N.call(s)}finally{if(B)throw B.error}return[7];case 9:this._dirtCount-=r,c.label=10;case 10:return[4,null];case 11:return c.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},o.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,r=e.minDirtFactor;return t=t||Be.minDirtCount,r=r||Be.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=r},Object.defineProperty(o.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),o.prototype.has=function(e){return this._idToShortId.has(e)},o.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},o.prototype.search=function(e,t){var r,n;t===void 0&&(t={});var a=this.executeQuery(e,t),i=[];try{for(var s=D(a),u=s.next();!u.done;u=s.next()){var l=J(u.value,2),h=l[0],d=l[1],v=d.score,y=d.terms,b=d.match,E=y.length||1,g={id:this._documentIds.get(h),score:v*E,terms:Object.keys(b),queryTerms:y,match:b};Object.assign(g,this._storedFields.get(h)),(t.filter==null||t.filter(g))&&i.push(g)}}catch(S){r={error:S}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return e===o.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||i.sort(vt),i},o.prototype.autoSuggest=function(e,t){var r,n,a,i;t===void 0&&(t={}),t=W(W({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var u=D(this.search(e,t)),l=u.next();!l.done;l=u.next()){var h=l.value,d=h.score,v=h.terms,y=v.join(" "),b=s.get(y);b!=null?(b.score+=d,b.count+=1):s.set(y,{score:d,terms:v,count:1})}}catch(R){r={error:R}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var E=[];try{for(var g=D(s),S=g.next();!S.done;S=g.next()){var T=J(S.value,2),b=T[0],F=T[1],d=F.score,v=F.terms,L=F.count;E.push({suggestion:b,terms:v,score:d/L})}}catch(R){a={error:R}}finally{try{S&&!S.done&&(i=g.return)&&i.call(g)}finally{if(a)throw a.error}}return E.sort(vt),E},Object.defineProperty(o.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),o.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},o.getDefault=function(e){if(Ve.hasOwnProperty(e))return ze(Ve,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},o.loadJS=function(e,t){var r,n,a,i,s,u,l=e.index,h=e.documentCount,d=e.nextId,v=e.documentIds,y=e.fieldIds,b=e.fieldLength,E=e.averageFieldLength,g=e.storedFields,S=e.dirtCount,T=e.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var F=new o(t);F._documentCount=h,F._nextId=d,F._documentIds=Te(v),F._idToShortId=new Map,F._fieldIds=y,F._fieldLength=Te(b),F._avgFieldLength=E,F._storedFields=Te(g),F._dirtCount=S||0,F._index=new Le;try{for(var L=D(F._documentIds),R=L.next();!R.done;R=L.next()){var B=J(R.value,2),N=B[0],_=B[1];F._idToShortId.set(_,N)}}catch(z){r={error:z}}finally{try{R&&!R.done&&(n=L.return)&&n.call(L)}finally{if(r)throw r.error}}try{for(var A=D(l),O=A.next();!O.done;O=A.next()){var w=J(O.value,2),c=w[0],f=w[1],p=new Map;try{for(var C=(s=void 0,D(Object.keys(f))),I=C.next();!I.done;I=C.next()){var M=I.value,P=f[M];T===1&&(P=P.ds),p.set(parseInt(M,10),Te(P))}}catch(z){s={error:z}}finally{try{I&&!I.done&&(u=C.return)&&u.call(C)}finally{if(s)throw s.error}}F._index.set(c,p)}}catch(z){a={error:z}}finally{try{O&&!O.done&&(i=A.return)&&i.call(A)}finally{if(a)throw a.error}}return F},o.prototype.executeQuery=function(e,t){var r=this;if(t===void 0&&(t={}),e===o.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var n=W(W(W({},t),e),{queries:void 0}),a=e.queries.map(function(g){return r.executeQuery(g,n)});return this.combineResults(a,n.combineWith)}var i=this._options,s=i.tokenize,u=i.processTerm,l=i.searchOptions,h=W(W({tokenize:s,processTerm:u},l),t),d=h.tokenize,v=h.processTerm,y=d(e).flatMap(function(g){return v(g)}).filter(function(g){return!!g}),b=y.map(Jr(h)),E=b.map(function(g){return r.executeQuerySpec(g,h)});return this.combineResults(E,h.combineWith)},o.prototype.executeQuerySpec=function(e,t){var r,n,a,i,s=W(W({},this._options.searchOptions),t),u=(s.fields||this._options.fields).reduce(function(M,P){var z;return W(W({},M),(z={},z[P]=ze(s.boost,P)||1,z))},{}),l=s.boostDocument,h=s.weights,d=s.maxFuzzy,v=s.bm25,y=W(W({},ht.weights),h),b=y.fuzzy,E=y.prefix,g=this._index.get(e.term),S=this.termResults(e.term,e.term,1,g,u,l,v),T,F;if(e.prefix&&(T=this._index.atPrefix(e.term)),e.fuzzy){var L=e.fuzzy===!0?.2:e.fuzzy,R=L<1?Math.min(d,Math.round(e.term.length*L)):L;R&&(F=this._index.fuzzyGet(e.term,R))}if(T)try{for(var B=D(T),N=B.next();!N.done;N=B.next()){var _=J(N.value,2),A=_[0],O=_[1],w=A.length-e.term.length;if(w){F==null||F.delete(A);var c=E*A.length/(A.length+.3*w);this.termResults(e.term,A,c,O,u,l,v,S)}}}catch(M){r={error:M}}finally{try{N&&!N.done&&(n=B.return)&&n.call(B)}finally{if(r)throw r.error}}if(F)try{for(var f=D(F.keys()),p=f.next();!p.done;p=f.next()){var A=p.value,C=J(F.get(A),2),I=C[0],w=C[1];if(w){var c=b*A.length/(A.length+w);this.termResults(e.term,A,c,I,u,l,v,S)}}}catch(M){a={error:M}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(a)throw a.error}}return S},o.prototype.executeWildcardQuery=function(e){var t,r,n=new Map,a=W(W({},this._options.searchOptions),e);try{for(var i=D(this._documentIds),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d=a.boostDocument?a.boostDocument(h,"",this._storedFields.get(l)):1;n.set(l,{score:d,terms:[],match:{}})}}catch(v){t={error:v}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return n},o.prototype.combineResults=function(e,t){if(t===void 0&&(t=Ge),e.length===0)return new Map;var r=t.toLowerCase();return e.reduce($r[r])||new Map},o.prototype.toJSON=function(){var e,t,r,n,a=[];try{for(var i=D(this._index),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d={};try{for(var v=(r=void 0,D(h)),y=v.next();!y.done;y=v.next()){var b=J(y.value,2),E=b[0],g=b[1];d[E]=Object.fromEntries(g)}}catch(S){r={error:S}}finally{try{y&&!y.done&&(n=v.return)&&n.call(v)}finally{if(r)throw r.error}}a.push([l,d])}}catch(S){e={error:S}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},o.prototype.termResults=function(e,t,r,n,a,i,s,u){var l,h,d,v,y;if(u===void 0&&(u=new Map),n==null)return u;try{for(var b=D(Object.keys(a)),E=b.next();!E.done;E=b.next()){var g=E.value,S=a[g],T=this._fieldIds[g],F=n.get(T);if(F!=null){var L=F.size,R=this._avgFieldLength[T];try{for(var B=(d=void 0,D(F.keys())),N=B.next();!N.done;N=B.next()){var _=N.value;if(!this._documentIds.has(_)){this.removeTerm(T,_,t),L-=1;continue}var A=i?i(this._documentIds.get(_),t,this._storedFields.get(_)):1;if(A){var O=F.get(_),w=this._fieldLength.get(_)[T],c=Kr(O,L,this._documentCount,w,R,s),f=r*S*A*c,p=u.get(_);if(p){p.score+=f,jr(p.terms,e);var C=ze(p.match,t);C?C.push(g):p.match[t]=[g]}else u.set(_,{score:f,terms:[e],match:(y={},y[t]=[g],y)})}}}catch(I){d={error:I}}finally{try{N&&!N.done&&(v=B.return)&&v.call(B)}finally{if(d)throw d.error}}}}}catch(I){l={error:I}}finally{try{E&&!E.done&&(h=b.return)&&h.call(b)}finally{if(l)throw l.error}}return u},o.prototype.addTerm=function(e,t,r){var n=this._index.fetch(r,pt),a=n.get(e);if(a==null)a=new Map,a.set(t,1),n.set(e,a);else{var i=a.get(t);a.set(t,(i||0)+1)}},o.prototype.removeTerm=function(e,t,r){if(!this._index.has(r)){this.warnDocumentChanged(t,e,r);return}var n=this._index.fetch(r,pt),a=n.get(e);a==null||a.get(t)==null?this.warnDocumentChanged(t,e,r):a.get(t)<=1?a.size<=1?n.delete(e):a.delete(t):a.set(t,a.get(t)-1),this._index.get(r).size===0&&this._index.delete(r)},o.prototype.warnDocumentChanged=function(e,t,r){var n,a;try{for(var i=D(Object.keys(this._fieldIds)),s=i.next();!s.done;s=i.next()){var u=s.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(r,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(l){n={error:l}}finally{try{s&&!s.done&&(a=i.return)&&a.call(i)}finally{if(n)throw n.error}}},o.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},o.prototype.addFields=function(e){for(var t=0;t(Ht("data-v-a83c338b"),o=o(),Qt(),o),Hr=["aria-owns"],Qr={class:"shell"},Yr=["title"],Zr=Y(()=>k("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)),Xr=[Zr],ea={class:"search-actions before"},ta=["title"],ra=Y(()=>k("span",{class:"vpi-arrow-left local-search-icon"},null,-1)),aa=[ra],na=["placeholder"],ia={class:"search-actions"},oa=["title"],sa=Y(()=>k("span",{class:"vpi-layout-list local-search-icon"},null,-1)),ua=[sa],la=["disabled","title"],ca=Y(()=>k("span",{class:"vpi-delete local-search-icon"},null,-1)),fa=[ca],ha=["id","role","aria-labelledby"],da=["aria-selected"],va=["href","aria-label","onMouseenter","onFocusin"],pa={class:"titles"},ya=Y(()=>k("span",{class:"title-icon"},"#",-1)),ma=["innerHTML"],ga=Y(()=>k("span",{class:"vpi-chevron-right local-search-icon"},null,-1)),ba={class:"title main"},wa=["innerHTML"],xa={key:0,class:"excerpt-wrapper"},Fa={key:0,class:"excerpt",inert:""},Ea=["innerHTML"],Sa=Y(()=>k("div",{class:"excerpt-gradient-bottom"},null,-1)),Aa=Y(()=>k("div",{class:"excerpt-gradient-top"},null,-1)),Ta={key:0,class:"no-results"},Na={class:"search-keyboard-shortcuts"},Ca=["aria-label"],Ia=Y(()=>k("span",{class:"vpi-arrow-up navigate-icon"},null,-1)),Da=[Ia],ka=["aria-label"],Oa=Y(()=>k("span",{class:"vpi-arrow-down navigate-icon"},null,-1)),_a=[Oa],Ra=["aria-label"],Ma=Y(()=>k("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)),La=[Ma],Pa=["aria-label"],za=_t({__name:"VPLocalSearchBox",emits:["close"],setup(o,{emit:e}){var P,z;const t=e,r=xe(),n=xe(),a=xe(nr),i=rr(),{activate:s}=kr(r,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:u,theme:l}=i,h=tt(async()=>{var m,x,$,K,q,H,V,U,Z;return it(Br.loadJSON(($=await((x=(m=a.value)[u.value])==null?void 0:x.call(m)))==null?void 0:$.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((K=l.value.search)==null?void 0:K.provider)==="local"&&((H=(q=l.value.search.options)==null?void 0:q.miniSearch)==null?void 0:H.searchOptions)},...((V=l.value.search)==null?void 0:V.provider)==="local"&&((Z=(U=l.value.search.options)==null?void 0:U.miniSearch)==null?void 0:Z.options)}))}),v=Fe(()=>{var m,x;return((m=l.value.search)==null?void 0:m.provider)==="local"&&((x=l.value.search.options)==null?void 0:x.disableQueryPersistence)===!0}).value?oe(""):Rt("vitepress:local-search-filter",""),y=Mt("vitepress:local-search-detailed-list",((P=l.value.search)==null?void 0:P.provider)==="local"&&((z=l.value.search.options)==null?void 0:z.detailedView)===!0),b=Fe(()=>{var m,x,$;return((m=l.value.search)==null?void 0:m.provider)==="local"&&(((x=l.value.search.options)==null?void 0:x.disableDetailedView)===!0||(($=l.value.search.options)==null?void 0:$.detailedView)===!1)}),E=Fe(()=>{var x,$,K,q,H,V,U;const m=((x=l.value.search)==null?void 0:x.options)??l.value.algolia;return((H=(q=(K=($=m==null?void 0:m.locales)==null?void 0:$[u.value])==null?void 0:K.translations)==null?void 0:q.button)==null?void 0:H.buttonText)||((U=(V=m==null?void 0:m.translations)==null?void 0:V.button)==null?void 0:U.buttonText)||"Search"});Lt(()=>{b.value&&(y.value=!1)});const g=xe([]),S=oe(!1);$e(v,()=>{S.value=!1});const T=tt(async()=>{if(n.value)return it(new _r(n.value))},null),F=new qr(16);Pt(()=>[h.value,v.value,y.value],async([m,x,$],K,q)=>{var be,qe,He,Qe;(K==null?void 0:K[0])!==m&&F.clear();let H=!1;if(q(()=>{H=!0}),!m)return;g.value=m.search(x).slice(0,16),S.value=!0;const V=$?await Promise.all(g.value.map(Q=>L(Q.id))):[];if(H)return;for(const{id:Q,mod:ae}of V){const ne=Q.slice(0,Q.indexOf("#"));let te=F.get(ne);if(te)continue;te=new Map,F.set(ne,te);const X=ae.default??ae;if(X!=null&&X.render||X!=null&&X.setup){const ie=Yt(X);ie.config.warnHandler=()=>{},ie.provide(Zt,i),Object.defineProperties(ie.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const Ye=document.createElement("div");ie.mount(Ye),Ye.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(he=>{var et;const we=(et=he.querySelector("a"))==null?void 0:et.getAttribute("href"),Ze=(we==null?void 0:we.startsWith("#"))&&we.slice(1);if(!Ze)return;let Xe="";for(;(he=he.nextElementSibling)&&!/^h[1-6]$/i.test(he.tagName);)Xe+=he.outerHTML;te.set(Ze,Xe)}),ie.unmount()}if(H)return}const U=new Set;if(g.value=g.value.map(Q=>{const[ae,ne]=Q.id.split("#"),te=F.get(ae),X=(te==null?void 0:te.get(ne))??"";for(const ie in Q.match)U.add(ie);return{...Q,text:X}}),await de(),H)return;await new Promise(Q=>{var ae;(ae=T.value)==null||ae.unmark({done:()=>{var ne;(ne=T.value)==null||ne.markRegExp(M(U),{done:Q})}})});const Z=((be=r.value)==null?void 0:be.querySelectorAll(".result .excerpt"))??[];for(const Q of Z)(qe=Q.querySelector('mark[data-markjs="true"]'))==null||qe.scrollIntoView({block:"center"});(Qe=(He=n.value)==null?void 0:He.firstElementChild)==null||Qe.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function L(m){const x=Xt(m.slice(0,m.indexOf("#")));try{if(!x)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await yt(()=>import(x),__vite__mapDeps([]))}}catch($){return console.error($),{id:m,mod:{}}}}const R=oe(),B=Fe(()=>{var m;return((m=v.value)==null?void 0:m.length)<=0});function N(m=!0){var x,$;(x=R.value)==null||x.focus(),m&&(($=R.value)==null||$.select())}_e(()=>{N()});function _(m){m.pointerType==="mouse"&&N()}const A=oe(-1),O=oe(!1);$e(g,m=>{A.value=m.length?0:-1,w()});function w(){de(()=>{const m=document.querySelector(".result.selected");m&&m.scrollIntoView({block:"nearest"})})}Ee("ArrowUp",m=>{m.preventDefault(),A.value--,A.value<0&&(A.value=g.value.length-1),O.value=!0,w()}),Ee("ArrowDown",m=>{m.preventDefault(),A.value++,A.value>=g.value.length&&(A.value=0),O.value=!0,w()});const c=zt();Ee("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const x=g.value[A.value];if(m.target instanceof HTMLInputElement&&!x){m.preventDefault();return}x&&(c.go(x.id),t("close"))}),Ee("Escape",()=>{t("close")});const p=ar({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});_e(()=>{window.history.pushState(null,"",null)}),Vt("popstate",m=>{m.preventDefault(),t("close")});const C=Bt($t?document.body:null);_e(()=>{de(()=>{C.value=!0,de().then(()=>s())})}),Wt(()=>{C.value=!1});function I(){v.value="",de().then(()=>N(!1))}function M(m){return new RegExp([...m].sort((x,$)=>$.length-x.length).map(x=>`(${er(x)})`).join("|"),"gi")}return(m,x)=>{var $,K,q,H;return ee(),Kt(qt,{to:"body"},[k("div",{ref_key:"el",ref:r,role:"button","aria-owns":($=g.value)!=null&&$.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[k("div",{class:"backdrop",onClick:x[0]||(x[0]=V=>m.$emit("close"))}),k("div",Qr,[k("form",{class:"search-bar",onPointerup:x[4]||(x[4]=V=>_(V)),onSubmit:x[5]||(x[5]=Jt(()=>{},["prevent"]))},[k("label",{title:E.value,id:"localsearch-label",for:"localsearch-input"},Xr,8,Yr),k("div",ea,[k("button",{class:"back-button",title:j(p)("modal.backButtonTitle"),onClick:x[1]||(x[1]=V=>m.$emit("close"))},aa,8,ta)]),Ut(k("input",{ref_key:"searchInput",ref:R,"onUpdate:modelValue":x[2]||(x[2]=V=>Gt(v)?v.value=V:null),placeholder:E.value,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,na),[[jt,j(v)]]),k("div",ia,[b.value?Se("",!0):(ee(),re("button",{key:0,class:rt(["toggle-layout-button",{"detailed-list":j(y)}]),type:"button",title:j(p)("modal.displayDetails"),onClick:x[3]||(x[3]=V=>A.value>-1&&(y.value=!j(y)))},ua,10,oa)),k("button",{class:"clear-button",type:"reset",disabled:B.value,title:j(p)("modal.resetButtonTitle"),onClick:I},fa,8,la)])],32),k("ul",{ref_key:"resultsEl",ref:n,id:(K=g.value)!=null&&K.length?"localsearch-list":void 0,role:(q=g.value)!=null&&q.length?"listbox":void 0,"aria-labelledby":(H=g.value)!=null&&H.length?"localsearch-label":void 0,class:"results",onMousemove:x[7]||(x[7]=V=>O.value=!1)},[(ee(!0),re(nt,null,at(g.value,(V,U)=>(ee(),re("li",{key:V.id,role:"option","aria-selected":A.value===U?"true":"false"},[k("a",{href:V.id,class:rt(["result",{selected:A.value===U}]),"aria-label":[...V.titles,V.title].join(" > "),onMouseenter:Z=>!O.value&&(A.value=U),onFocusin:Z=>A.value=U,onClick:x[6]||(x[6]=Z=>m.$emit("close"))},[k("div",null,[k("div",pa,[ya,(ee(!0),re(nt,null,at(V.titles,(Z,be)=>(ee(),re("span",{key:be,class:"title"},[k("span",{class:"text",innerHTML:Z},null,8,ma),ga]))),128)),k("span",ba,[k("span",{class:"text",innerHTML:V.title},null,8,wa)])]),j(y)?(ee(),re("div",xa,[V.text?(ee(),re("div",Fa,[k("div",{class:"vp-doc",innerHTML:V.text},null,8,Ea)])):Se("",!0),Sa,Aa])):Se("",!0)])],42,va)],8,da))),128)),j(v)&&!g.value.length&&S.value?(ee(),re("li",Ta,[ve(pe(j(p)("modal.noResultsText"))+' "',1),k("strong",null,pe(j(v)),1),ve('" ')])):Se("",!0)],40,ha),k("div",Na,[k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.navigateUpKeyAriaLabel")},Da,8,Ca),k("kbd",{"aria-label":j(p)("modal.footer.navigateDownKeyAriaLabel")},_a,8,ka),ve(" "+pe(j(p)("modal.footer.navigateText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.selectKeyAriaLabel")},La,8,Ra),ve(" "+pe(j(p)("modal.footer.selectText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.closeKeyAriaLabel")},"esc",8,Pa),ve(" "+pe(j(p)("modal.footer.closeText")),1)])])])],8,Hr)])}}}),Ja=tr(za,[["__scopeId","data-v-a83c338b"]]);export{Ja as default}; function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { __vite__mapDeps.viteFileDeps = [] diff --git a/assets/chunks/framework.IXvbZIHp.js b/assets/chunks/framework.IXvbZIHp.js new file mode 100644 index 00000000..fc9639a7 --- /dev/null +++ b/assets/chunks/framework.IXvbZIHp.js @@ -0,0 +1,17 @@ +/** +* @vue/shared v3.4.19 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Tr(e,t){const n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}const ee={},_t=[],xe=()=>{},Si=()=>!1,Wt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Sr=e=>e.startsWith("onUpdate:"),ce=Object.assign,Ar=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ai=Object.prototype.hasOwnProperty,Y=(e,t)=>Ai.call(e,t),U=Array.isArray,vt=e=>An(e)==="[object Map]",Zs=e=>An(e)==="[object Set]",q=e=>typeof e=="function",ne=e=>typeof e=="string",At=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",eo=e=>(Z(e)||q(e))&&q(e.then)&&q(e.catch),to=Object.prototype.toString,An=e=>to.call(e),Ri=e=>An(e).slice(8,-1),no=e=>An(e)==="[object Object]",Rr=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bt=Tr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Rn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Oi=/-(\w)/g,Fe=Rn(e=>e.replace(Oi,(t,n)=>n?n.toUpperCase():"")),Li=/\B([A-Z])/g,ft=Rn(e=>e.replace(Li,"-$1").toLowerCase()),On=Rn(e=>e.charAt(0).toUpperCase()+e.slice(1)),hn=Rn(e=>e?`on${On(e)}`:""),Ze=(e,t)=>!Object.is(e,t),pn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},ar=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ii=e=>{const t=ne(e)?Number(e):NaN;return isNaN(t)?e:t};let ns;const ro=()=>ns||(ns=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Or(e){if(U(e)){const t={};for(let n=0;n{if(n){const r=n.split(Pi);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Lr(e){let t="";if(ne(e))t=e;else if(U(e))for(let n=0;nne(e)?e:e==null?"":U(e)||Z(e)&&(e.toString===to||!q(e.toString))?JSON.stringify(e,oo,2):String(e),oo=(e,t)=>t&&t.__v_isRef?oo(e,t.value):vt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[qn(r,o)+" =>"]=s,n),{})}:Zs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>qn(n))}:At(t)?qn(t):Z(t)&&!U(t)&&!no(t)?String(t):t,qn=(e,t="")=>{var n;return At(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.19 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let ve;class ji{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ve,!t&&ve&&(this.index=(ve.scopes||(ve.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ve;try{return ve=this,t()}finally{ve=n}}}on(){ve=this}off(){ve=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),ht()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ye,n=ct;try{return Ye=!0,ct=this,this._runnings++,rs(this),this.fn()}finally{ss(this),this._runnings--,ct=n,Ye=t}}stop(){var t;this.active&&(rs(this),ss(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Bi(e){return e.value}function rs(e){e._trackId++,e._depsLength=0}function ss(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},_n=new WeakMap,at=Symbol(""),dr=Symbol("");function ye(e,t,n){if(Ye&&ct){let r=_n.get(e);r||_n.set(e,r=new Map);let s=r.get(n);s||r.set(n,s=fo(()=>r.delete(n))),ao(ct,s)}}function je(e,t,n,r,s,o){const i=_n.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&U(e)){const c=Number(r);i.forEach((a,f)=>{(f==="length"||!At(f)&&f>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":U(e)?Rr(n)&&l.push(i.get("length")):(l.push(i.get(at)),vt(e)&&l.push(i.get(dr)));break;case"delete":U(e)||(l.push(i.get(at)),vt(e)&&l.push(i.get(dr)));break;case"set":vt(e)&&l.push(i.get(at));break}Mr();for(const c of l)c&&uo(c,4);Pr()}function Ui(e,t){var n;return(n=_n.get(e))==null?void 0:n.get(t)}const ki=Tr("__proto__,__v_isRef,__isVue"),ho=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(At)),os=Ki();function Ki(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=J(this);for(let o=0,i=this.length;o{e[t]=function(...n){dt(),Mr();const r=J(this)[t].apply(this,n);return Pr(),ht(),r}}),e}function Wi(e){const t=J(this);return ye(t,"has",e),t.hasOwnProperty(e)}class po{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,r){const s=this._isReadonly,o=this._shallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?sl:_o:o?yo:mo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=U(t);if(!s){if(i&&Y(os,n))return Reflect.get(os,n,r);if(n==="hasOwnProperty")return Wi}const l=Reflect.get(t,n,r);return(At(n)?ho.has(n):ki(n))||(s||ye(t,"get",n),o)?l:de(l)?i&&Rr(n)?l:l.value:Z(l)?s?Mn(l):In(l):l}}class go extends po{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._shallow){const c=Tt(o);if(!vn(r)&&!Tt(r)&&(o=J(o),r=J(r)),!U(t)&&de(o)&&!de(r))return c?!1:(o.value=r,!0)}const i=U(t)&&Rr(n)?Number(n)e,Ln=e=>Reflect.getPrototypeOf(e);function Qt(e,t,n=!1,r=!1){e=e.__v_raw;const s=J(e),o=J(t);n||(Ze(t,o)&&ye(s,"get",t),ye(s,"get",o));const{has:i}=Ln(s),l=r?Nr:n?Hr:Dt;if(i.call(s,t))return l(e.get(t));if(i.call(s,o))return l(e.get(o));e!==s&&e.get(t)}function Zt(e,t=!1){const n=this.__v_raw,r=J(n),s=J(e);return t||(Ze(e,s)&&ye(r,"has",e),ye(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function en(e,t=!1){return e=e.__v_raw,!t&&ye(J(e),"iterate",at),Reflect.get(e,"size",e)}function is(e){e=J(e);const t=J(this);return Ln(t).has.call(t,e)||(t.add(e),je(t,"add",e,e)),this}function ls(e,t){t=J(t);const n=J(this),{has:r,get:s}=Ln(n);let o=r.call(n,e);o||(e=J(e),o=r.call(n,e));const i=s.call(n,e);return n.set(e,t),o?Ze(t,i)&&je(n,"set",e,t):je(n,"add",e,t),this}function cs(e){const t=J(this),{has:n,get:r}=Ln(t);let s=n.call(t,e);s||(e=J(e),s=n.call(t,e)),r&&r.call(t,e);const o=t.delete(e);return s&&je(t,"delete",e,void 0),o}function as(){const e=J(this),t=e.size!==0,n=e.clear();return t&&je(e,"clear",void 0,void 0),n}function tn(e,t){return function(r,s){const o=this,i=o.__v_raw,l=J(i),c=t?Nr:e?Hr:Dt;return!e&&ye(l,"iterate",at),i.forEach((a,f)=>r.call(s,c(a),c(f),o))}}function nn(e,t,n){return function(...r){const s=this.__v_raw,o=J(s),i=vt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,a=s[e](...r),f=n?Nr:t?Hr:Dt;return!t&&ye(o,"iterate",c?dr:at),{next(){const{value:h,done:p}=a.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function Ue(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Yi(){const e={get(o){return Qt(this,o)},get size(){return en(this)},has:Zt,add:is,set:ls,delete:cs,clear:as,forEach:tn(!1,!1)},t={get(o){return Qt(this,o,!1,!0)},get size(){return en(this)},has:Zt,add:is,set:ls,delete:cs,clear:as,forEach:tn(!1,!0)},n={get(o){return Qt(this,o,!0)},get size(){return en(this,!0)},has(o){return Zt.call(this,o,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:tn(!0,!1)},r={get(o){return Qt(this,o,!0,!0)},get size(){return en(this,!0)},has(o){return Zt.call(this,o,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:tn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=nn(o,!1,!1),n[o]=nn(o,!0,!1),t[o]=nn(o,!1,!0),r[o]=nn(o,!0,!0)}),[e,n,t,r]}const[Ji,Qi,Zi,el]=Yi();function Fr(e,t){const n=t?e?el:Zi:e?Qi:Ji;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Y(n,s)&&s in r?n:r,s,o)}const tl={get:Fr(!1,!1)},nl={get:Fr(!1,!0)},rl={get:Fr(!0,!1)},mo=new WeakMap,yo=new WeakMap,_o=new WeakMap,sl=new WeakMap;function ol(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function il(e){return e.__v_skip||!Object.isExtensible(e)?0:ol(Ri(e))}function In(e){return Tt(e)?e:$r(e,!1,Gi,tl,mo)}function ll(e){return $r(e,!1,Xi,nl,yo)}function Mn(e){return $r(e,!0,zi,rl,_o)}function $r(e,t,n,r,s){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const i=il(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return s.set(e,l),l}function wt(e){return Tt(e)?wt(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function vn(e){return!!(e&&e.__v_isShallow)}function vo(e){return wt(e)||Tt(e)}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function Mt(e){return Object.isExtensible(e)&&yn(e,"__v_skip",!0),e}const Dt=e=>Z(e)?In(e):e,Hr=e=>Z(e)?Mn(e):e;class bo{constructor(t,n,r,s){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ir(()=>t(this._value),()=>Pt(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=J(this);return(!t._cacheable||t.effect.dirty)&&Ze(t._value,t._value=t.effect.run())&&Pt(t,4),jr(t),t.effect._dirtyLevel>=2&&Pt(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function cl(e,t,n=!1){let r,s;const o=q(e);return o?(r=e,s=xe):(r=e.get,s=e.set),new bo(r,s,o||!s,n)}function jr(e){var t;Ye&&ct&&(e=J(e),ao(ct,(t=e.dep)!=null?t:e.dep=fo(()=>e.dep=void 0,e instanceof bo?e:void 0)))}function Pt(e,t=4,n){e=J(e);const r=e.dep;r&&uo(r,t)}function de(e){return!!(e&&e.__v_isRef===!0)}function se(e){return wo(e,!1)}function Vr(e){return wo(e,!0)}function wo(e,t){return de(e)?e:new al(e,t)}class al{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:Dt(t)}get value(){return jr(this),this._value}set value(t){const n=this.__v_isShallow||vn(t)||Tt(t);t=n?t:J(t),Ze(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Dt(t),Pt(this,4))}}function Eo(e){return de(e)?e.value:e}const ul={get:(e,t,n)=>Eo(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return de(s)&&!de(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Co(e){return wt(e)?e:new Proxy(e,ul)}class fl{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>jr(this),()=>Pt(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function dl(e){return new fl(e)}class hl{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ui(J(this._object),this._key)}}class pl{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function gl(e,t,n){return de(e)?e:q(e)?new pl(e):Z(e)&&arguments.length>1?ml(e,t,n):se(e)}function ml(e,t,n){const r=e[t];return de(r)?r:new hl(e,t,n)}/** +* @vue/runtime-core v3.4.19 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Je(e,t,n,r){try{return r?e(...r):e()}catch(s){qt(s,t,n)}}function Te(e,t,n,r){if(q(e)){const o=Je(e,t,n,r);return o&&eo(o)&&o.catch(i=>{qt(i,t,n)}),o}const s=[];for(let o=0;o>>1,s=he[r],o=Ut(s);oPe&&he.splice(t,1)}function bl(e){U(e)?Et.push(...e):(!qe||!qe.includes(e,e.allowRecurse?ot+1:ot))&&Et.push(e),To()}function us(e,t,n=Bt?Pe+1:0){for(;nUt(n)-Ut(r));if(Et.length=0,qe){qe.push(...t);return}for(qe=t,ot=0;ote.id==null?1/0:e.id,wl=(e,t)=>{const n=Ut(e)-Ut(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function So(e){hr=!1,Bt=!0,he.sort(wl);try{for(Pe=0;Pene(y)?y.trim():y)),h&&(s=n.map(ar))}let l,c=r[l=hn(t)]||r[l=hn(Fe(t))];!c&&o&&(c=r[l=hn(ft(t))]),c&&Te(c,e,6,s);const a=r[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Te(a,e,6,s)}}function Ao(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!q(e)){const c=a=>{const f=Ao(a,t,!0);f&&(l=!0,ce(i,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Z(e)&&r.set(e,null),null):(U(o)?o.forEach(c=>i[c]=null):ce(i,o),Z(e)&&r.set(e,i),i)}function Fn(e,t){return!e||!Wt(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,ft(t))||Y(e,t))}let le=null,$n=null;function wn(e){const t=le;return le=e,$n=e&&e.type.__scopeId||null,t}function Qa(e){$n=e}function Za(){$n=null}function Cl(e,t=le,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&xs(-1);const o=wn(t);let i;try{i=e(...s)}finally{wn(o),r._d&&xs(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Gn(e){const{type:t,vnode:n,proxy:r,withProxy:s,props:o,propsOptions:[i],slots:l,attrs:c,emit:a,render:f,renderCache:h,data:p,setupState:y,ctx:w,inheritAttrs:A}=e;let F,k;const B=wn(e);try{if(n.shapeFlag&4){const _=s||r,P=_;F=Re(f.call(P,_,h,o,y,p,w)),k=c}else{const _=t;F=Re(_.length>1?_(o,{attrs:c,slots:l,emit:a}):_(o,null)),k=t.props?c:xl(c)}}catch(_){jt.length=0,qt(_,e,1),F=oe(be)}let g=F;if(k&&A!==!1){const _=Object.keys(k),{shapeFlag:P}=g;_.length&&P&7&&(i&&_.some(Sr)&&(k=Tl(k,i)),g=et(g,k))}return n.dirs&&(g=et(g),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),F=g,wn(B),F}const xl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Wt(n))&&((t||(t={}))[n]=e[n]);return t},Tl=(e,t)=>{const n={};for(const r in e)(!Sr(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Sl(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:c}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?fs(r,i,a):!!i;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;function Lo(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):bl(e)}const Ol=Symbol.for("v-scx"),Ll=()=>xt(Ol);function Ur(e,t){return Hn(e,null,t)}function nu(e,t){return Hn(e,null,{flush:"post"})}const rn={};function Ve(e,t,n){return Hn(e,t,n)}function Hn(e,t,{immediate:n,deep:r,flush:s,once:o,onTrack:i,onTrigger:l}=ee){if(t&&o){const L=t;t=(...$)=>{L(...$),P()}}const c=ue,a=L=>r===!0?L:lt(L,r===!1?1:void 0);let f,h=!1,p=!1;if(de(e)?(f=()=>e.value,h=vn(e)):wt(e)?(f=()=>a(e),h=!0):U(e)?(p=!0,h=e.some(L=>wt(L)||vn(L)),f=()=>e.map(L=>{if(de(L))return L.value;if(wt(L))return a(L);if(q(L))return Je(L,c,2)})):q(e)?t?f=()=>Je(e,c,2):f=()=>(y&&y(),Te(e,c,3,[w])):f=xe,t&&r){const L=f;f=()=>lt(L())}let y,w=L=>{y=g.onStop=()=>{Je(L,c,4),y=g.onStop=void 0}},A;if(Xt)if(w=xe,t?n&&Te(t,c,3,[f(),p?[]:void 0,w]):f(),s==="sync"){const L=Ll();A=L.__watcherHandles||(L.__watcherHandles=[])}else return xe;let F=p?new Array(e.length).fill(rn):rn;const k=()=>{if(!(!g.active||!g.dirty))if(t){const L=g.run();(r||h||(p?L.some(($,R)=>Ze($,F[R])):Ze(L,F)))&&(y&&y(),Te(t,c,3,[L,F===rn?void 0:p&&F[0]===rn?[]:F,w]),F=L)}else g.run()};k.allowRecurse=!!t;let B;s==="sync"?B=k:s==="post"?B=()=>ge(k,c&&c.suspense):(k.pre=!0,c&&(k.id=c.uid),B=()=>Nn(k));const g=new Ir(f,xe,B),_=io(),P=()=>{g.stop(),_&&Ar(_.effects,g)};return t?n?k():F=g.run():s==="post"?ge(g.run.bind(g),c&&c.suspense):g.run(),A&&A.push(P),P}function Il(e,t,n){const r=this.proxy,s=ne(e)?e.includes(".")?Io(r,e):()=>r[e]:e.bind(r,r);let o;q(t)?o=t:(o=t.handler,n=t);const i=zt(this),l=Hn(s,o.bind(r),n);return i(),l}function Io(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s0){if(n>=t)return e;n++}if(r=r||new Set,r.has(e))return e;if(r.add(e),de(e))lt(e.value,t,n,r);else if(U(e))for(let s=0;s{lt(s,t,n,r)});else if(no(e))for(const s in e)lt(e[s],t,n,r);return e}function ru(e,t){if(le===null)return e;const n=Un(le)||le.proxy,r=e.dirs||(e.dirs=[]);for(let s=0;s{e.isMounted=!0}),$o(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],Mo={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:we,onEnter:we,onAfterEnter:we,onEnterCancelled:we,onBeforeLeave:we,onLeave:we,onAfterLeave:we,onLeaveCancelled:we,onBeforeAppear:we,onAppear:we,onAfterAppear:we,onAppearCancelled:we},Pl={name:"BaseTransition",props:Mo,setup(e,{slots:t}){const n=Bn(),r=Ml();let s;return()=>{const o=t.default&&No(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const A of o)if(A.type!==be){i=A;break}}const l=J(e),{mode:c}=l;if(r.isLeaving)return zn(i);const a=hs(i);if(!a)return zn(i);const f=pr(a,l,r,n);gr(a,f);const h=n.subTree,p=h&&hs(h);let y=!1;const{getTransitionKey:w}=a.type;if(w){const A=w();s===void 0?s=A:A!==s&&(s=A,y=!0)}if(p&&p.type!==be&&(!it(a,p)||y)){const A=pr(p,l,r,n);if(gr(p,A),c==="out-in")return r.isLeaving=!0,A.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},zn(i);c==="in-out"&&a.type!==be&&(A.delayLeave=(F,k,B)=>{const g=Po(r,p);g[String(p.key)]=p,F[Ge]=()=>{k(),F[Ge]=void 0,delete f.delayedLeave},f.delayedLeave=B})}return i}}},Nl=Pl;function Po(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 pr(e,t,n,r){const{appear:s,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:f,onBeforeLeave:h,onLeave:p,onAfterLeave:y,onLeaveCancelled:w,onBeforeAppear:A,onAppear:F,onAfterAppear:k,onAppearCancelled:B}=t,g=String(e.key),_=Po(n,e),P=(R,T)=>{R&&Te(R,r,9,T)},L=(R,T)=>{const S=T[1];P(R,T),U(R)?R.every(K=>K.length<=1)&&S():R.length<=1&&S()},$={mode:o,persisted:i,beforeEnter(R){let T=l;if(!n.isMounted)if(s)T=A||l;else return;R[Ge]&&R[Ge](!0);const S=_[g];S&&it(e,S)&&S.el[Ge]&&S.el[Ge](),P(T,[R])},enter(R){let T=c,S=a,K=f;if(!n.isMounted)if(s)T=F||c,S=k||a,K=B||f;else return;let M=!1;const G=R[sn]=ie=>{M||(M=!0,ie?P(K,[R]):P(S,[R]),$.delayedLeave&&$.delayedLeave(),R[sn]=void 0)};T?L(T,[R,G]):G()},leave(R,T){const S=String(e.key);if(R[sn]&&R[sn](!0),n.isUnmounting)return T();P(h,[R]);let K=!1;const M=R[Ge]=G=>{K||(K=!0,T(),G?P(w,[R]):P(y,[R]),R[Ge]=void 0,_[S]===e&&delete _[S])};_[S]=e,p?L(p,[R,M]):M()},clone(R){return pr(R,t,n,r)}};return $}function zn(e){if(Gt(e))return e=et(e),e.children=null,e}function hs(e){return Gt(e)?e.children?e.children[0]:void 0:e}function gr(e,t){e.shapeFlag&6&&e.component?gr(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function No(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function su(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,timeout:o,suspensible:i=!0,onError:l}=e;let c=null,a,f=0;const h=()=>(f++,c=null,p()),p=()=>{let y;return c||(y=c=t().catch(w=>{if(w=w instanceof Error?w:new Error(String(w)),l)return new Promise((A,F)=>{l(w,()=>A(h()),()=>F(w),f+1)});throw w}).then(w=>y!==c&&c?c:(w&&(w.__esModule||w[Symbol.toStringTag]==="Module")&&(w=w.default),a=w,w)))};return kr({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return a},setup(){const y=ue;if(a)return()=>Xn(a,y);const w=B=>{c=null,qt(B,y,13,!r)};if(i&&y.suspense||Xt)return p().then(B=>()=>Xn(B,y)).catch(B=>(w(B),()=>r?oe(r,{error:B}):null));const A=se(!1),F=se(),k=se(!!s);return s&&setTimeout(()=>{k.value=!1},s),o!=null&&setTimeout(()=>{if(!A.value&&!F.value){const B=new Error(`Async component timed out after ${o}ms.`);w(B),F.value=B}},o),p().then(()=>{A.value=!0,y.parent&&Gt(y.parent.vnode)&&(y.parent.effect.dirty=!0,Nn(y.parent.update))}).catch(B=>{w(B),F.value=B}),()=>{if(A.value&&a)return Xn(a,y);if(F.value&&r)return oe(r,{error:F.value});if(n&&!k.value)return oe(n)}}})}function Xn(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=oe(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Gt=e=>e.type.__isKeepAlive;function Fl(e,t){Fo(e,"a",t)}function $l(e,t){Fo(e,"da",t)}function Fo(e,t,n=ue){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(jn(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Gt(s.parent.vnode)&&Hl(r,t,n,s),s=s.parent}}function Hl(e,t,n,r){const s=jn(t,e,r,!0);Vn(()=>{Ar(r[t],s)},n)}function jn(e,t,n=ue,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;dt();const l=zt(n),c=Te(t,n,e,i);return l(),ht(),c});return r?s.unshift(o):s.push(o),o}}const Be=e=>(t,n=ue)=>(!Xt||e==="sp")&&jn(e,(...r)=>t(...r),n),jl=Be("bm"),Rt=Be("m"),Vl=Be("bu"),Dl=Be("u"),$o=Be("bum"),Vn=Be("um"),Bl=Be("sp"),Ul=Be("rtg"),kl=Be("rtc");function Kl(e,t=ue){jn("ec",e,t)}function ou(e,t,n,r){let s;const o=n&&n[r];if(U(e)||ne(e)){s=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;lxn(t)?!(t.type===be||t.type===me&&!Ho(t.children)):!0)?e:null}function lu(e,t){const n={};for(const r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:hn(r)]=e[r];return n}const mr=e=>e?ti(e)?Un(e)||e.proxy:mr(e.parent):null,Nt=ce(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=>mr(e.parent),$root:e=>mr(e.root),$emit:e=>e.emit,$options:e=>Kr(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Nn(e.update)}),$nextTick:e=>e.n||(e.n=Pn.bind(e.proxy)),$watch:e=>Il.bind(e)}),Yn=(e,t)=>e!==ee&&!e.__isScriptSetup&&Y(e,t),Wl={get({_:e},t){const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const y=i[t];if(y!==void 0)switch(y){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Yn(r,t))return i[t]=1,r[t];if(s!==ee&&Y(s,t))return i[t]=2,s[t];if((a=e.propsOptions[0])&&Y(a,t))return i[t]=3,o[t];if(n!==ee&&Y(n,t))return i[t]=4,n[t];yr&&(i[t]=0)}}const f=Nt[t];let h,p;if(f)return t==="$attrs"&&ye(e,"get",t),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==ee&&Y(n,t))return i[t]=4,n[t];if(p=c.config.globalProperties,Y(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Yn(s,t)?(s[t]=n,!0):r!==ee&&Y(r,t)?(r[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o}},i){let l;return!!n[i]||e!==ee&&Y(e,i)||Yn(t,i)||(l=o[0])&&Y(l,i)||Y(r,i)||Y(Nt,i)||Y(s.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function cu(){return ql().slots}function ql(){const e=Bn();return e.setupContext||(e.setupContext=ri(e))}function ps(e){return U(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let yr=!0;function Gl(e){const t=Kr(e),n=e.proxy,r=e.ctx;yr=!1,t.beforeCreate&&gs(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:p,beforeUpdate:y,updated:w,activated:A,deactivated:F,beforeDestroy:k,beforeUnmount:B,destroyed:g,unmounted:_,render:P,renderTracked:L,renderTriggered:$,errorCaptured:R,serverPrefetch:T,expose:S,inheritAttrs:K,components:M,directives:G,filters:ie}=t;if(a&&zl(a,r,null),i)for(const X in i){const j=i[X];q(j)&&(r[X]=j.bind(n))}if(s){const X=s.call(n,n);Z(X)&&(e.data=In(X))}if(yr=!0,o)for(const X in o){const j=o[X],$e=q(j)?j.bind(n,n):q(j.get)?j.get.bind(n,n):xe,Yt=!q(j)&&q(j.set)?j.set.bind(n):xe,tt=re({get:$e,set:Yt});Object.defineProperty(r,X,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Le=>tt.value=Le})}if(l)for(const X in l)jo(l[X],r,n,X);if(c){const X=q(c)?c.call(n):c;Reflect.ownKeys(X).forEach(j=>{ec(j,X[j])})}f&&gs(f,e,"c");function V(X,j){U(j)?j.forEach($e=>X($e.bind(n))):j&&X(j.bind(n))}if(V(jl,h),V(Rt,p),V(Vl,y),V(Dl,w),V(Fl,A),V($l,F),V(Kl,R),V(kl,L),V(Ul,$),V($o,B),V(Vn,_),V(Bl,T),U(S))if(S.length){const X=e.exposed||(e.exposed={});S.forEach(j=>{Object.defineProperty(X,j,{get:()=>n[j],set:$e=>n[j]=$e})})}else e.exposed||(e.exposed={});P&&e.render===xe&&(e.render=P),K!=null&&(e.inheritAttrs=K),M&&(e.components=M),G&&(e.directives=G)}function zl(e,t,n=xe){U(e)&&(e=_r(e));for(const r in e){const s=e[r];let o;Z(s)?"default"in s?o=xt(s.from||r,s.default,!0):o=xt(s.from||r):o=xt(s),de(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function gs(e,t,n){Te(U(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function jo(e,t,n,r){const s=r.includes(".")?Io(n,r):()=>n[r];if(ne(e)){const o=t[e];q(o)&&Ve(s,o)}else if(q(e))Ve(s,e.bind(n));else if(Z(e))if(U(e))e.forEach(o=>jo(o,t,n,r));else{const o=q(e.handler)?e.handler.bind(n):t[e.handler];q(o)&&Ve(s,o,e)}}function Kr(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(a=>En(c,a,i,!0)),En(c,t,i)),Z(t)&&o.set(t,c),c}function En(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&En(e,o,n,!0),s&&s.forEach(i=>En(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Xl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Xl={data:ms,props:ys,emits:ys,methods:It,computed:It,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:It,directives:It,watch:Jl,provide:ms,inject:Yl};function ms(e,t){return t?e?function(){return ce(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function Yl(e,t){return It(_r(e),_r(t))}function _r(e){if(U(e)){const t={};for(let n=0;n1)return n&&q(t)?t.call(r&&r.proxy):t}}function tc(e,t,n,r=!1){const s={},o={};yn(o,Dn,1),e.propsDefaults=Object.create(null),Do(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:ll(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function nc(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=J(s),[c]=e.propsOptions;let a=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,y]=Bo(h,t,!0);ce(i,p),y&&l.push(...y)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Z(e)&&r.set(e,_t),_t;if(U(o))for(let f=0;f-1,y[1]=A<0||w-1||Y(y,"default"))&&l.push(h)}}}const a=[i,l];return Z(e)&&r.set(e,a),a}function _s(e){return e[0]!=="$"&&!bt(e)}function vs(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function bs(e,t){return vs(e)===vs(t)}function ws(e,t){return U(t)?t.findIndex(n=>bs(n,e)):q(t)&&bs(t,e)?0:-1}const Uo=e=>e[0]==="_"||e==="$stable",Wr=e=>U(e)?e.map(Re):[Re(e)],rc=(e,t,n)=>{if(t._n)return t;const r=Cl((...s)=>Wr(t(...s)),n);return r._c=!1,r},ko=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Uo(s))continue;const o=e[s];if(q(o))t[s]=rc(s,o,r);else if(o!=null){const i=Wr(o);t[s]=()=>i}}},Ko=(e,t)=>{const n=Wr(t);e.slots.default=()=>n},sc=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=J(t),yn(t,"_",n)):ko(t,e.slots={})}else e.slots={},t&&Ko(e,t);yn(e.slots,Dn,1)},oc=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=ee;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ce(s,t),!n&&l===1&&delete s._):(o=!t.$stable,ko(t,s)),i=t}else t&&(Ko(e,t),i={default:1});if(o)for(const l in s)!Uo(l)&&i[l]==null&&delete s[l]};function Cn(e,t,n,r,s=!1){if(U(e)){e.forEach((p,y)=>Cn(p,t&&(U(t)?t[y]:t),n,r,s));return}if(Ct(r)&&!s)return;const o=r.shapeFlag&4?Un(r.component)||r.component.proxy:r.el,i=s?null:o,{i:l,r:c}=e,a=t&&t.r,f=l.refs===ee?l.refs={}:l.refs,h=l.setupState;if(a!=null&&a!==c&&(ne(a)?(f[a]=null,Y(h,a)&&(h[a]=null)):de(a)&&(a.value=null)),q(c))Je(c,l,12,[i,f]);else{const p=ne(c),y=de(c);if(p||y){const w=()=>{if(e.f){const A=p?Y(h,c)?h[c]:f[c]:c.value;s?U(A)&&Ar(A,o):U(A)?A.includes(o)||A.push(o):p?(f[c]=[o],Y(h,c)&&(h[c]=f[c])):(c.value=[o],e.k&&(f[e.k]=c.value))}else p?(f[c]=i,Y(h,c)&&(h[c]=i)):y&&(c.value=i,e.k&&(f[e.k]=i))};i?(w.id=-1,ge(w,n)):w()}}}let ke=!1;const ic=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",lc=e=>e.namespaceURI.includes("MathML"),on=e=>{if(ic(e))return"svg";if(lc(e))return"mathml"},ln=e=>e.nodeType===8;function cc(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:a}}=e,f=(g,_)=>{if(!_.hasChildNodes()){n(null,g,_),bn(),_._vnode=g;return}ke=!1,h(_.firstChild,g,null,null,null),bn(),_._vnode=g,ke&&console.error("Hydration completed but contains mismatches.")},h=(g,_,P,L,$,R=!1)=>{const T=ln(g)&&g.data==="[",S=()=>A(g,_,P,L,$,T),{type:K,ref:M,shapeFlag:G,patchFlag:ie}=_;let fe=g.nodeType;_.el=g,ie===-2&&(R=!1,_.dynamicChildren=null);let V=null;switch(K){case St:fe!==3?_.children===""?(c(_.el=s(""),i(g),g),V=g):V=S():(g.data!==_.children&&(ke=!0,g.data=_.children),V=o(g));break;case be:B(g)?(V=o(g),k(_.el=g.content.firstChild,g,P)):fe!==8||T?V=S():V=o(g);break;case Ht:if(T&&(g=o(g),fe=g.nodeType),fe===1||fe===3){V=g;const X=!_.children.length;for(let j=0;j<_.staticCount;j++)X&&(_.children+=V.nodeType===1?V.outerHTML:V.data),j===_.staticCount-1&&(_.anchor=V),V=o(V);return T?o(V):V}else S();break;case me:T?V=w(g,_,P,L,$,R):V=S();break;default:if(G&1)(fe!==1||_.type.toLowerCase()!==g.tagName.toLowerCase())&&!B(g)?V=S():V=p(g,_,P,L,$,R);else if(G&6){_.slotScopeIds=$;const X=i(g);if(T?V=F(g):ln(g)&&g.data==="teleport start"?V=F(g,g.data,"teleport end"):V=o(g),t(_,X,null,P,L,on(X),R),Ct(_)){let j;T?(j=oe(me),j.anchor=V?V.previousSibling:X.lastChild):j=g.nodeType===3?ei(""):oe("div"),j.el=g,_.component.subTree=j}}else G&64?fe!==8?V=S():V=_.type.hydrate(g,_,P,L,$,R,e,y):G&128&&(V=_.type.hydrate(g,_,P,L,on(i(g)),$,R,e,h))}return M!=null&&Cn(M,null,L,_),V},p=(g,_,P,L,$,R)=>{R=R||!!_.dynamicChildren;const{type:T,props:S,patchFlag:K,shapeFlag:M,dirs:G,transition:ie}=_,fe=T==="input"||T==="option";if(fe||K!==-1){G&&Me(_,null,P,"created");let V=!1;if(B(g)){V=qo(L,ie)&&P&&P.vnode.props&&P.vnode.props.appear;const j=g.content.firstChild;V&&ie.beforeEnter(j),k(j,g,P),_.el=g=j}if(M&16&&!(S&&(S.innerHTML||S.textContent))){let j=y(g.firstChild,_,g,P,L,$,R);for(;j;){ke=!0;const $e=j;j=j.nextSibling,l($e)}}else M&8&&g.textContent!==_.children&&(ke=!0,g.textContent=_.children);if(S)if(fe||!R||K&48)for(const j in S)(fe&&(j.endsWith("value")||j==="indeterminate")||Wt(j)&&!bt(j)||j[0]===".")&&r(g,j,null,S[j],void 0,void 0,P);else S.onClick&&r(g,"onClick",null,S.onClick,void 0,void 0,P);let X;(X=S&&S.onVnodeBeforeMount)&&Ee(X,P,_),G&&Me(_,null,P,"beforeMount"),((X=S&&S.onVnodeMounted)||G||V)&&Lo(()=>{X&&Ee(X,P,_),V&&ie.enter(g),G&&Me(_,null,P,"mounted")},L)}return g.nextSibling},y=(g,_,P,L,$,R,T)=>{T=T||!!_.dynamicChildren;const S=_.children,K=S.length;for(let M=0;M{const{slotScopeIds:T}=_;T&&($=$?$.concat(T):T);const S=i(g),K=y(o(g),_,S,P,L,$,R);return K&&ln(K)&&K.data==="]"?o(_.anchor=K):(ke=!0,c(_.anchor=a("]"),S,K),K)},A=(g,_,P,L,$,R)=>{if(ke=!0,_.el=null,R){const K=F(g);for(;;){const M=o(g);if(M&&M!==K)l(M);else break}}const T=o(g),S=i(g);return l(g),n(null,_,S,T,P,L,on(S),$),T},F=(g,_="[",P="]")=>{let L=0;for(;g;)if(g=o(g),g&&ln(g)&&(g.data===_&&L++,g.data===P)){if(L===0)return o(g);L--}return g},k=(g,_,P)=>{const L=_.parentNode;L&&L.replaceChild(g,_);let $=P;for(;$;)$.vnode.el===_&&($.vnode.el=$.subTree.el=g),$=$.parent},B=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[f,h]}const ge=Lo;function ac(e){return Wo(e)}function uc(e){return Wo(e,cc)}function Wo(e,t){const n=ro();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:p,setScopeId:y=xe,insertStaticContent:w}=e,A=(u,d,m,v=null,b=null,x=null,I=void 0,C=null,O=!!d.dynamicChildren)=>{if(u===d)return;u&&!it(u,d)&&(v=Jt(u),Le(u,b,x,!0),u=null),d.patchFlag===-2&&(O=!1,d.dynamicChildren=null);const{type:E,ref:N,shapeFlag:D}=d;switch(E){case St:F(u,d,m,v);break;case be:k(u,d,m,v);break;case Ht:u==null&&B(d,m,v,I);break;case me:M(u,d,m,v,b,x,I,C,O);break;default:D&1?P(u,d,m,v,b,x,I,C,O):D&6?G(u,d,m,v,b,x,I,C,O):(D&64||D&128)&&E.process(u,d,m,v,b,x,I,C,O,pt)}N!=null&&b&&Cn(N,u&&u.ref,x,d||u,!d)},F=(u,d,m,v)=>{if(u==null)r(d.el=l(d.children),m,v);else{const b=d.el=u.el;d.children!==u.children&&a(b,d.children)}},k=(u,d,m,v)=>{u==null?r(d.el=c(d.children||""),m,v):d.el=u.el},B=(u,d,m,v)=>{[u.el,u.anchor]=w(u.children,d,m,v,u.el,u.anchor)},g=({el:u,anchor:d},m,v)=>{let b;for(;u&&u!==d;)b=p(u),r(u,m,v),u=b;r(d,m,v)},_=({el:u,anchor:d})=>{let m;for(;u&&u!==d;)m=p(u),s(u),u=m;s(d)},P=(u,d,m,v,b,x,I,C,O)=>{d.type==="svg"?I="svg":d.type==="math"&&(I="mathml"),u==null?L(d,m,v,b,x,I,C,O):T(u,d,b,x,I,C,O)},L=(u,d,m,v,b,x,I,C)=>{let O,E;const{props:N,shapeFlag:D,transition:H,dirs:W}=u;if(O=u.el=i(u.type,x,N&&N.is,N),D&8?f(O,u.children):D&16&&R(u.children,O,null,v,b,Jn(u,x),I,C),W&&Me(u,null,v,"created"),$(O,u,u.scopeId,I,v),N){for(const Q in N)Q!=="value"&&!bt(Q)&&o(O,Q,null,N[Q],x,u.children,v,b,He);"value"in N&&o(O,"value",null,N.value,x),(E=N.onVnodeBeforeMount)&&Ee(E,v,u)}W&&Me(u,null,v,"beforeMount");const z=qo(b,H);z&&H.beforeEnter(O),r(O,d,m),((E=N&&N.onVnodeMounted)||z||W)&&ge(()=>{E&&Ee(E,v,u),z&&H.enter(O),W&&Me(u,null,v,"mounted")},b)},$=(u,d,m,v,b)=>{if(m&&y(u,m),v)for(let x=0;x{for(let E=O;E{const C=d.el=u.el;let{patchFlag:O,dynamicChildren:E,dirs:N}=d;O|=u.patchFlag&16;const D=u.props||ee,H=d.props||ee;let W;if(m&&nt(m,!1),(W=H.onVnodeBeforeUpdate)&&Ee(W,m,d,u),N&&Me(d,u,m,"beforeUpdate"),m&&nt(m,!0),E?S(u.dynamicChildren,E,C,m,v,Jn(d,b),x):I||j(u,d,C,null,m,v,Jn(d,b),x,!1),O>0){if(O&16)K(C,d,D,H,m,v,b);else if(O&2&&D.class!==H.class&&o(C,"class",null,H.class,b),O&4&&o(C,"style",D.style,H.style,b),O&8){const z=d.dynamicProps;for(let Q=0;Q{W&&Ee(W,m,d,u),N&&Me(d,u,m,"updated")},v)},S=(u,d,m,v,b,x,I)=>{for(let C=0;C{if(m!==v){if(m!==ee)for(const C in m)!bt(C)&&!(C in v)&&o(u,C,m[C],null,I,d.children,b,x,He);for(const C in v){if(bt(C))continue;const O=v[C],E=m[C];O!==E&&C!=="value"&&o(u,C,E,O,I,d.children,b,x,He)}"value"in v&&o(u,"value",m.value,v.value,I)}},M=(u,d,m,v,b,x,I,C,O)=>{const E=d.el=u?u.el:l(""),N=d.anchor=u?u.anchor:l("");let{patchFlag:D,dynamicChildren:H,slotScopeIds:W}=d;W&&(C=C?C.concat(W):W),u==null?(r(E,m,v),r(N,m,v),R(d.children||[],m,N,b,x,I,C,O)):D>0&&D&64&&H&&u.dynamicChildren?(S(u.dynamicChildren,H,m,b,x,I,C),(d.key!=null||b&&d===b.subTree)&&qr(u,d,!0)):j(u,d,m,N,b,x,I,C,O)},G=(u,d,m,v,b,x,I,C,O)=>{d.slotScopeIds=C,u==null?d.shapeFlag&512?b.ctx.activate(d,m,v,I,O):ie(d,m,v,b,x,I,O):fe(u,d,O)},ie=(u,d,m,v,b,x,I)=>{const C=u.component=wc(u,v,b);if(Gt(u)&&(C.ctx.renderer=pt),Ec(C),C.asyncDep){if(b&&b.registerDep(C,V),!u.el){const O=C.subTree=oe(be);k(null,O,d,m)}}else V(C,u,d,m,b,x,I)},fe=(u,d,m)=>{const v=d.component=u.component;if(Sl(u,d,m))if(v.asyncDep&&!v.asyncResolved){X(v,d,m);return}else v.next=d,vl(v.update),v.effect.dirty=!0,v.update();else d.el=u.el,v.vnode=d},V=(u,d,m,v,b,x,I)=>{const C=()=>{if(u.isMounted){let{next:N,bu:D,u:H,parent:W,vnode:z}=u;{const gt=Go(u);if(gt){N&&(N.el=z.el,X(u,N,I)),gt.asyncDep.then(()=>{u.isUnmounted||C()});return}}let Q=N,te;nt(u,!1),N?(N.el=z.el,X(u,N,I)):N=z,D&&pn(D),(te=N.props&&N.props.onVnodeBeforeUpdate)&&Ee(te,W,N,z),nt(u,!0);const ae=Gn(u),Ae=u.subTree;u.subTree=ae,A(Ae,ae,h(Ae.el),Jt(Ae),u,b,x),N.el=ae.el,Q===null&&Al(u,ae.el),H&&ge(H,b),(te=N.props&&N.props.onVnodeUpdated)&&ge(()=>Ee(te,W,N,z),b)}else{let N;const{el:D,props:H}=d,{bm:W,m:z,parent:Q}=u,te=Ct(d);if(nt(u,!1),W&&pn(W),!te&&(N=H&&H.onVnodeBeforeMount)&&Ee(N,Q,d),nt(u,!0),D&&Wn){const ae=()=>{u.subTree=Gn(u),Wn(D,u.subTree,u,b,null)};te?d.type.__asyncLoader().then(()=>!u.isUnmounted&&ae()):ae()}else{const ae=u.subTree=Gn(u);A(null,ae,m,v,u,b,x),d.el=ae.el}if(z&&ge(z,b),!te&&(N=H&&H.onVnodeMounted)){const ae=d;ge(()=>Ee(N,Q,ae),b)}(d.shapeFlag&256||Q&&Ct(Q.vnode)&&Q.vnode.shapeFlag&256)&&u.a&&ge(u.a,b),u.isMounted=!0,d=m=v=null}},O=u.effect=new Ir(C,xe,()=>Nn(E),u.scope),E=u.update=()=>{O.dirty&&O.run()};E.id=u.uid,nt(u,!0),E()},X=(u,d,m)=>{d.component=u;const v=u.vnode.props;u.vnode=d,u.next=null,nc(u,d.props,v,m),oc(u,d.children,m),dt(),us(u),ht()},j=(u,d,m,v,b,x,I,C,O=!1)=>{const E=u&&u.children,N=u?u.shapeFlag:0,D=d.children,{patchFlag:H,shapeFlag:W}=d;if(H>0){if(H&128){Yt(E,D,m,v,b,x,I,C,O);return}else if(H&256){$e(E,D,m,v,b,x,I,C,O);return}}W&8?(N&16&&He(E,b,x),D!==E&&f(m,D)):N&16?W&16?Yt(E,D,m,v,b,x,I,C,O):He(E,b,x,!0):(N&8&&f(m,""),W&16&&R(D,m,v,b,x,I,C,O))},$e=(u,d,m,v,b,x,I,C,O)=>{u=u||_t,d=d||_t;const E=u.length,N=d.length,D=Math.min(E,N);let H;for(H=0;HN?He(u,b,x,!0,!1,D):R(d,m,v,b,x,I,C,O,D)},Yt=(u,d,m,v,b,x,I,C,O)=>{let E=0;const N=d.length;let D=u.length-1,H=N-1;for(;E<=D&&E<=H;){const W=u[E],z=d[E]=O?ze(d[E]):Re(d[E]);if(it(W,z))A(W,z,m,null,b,x,I,C,O);else break;E++}for(;E<=D&&E<=H;){const W=u[D],z=d[H]=O?ze(d[H]):Re(d[H]);if(it(W,z))A(W,z,m,null,b,x,I,C,O);else break;D--,H--}if(E>D){if(E<=H){const W=H+1,z=WH)for(;E<=D;)Le(u[E],b,x,!0),E++;else{const W=E,z=E,Q=new Map;for(E=z;E<=H;E++){const _e=d[E]=O?ze(d[E]):Re(d[E]);_e.key!=null&&Q.set(_e.key,E)}let te,ae=0;const Ae=H-z+1;let gt=!1,Zr=0;const Ot=new Array(Ae);for(E=0;E=Ae){Le(_e,b,x,!0);continue}let Ie;if(_e.key!=null)Ie=Q.get(_e.key);else for(te=z;te<=H;te++)if(Ot[te-z]===0&&it(_e,d[te])){Ie=te;break}Ie===void 0?Le(_e,b,x,!0):(Ot[Ie-z]=E+1,Ie>=Zr?Zr=Ie:gt=!0,A(_e,d[Ie],m,null,b,x,I,C,O),ae++)}const es=gt?fc(Ot):_t;for(te=es.length-1,E=Ae-1;E>=0;E--){const _e=z+E,Ie=d[_e],ts=_e+1{const{el:x,type:I,transition:C,children:O,shapeFlag:E}=u;if(E&6){tt(u.component.subTree,d,m,v);return}if(E&128){u.suspense.move(d,m,v);return}if(E&64){I.move(u,d,m,pt);return}if(I===me){r(x,d,m);for(let D=0;DC.enter(x),b);else{const{leave:D,delayLeave:H,afterLeave:W}=C,z=()=>r(x,d,m),Q=()=>{D(x,()=>{z(),W&&W()})};H?H(x,z,Q):Q()}else r(x,d,m)},Le=(u,d,m,v=!1,b=!1)=>{const{type:x,props:I,ref:C,children:O,dynamicChildren:E,shapeFlag:N,patchFlag:D,dirs:H}=u;if(C!=null&&Cn(C,null,m,u,!0),N&256){d.ctx.deactivate(u);return}const W=N&1&&H,z=!Ct(u);let Q;if(z&&(Q=I&&I.onVnodeBeforeUnmount)&&Ee(Q,d,u),N&6)Ti(u.component,m,v);else{if(N&128){u.suspense.unmount(m,v);return}W&&Me(u,null,d,"beforeUnmount"),N&64?u.type.remove(u,d,m,b,pt,v):E&&(x!==me||D>0&&D&64)?He(E,d,m,!1,!0):(x===me&&D&384||!b&&N&16)&&He(O,d,m),v&&Jr(u)}(z&&(Q=I&&I.onVnodeUnmounted)||W)&&ge(()=>{Q&&Ee(Q,d,u),W&&Me(u,null,d,"unmounted")},m)},Jr=u=>{const{type:d,el:m,anchor:v,transition:b}=u;if(d===me){xi(m,v);return}if(d===Ht){_(u);return}const x=()=>{s(m),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:I,delayLeave:C}=b,O=()=>I(m,x);C?C(u.el,x,O):O()}else x()},xi=(u,d)=>{let m;for(;u!==d;)m=p(u),s(u),u=m;s(d)},Ti=(u,d,m)=>{const{bum:v,scope:b,update:x,subTree:I,um:C}=u;v&&pn(v),b.stop(),x&&(x.active=!1,Le(I,u,d,m)),C&&ge(C,d),ge(()=>{u.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},He=(u,d,m,v=!1,b=!1,x=0)=>{for(let I=x;Iu.shapeFlag&6?Jt(u.component.subTree):u.shapeFlag&128?u.suspense.next():p(u.anchor||u.el);let kn=!1;const Qr=(u,d,m)=>{u==null?d._vnode&&Le(d._vnode,null,null,!0):A(d._vnode||null,u,d,null,null,null,m),kn||(kn=!0,us(),bn(),kn=!1),d._vnode=u},pt={p:A,um:Le,m:tt,r:Jr,mt:ie,mc:R,pc:j,pbc:S,n:Jt,o:e};let Kn,Wn;return t&&([Kn,Wn]=t(pt)),{render:Qr,hydrate:Kn,createApp:Zl(Qr,Kn)}}function Jn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function qo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function qr(e,t,n=!1){const r=e.children,s=t.children;if(U(r)&&U(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Go(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Go(t)}const dc=e=>e.__isTeleport,$t=e=>e&&(e.disabled||e.disabled===""),Es=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Cs=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,br=(e,t)=>{const n=e&&e.to;return ne(n)?t?t(n):null:n},hc={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,o,i,l,c,a){const{mc:f,pc:h,pbc:p,o:{insert:y,querySelector:w,createText:A,createComment:F}}=a,k=$t(t.props);let{shapeFlag:B,children:g,dynamicChildren:_}=t;if(e==null){const P=t.el=A(""),L=t.anchor=A("");y(P,n,r),y(L,n,r);const $=t.target=br(t.props,w),R=t.targetAnchor=A("");$&&(y(R,$),i==="svg"||Es($)?i="svg":(i==="mathml"||Cs($))&&(i="mathml"));const T=(S,K)=>{B&16&&f(g,S,K,s,o,i,l,c)};k?T(n,L):$&&T($,R)}else{t.el=e.el;const P=t.anchor=e.anchor,L=t.target=e.target,$=t.targetAnchor=e.targetAnchor,R=$t(e.props),T=R?n:L,S=R?P:$;if(i==="svg"||Es(L)?i="svg":(i==="mathml"||Cs(L))&&(i="mathml"),_?(p(e.dynamicChildren,_,T,s,o,i,l),qr(e,t,!0)):c||h(e,t,T,S,s,o,i,l,!1),k)R?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):cn(t,n,P,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const K=t.target=br(t.props,w);K&&cn(t,K,null,a,0)}else R&&cn(t,L,$,a,1)}zo(t)},remove(e,t,n,r,{um:s,o:{remove:o}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:f,target:h,props:p}=e;if(h&&o(f),i&&o(a),l&16){const y=i||!$t(p);for(let w=0;w0?Oe||_t:null,gc(),kt>0&&Oe&&Oe.push(e),e}function uu(e,t,n,r,s,o){return Yo(Zo(e,t,n,r,s,o,!0))}function Jo(e,t,n,r,s){return Yo(oe(e,t,n,r,s,!0))}function xn(e){return e?e.__v_isVNode===!0:!1}function it(e,t){return e.type===t.type&&e.key===t.key}const Dn="__vInternal",Qo=({key:e})=>e??null,gn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||de(e)||q(e)?{i:le,r:e,k:t,f:!!n}:e:null);function Zo(e,t=null,n=null,r=0,s=null,o=e===me?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qo(t),ref:t&&gn(t),scopeId:$n,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:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:le};return l?(Gr(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),kt>0&&!i&&Oe&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Oe.push(c),c}const oe=mc;function mc(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===Ro)&&(e=be),xn(e)){const l=et(e,t,!0);return n&&Gr(l,n),kt>0&&!o&&Oe&&(l.shapeFlag&6?Oe[Oe.indexOf(e)]=l:Oe.push(l)),l.patchFlag|=-2,l}if(Sc(e)&&(e=e.__vccOpts),t){t=yc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Lr(l)),Z(c)&&(vo(c)&&!U(c)&&(c=ce({},c)),t.style=Or(c))}const i=ne(e)?1:Rl(e)?128:dc(e)?64:Z(e)?4:q(e)?2:0;return Zo(e,t,n,r,s,i,o,!0)}function yc(e){return e?vo(e)||Dn in e?ce({},e):e:null}function et(e,t,n=!1){const{props:r,ref:s,patchFlag:o,children:i}=e,l=t?_c(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Qo(l),ref:t&&t.ref?n&&s?U(s)?s.concat(gn(t)):[s,gn(t)]:gn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&et(e.ssContent),ssFallback:e.ssFallback&&et(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function ei(e=" ",t=0){return oe(St,null,e,t)}function fu(e,t){const n=oe(Ht,null,e);return n.staticCount=t,n}function du(e="",t=!1){return t?(Xo(),Jo(be,null,e)):oe(be,null,e)}function Re(e){return e==null||typeof e=="boolean"?oe(be):U(e)?oe(me,null,e.slice()):typeof e=="object"?ze(e):oe(St,null,String(e))}function ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:et(e)}function Gr(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Gr(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!(Dn in t)?t._ctx=le:s===3&&le&&(le.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:le},n=32):(t=String(t),r&64?(n=16,t=[ei(t)]):n=8);e.children=t,e.shapeFlag|=n}function _c(...e){const t={};for(let n=0;nue||le;let Tn,wr;{const e=ro(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Tn=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),wr=t("__VUE_SSR_SETTERS__",n=>Xt=n)}const zt=e=>{const t=ue;return Tn(e),e.scope.on(),()=>{e.scope.off(),Tn(t)}},Ts=()=>{ue&&ue.scope.off(),Tn(null)};function ti(e){return e.vnode.shapeFlag&4}let Xt=!1;function Ec(e,t=!1){t&&wr(t);const{props:n,children:r}=e.vnode,s=ti(e);tc(e,n,s,t),sc(e,r);const o=s?Cc(e,t):void 0;return t&&wr(!1),o}function Cc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Mt(new Proxy(e.ctx,Wl));const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?ri(e):null,o=zt(e);dt();const i=Je(r,e,0,[e.props,s]);if(ht(),o(),eo(i)){if(i.then(Ts,Ts),t)return i.then(l=>{Ss(e,l,t)}).catch(l=>{qt(l,e,0)});e.asyncDep=i}else Ss(e,i,t)}else ni(e,t)}function Ss(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=Co(t)),ni(e,n)}let As;function ni(e,t,n){const r=e.type;if(!e.render){if(!t&&As&&!r.render){const s=r.template||Kr(e).template;if(s){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=r,a=ce(ce({isCustomElement:o,delimiters:l},i),c);r.render=As(s,a)}}e.render=r.render||xe}{const s=zt(e);dt();try{Gl(e)}finally{ht(),s()}}}function xc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return ye(e,"get","$attrs"),t[n]}}))}function ri(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return xc(e)},slots:e.slots,emit:e.emit,expose:t}}function Un(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Co(Mt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Nt)return Nt[n](e)},has(t,n){return n in t||n in Nt}}))}function Tc(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function Sc(e){return q(e)&&"__vccOpts"in e}const re=(e,t)=>cl(e,t,Xt);function Er(e,t,n){const r=arguments.length;return r===2?Z(t)&&!U(t)?xn(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&xn(n)&&(n=[n]),oe(e,t,n))}const Ac="3.4.19";/** +* @vue/runtime-dom v3.4.19 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Rc="http://www.w3.org/2000/svg",Oc="http://www.w3.org/1998/Math/MathML",Xe=typeof document<"u"?document:null,Rs=Xe&&Xe.createElement("template"),Lc={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 s=t==="svg"?Xe.createElementNS(Rc,e):t==="mathml"?Xe.createElementNS(Oc,e):Xe.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Rs.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Rs.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ke="transition",Lt="animation",Kt=Symbol("_vtc"),si=(e,{slots:t})=>Er(Nl,Ic(e),t);si.displayName="Transition";const oi={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};si.props=ce({},Mo,oi);const rt=(e,t=[])=>{U(e)?e.forEach(n=>n(...t)):e&&e(...t)},Os=e=>e?U(e)?e.some(t=>t.length>1):e.length>1:!1;function Ic(e){const t={};for(const M in e)M in oi||(t[M]=e[M]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=e,w=Mc(s),A=w&&w[0],F=w&&w[1],{onBeforeEnter:k,onEnter:B,onEnterCancelled:g,onLeave:_,onLeaveCancelled:P,onBeforeAppear:L=k,onAppear:$=B,onAppearCancelled:R=g}=t,T=(M,G,ie)=>{st(M,G?f:l),st(M,G?a:i),ie&&ie()},S=(M,G)=>{M._isLeaving=!1,st(M,h),st(M,y),st(M,p),G&&G()},K=M=>(G,ie)=>{const fe=M?$:B,V=()=>T(G,M,ie);rt(fe,[G,V]),Ls(()=>{st(G,M?c:o),We(G,M?f:l),Os(fe)||Is(G,r,A,V)})};return ce(t,{onBeforeEnter(M){rt(k,[M]),We(M,o),We(M,i)},onBeforeAppear(M){rt(L,[M]),We(M,c),We(M,a)},onEnter:K(!1),onAppear:K(!0),onLeave(M,G){M._isLeaving=!0;const ie=()=>S(M,G);We(M,h),Fc(),We(M,p),Ls(()=>{M._isLeaving&&(st(M,h),We(M,y),Os(_)||Is(M,r,F,ie))}),rt(_,[M,ie])},onEnterCancelled(M){T(M,!1),rt(g,[M])},onAppearCancelled(M){T(M,!0),rt(R,[M])},onLeaveCancelled(M){S(M),rt(P,[M])}})}function Mc(e){if(e==null)return null;if(Z(e))return[Qn(e.enter),Qn(e.leave)];{const t=Qn(e);return[t,t]}}function Qn(e){return Ii(e)}function We(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Kt]||(e[Kt]=new Set)).add(t)}function st(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Kt];n&&(n.delete(t),n.size||(e[Kt]=void 0))}function Ls(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Pc=0;function Is(e,t,n,r){const s=e._endId=++Pc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Nc(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,p),o()},p=y=>{y.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[w]||"").split(", "),s=r(`${Ke}Delay`),o=r(`${Ke}Duration`),i=Ms(s,o),l=r(`${Lt}Delay`),c=r(`${Lt}Duration`),a=Ms(l,c);let f=null,h=0,p=0;t===Ke?i>0&&(f=Ke,h=i,p=o.length):t===Lt?a>0&&(f=Lt,h=a,p=c.length):(h=Math.max(i,a),f=h>0?i>a?Ke:Lt:null,p=f?f===Ke?o.length:c.length:0);const y=f===Ke&&/\b(transform|all)(,|$)/.test(r(`${Ke}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:y}}function Ms(e,t){for(;e.lengthPs(n)+Ps(e[r])))}function Ps(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Fc(){return document.body.offsetHeight}function $c(e,t,n){const r=e[Kt];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ns=Symbol("_vod"),Hc=Symbol(""),jc=/(^|;)\s*display\s*:/;function Vc(e,t,n){const r=e.style,s=ne(n),o=r.display;let i=!1;if(n&&!s){if(t&&!ne(t))for(const l in t)n[l]==null&&Cr(r,l,"");for(const l in n)l==="display"&&(i=!0),Cr(r,l,n[l])}else if(s){if(t!==n){const l=r[Hc];l&&(n+=";"+l),r.cssText=n,i=jc.test(n)}}else t&&e.removeAttribute("style");Ns in e&&(e[Ns]=i?r.display:"",r.display=o)}const Fs=/\s*!important$/;function Cr(e,t,n){if(U(n))n.forEach(r=>Cr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Dc(e,t);Fs.test(n)?e.setProperty(ft(r),n.replace(Fs,""),"important"):e[r]=n}}const $s=["Webkit","Moz","ms"],Zn={};function Dc(e,t){const n=Zn[t];if(n)return n;let r=Fe(t);if(r!=="filter"&&r in e)return Zn[t]=r;r=On(r);for(let s=0;s<$s.length;s++){const o=$s[s]+r;if(o in e)return Zn[t]=o}return t}const Hs="http://www.w3.org/1999/xlink";function Bc(e,t,n,r,s){if(r&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(Hs,t.slice(6,t.length)):e.setAttributeNS(Hs,t,n);else{const o=Hi(t);n==null||o&&!so(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function Uc(e,t,n,r,s,o,i){if(t==="innerHTML"||t==="textContent"){r&&i(r,s,o),e[t]=n??"";return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){e._value=n;const a=l==="OPTION"?e.getAttribute("value"):e.value,f=n??"";a!==f&&(e.value=f),n==null&&e.removeAttribute(t);return}let c=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=so(n):n==null&&a==="string"?(n="",c=!0):a==="number"&&(n=0,c=!0)}try{e[t]=n}catch{}c&&e.removeAttribute(t)}function mt(e,t,n,r){e.addEventListener(t,n,r)}function kc(e,t,n,r){e.removeEventListener(t,n,r)}const js=Symbol("_vei");function Kc(e,t,n,r,s=null){const o=e[js]||(e[js]={}),i=o[t];if(r&&i)i.value=r;else{const[l,c]=Wc(t);if(r){const a=o[t]=zc(r,s);mt(e,l,a,c)}else i&&(kc(e,l,i,c),o[t]=void 0)}}const Vs=/(?:Once|Passive|Capture)$/;function Wc(e){let t;if(Vs.test(e)){t={};let r;for(;r=e.match(Vs);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):ft(e.slice(2)),t]}let er=0;const qc=Promise.resolve(),Gc=()=>er||(qc.then(()=>er=0),er=Date.now());function zc(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Te(Xc(r,n.value),t,5,[r])};return n.value=e,n.attached=Gc(),n}function Xc(e,t){if(U(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Ds=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Yc=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?$c(e,r,a):t==="style"?Vc(e,n,r):Wt(t)?Sr(t)||Kc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Jc(e,t,r,a))?Uc(e,t,r,o,i,l,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Bc(e,t,r,a))};function Jc(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ds(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Ds(t)&&ne(n)?!1:t in e}const Bs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return U(t)?n=>pn(t,n):t};function Qc(e){e.target.composing=!0}function Us(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const tr=Symbol("_assign"),hu={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[tr]=Bs(s);const o=r||s.props&&s.props.type==="number";mt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=ar(l)),e[tr](l)}),n&&mt(e,"change",()=>{e.value=e.value.trim()}),t||(mt(e,"compositionstart",Qc),mt(e,"compositionend",Us),mt(e,"change",Us))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:s}},o){if(e[tr]=Bs(o),e.composing)return;const i=s||e.type==="number"?ar(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===l)||(e.value=l))}},Zc=["ctrl","shift","alt","meta"],ea={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&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Zc.some(n=>e[`${n}Key`]&&!t.includes(n))},pu=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const o=ft(s.key);if(t.some(i=>i===o||ta[i]===o))return e(s)})},ii=ce({patchProp:Yc},Lc);let Vt,ks=!1;function na(){return Vt||(Vt=ac(ii))}function ra(){return Vt=ks?Vt:uc(ii),ks=!0,Vt}const mu=(...e)=>{const t=na().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ci(r);if(!s)return;const o=t._component;!q(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,li(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},yu=(...e)=>{const t=ra().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ci(r);if(s)return n(s,!0,li(s))},t};function li(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ci(e){return ne(e)?document.querySelector(e):e}const _u=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},sa="modulepreload",oa=function(e){return"/"+e},Ks={},vu=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link");s=Promise.all(n.map(i=>{if(i=oa(i),i in Ks)return;Ks[i]=!0;const l=i.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(!!r)for(let h=o.length-1;h>=0;h--){const p=o[h];if(p.href===i&&(!l||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${c}`))return;const f=document.createElement("link");if(f.rel=l?"stylesheet":sa,l||(f.as="script",f.crossOrigin=""),f.href=i,document.head.appendChild(f),l)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})}))}return s.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},ia=window.__VP_SITE_DATA__;function zr(e){return io()?(Di(e),!0):!1}function Ne(e){return typeof e=="function"?e():Eo(e)}const ai=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const la=Object.prototype.toString,ca=e=>la.call(e)==="[object Object]",Qe=()=>{},xr=aa();function aa(){var e,t;return ai&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ua(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const ui=e=>e();function fa(e,t={}){let n,r,s=Qe;const o=l=>{clearTimeout(l),s(),s=Qe};return l=>{const c=Ne(e),a=Ne(t.maxWait);return n&&o(n),c<=0||a!==void 0&&a<=0?(r&&(o(r),r=null),Promise.resolve(l())):new Promise((f,h)=>{s=t.rejectOnCancel?h:f,a&&!r&&(r=setTimeout(()=>{n&&o(n),r=null,f(l())},a)),n=setTimeout(()=>{r&&o(r),r=null,f(l())},c)})}}function da(e=ui){const t=se(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Mn(t),pause:n,resume:r,eventFilter:s}}function ha(e){return e||Bn()}function fi(...e){if(e.length!==1)return gl(...e);const t=e[0];return typeof t=="function"?Mn(dl(()=>({get:t,set:Qe}))):se(t)}function di(e,t,n={}){const{eventFilter:r=ui,...s}=n;return Ve(e,ua(r,t),s)}function pa(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=da(r);return{stop:di(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function Xr(e,t=!0,n){ha()?Rt(e,n):t?e():Pn(e)}function bu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return di(e,t,{...o,eventFilter:fa(r,{maxWait:s})})}function wu(e,t,n){let r;de(n)?r={evaluating:n}:r=n||{};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Qe}=r,c=se(!s),a=i?Vr(t):se(t);let f=0;return Ur(async h=>{if(!c.value)return;f++;const p=f;let y=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const w=await e(A=>{h(()=>{o&&(o.value=!1),y||A()})});p===f&&(a.value=w)}catch(w){l(w)}finally{o&&p===f&&(o.value=!1),y=!0}}),s?re(()=>(c.value=!0,a.value)):a}function yt(e){var t;const n=Ne(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Se=ai?window:void 0;function De(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Se):[t,n,r,s]=e,!t)return Qe;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,p,y)=>(f.addEventListener(h,p,y),()=>f.removeEventListener(h,p,y)),c=Ve(()=>[yt(t),Ne(s)],([f,h])=>{if(i(),!f)return;const p=ca(h)?{...h}:h;o.push(...n.flatMap(y=>r.map(w=>l(f,y,w,p))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return zr(a),a}let Ws=!1;function Eu(e,t,n={}){const{window:r=Se,ignore:s=[],capture:o=!0,detectIframe:i=!1}=n;if(!r)return Qe;xr&&!Ws&&(Ws=!0,Array.from(r.document.body.children).forEach(p=>p.addEventListener("click",Qe)),r.document.documentElement.addEventListener("click",Qe));let l=!0;const c=p=>s.some(y=>{if(typeof y=="string")return Array.from(r.document.querySelectorAll(y)).some(w=>w===p.target||p.composedPath().includes(w));{const w=yt(y);return w&&(p.target===w||p.composedPath().includes(w))}}),f=[De(r,"click",p=>{const y=yt(e);if(!(!y||y===p.target||p.composedPath().includes(y))){if(p.detail===0&&(l=!c(p)),!l){l=!0;return}t(p)}},{passive:!0,capture:o}),De(r,"pointerdown",p=>{const y=yt(e);l=!c(p)&&!!(y&&!p.composedPath().includes(y))},{passive:!0}),i&&De(r,"blur",p=>{setTimeout(()=>{var y;const w=yt(e);((y=r.document.activeElement)==null?void 0:y.tagName)==="IFRAME"&&!(w!=null&&w.contains(r.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function ga(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Cu(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:s=Se,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=ga(t);return De(s,o,f=>{f.repeat&&Ne(l)||c(f)&&n(f)},i)}function ma(){const e=se(!1);return Bn()&&Rt(()=>{e.value=!0}),e}function ya(e){const t=ma();return re(()=>(t.value,!!e()))}function hi(e,t={}){const{window:n=Se}=t,r=ya(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=se(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=Ur(()=>{r.value&&(l(),s=n.matchMedia(Ne(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return zr(()=>{c(),l(),s=void 0}),o}const an=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},un="__vueuse_ssr_handlers__",_a=va();function va(){return un in an||(an[un]=an[un]||{}),an[un]}function pi(e,t){return _a[e]||t}function ba(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const wa={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},qs="vueuse-storage";function Yr(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Se,eventFilter:p,onError:y=T=>{console.error(T)},initOnMounted:w}=r,A=(f?Vr:se)(typeof t=="function"?t():t);if(!n)try{n=pi("getDefaultStorage",()=>{var T;return(T=Se)==null?void 0:T.localStorage})()}catch(T){y(T)}if(!n)return A;const F=Ne(t),k=ba(F),B=(s=r.serializer)!=null?s:wa[k],{pause:g,resume:_}=pa(A,()=>P(A.value),{flush:o,deep:i,eventFilter:p});return h&&l&&Xr(()=>{De(h,"storage",R),De(h,qs,$),w&&R()}),w||R(),A;function P(T){try{if(T==null)n.removeItem(e);else{const S=B.write(T),K=n.getItem(e);K!==S&&(n.setItem(e,S),h&&h.dispatchEvent(new CustomEvent(qs,{detail:{key:e,oldValue:K,newValue:S,storageArea:n}})))}}catch(S){y(S)}}function L(T){const S=T?T.newValue:n.getItem(e);if(S==null)return c&&F!=null&&n.setItem(e,B.write(F)),F;if(!T&&a){const K=B.read(S);return typeof a=="function"?a(K,F):k==="object"&&!Array.isArray(K)?{...F,...K}:K}else return typeof S!="string"?S:B.read(S)}function $(T){R(T.detail)}function R(T){if(!(T&&T.storageArea!==n)){if(T&&T.key==null){A.value=F;return}if(!(T&&T.key!==e)){g();try{(T==null?void 0:T.newValue)!==B.write(A.value)&&(A.value=L(T))}catch(S){y(S)}finally{T?Pn(_):_()}}}}}function gi(e){return hi("(prefers-color-scheme: dark)",e)}function Ea(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Se,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},p=gi({window:s}),y=re(()=>p.value?"dark":"light"),w=c||(i==null?fi(r):Yr(i,r,o,{window:s,listenToStorageChanges:l})),A=re(()=>w.value==="auto"?y.value:w.value),F=pi("updateHTMLAttrs",(_,P,L)=>{const $=typeof _=="string"?s==null?void 0:s.document.querySelector(_):yt(_);if(!$)return;let R;if(f&&(R=s.document.createElement("style"),R.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),s.document.head.appendChild(R)),P==="class"){const T=L.split(/\s/g);Object.values(h).flatMap(S=>(S||"").split(/\s/g)).filter(Boolean).forEach(S=>{T.includes(S)?$.classList.add(S):$.classList.remove(S)})}else $.setAttribute(P,L);f&&(s.getComputedStyle(R).opacity,document.head.removeChild(R))});function k(_){var P;F(t,n,(P=h[_])!=null?P:_)}function B(_){e.onChanged?e.onChanged(_,k):k(_)}Ve(A,B,{flush:"post",immediate:!0}),Xr(()=>B(A.value));const g=re({get(){return a?w.value:A.value},set(_){w.value=_}});try{return Object.assign(g,{store:w,system:y,state:A})}catch{return g}}function Ca(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Se}=e,s=Ea({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=re(()=>s.system?s.system.value:gi({window:r}).value?"dark":"light");return re({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function nr(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function xu(e,t,n={}){const{window:r=Se}=n;return Yr(e,t,r==null?void 0:r.localStorage,n)}function mi(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const fn=new WeakMap;function Tu(e,t=!1){const n=se(t);let r=null,s;Ve(fi(e),l=>{const c=nr(Ne(l));if(c){const a=c;fn.get(a)||fn.set(a,s),n.value&&(a.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=nr(Ne(e));!l||n.value||(xr&&(r=De(l,"touchmove",c=>{xa(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{var l;const c=nr(Ne(e));!c||!n.value||(xr&&(r==null||r()),c.style.overflow=(l=fn.get(c))!=null?l:"",fn.delete(c),n.value=!1)};return zr(i),re({get(){return n.value},set(l){l?o():i()}})}function Su(e,t,n={}){const{window:r=Se}=n;return Yr(e,t,r==null?void 0:r.sessionStorage,n)}function Au(e={}){const{window:t=Se,behavior:n="auto"}=e;if(!t)return{x:se(0),y:se(0)};const r=se(t.scrollX),s=se(t.scrollY),o=re({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=re({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return De(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Ru(e={}){const{window:t=Se,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,i=se(n),l=se(r),c=()=>{t&&(o?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Xr(c),De("resize",c,{passive:!0}),s){const a=hi("(orientation: portrait)");Ve(a,()=>c())}return{width:i,height:l}}var rr={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},sr={};const yi=/^(?:[a-z]+:|\/\/)/i,Ta="vitepress-theme-appearance",Sa=/#.*$/,Aa=/[?#].*$/,Ra=/(?:(^|\/)index)?\.(?:md|html)$/,Ce=typeof document<"u",_i={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Oa(e,t,n=!1){if(t===void 0)return!1;if(e=Gs(`/${e}`),n)return new RegExp(t).test(e);if(Gs(t)!==e)return!1;const r=t.match(Sa);return r?(Ce?location.hash:"")===r[0]:!0}function Gs(e){return decodeURI(e).replace(Aa,"").replace(Ra,"$1")}function La(e){return yi.test(e)}function Ia(e,t){var r,s,o,i,l,c,a;const n=Object.keys(e.locales).find(f=>f!=="root"&&!La(f)&&Oa(t,`/${f}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((r=e.locales[n])==null?void 0:r.lang)??e.lang,dir:((s=e.locales[n])==null?void 0:s.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:bi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function vi(e,t){const n=t.title||e.title,r=t.titleTemplate??e.titleTemplate;if(typeof r=="string"&&r.includes(":title"))return r.replace(/:title/g,n);const s=Ma(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Ma(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Pa(e,t){const[n,r]=t;if(n!=="meta")return!1;const s=Object.entries(r)[0];return s==null?!1:e.some(([o,i])=>o===n&&i[s[0]]===s[1])}function bi(e,t){return[...e.filter(n=>!Pa(t,n)),...t]}const Na=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Fa=/^[a-z]:/i;function zs(e){const t=Fa.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Na,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const or=new Set;function $a(e){if(or.size===0){const n=typeof process=="object"&&(sr==null?void 0:sr.VITE_EXTRA_EXTENSIONS)||(rr==null?void 0:rr.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(r=>or.add(r))}const t=e.split(".").pop();return t==null||!or.has(t.toLowerCase())}function Ou(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Ha=Symbol(),ut=Vr(ia);function Lu(e){const t=re(()=>Ia(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?se(!0):n?Ca({storageKey:Ta,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):se(!1);return{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>vi(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:r}}function ja(){const e=xt(Ha);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Va(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Xs(e){return yi.test(e)||!e.startsWith("/")?e:Va(ut.value.base,e)}function Da(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/";t=zs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let r=__VP_HASH_MAP__[t.toLowerCase()];if(r||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",r=__VP_HASH_MAP__[t.toLowerCase()]),!r)return null;t=`${n}assets/${t}.${r}.js`}else t=`./${zs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let mn=[];function Iu(e){mn.push(e),Vn(()=>{mn=mn.filter(t=>t!==e)})}function Ba(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Ys(e,n);else if(Array.isArray(e))for(const r of e){const s=Ys(r,n);if(s){t=s;break}}return t}function Ys(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const Ua=Symbol(),wi="http://a.com",ka=()=>({path:"/",component:null,data:_i});function Mu(e,t){const n=In(ka()),r={route:n,go:s};async function s(l=Ce?location.href:"/"){var c,a;l=Sn(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1&&(Qs(l),await i(l),await((a=r.onAfterRouteChanged)==null?void 0:a.call(r,l)))}let o=null;async function i(l,c=0,a=!1){var p;if(await((p=r.onBeforePageLoad)==null?void 0:p.call(r,l))===!1)return;const f=new URL(l,wi),h=o=f.pathname;try{let y=await e(h);if(!y)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:w,__pageData:A}=y;if(!w)throw new Error(`Invalid route component: ${w}`);n.path=Ce?h:Xs(h),n.component=Mt(w),n.data=Mt(A),Ce&&Pn(()=>{let F=ut.value.base+A.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!F.endsWith("/")&&(F+=".html"),F!==f.pathname&&(f.pathname=F,l=F+f.search+f.hash,history.replaceState(null,"",l)),f.hash&&!c){let k=null;try{k=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(B){console.warn(B)}if(k){Js(k,f.hash);return}}window.scrollTo(0,c)})}}catch(y){if(!/fetch|Page not found/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!a)try{const w=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await w.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=Ce?h:Xs(h),n.component=t?Mt(t):null,n.data=_i)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:f}=a,{href:h,origin:p,pathname:y,hash:w,search:A}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),F=window.location;!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&p===F.origin&&$a(y)&&(l.preventDefault(),y===F.pathname&&A===F.search?(w!==F.hash&&(history.pushState(null,"",w),window.dispatchEvent(new Event("hashchange"))),w?Js(a,w,a.classList.contains("header-anchor")):(Qs(h),window.scrollTo(0,0))):s(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await i(Sn(location.href),l.state&&l.state.scrollPosition||0),(c=r.onAfterRouteChanged)==null||c.call(r,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),r}function Ka(){const e=xt(Ua);if(!e)throw new Error("useRouter() is called without provider.");return e}function Ei(){return Ka().route}function Js(e,t,n=!1){let r=null;try{r=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(s){console.warn(s)}if(r){let s=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(r).paddingTop,10),i=window.scrollY+r.getBoundingClientRect().top-Ba()+o;requestAnimationFrame(s)}}function Qs(e){Ce&&Sn(e)!==Sn(location.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}function Sn(e){const t=new URL(e,wi);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const ir=()=>mn.forEach(e=>e()),Pu=kr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Ei(),{site:n}=ja();return()=>Er(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?Er(t.component,{onVnodeMounted:ir,onVnodeUpdated:ir,onVnodeUnmounted:ir}):"404 Page Not Found"])}}),Nu=kr({setup(e,{slots:t}){const n=se(!1);return Rt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Fu(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement;if(!r)return;const s=Array.from(r.querySelectorAll("input")).indexOf(t);if(s<0)return;const o=r.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[s];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=r==null?void 0:r.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function $u(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var r;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const s=n.parentElement,o=(r=n.nextElementSibling)==null?void 0:r.nextElementSibling;if(!s||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(s.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),Wa(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function Wa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),n&&n.focus()}}function Hu(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=lr(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(lr);r.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete r[c])}),i.forEach(l=>l&&document.head.appendChild(l)),r=[...r,...i].filter(Boolean)};Ur(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=vi(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):lr(["meta",{name:"description",content:f}]),s(bi(i.head,Ga(c)))})}function lr([e,t,n]){const r=document.createElement(e);for(const s in t)r.setAttribute(s,t[s]);return n&&(r.innerHTML=n),e==="script"&&!t.async&&(r.async=!1),r}function qa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Ga(e){return e.filter(t=>!qa(t))}const cr=new Set,Ci=()=>document.createElement("link"),za=e=>{const t=Ci();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Xa=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let dn;const Ya=Ce&&(dn=Ci())&&dn.relList&&dn.relList.supports&&dn.relList.supports("prefetch")?za:Xa;function ju(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const r=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!cr.has(c)){cr.add(c);const a=Da(c);a&&Ya(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):cr.add(l))})})};Rt(r);const s=Ei();Ve(()=>s.path,r),Vn(()=>{n&&n.disconnect()})}export{ec as $,Vn as A,nu as B,Dl as C,Ba as D,eu as E,me as F,ou as G,Vr as H,Iu as I,oe as J,tu as K,yi as L,Ei as M,_c as N,xt as O,Ru as P,Or as Q,Eu as R,Cu as S,si as T,Pn as U,Au as V,Mn as W,su as X,vu as Y,Tu as Z,_u as _,ei as a,gu as a0,lu as a1,pu as a2,cu as a3,fu as a4,Hu as a5,Ua as a6,Lu as a7,Ha as a8,Pu as a9,Nu as aa,ut as ab,yu as ac,Mu as ad,Da as ae,ju as af,$u as ag,Fu as ah,Er as ai,yt as aj,zr as ak,wu as al,Su as am,xu as an,bu as ao,Ka as ap,De as aq,$o as ar,ru as as,hu as at,de as au,au as av,Mt as aw,mu as ax,Ou as ay,Jo as b,uu as c,kr as d,du as e,$a as f,Xs as g,se as h,La as i,Ce as j,re as k,Rt as l,Zo as m,Lr as n,Xo as o,Eo as p,Qa as q,iu as r,Za as s,Ja as t,ja as u,Oa as v,Cl as w,hi as x,Ve as y,Ur as z}; diff --git a/assets/chunks/framework.cYNwvFF8.js b/assets/chunks/framework.cYNwvFF8.js deleted file mode 100644 index 43386e16..00000000 --- a/assets/chunks/framework.cYNwvFF8.js +++ /dev/null @@ -1,17 +0,0 @@ -/** -* @vue/shared v3.4.19 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function xr(e,t){const n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}const ee={},_t=[],xe=()=>{},Ti=()=>!1,Wt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Tr=e=>e.startsWith("onUpdate:"),ce=Object.assign,Sr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Si=Object.prototype.hasOwnProperty,Y=(e,t)=>Si.call(e,t),U=Array.isArray,vt=e=>An(e)==="[object Map]",Js=e=>An(e)==="[object Set]",q=e=>typeof e=="function",ne=e=>typeof e=="string",At=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",Qs=e=>(Z(e)||q(e))&&q(e.then)&&q(e.catch),Zs=Object.prototype.toString,An=e=>Zs.call(e),Ai=e=>An(e).slice(8,-1),eo=e=>An(e)==="[object Object]",Ar=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bt=xr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Rn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ri=/-(\w)/g,Fe=Rn(e=>e.replace(Ri,(t,n)=>n?n.toUpperCase():"")),Li=/\B([A-Z])/g,ft=Rn(e=>e.replace(Li,"-$1").toLowerCase()),Ln=Rn(e=>e.charAt(0).toUpperCase()+e.slice(1)),hn=Rn(e=>e?`on${Ln(e)}`:""),Ze=(e,t)=>!Object.is(e,t),pn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},cr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Oi=e=>{const t=ne(e)?Number(e):NaN;return isNaN(t)?e:t};let es;const to=()=>es||(es=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Rr(e){if(U(e)){const t={};for(let n=0;n{if(n){const r=n.split(Pi);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Lr(e){let t="";if(ne(e))t=e;else if(U(e))for(let n=0;nne(e)?e:e==null?"":U(e)||Z(e)&&(e.toString===Zs||!q(e.toString))?JSON.stringify(e,ro,2):String(e),ro=(e,t)=>t&&t.__v_isRef?ro(e,t.value):vt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[qn(r,o)+" =>"]=s,n),{})}:Js(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>qn(n))}:At(t)?qn(t):Z(t)&&!U(t)&&!eo(t)?String(t):t,qn=(e,t="")=>{var n;return At(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.19 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let ve;class Hi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ve,!t&&ve&&(this.index=(ve.scopes||(ve.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ve;try{return ve=this,t()}finally{ve=n}}}on(){ve=this}off(){ve=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),ht()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=ze,n=ct;try{return ze=!0,ct=this,this._runnings++,ts(this),this.fn()}finally{ns(this),this._runnings--,ct=n,ze=t}}stop(){var t;this.active&&(ts(this),ns(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Di(e){return e.value}function ts(e){e._trackId++,e._depsLength=0}function ns(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},_n=new WeakMap,at=Symbol(""),fr=Symbol("");function ye(e,t,n){if(ze&&ct){let r=_n.get(e);r||_n.set(e,r=new Map);let s=r.get(n);s||r.set(n,s=ao(()=>r.delete(n))),lo(ct,s)}}function je(e,t,n,r,s,o){const i=_n.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&U(e)){const c=Number(r);i.forEach((a,f)=>{(f==="length"||!At(f)&&f>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":U(e)?Ar(n)&&l.push(i.get("length")):(l.push(i.get(at)),vt(e)&&l.push(i.get(fr)));break;case"delete":U(e)||(l.push(i.get(at)),vt(e)&&l.push(i.get(fr)));break;case"set":vt(e)&&l.push(i.get(at));break}Mr();for(const c of l)c&&co(c,4);Pr()}function Bi(e,t){var n;return(n=_n.get(e))==null?void 0:n.get(t)}const Ui=xr("__proto__,__v_isRef,__isVue"),uo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(At)),rs=ki();function ki(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=J(this);for(let o=0,i=this.length;o{e[t]=function(...n){dt(),Mr();const r=J(this)[t].apply(this,n);return Pr(),ht(),r}}),e}function Ki(e){const t=J(this);return ye(t,"has",e),t.hasOwnProperty(e)}class fo{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,r){const s=this._isReadonly,o=this._shallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?rl:mo:o?go:po).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=U(t);if(!s){if(i&&Y(rs,n))return Reflect.get(rs,n,r);if(n==="hasOwnProperty")return Ki}const l=Reflect.get(t,n,r);return(At(n)?uo.has(n):Ui(n))||(s||ye(t,"get",n),o)?l:de(l)?i&&Ar(n)?l:l.value:Z(l)?s?Pn(l):Mn(l):l}}class ho extends fo{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._shallow){const c=Tt(o);if(!vn(r)&&!Tt(r)&&(o=J(o),r=J(r)),!U(t)&&de(o)&&!de(r))return c?!1:(o.value=r,!0)}const i=U(t)&&Ar(n)?Number(n)e,On=e=>Reflect.getPrototypeOf(e);function Qt(e,t,n=!1,r=!1){e=e.__v_raw;const s=J(e),o=J(t);n||(Ze(t,o)&&ye(s,"get",t),ye(s,"get",o));const{has:i}=On(s),l=r?Ir:n?$r:Dt;if(i.call(s,t))return l(e.get(t));if(i.call(s,o))return l(e.get(o));e!==s&&e.get(t)}function Zt(e,t=!1){const n=this.__v_raw,r=J(n),s=J(e);return t||(Ze(e,s)&&ye(r,"has",e),ye(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function en(e,t=!1){return e=e.__v_raw,!t&&ye(J(e),"iterate",at),Reflect.get(e,"size",e)}function ss(e){e=J(e);const t=J(this);return On(t).has.call(t,e)||(t.add(e),je(t,"add",e,e)),this}function os(e,t){t=J(t);const n=J(this),{has:r,get:s}=On(n);let o=r.call(n,e);o||(e=J(e),o=r.call(n,e));const i=s.call(n,e);return n.set(e,t),o?Ze(t,i)&&je(n,"set",e,t):je(n,"add",e,t),this}function is(e){const t=J(this),{has:n,get:r}=On(t);let s=n.call(t,e);s||(e=J(e),s=n.call(t,e)),r&&r.call(t,e);const o=t.delete(e);return s&&je(t,"delete",e,void 0),o}function ls(){const e=J(this),t=e.size!==0,n=e.clear();return t&&je(e,"clear",void 0,void 0),n}function tn(e,t){return function(r,s){const o=this,i=o.__v_raw,l=J(i),c=t?Ir:e?$r:Dt;return!e&&ye(l,"iterate",at),i.forEach((a,f)=>r.call(s,c(a),c(f),o))}}function nn(e,t,n){return function(...r){const s=this.__v_raw,o=J(s),i=vt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,a=s[e](...r),f=n?Ir:t?$r:Dt;return!t&&ye(o,"iterate",c?fr:at),{next(){const{value:h,done:p}=a.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function De(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Xi(){const e={get(o){return Qt(this,o)},get size(){return en(this)},has:Zt,add:ss,set:os,delete:is,clear:ls,forEach:tn(!1,!1)},t={get(o){return Qt(this,o,!1,!0)},get size(){return en(this)},has:Zt,add:ss,set:os,delete:is,clear:ls,forEach:tn(!1,!0)},n={get(o){return Qt(this,o,!0)},get size(){return en(this,!0)},has(o){return Zt.call(this,o,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:tn(!0,!1)},r={get(o){return Qt(this,o,!0,!0)},get size(){return en(this,!0)},has(o){return Zt.call(this,o,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:tn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=nn(o,!1,!1),n[o]=nn(o,!0,!1),t[o]=nn(o,!1,!0),r[o]=nn(o,!0,!0)}),[e,n,t,r]}const[Yi,Ji,Qi,Zi]=Xi();function Nr(e,t){const n=t?e?Zi:Qi:e?Ji:Yi;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Y(n,s)&&s in r?n:r,s,o)}const el={get:Nr(!1,!1)},tl={get:Nr(!1,!0)},nl={get:Nr(!0,!1)},po=new WeakMap,go=new WeakMap,mo=new WeakMap,rl=new WeakMap;function sl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ol(e){return e.__v_skip||!Object.isExtensible(e)?0:sl(Ai(e))}function Mn(e){return Tt(e)?e:Fr(e,!1,qi,el,po)}function il(e){return Fr(e,!1,zi,tl,go)}function Pn(e){return Fr(e,!0,Gi,nl,mo)}function Fr(e,t,n,r,s){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const i=ol(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return s.set(e,l),l}function wt(e){return Tt(e)?wt(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function vn(e){return!!(e&&e.__v_isShallow)}function yo(e){return wt(e)||Tt(e)}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function Pt(e){return Object.isExtensible(e)&&yn(e,"__v_skip",!0),e}const Dt=e=>Z(e)?Mn(e):e,$r=e=>Z(e)?Pn(e):e;class _o{constructor(t,n,r,s){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Or(()=>t(this._value),()=>It(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=J(this);return(!t._cacheable||t.effect.dirty)&&Ze(t._value,t._value=t.effect.run())&&It(t,4),Hr(t),t.effect._dirtyLevel>=2&&It(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function ll(e,t,n=!1){let r,s;const o=q(e);return o?(r=e,s=xe):(r=e.get,s=e.set),new _o(r,s,o||!s,n)}function Hr(e){var t;ze&&ct&&(e=J(e),lo(ct,(t=e.dep)!=null?t:e.dep=ao(()=>e.dep=void 0,e instanceof _o?e:void 0)))}function It(e,t=4,n){e=J(e);const r=e.dep;r&&co(r,t)}function de(e){return!!(e&&e.__v_isRef===!0)}function ie(e){return vo(e,!1)}function jr(e){return vo(e,!0)}function vo(e,t){return de(e)?e:new cl(e,t)}class cl{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:Dt(t)}get value(){return Hr(this),this._value}set value(t){const n=this.__v_isShallow||vn(t)||Tt(t);t=n?t:J(t),Ze(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Dt(t),It(this,4))}}function bo(e){return de(e)?e.value:e}const al={get:(e,t,n)=>bo(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return de(s)&&!de(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function wo(e){return wt(e)?e:new Proxy(e,al)}class ul{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Hr(this),()=>It(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function fl(e){return new ul(e)}class dl{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Bi(J(this._object),this._key)}}class hl{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function pl(e,t,n){return de(e)?e:q(e)?new hl(e):Z(e)&&arguments.length>1?gl(e,t,n):ie(e)}function gl(e,t,n){const r=e[t];return de(r)?r:new dl(e,t,n)}/** -* @vue/runtime-core v3.4.19 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Xe(e,t,n,r){try{return r?e(...r):e()}catch(s){qt(s,t,n)}}function Te(e,t,n,r){if(q(e)){const o=Xe(e,t,n,r);return o&&Qs(o)&&o.catch(i=>{qt(i,t,n)}),o}const s=[];for(let o=0;o>>1,s=he[r],o=Ut(s);oIe&&he.splice(t,1)}function vl(e){U(e)?Et.push(...e):(!Ke||!Ke.includes(e,e.allowRecurse?ot+1:ot))&&Et.push(e),Co()}function cs(e,t,n=Bt?Ie+1:0){for(;nUt(n)-Ut(r));if(Et.length=0,Ke){Ke.push(...t);return}for(Ke=t,ot=0;ote.id==null?1/0:e.id,bl=(e,t)=>{const n=Ut(e)-Ut(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function xo(e){dr=!1,Bt=!0,he.sort(bl);try{for(Ie=0;Iene(y)?y.trim():y)),h&&(s=n.map(cr))}let l,c=r[l=hn(t)]||r[l=hn(Fe(t))];!c&&o&&(c=r[l=hn(ft(t))]),c&&Te(c,e,6,s);const a=r[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Te(a,e,6,s)}}function To(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!q(e)){const c=a=>{const f=To(a,t,!0);f&&(l=!0,ce(i,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Z(e)&&r.set(e,null),null):(U(o)?o.forEach(c=>i[c]=null):ce(i,o),Z(e)&&r.set(e,i),i)}function Fn(e,t){return!e||!Wt(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,ft(t))||Y(e,t))}let le=null,$n=null;function wn(e){const t=le;return le=e,$n=e&&e.type.__scopeId||null,t}function Ja(e){$n=e}function Qa(){$n=null}function El(e,t=le,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&Es(-1);const o=wn(t);let i;try{i=e(...s)}finally{wn(o),r._d&&Es(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Gn(e){const{type:t,vnode:n,proxy:r,withProxy:s,props:o,propsOptions:[i],slots:l,attrs:c,emit:a,render:f,renderCache:h,data:p,setupState:y,ctx:w,inheritAttrs:A}=e;let F,k;const B=wn(e);try{if(n.shapeFlag&4){const _=s||r,I=_;F=Ae(f.call(I,_,h,o,y,p,w)),k=c}else{const _=t;F=Ae(_.length>1?_(o,{attrs:c,slots:l,emit:a}):_(o,null)),k=t.props?c:Cl(c)}}catch(_){jt.length=0,qt(_,e,1),F=se(be)}let g=F;if(k&&A!==!1){const _=Object.keys(k),{shapeFlag:I}=g;_.length&&I&7&&(i&&_.some(Tr)&&(k=xl(k,i)),g=et(g,k))}return n.dirs&&(g=et(g),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),F=g,wn(B),F}const Cl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Wt(n))&&((t||(t={}))[n]=e[n]);return t},xl=(e,t)=>{const n={};for(const r in e)(!Tr(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Tl(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:c}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?as(r,i,a):!!i;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;function Ro(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):vl(e)}const Rl=Symbol.for("v-scx"),Ll=()=>xt(Rl);function Br(e,t){return Hn(e,null,t)}function tu(e,t){return Hn(e,null,{flush:"post"})}const rn={};function Ye(e,t,n){return Hn(e,t,n)}function Hn(e,t,{immediate:n,deep:r,flush:s,once:o,onTrack:i,onTrigger:l}=ee){if(t&&o){const O=t;t=(...$)=>{O(...$),I()}}const c=ue,a=O=>r===!0?O:lt(O,r===!1?1:void 0);let f,h=!1,p=!1;if(de(e)?(f=()=>e.value,h=vn(e)):wt(e)?(f=()=>a(e),h=!0):U(e)?(p=!0,h=e.some(O=>wt(O)||vn(O)),f=()=>e.map(O=>{if(de(O))return O.value;if(wt(O))return a(O);if(q(O))return Xe(O,c,2)})):q(e)?t?f=()=>Xe(e,c,2):f=()=>(y&&y(),Te(e,c,3,[w])):f=xe,t&&r){const O=f;f=()=>lt(O())}let y,w=O=>{y=g.onStop=()=>{Xe(O,c,4),y=g.onStop=void 0}},A;if(Xt)if(w=xe,t?n&&Te(t,c,3,[f(),p?[]:void 0,w]):f(),s==="sync"){const O=Ll();A=O.__watcherHandles||(O.__watcherHandles=[])}else return xe;let F=p?new Array(e.length).fill(rn):rn;const k=()=>{if(!(!g.active||!g.dirty))if(t){const O=g.run();(r||h||(p?O.some(($,R)=>Ze($,F[R])):Ze(O,F)))&&(y&&y(),Te(t,c,3,[O,F===rn?void 0:p&&F[0]===rn?[]:F,w]),F=O)}else g.run()};k.allowRecurse=!!t;let B;s==="sync"?B=k:s==="post"?B=()=>ge(k,c&&c.suspense):(k.pre=!0,c&&(k.id=c.uid),B=()=>Nn(k));const g=new Or(f,xe,B),_=so(),I=()=>{g.stop(),_&&Sr(_.effects,g)};return t?n?k():F=g.run():s==="post"?ge(g.run.bind(g),c&&c.suspense):g.run(),A&&A.push(I),I}function Ol(e,t,n){const r=this.proxy,s=ne(e)?e.includes(".")?Lo(r,e):()=>r[e]:e.bind(r,r);let o;q(t)?o=t:(o=t.handler,n=t);const i=zt(this),l=Hn(s,o.bind(r),n);return i(),l}function Lo(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s0){if(n>=t)return e;n++}if(r=r||new Set,r.has(e))return e;if(r.add(e),de(e))lt(e.value,t,n,r);else if(U(e))for(let s=0;s{lt(s,t,n,r)});else if(eo(e))for(const s in e)lt(e[s],t,n,r);return e}function nu(e,t){if(le===null)return e;const n=Un(le)||le.proxy,r=e.dirs||(e.dirs=[]);for(let s=0;s{e.isMounted=!0}),No(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],Oo={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:we,onEnter:we,onAfterEnter:we,onEnterCancelled:we,onBeforeLeave:we,onLeave:we,onAfterLeave:we,onLeaveCancelled:we,onBeforeAppear:we,onAppear:we,onAfterAppear:we,onAppearCancelled:we},Pl={name:"BaseTransition",props:Oo,setup(e,{slots:t}){const n=Bn(),r=Ml();let s;return()=>{const o=t.default&&Po(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const A of o)if(A.type!==be){i=A;break}}const l=J(e),{mode:c}=l;if(r.isLeaving)return zn(i);const a=fs(i);if(!a)return zn(i);const f=hr(a,l,r,n);pr(a,f);const h=n.subTree,p=h&&fs(h);let y=!1;const{getTransitionKey:w}=a.type;if(w){const A=w();s===void 0?s=A:A!==s&&(s=A,y=!0)}if(p&&p.type!==be&&(!it(a,p)||y)){const A=hr(p,l,r,n);if(pr(p,A),c==="out-in")return r.isLeaving=!0,A.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},zn(i);c==="in-out"&&a.type!==be&&(A.delayLeave=(F,k,B)=>{const g=Mo(r,p);g[String(p.key)]=p,F[We]=()=>{k(),F[We]=void 0,delete f.delayedLeave},f.delayedLeave=B})}return i}}},Il=Pl;function Mo(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 hr(e,t,n,r){const{appear:s,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:f,onBeforeLeave:h,onLeave:p,onAfterLeave:y,onLeaveCancelled:w,onBeforeAppear:A,onAppear:F,onAfterAppear:k,onAppearCancelled:B}=t,g=String(e.key),_=Mo(n,e),I=(R,T)=>{R&&Te(R,r,9,T)},O=(R,T)=>{const S=T[1];I(R,T),U(R)?R.every(K=>K.length<=1)&&S():R.length<=1&&S()},$={mode:o,persisted:i,beforeEnter(R){let T=l;if(!n.isMounted)if(s)T=A||l;else return;R[We]&&R[We](!0);const S=_[g];S&&it(e,S)&&S.el[We]&&S.el[We](),I(T,[R])},enter(R){let T=c,S=a,K=f;if(!n.isMounted)if(s)T=F||c,S=k||a,K=B||f;else return;let P=!1;const G=R[sn]=oe=>{P||(P=!0,oe?I(K,[R]):I(S,[R]),$.delayedLeave&&$.delayedLeave(),R[sn]=void 0)};T?O(T,[R,G]):G()},leave(R,T){const S=String(e.key);if(R[sn]&&R[sn](!0),n.isUnmounting)return T();I(h,[R]);let K=!1;const P=R[We]=G=>{K||(K=!0,T(),G?I(w,[R]):I(y,[R]),R[We]=void 0,_[S]===e&&delete _[S])};_[S]=e,p?O(p,[R,P]):P()},clone(R){return hr(R,t,n,r)}};return $}function zn(e){if(Gt(e))return e=et(e),e.children=null,e}function fs(e){return Gt(e)?e.children?e.children[0]:void 0:e}function pr(e,t){e.shapeFlag&6&&e.component?pr(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Po(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function ru(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,timeout:o,suspensible:i=!0,onError:l}=e;let c=null,a,f=0;const h=()=>(f++,c=null,p()),p=()=>{let y;return c||(y=c=t().catch(w=>{if(w=w instanceof Error?w:new Error(String(w)),l)return new Promise((A,F)=>{l(w,()=>A(h()),()=>F(w),f+1)});throw w}).then(w=>y!==c&&c?c:(w&&(w.__esModule||w[Symbol.toStringTag]==="Module")&&(w=w.default),a=w,w)))};return Ur({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return a},setup(){const y=ue;if(a)return()=>Xn(a,y);const w=B=>{c=null,qt(B,y,13,!r)};if(i&&y.suspense||Xt)return p().then(B=>()=>Xn(B,y)).catch(B=>(w(B),()=>r?se(r,{error:B}):null));const A=ie(!1),F=ie(),k=ie(!!s);return s&&setTimeout(()=>{k.value=!1},s),o!=null&&setTimeout(()=>{if(!A.value&&!F.value){const B=new Error(`Async component timed out after ${o}ms.`);w(B),F.value=B}},o),p().then(()=>{A.value=!0,y.parent&&Gt(y.parent.vnode)&&(y.parent.effect.dirty=!0,Nn(y.parent.update))}).catch(B=>{w(B),F.value=B}),()=>{if(A.value&&a)return Xn(a,y);if(F.value&&r)return se(r,{error:F.value});if(n&&!k.value)return se(n)}}})}function Xn(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=se(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Gt=e=>e.type.__isKeepAlive;function Nl(e,t){Io(e,"a",t)}function Fl(e,t){Io(e,"da",t)}function Io(e,t,n=ue){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(jn(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Gt(s.parent.vnode)&&$l(r,t,n,s),s=s.parent}}function $l(e,t,n,r){const s=jn(t,e,r,!0);Vn(()=>{Sr(r[t],s)},n)}function jn(e,t,n=ue,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;dt();const l=zt(n),c=Te(t,n,e,i);return l(),ht(),c});return r?s.unshift(o):s.push(o),o}}const Ve=e=>(t,n=ue)=>(!Xt||e==="sp")&&jn(e,(...r)=>t(...r),n),Hl=Ve("bm"),Rt=Ve("m"),jl=Ve("bu"),Vl=Ve("u"),No=Ve("bum"),Vn=Ve("um"),Dl=Ve("sp"),Bl=Ve("rtg"),Ul=Ve("rtc");function kl(e,t=ue){jn("ec",e,t)}function su(e,t,n,r){let s;const o=n&&n[r];if(U(e)||ne(e)){s=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;lxn(t)?!(t.type===be||t.type===me&&!Fo(t.children)):!0)?e:null}function iu(e,t){const n={};for(const r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:hn(r)]=e[r];return n}const gr=e=>e?Zo(e)?Un(e)||e.proxy:gr(e.parent):null,Nt=ce(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=>gr(e.parent),$root:e=>gr(e.root),$emit:e=>e.emit,$options:e=>kr(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Nn(e.update)}),$nextTick:e=>e.n||(e.n=In.bind(e.proxy)),$watch:e=>Ol.bind(e)}),Yn=(e,t)=>e!==ee&&!e.__isScriptSetup&&Y(e,t),Kl={get({_:e},t){const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const y=i[t];if(y!==void 0)switch(y){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Yn(r,t))return i[t]=1,r[t];if(s!==ee&&Y(s,t))return i[t]=2,s[t];if((a=e.propsOptions[0])&&Y(a,t))return i[t]=3,o[t];if(n!==ee&&Y(n,t))return i[t]=4,n[t];mr&&(i[t]=0)}}const f=Nt[t];let h,p;if(f)return t==="$attrs"&&ye(e,"get",t),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==ee&&Y(n,t))return i[t]=4,n[t];if(p=c.config.globalProperties,Y(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Yn(s,t)?(s[t]=n,!0):r!==ee&&Y(r,t)?(r[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o}},i){let l;return!!n[i]||e!==ee&&Y(e,i)||Yn(t,i)||(l=o[0])&&Y(l,i)||Y(r,i)||Y(Nt,i)||Y(s.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function lu(){return Wl().slots}function Wl(){const e=Bn();return e.setupContext||(e.setupContext=ti(e))}function ds(e){return U(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let mr=!0;function ql(e){const t=kr(e),n=e.proxy,r=e.ctx;mr=!1,t.beforeCreate&&hs(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:p,beforeUpdate:y,updated:w,activated:A,deactivated:F,beforeDestroy:k,beforeUnmount:B,destroyed:g,unmounted:_,render:I,renderTracked:O,renderTriggered:$,errorCaptured:R,serverPrefetch:T,expose:S,inheritAttrs:K,components:P,directives:G,filters:oe}=t;if(a&&Gl(a,r,null),i)for(const X in i){const j=i[X];q(j)&&(r[X]=j.bind(n))}if(s){const X=s.call(n,n);Z(X)&&(e.data=Mn(X))}if(mr=!0,o)for(const X in o){const j=o[X],$e=q(j)?j.bind(n,n):q(j.get)?j.get.bind(n,n):xe,Yt=!q(j)&&q(j.set)?j.set.bind(n):xe,tt=re({get:$e,set:Yt});Object.defineProperty(r,X,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Oe=>tt.value=Oe})}if(l)for(const X in l)$o(l[X],r,n,X);if(c){const X=q(c)?c.call(n):c;Reflect.ownKeys(X).forEach(j=>{Zl(j,X[j])})}f&&hs(f,e,"c");function V(X,j){U(j)?j.forEach($e=>X($e.bind(n))):j&&X(j.bind(n))}if(V(Hl,h),V(Rt,p),V(jl,y),V(Vl,w),V(Nl,A),V(Fl,F),V(kl,R),V(Ul,O),V(Bl,$),V(No,B),V(Vn,_),V(Dl,T),U(S))if(S.length){const X=e.exposed||(e.exposed={});S.forEach(j=>{Object.defineProperty(X,j,{get:()=>n[j],set:$e=>n[j]=$e})})}else e.exposed||(e.exposed={});I&&e.render===xe&&(e.render=I),K!=null&&(e.inheritAttrs=K),P&&(e.components=P),G&&(e.directives=G)}function Gl(e,t,n=xe){U(e)&&(e=yr(e));for(const r in e){const s=e[r];let o;Z(s)?"default"in s?o=xt(s.from||r,s.default,!0):o=xt(s.from||r):o=xt(s),de(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function hs(e,t,n){Te(U(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function $o(e,t,n,r){const s=r.includes(".")?Lo(n,r):()=>n[r];if(ne(e)){const o=t[e];q(o)&&Ye(s,o)}else if(q(e))Ye(s,e.bind(n));else if(Z(e))if(U(e))e.forEach(o=>$o(o,t,n,r));else{const o=q(e.handler)?e.handler.bind(n):t[e.handler];q(o)&&Ye(s,o,e)}}function kr(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(a=>En(c,a,i,!0)),En(c,t,i)),Z(t)&&o.set(t,c),c}function En(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&En(e,o,n,!0),s&&s.forEach(i=>En(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=zl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const zl={data:ps,props:gs,emits:gs,methods:Mt,computed:Mt,beforeCreate:pe,created:pe,beforeMount:pe,mounted:pe,beforeUpdate:pe,updated:pe,beforeDestroy:pe,beforeUnmount:pe,destroyed:pe,unmounted:pe,activated:pe,deactivated:pe,errorCaptured:pe,serverPrefetch:pe,components:Mt,directives:Mt,watch:Yl,provide:ps,inject:Xl};function ps(e,t){return t?e?function(){return ce(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function Xl(e,t){return Mt(yr(e),yr(t))}function yr(e){if(U(e)){const t={};for(let n=0;n1)return n&&q(t)?t.call(r&&r.proxy):t}}function ec(e,t,n,r=!1){const s={},o={};yn(o,Dn,1),e.propsDefaults=Object.create(null),jo(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:il(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function tc(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=J(s),[c]=e.propsOptions;let a=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,y]=Vo(h,t,!0);ce(i,p),y&&l.push(...y)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Z(e)&&r.set(e,_t),_t;if(U(o))for(let f=0;f-1,y[1]=A<0||w-1||Y(y,"default"))&&l.push(h)}}}const a=[i,l];return Z(e)&&r.set(e,a),a}function ms(e){return e[0]!=="$"&&!bt(e)}function ys(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function _s(e,t){return ys(e)===ys(t)}function vs(e,t){return U(t)?t.findIndex(n=>_s(n,e)):q(t)&&_s(t,e)?0:-1}const Do=e=>e[0]==="_"||e==="$stable",Kr=e=>U(e)?e.map(Ae):[Ae(e)],nc=(e,t,n)=>{if(t._n)return t;const r=El((...s)=>Kr(t(...s)),n);return r._c=!1,r},Bo=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Do(s))continue;const o=e[s];if(q(o))t[s]=nc(s,o,r);else if(o!=null){const i=Kr(o);t[s]=()=>i}}},Uo=(e,t)=>{const n=Kr(t);e.slots.default=()=>n},rc=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=J(t),yn(t,"_",n)):Bo(t,e.slots={})}else e.slots={},t&&Uo(e,t);yn(e.slots,Dn,1)},sc=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=ee;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ce(s,t),!n&&l===1&&delete s._):(o=!t.$stable,Bo(t,s)),i=t}else t&&(Uo(e,t),i={default:1});if(o)for(const l in s)!Do(l)&&i[l]==null&&delete s[l]};function Cn(e,t,n,r,s=!1){if(U(e)){e.forEach((p,y)=>Cn(p,t&&(U(t)?t[y]:t),n,r,s));return}if(Ct(r)&&!s)return;const o=r.shapeFlag&4?Un(r.component)||r.component.proxy:r.el,i=s?null:o,{i:l,r:c}=e,a=t&&t.r,f=l.refs===ee?l.refs={}:l.refs,h=l.setupState;if(a!=null&&a!==c&&(ne(a)?(f[a]=null,Y(h,a)&&(h[a]=null)):de(a)&&(a.value=null)),q(c))Xe(c,l,12,[i,f]);else{const p=ne(c),y=de(c);if(p||y){const w=()=>{if(e.f){const A=p?Y(h,c)?h[c]:f[c]:c.value;s?U(A)&&Sr(A,o):U(A)?A.includes(o)||A.push(o):p?(f[c]=[o],Y(h,c)&&(h[c]=f[c])):(c.value=[o],e.k&&(f[e.k]=c.value))}else p?(f[c]=i,Y(h,c)&&(h[c]=i)):y&&(c.value=i,e.k&&(f[e.k]=i))};i?(w.id=-1,ge(w,n)):w()}}}let Be=!1;const oc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",ic=e=>e.namespaceURI.includes("MathML"),on=e=>{if(oc(e))return"svg";if(ic(e))return"mathml"},ln=e=>e.nodeType===8;function lc(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:a}}=e,f=(g,_)=>{if(!_.hasChildNodes()){n(null,g,_),bn(),_._vnode=g;return}Be=!1,h(_.firstChild,g,null,null,null),bn(),_._vnode=g,Be&&console.error("Hydration completed but contains mismatches.")},h=(g,_,I,O,$,R=!1)=>{const T=ln(g)&&g.data==="[",S=()=>A(g,_,I,O,$,T),{type:K,ref:P,shapeFlag:G,patchFlag:oe}=_;let fe=g.nodeType;_.el=g,oe===-2&&(R=!1,_.dynamicChildren=null);let V=null;switch(K){case St:fe!==3?_.children===""?(c(_.el=s(""),i(g),g),V=g):V=S():(g.data!==_.children&&(Be=!0,g.data=_.children),V=o(g));break;case be:B(g)?(V=o(g),k(_.el=g.content.firstChild,g,I)):fe!==8||T?V=S():V=o(g);break;case Ht:if(T&&(g=o(g),fe=g.nodeType),fe===1||fe===3){V=g;const X=!_.children.length;for(let j=0;j<_.staticCount;j++)X&&(_.children+=V.nodeType===1?V.outerHTML:V.data),j===_.staticCount-1&&(_.anchor=V),V=o(V);return T?o(V):V}else S();break;case me:T?V=w(g,_,I,O,$,R):V=S();break;default:if(G&1)(fe!==1||_.type.toLowerCase()!==g.tagName.toLowerCase())&&!B(g)?V=S():V=p(g,_,I,O,$,R);else if(G&6){_.slotScopeIds=$;const X=i(g);if(T?V=F(g):ln(g)&&g.data==="teleport start"?V=F(g,g.data,"teleport end"):V=o(g),t(_,X,null,I,O,on(X),R),Ct(_)){let j;T?(j=se(me),j.anchor=V?V.previousSibling:X.lastChild):j=g.nodeType===3?Qo(""):se("div"),j.el=g,_.component.subTree=j}}else G&64?fe!==8?V=S():V=_.type.hydrate(g,_,I,O,$,R,e,y):G&128&&(V=_.type.hydrate(g,_,I,O,on(i(g)),$,R,e,h))}return P!=null&&Cn(P,null,O,_),V},p=(g,_,I,O,$,R)=>{R=R||!!_.dynamicChildren;const{type:T,props:S,patchFlag:K,shapeFlag:P,dirs:G,transition:oe}=_,fe=T==="input"||T==="option";if(fe||K!==-1){G&&Pe(_,null,I,"created");let V=!1;if(B(g)){V=Ko(O,oe)&&I&&I.vnode.props&&I.vnode.props.appear;const j=g.content.firstChild;V&&oe.beforeEnter(j),k(j,g,I),_.el=g=j}if(P&16&&!(S&&(S.innerHTML||S.textContent))){let j=y(g.firstChild,_,g,I,O,$,R);for(;j;){Be=!0;const $e=j;j=j.nextSibling,l($e)}}else P&8&&g.textContent!==_.children&&(Be=!0,g.textContent=_.children);if(S)if(fe||!R||K&48)for(const j in S)(fe&&(j.endsWith("value")||j==="indeterminate")||Wt(j)&&!bt(j)||j[0]===".")&&r(g,j,null,S[j],void 0,void 0,I);else S.onClick&&r(g,"onClick",null,S.onClick,void 0,void 0,I);let X;(X=S&&S.onVnodeBeforeMount)&&Ee(X,I,_),G&&Pe(_,null,I,"beforeMount"),((X=S&&S.onVnodeMounted)||G||V)&&Ro(()=>{X&&Ee(X,I,_),V&&oe.enter(g),G&&Pe(_,null,I,"mounted")},O)}return g.nextSibling},y=(g,_,I,O,$,R,T)=>{T=T||!!_.dynamicChildren;const S=_.children,K=S.length;for(let P=0;P{const{slotScopeIds:T}=_;T&&($=$?$.concat(T):T);const S=i(g),K=y(o(g),_,S,I,O,$,R);return K&&ln(K)&&K.data==="]"?o(_.anchor=K):(Be=!0,c(_.anchor=a("]"),S,K),K)},A=(g,_,I,O,$,R)=>{if(Be=!0,_.el=null,R){const K=F(g);for(;;){const P=o(g);if(P&&P!==K)l(P);else break}}const T=o(g),S=i(g);return l(g),n(null,_,S,T,I,O,on(S),$),T},F=(g,_="[",I="]")=>{let O=0;for(;g;)if(g=o(g),g&&ln(g)&&(g.data===_&&O++,g.data===I)){if(O===0)return o(g);O--}return g},k=(g,_,I)=>{const O=_.parentNode;O&&O.replaceChild(g,_);let $=I;for(;$;)$.vnode.el===_&&($.vnode.el=$.subTree.el=g),$=$.parent},B=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[f,h]}const ge=Ro;function cc(e){return ko(e)}function ac(e){return ko(e,lc)}function ko(e,t){const n=to();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:p,setScopeId:y=xe,insertStaticContent:w}=e,A=(u,d,m,v=null,b=null,x=null,M=void 0,C=null,L=!!d.dynamicChildren)=>{if(u===d)return;u&&!it(u,d)&&(v=Jt(u),Oe(u,b,x,!0),u=null),d.patchFlag===-2&&(L=!1,d.dynamicChildren=null);const{type:E,ref:N,shapeFlag:D}=d;switch(E){case St:F(u,d,m,v);break;case be:k(u,d,m,v);break;case Ht:u==null&&B(d,m,v,M);break;case me:P(u,d,m,v,b,x,M,C,L);break;default:D&1?I(u,d,m,v,b,x,M,C,L):D&6?G(u,d,m,v,b,x,M,C,L):(D&64||D&128)&&E.process(u,d,m,v,b,x,M,C,L,pt)}N!=null&&b&&Cn(N,u&&u.ref,x,d||u,!d)},F=(u,d,m,v)=>{if(u==null)r(d.el=l(d.children),m,v);else{const b=d.el=u.el;d.children!==u.children&&a(b,d.children)}},k=(u,d,m,v)=>{u==null?r(d.el=c(d.children||""),m,v):d.el=u.el},B=(u,d,m,v)=>{[u.el,u.anchor]=w(u.children,d,m,v,u.el,u.anchor)},g=({el:u,anchor:d},m,v)=>{let b;for(;u&&u!==d;)b=p(u),r(u,m,v),u=b;r(d,m,v)},_=({el:u,anchor:d})=>{let m;for(;u&&u!==d;)m=p(u),s(u),u=m;s(d)},I=(u,d,m,v,b,x,M,C,L)=>{d.type==="svg"?M="svg":d.type==="math"&&(M="mathml"),u==null?O(d,m,v,b,x,M,C,L):T(u,d,b,x,M,C,L)},O=(u,d,m,v,b,x,M,C)=>{let L,E;const{props:N,shapeFlag:D,transition:H,dirs:W}=u;if(L=u.el=i(u.type,x,N&&N.is,N),D&8?f(L,u.children):D&16&&R(u.children,L,null,v,b,Jn(u,x),M,C),W&&Pe(u,null,v,"created"),$(L,u,u.scopeId,M,v),N){for(const Q in N)Q!=="value"&&!bt(Q)&&o(L,Q,null,N[Q],x,u.children,v,b,He);"value"in N&&o(L,"value",null,N.value,x),(E=N.onVnodeBeforeMount)&&Ee(E,v,u)}W&&Pe(u,null,v,"beforeMount");const z=Ko(b,H);z&&H.beforeEnter(L),r(L,d,m),((E=N&&N.onVnodeMounted)||z||W)&&ge(()=>{E&&Ee(E,v,u),z&&H.enter(L),W&&Pe(u,null,v,"mounted")},b)},$=(u,d,m,v,b)=>{if(m&&y(u,m),v)for(let x=0;x{for(let E=L;E{const C=d.el=u.el;let{patchFlag:L,dynamicChildren:E,dirs:N}=d;L|=u.patchFlag&16;const D=u.props||ee,H=d.props||ee;let W;if(m&&nt(m,!1),(W=H.onVnodeBeforeUpdate)&&Ee(W,m,d,u),N&&Pe(d,u,m,"beforeUpdate"),m&&nt(m,!0),E?S(u.dynamicChildren,E,C,m,v,Jn(d,b),x):M||j(u,d,C,null,m,v,Jn(d,b),x,!1),L>0){if(L&16)K(C,d,D,H,m,v,b);else if(L&2&&D.class!==H.class&&o(C,"class",null,H.class,b),L&4&&o(C,"style",D.style,H.style,b),L&8){const z=d.dynamicProps;for(let Q=0;Q{W&&Ee(W,m,d,u),N&&Pe(d,u,m,"updated")},v)},S=(u,d,m,v,b,x,M)=>{for(let C=0;C{if(m!==v){if(m!==ee)for(const C in m)!bt(C)&&!(C in v)&&o(u,C,m[C],null,M,d.children,b,x,He);for(const C in v){if(bt(C))continue;const L=v[C],E=m[C];L!==E&&C!=="value"&&o(u,C,E,L,M,d.children,b,x,He)}"value"in v&&o(u,"value",m.value,v.value,M)}},P=(u,d,m,v,b,x,M,C,L)=>{const E=d.el=u?u.el:l(""),N=d.anchor=u?u.anchor:l("");let{patchFlag:D,dynamicChildren:H,slotScopeIds:W}=d;W&&(C=C?C.concat(W):W),u==null?(r(E,m,v),r(N,m,v),R(d.children||[],m,N,b,x,M,C,L)):D>0&&D&64&&H&&u.dynamicChildren?(S(u.dynamicChildren,H,m,b,x,M,C),(d.key!=null||b&&d===b.subTree)&&Wr(u,d,!0)):j(u,d,m,N,b,x,M,C,L)},G=(u,d,m,v,b,x,M,C,L)=>{d.slotScopeIds=C,u==null?d.shapeFlag&512?b.ctx.activate(d,m,v,M,L):oe(d,m,v,b,x,M,L):fe(u,d,L)},oe=(u,d,m,v,b,x,M)=>{const C=u.component=bc(u,v,b);if(Gt(u)&&(C.ctx.renderer=pt),wc(C),C.asyncDep){if(b&&b.registerDep(C,V),!u.el){const L=C.subTree=se(be);k(null,L,d,m)}}else V(C,u,d,m,b,x,M)},fe=(u,d,m)=>{const v=d.component=u.component;if(Tl(u,d,m))if(v.asyncDep&&!v.asyncResolved){X(v,d,m);return}else v.next=d,_l(v.update),v.effect.dirty=!0,v.update();else d.el=u.el,v.vnode=d},V=(u,d,m,v,b,x,M)=>{const C=()=>{if(u.isMounted){let{next:N,bu:D,u:H,parent:W,vnode:z}=u;{const gt=Wo(u);if(gt){N&&(N.el=z.el,X(u,N,M)),gt.asyncDep.then(()=>{u.isUnmounted||C()});return}}let Q=N,te;nt(u,!1),N?(N.el=z.el,X(u,N,M)):N=z,D&&pn(D),(te=N.props&&N.props.onVnodeBeforeUpdate)&&Ee(te,W,N,z),nt(u,!0);const ae=Gn(u),Se=u.subTree;u.subTree=ae,A(Se,ae,h(Se.el),Jt(Se),u,b,x),N.el=ae.el,Q===null&&Sl(u,ae.el),H&&ge(H,b),(te=N.props&&N.props.onVnodeUpdated)&&ge(()=>Ee(te,W,N,z),b)}else{let N;const{el:D,props:H}=d,{bm:W,m:z,parent:Q}=u,te=Ct(d);if(nt(u,!1),W&&pn(W),!te&&(N=H&&H.onVnodeBeforeMount)&&Ee(N,Q,d),nt(u,!0),D&&Wn){const ae=()=>{u.subTree=Gn(u),Wn(D,u.subTree,u,b,null)};te?d.type.__asyncLoader().then(()=>!u.isUnmounted&&ae()):ae()}else{const ae=u.subTree=Gn(u);A(null,ae,m,v,u,b,x),d.el=ae.el}if(z&&ge(z,b),!te&&(N=H&&H.onVnodeMounted)){const ae=d;ge(()=>Ee(N,Q,ae),b)}(d.shapeFlag&256||Q&&Ct(Q.vnode)&&Q.vnode.shapeFlag&256)&&u.a&&ge(u.a,b),u.isMounted=!0,d=m=v=null}},L=u.effect=new Or(C,xe,()=>Nn(E),u.scope),E=u.update=()=>{L.dirty&&L.run()};E.id=u.uid,nt(u,!0),E()},X=(u,d,m)=>{d.component=u;const v=u.vnode.props;u.vnode=d,u.next=null,tc(u,d.props,v,m),sc(u,d.children,m),dt(),cs(u),ht()},j=(u,d,m,v,b,x,M,C,L=!1)=>{const E=u&&u.children,N=u?u.shapeFlag:0,D=d.children,{patchFlag:H,shapeFlag:W}=d;if(H>0){if(H&128){Yt(E,D,m,v,b,x,M,C,L);return}else if(H&256){$e(E,D,m,v,b,x,M,C,L);return}}W&8?(N&16&&He(E,b,x),D!==E&&f(m,D)):N&16?W&16?Yt(E,D,m,v,b,x,M,C,L):He(E,b,x,!0):(N&8&&f(m,""),W&16&&R(D,m,v,b,x,M,C,L))},$e=(u,d,m,v,b,x,M,C,L)=>{u=u||_t,d=d||_t;const E=u.length,N=d.length,D=Math.min(E,N);let H;for(H=0;HN?He(u,b,x,!0,!1,D):R(d,m,v,b,x,M,C,L,D)},Yt=(u,d,m,v,b,x,M,C,L)=>{let E=0;const N=d.length;let D=u.length-1,H=N-1;for(;E<=D&&E<=H;){const W=u[E],z=d[E]=L?qe(d[E]):Ae(d[E]);if(it(W,z))A(W,z,m,null,b,x,M,C,L);else break;E++}for(;E<=D&&E<=H;){const W=u[D],z=d[H]=L?qe(d[H]):Ae(d[H]);if(it(W,z))A(W,z,m,null,b,x,M,C,L);else break;D--,H--}if(E>D){if(E<=H){const W=H+1,z=WH)for(;E<=D;)Oe(u[E],b,x,!0),E++;else{const W=E,z=E,Q=new Map;for(E=z;E<=H;E++){const _e=d[E]=L?qe(d[E]):Ae(d[E]);_e.key!=null&&Q.set(_e.key,E)}let te,ae=0;const Se=H-z+1;let gt=!1,Jr=0;const Lt=new Array(Se);for(E=0;E=Se){Oe(_e,b,x,!0);continue}let Me;if(_e.key!=null)Me=Q.get(_e.key);else for(te=z;te<=H;te++)if(Lt[te-z]===0&&it(_e,d[te])){Me=te;break}Me===void 0?Oe(_e,b,x,!0):(Lt[Me-z]=E+1,Me>=Jr?Jr=Me:gt=!0,A(_e,d[Me],m,null,b,x,M,C,L),ae++)}const Qr=gt?uc(Lt):_t;for(te=Qr.length-1,E=Se-1;E>=0;E--){const _e=z+E,Me=d[_e],Zr=_e+1{const{el:x,type:M,transition:C,children:L,shapeFlag:E}=u;if(E&6){tt(u.component.subTree,d,m,v);return}if(E&128){u.suspense.move(d,m,v);return}if(E&64){M.move(u,d,m,pt);return}if(M===me){r(x,d,m);for(let D=0;DC.enter(x),b);else{const{leave:D,delayLeave:H,afterLeave:W}=C,z=()=>r(x,d,m),Q=()=>{D(x,()=>{z(),W&&W()})};H?H(x,z,Q):Q()}else r(x,d,m)},Oe=(u,d,m,v=!1,b=!1)=>{const{type:x,props:M,ref:C,children:L,dynamicChildren:E,shapeFlag:N,patchFlag:D,dirs:H}=u;if(C!=null&&Cn(C,null,m,u,!0),N&256){d.ctx.deactivate(u);return}const W=N&1&&H,z=!Ct(u);let Q;if(z&&(Q=M&&M.onVnodeBeforeUnmount)&&Ee(Q,d,u),N&6)xi(u.component,m,v);else{if(N&128){u.suspense.unmount(m,v);return}W&&Pe(u,null,d,"beforeUnmount"),N&64?u.type.remove(u,d,m,b,pt,v):E&&(x!==me||D>0&&D&64)?He(E,d,m,!1,!0):(x===me&&D&384||!b&&N&16)&&He(L,d,m),v&&Xr(u)}(z&&(Q=M&&M.onVnodeUnmounted)||W)&&ge(()=>{Q&&Ee(Q,d,u),W&&Pe(u,null,d,"unmounted")},m)},Xr=u=>{const{type:d,el:m,anchor:v,transition:b}=u;if(d===me){Ci(m,v);return}if(d===Ht){_(u);return}const x=()=>{s(m),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:M,delayLeave:C}=b,L=()=>M(m,x);C?C(u.el,x,L):L()}else x()},Ci=(u,d)=>{let m;for(;u!==d;)m=p(u),s(u),u=m;s(d)},xi=(u,d,m)=>{const{bum:v,scope:b,update:x,subTree:M,um:C}=u;v&&pn(v),b.stop(),x&&(x.active=!1,Oe(M,u,d,m)),C&&ge(C,d),ge(()=>{u.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},He=(u,d,m,v=!1,b=!1,x=0)=>{for(let M=x;Mu.shapeFlag&6?Jt(u.component.subTree):u.shapeFlag&128?u.suspense.next():p(u.anchor||u.el);let kn=!1;const Yr=(u,d,m)=>{u==null?d._vnode&&Oe(d._vnode,null,null,!0):A(d._vnode||null,u,d,null,null,null,m),kn||(kn=!0,cs(),bn(),kn=!1),d._vnode=u},pt={p:A,um:Oe,m:tt,r:Xr,mt:oe,mc:R,pc:j,pbc:S,n:Jt,o:e};let Kn,Wn;return t&&([Kn,Wn]=t(pt)),{render:Yr,hydrate:Kn,createApp:Ql(Yr,Kn)}}function Jn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Ko(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Wr(e,t,n=!1){const r=e.children,s=t.children;if(U(r)&&U(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Wo(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Wo(t)}const fc=e=>e.__isTeleport,$t=e=>e&&(e.disabled||e.disabled===""),bs=e=>typeof SVGElement<"u"&&e instanceof SVGElement,ws=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,vr=(e,t)=>{const n=e&&e.to;return ne(n)?t?t(n):null:n},dc={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,o,i,l,c,a){const{mc:f,pc:h,pbc:p,o:{insert:y,querySelector:w,createText:A,createComment:F}}=a,k=$t(t.props);let{shapeFlag:B,children:g,dynamicChildren:_}=t;if(e==null){const I=t.el=A(""),O=t.anchor=A("");y(I,n,r),y(O,n,r);const $=t.target=vr(t.props,w),R=t.targetAnchor=A("");$&&(y(R,$),i==="svg"||bs($)?i="svg":(i==="mathml"||ws($))&&(i="mathml"));const T=(S,K)=>{B&16&&f(g,S,K,s,o,i,l,c)};k?T(n,O):$&&T($,R)}else{t.el=e.el;const I=t.anchor=e.anchor,O=t.target=e.target,$=t.targetAnchor=e.targetAnchor,R=$t(e.props),T=R?n:O,S=R?I:$;if(i==="svg"||bs(O)?i="svg":(i==="mathml"||ws(O))&&(i="mathml"),_?(p(e.dynamicChildren,_,T,s,o,i,l),Wr(e,t,!0)):c||h(e,t,T,S,s,o,i,l,!1),k)R?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):cn(t,n,I,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const K=t.target=vr(t.props,w);K&&cn(t,K,null,a,0)}else R&&cn(t,O,$,a,1)}qo(t)},remove(e,t,n,r,{um:s,o:{remove:o}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:f,target:h,props:p}=e;if(h&&o(f),i&&o(a),l&16){const y=i||!$t(p);for(let w=0;w0?Re||_t:null,pc(),kt>0&&Re&&Re.push(e),e}function au(e,t,n,r,s,o){return zo(Jo(e,t,n,r,s,o,!0))}function Xo(e,t,n,r,s){return zo(se(e,t,n,r,s,!0))}function xn(e){return e?e.__v_isVNode===!0:!1}function it(e,t){return e.type===t.type&&e.key===t.key}const Dn="__vInternal",Yo=({key:e})=>e??null,gn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||de(e)||q(e)?{i:le,r:e,k:t,f:!!n}:e:null);function Jo(e,t=null,n=null,r=0,s=null,o=e===me?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Yo(t),ref:t&&gn(t),scopeId:$n,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:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:le};return l?(qr(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),kt>0&&!i&&Re&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Re.push(c),c}const se=gc;function gc(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===So)&&(e=be),xn(e)){const l=et(e,t,!0);return n&&qr(l,n),kt>0&&!o&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(Tc(e)&&(e=e.__vccOpts),t){t=mc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Lr(l)),Z(c)&&(yo(c)&&!U(c)&&(c=ce({},c)),t.style=Rr(c))}const i=ne(e)?1:Al(e)?128:fc(e)?64:Z(e)?4:q(e)?2:0;return Jo(e,t,n,r,s,i,o,!0)}function mc(e){return e?yo(e)||Dn in e?ce({},e):e:null}function et(e,t,n=!1){const{props:r,ref:s,patchFlag:o,children:i}=e,l=t?yc(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Yo(l),ref:t&&t.ref?n&&s?U(s)?s.concat(gn(t)):[s,gn(t)]:gn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&et(e.ssContent),ssFallback:e.ssFallback&&et(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Qo(e=" ",t=0){return se(St,null,e,t)}function uu(e,t){const n=se(Ht,null,e);return n.staticCount=t,n}function fu(e="",t=!1){return t?(Go(),Xo(be,null,e)):se(be,null,e)}function Ae(e){return e==null||typeof e=="boolean"?se(be):U(e)?se(me,null,e.slice()):typeof e=="object"?qe(e):se(St,null,String(e))}function qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:et(e)}function qr(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),qr(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!(Dn in t)?t._ctx=le:s===3&&le&&(le.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:le},n=32):(t=String(t),r&64?(n=16,t=[Qo(t)]):n=8);e.children=t,e.shapeFlag|=n}function yc(...e){const t={};for(let n=0;nue||le;let Tn,br;{const e=to(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Tn=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),br=t("__VUE_SSR_SETTERS__",n=>Xt=n)}const zt=e=>{const t=ue;return Tn(e),e.scope.on(),()=>{e.scope.off(),Tn(t)}},Cs=()=>{ue&&ue.scope.off(),Tn(null)};function Zo(e){return e.vnode.shapeFlag&4}let Xt=!1;function wc(e,t=!1){t&&br(t);const{props:n,children:r}=e.vnode,s=Zo(e);ec(e,n,s,t),rc(e,r);const o=s?Ec(e,t):void 0;return t&&br(!1),o}function Ec(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Pt(new Proxy(e.ctx,Kl));const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?ti(e):null,o=zt(e);dt();const i=Xe(r,e,0,[e.props,s]);if(ht(),o(),Qs(i)){if(i.then(Cs,Cs),t)return i.then(l=>{xs(e,l,t)}).catch(l=>{qt(l,e,0)});e.asyncDep=i}else xs(e,i,t)}else ei(e,t)}function xs(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=wo(t)),ei(e,n)}let Ts;function ei(e,t,n){const r=e.type;if(!e.render){if(!t&&Ts&&!r.render){const s=r.template||kr(e).template;if(s){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=r,a=ce(ce({isCustomElement:o,delimiters:l},i),c);r.render=Ts(s,a)}}e.render=r.render||xe}{const s=zt(e);dt();try{ql(e)}finally{ht(),s()}}}function Cc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return ye(e,"get","$attrs"),t[n]}}))}function ti(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Cc(e)},slots:e.slots,emit:e.emit,expose:t}}function Un(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(wo(Pt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Nt)return Nt[n](e)},has(t,n){return n in t||n in Nt}}))}function xc(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function Tc(e){return q(e)&&"__vccOpts"in e}const re=(e,t)=>ll(e,t,Xt);function wr(e,t,n){const r=arguments.length;return r===2?Z(t)&&!U(t)?xn(t)?se(e,null,[t]):se(e,t):se(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&xn(n)&&(n=[n]),se(e,t,n))}const Sc="3.4.19";/** -* @vue/runtime-dom v3.4.19 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const Ac="http://www.w3.org/2000/svg",Rc="http://www.w3.org/1998/Math/MathML",Ge=typeof document<"u"?document:null,Ss=Ge&&Ge.createElement("template"),Lc={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 s=t==="svg"?Ge.createElementNS(Ac,e):t==="mathml"?Ge.createElementNS(Rc,e):Ge.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Ge.createTextNode(e),createComment:e=>Ge.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ge.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Ss.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Ss.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ue="transition",Ot="animation",Kt=Symbol("_vtc"),ni=(e,{slots:t})=>wr(Il,Oc(e),t);ni.displayName="Transition";const ri={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};ni.props=ce({},Oo,ri);const rt=(e,t=[])=>{U(e)?e.forEach(n=>n(...t)):e&&e(...t)},As=e=>e?U(e)?e.some(t=>t.length>1):e.length>1:!1;function Oc(e){const t={};for(const P in e)P in ri||(t[P]=e[P]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=e,w=Mc(s),A=w&&w[0],F=w&&w[1],{onBeforeEnter:k,onEnter:B,onEnterCancelled:g,onLeave:_,onLeaveCancelled:I,onBeforeAppear:O=k,onAppear:$=B,onAppearCancelled:R=g}=t,T=(P,G,oe)=>{st(P,G?f:l),st(P,G?a:i),oe&&oe()},S=(P,G)=>{P._isLeaving=!1,st(P,h),st(P,y),st(P,p),G&&G()},K=P=>(G,oe)=>{const fe=P?$:B,V=()=>T(G,P,oe);rt(fe,[G,V]),Rs(()=>{st(G,P?c:o),ke(G,P?f:l),As(fe)||Ls(G,r,A,V)})};return ce(t,{onBeforeEnter(P){rt(k,[P]),ke(P,o),ke(P,i)},onBeforeAppear(P){rt(O,[P]),ke(P,c),ke(P,a)},onEnter:K(!1),onAppear:K(!0),onLeave(P,G){P._isLeaving=!0;const oe=()=>S(P,G);ke(P,h),Nc(),ke(P,p),Rs(()=>{P._isLeaving&&(st(P,h),ke(P,y),As(_)||Ls(P,r,F,oe))}),rt(_,[P,oe])},onEnterCancelled(P){T(P,!1),rt(g,[P])},onAppearCancelled(P){T(P,!0),rt(R,[P])},onLeaveCancelled(P){S(P),rt(I,[P])}})}function Mc(e){if(e==null)return null;if(Z(e))return[Qn(e.enter),Qn(e.leave)];{const t=Qn(e);return[t,t]}}function Qn(e){return Oi(e)}function ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Kt]||(e[Kt]=new Set)).add(t)}function st(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Kt];n&&(n.delete(t),n.size||(e[Kt]=void 0))}function Rs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Pc=0;function Ls(e,t,n,r){const s=e._endId=++Pc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Ic(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,p),o()},p=y=>{y.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[w]||"").split(", "),s=r(`${Ue}Delay`),o=r(`${Ue}Duration`),i=Os(s,o),l=r(`${Ot}Delay`),c=r(`${Ot}Duration`),a=Os(l,c);let f=null,h=0,p=0;t===Ue?i>0&&(f=Ue,h=i,p=o.length):t===Ot?a>0&&(f=Ot,h=a,p=c.length):(h=Math.max(i,a),f=h>0?i>a?Ue:Ot:null,p=f?f===Ue?o.length:c.length:0);const y=f===Ue&&/\b(transform|all)(,|$)/.test(r(`${Ue}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:y}}function Os(e,t){for(;e.lengthMs(n)+Ms(e[r])))}function Ms(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Nc(){return document.body.offsetHeight}function Fc(e,t,n){const r=e[Kt];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ps=Symbol("_vod"),$c=Symbol(""),Hc=/(^|;)\s*display\s*:/;function jc(e,t,n){const r=e.style,s=ne(n),o=r.display;let i=!1;if(n&&!s){if(t&&!ne(t))for(const l in t)n[l]==null&&Er(r,l,"");for(const l in n)l==="display"&&(i=!0),Er(r,l,n[l])}else if(s){if(t!==n){const l=r[$c];l&&(n+=";"+l),r.cssText=n,i=Hc.test(n)}}else t&&e.removeAttribute("style");Ps in e&&(e[Ps]=i?r.display:"",r.display=o)}const Is=/\s*!important$/;function Er(e,t,n){if(U(n))n.forEach(r=>Er(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Vc(e,t);Is.test(n)?e.setProperty(ft(r),n.replace(Is,""),"important"):e[r]=n}}const Ns=["Webkit","Moz","ms"],Zn={};function Vc(e,t){const n=Zn[t];if(n)return n;let r=Fe(t);if(r!=="filter"&&r in e)return Zn[t]=r;r=Ln(r);for(let s=0;ser||(Wc.then(()=>er=0),er=Date.now());function Gc(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Te(zc(r,n.value),t,5,[r])};return n.value=e,n.attached=qc(),n}function zc(e,t){if(U(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const js=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Xc=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?Fc(e,r,a):t==="style"?jc(e,n,r):Wt(t)?Tr(t)||kc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Yc(e,t,r,a))?Bc(e,t,r,o,i,l,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Dc(e,t,r,a))};function Yc(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&js(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return js(t)&&ne(n)?!1:t in e}const Vs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return U(t)?n=>pn(t,n):t};function Jc(e){e.target.composing=!0}function Ds(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const tr=Symbol("_assign"),du={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[tr]=Vs(s);const o=r||s.props&&s.props.type==="number";mt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=cr(l)),e[tr](l)}),n&&mt(e,"change",()=>{e.value=e.value.trim()}),t||(mt(e,"compositionstart",Jc),mt(e,"compositionend",Ds),mt(e,"change",Ds))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:s}},o){if(e[tr]=Vs(o),e.composing)return;const i=s||e.type==="number"?cr(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===l)||(e.value=l))}},Qc=["ctrl","shift","alt","meta"],Zc={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&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Qc.some(n=>e[`${n}Key`]&&!t.includes(n))},hu=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const o=ft(s.key);if(t.some(i=>i===o||ea[i]===o))return e(s)})},si=ce({patchProp:Xc},Lc);let Vt,Bs=!1;function ta(){return Vt||(Vt=cc(si))}function na(){return Vt=Bs?Vt:ac(si),Bs=!0,Vt}const gu=(...e)=>{const t=ta().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ii(r);if(!s)return;const o=t._component;!q(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,oi(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},mu=(...e)=>{const t=na().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ii(r);if(s)return n(s,!0,oi(s))},t};function oi(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ii(e){return ne(e)?document.querySelector(e):e}const yu=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},ra="modulepreload",sa=function(e){return"/"+e},Us={},_u=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link");s=Promise.all(n.map(i=>{if(i=sa(i),i in Us)return;Us[i]=!0;const l=i.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(!!r)for(let h=o.length-1;h>=0;h--){const p=o[h];if(p.href===i&&(!l||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${c}`))return;const f=document.createElement("link");if(f.rel=l?"stylesheet":ra,l||(f.as="script",f.crossOrigin=""),f.href=i,document.head.appendChild(f),l)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})}))}return s.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},oa=window.__VP_SITE_DATA__;function Gr(e){return so()?(Vi(e),!0):!1}function Ne(e){return typeof e=="function"?e():bo(e)}const li=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ia=Object.prototype.toString,la=e=>ia.call(e)==="[object Object]",Je=()=>{},Cr=ca();function ca(){var e,t;return li&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function aa(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const ci=e=>e();function ua(e,t={}){let n,r,s=Je;const o=l=>{clearTimeout(l),s(),s=Je};return l=>{const c=Ne(e),a=Ne(t.maxWait);return n&&o(n),c<=0||a!==void 0&&a<=0?(r&&(o(r),r=null),Promise.resolve(l())):new Promise((f,h)=>{s=t.rejectOnCancel?h:f,a&&!r&&(r=setTimeout(()=>{n&&o(n),r=null,f(l())},a)),n=setTimeout(()=>{r&&o(r),r=null,f(l())},c)})}}function fa(e=ci){const t=ie(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Pn(t),pause:n,resume:r,eventFilter:s}}function da(e){return e||Bn()}function ai(...e){if(e.length!==1)return pl(...e);const t=e[0];return typeof t=="function"?Pn(fl(()=>({get:t,set:Je}))):ie(t)}function ui(e,t,n={}){const{eventFilter:r=ci,...s}=n;return Ye(e,aa(r,t),s)}function ha(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=fa(r);return{stop:ui(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function fi(e,t=!0,n){da()?Rt(e,n):t?e():In(e)}function vu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return ui(e,t,{...o,eventFilter:ua(r,{maxWait:s})})}function bu(e,t,n){let r;de(n)?r={evaluating:n}:r=n||{};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Je}=r,c=ie(!s),a=i?jr(t):ie(t);let f=0;return Br(async h=>{if(!c.value)return;f++;const p=f;let y=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const w=await e(A=>{h(()=>{o&&(o.value=!1),y||A()})});p===f&&(a.value=w)}catch(w){l(w)}finally{o&&p===f&&(o.value=!1),y=!0}}),s?re(()=>(c.value=!0,a.value)):a}function yt(e){var t;const n=Ne(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Le=li?window:void 0;function Qe(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Le):[t,n,r,s]=e,!t)return Je;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,p,y)=>(f.addEventListener(h,p,y),()=>f.removeEventListener(h,p,y)),c=Ye(()=>[yt(t),Ne(s)],([f,h])=>{if(i(),!f)return;const p=la(h)?{...h}:h;o.push(...n.flatMap(y=>r.map(w=>l(f,y,w,p))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return Gr(a),a}let ks=!1;function wu(e,t,n={}){const{window:r=Le,ignore:s=[],capture:o=!0,detectIframe:i=!1}=n;if(!r)return Je;Cr&&!ks&&(ks=!0,Array.from(r.document.body.children).forEach(p=>p.addEventListener("click",Je)),r.document.documentElement.addEventListener("click",Je));let l=!0;const c=p=>s.some(y=>{if(typeof y=="string")return Array.from(r.document.querySelectorAll(y)).some(w=>w===p.target||p.composedPath().includes(w));{const w=yt(y);return w&&(p.target===w||p.composedPath().includes(w))}}),f=[Qe(r,"click",p=>{const y=yt(e);if(!(!y||y===p.target||p.composedPath().includes(y))){if(p.detail===0&&(l=!c(p)),!l){l=!0;return}t(p)}},{passive:!0,capture:o}),Qe(r,"pointerdown",p=>{const y=yt(e);l=!c(p)&&!!(y&&!p.composedPath().includes(y))},{passive:!0}),i&&Qe(r,"blur",p=>{setTimeout(()=>{var y;const w=yt(e);((y=r.document.activeElement)==null?void 0:y.tagName)==="IFRAME"&&!(w!=null&&w.contains(r.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function pa(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Eu(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:s=Le,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=pa(t);return Qe(s,o,f=>{f.repeat&&Ne(l)||c(f)&&n(f)},i)}function ga(){const e=ie(!1);return Bn()&&Rt(()=>{e.value=!0}),e}function ma(e){const t=ga();return re(()=>(t.value,!!e()))}function ya(e,t={}){const{window:n=Le}=t,r=ma(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=ie(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=Br(()=>{r.value&&(l(),s=n.matchMedia(Ne(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return Gr(()=>{c(),l(),s=void 0}),o}const an=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},un="__vueuse_ssr_handlers__",_a=va();function va(){return un in an||(an[un]=an[un]||{}),an[un]}function di(e,t){return _a[e]||t}function ba(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const wa={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Ks="vueuse-storage";function zr(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Le,eventFilter:p,onError:y=T=>{console.error(T)},initOnMounted:w}=r,A=(f?jr:ie)(typeof t=="function"?t():t);if(!n)try{n=di("getDefaultStorage",()=>{var T;return(T=Le)==null?void 0:T.localStorage})()}catch(T){y(T)}if(!n)return A;const F=Ne(t),k=ba(F),B=(s=r.serializer)!=null?s:wa[k],{pause:g,resume:_}=ha(A,()=>I(A.value),{flush:o,deep:i,eventFilter:p});return h&&l&&fi(()=>{Qe(h,"storage",R),Qe(h,Ks,$),w&&R()}),w||R(),A;function I(T){try{if(T==null)n.removeItem(e);else{const S=B.write(T),K=n.getItem(e);K!==S&&(n.setItem(e,S),h&&h.dispatchEvent(new CustomEvent(Ks,{detail:{key:e,oldValue:K,newValue:S,storageArea:n}})))}}catch(S){y(S)}}function O(T){const S=T?T.newValue:n.getItem(e);if(S==null)return c&&F!=null&&n.setItem(e,B.write(F)),F;if(!T&&a){const K=B.read(S);return typeof a=="function"?a(K,F):k==="object"&&!Array.isArray(K)?{...F,...K}:K}else return typeof S!="string"?S:B.read(S)}function $(T){R(T.detail)}function R(T){if(!(T&&T.storageArea!==n)){if(T&&T.key==null){A.value=F;return}if(!(T&&T.key!==e)){g();try{(T==null?void 0:T.newValue)!==B.write(A.value)&&(A.value=O(T))}catch(S){y(S)}finally{T?In(_):_()}}}}}function hi(e){return ya("(prefers-color-scheme: dark)",e)}function Ea(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Le,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},p=hi({window:s}),y=re(()=>p.value?"dark":"light"),w=c||(i==null?ai(r):zr(i,r,o,{window:s,listenToStorageChanges:l})),A=re(()=>w.value==="auto"?y.value:w.value),F=di("updateHTMLAttrs",(_,I,O)=>{const $=typeof _=="string"?s==null?void 0:s.document.querySelector(_):yt(_);if(!$)return;let R;if(f&&(R=s.document.createElement("style"),R.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),s.document.head.appendChild(R)),I==="class"){const T=O.split(/\s/g);Object.values(h).flatMap(S=>(S||"").split(/\s/g)).filter(Boolean).forEach(S=>{T.includes(S)?$.classList.add(S):$.classList.remove(S)})}else $.setAttribute(I,O);f&&(s.getComputedStyle(R).opacity,document.head.removeChild(R))});function k(_){var I;F(t,n,(I=h[_])!=null?I:_)}function B(_){e.onChanged?e.onChanged(_,k):k(_)}Ye(A,B,{flush:"post",immediate:!0}),fi(()=>B(A.value));const g=re({get(){return a?w.value:A.value},set(_){w.value=_}});try{return Object.assign(g,{store:w,system:y,state:A})}catch{return g}}function Ca(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Le}=e,s=Ea({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=re(()=>s.system?s.system.value:hi({window:r}).value?"dark":"light");return re({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function nr(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Cu(e,t,n={}){const{window:r=Le}=n;return zr(e,t,r==null?void 0:r.localStorage,n)}function pi(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const fn=new WeakMap;function xu(e,t=!1){const n=ie(t);let r=null,s;Ye(ai(e),l=>{const c=nr(Ne(l));if(c){const a=c;fn.get(a)||fn.set(a,s),n.value&&(a.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=nr(Ne(e));!l||n.value||(Cr&&(r=Qe(l,"touchmove",c=>{xa(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{var l;const c=nr(Ne(e));!c||!n.value||(Cr&&(r==null||r()),c.style.overflow=(l=fn.get(c))!=null?l:"",fn.delete(c),n.value=!1)};return Gr(i),re({get(){return n.value},set(l){l?o():i()}})}function Tu(e,t,n={}){const{window:r=Le}=n;return zr(e,t,r==null?void 0:r.sessionStorage,n)}function Su(e={}){const{window:t=Le,behavior:n="auto"}=e;if(!t)return{x:ie(0),y:ie(0)};const r=ie(t.scrollX),s=ie(t.scrollY),o=re({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=re({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return Qe(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}var rr={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},Ta={};const gi=/^(?:[a-z]+:|\/\/)/i,Sa="vitepress-theme-appearance",mi=/#.*$/,Aa=/(index)?\.(md|html)$/,Ce=typeof document<"u",yi={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Ra(e,t,n=!1){if(t===void 0)return!1;if(e=Ws(`/${e}`),n)return new RegExp(t).test(e);if(Ws(t)!==e)return!1;const r=t.match(mi);return r?(Ce?location.hash:"")===r[0]:!0}function Ws(e){return decodeURI(e).replace(mi,"").replace(Aa,"")}function La(e){return gi.test(e)}function Oa(e,t){var r,s,o,i,l,c,a;const n=Object.keys(e.locales).find(f=>f!=="root"&&!La(f)&&Ra(t,`/${f}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((r=e.locales[n])==null?void 0:r.lang)??e.lang,dir:((s=e.locales[n])==null?void 0:s.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:vi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function _i(e,t){const n=t.title||e.title,r=t.titleTemplate??e.titleTemplate;if(typeof r=="string"&&r.includes(":title"))return r.replace(/:title/g,n);const s=Ma(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Ma(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Pa(e,t){const[n,r]=t;if(n!=="meta")return!1;const s=Object.entries(r)[0];return s==null?!1:e.some(([o,i])=>o===n&&i[s[0]]===s[1])}function vi(e,t){return[...e.filter(n=>!Pa(t,n)),...t]}const Ia=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Na=/^[a-z]:/i;function qs(e){const t=Na.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Ia,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const sr=new Set;function Fa(e){if(sr.size===0){const n=typeof process=="object"&&Ta.VITE_EXTRA_EXTENSIONS||(rr==null?void 0:rr.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(r=>sr.add(r))}const t=e.split(".").pop();return t==null||!sr.has(t.toLowerCase())}function Au(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const $a=Symbol(),ut=jr(oa);function Ru(e){const t=re(()=>Oa(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?ie(!0):n?Ca({storageKey:Sa,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):ie(!1);return{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>_i(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:r}}function Ha(){const e=xt($a);if(!e)throw new Error("vitepress data not properly injected in app");return e}function ja(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Gs(e){return gi.test(e)||!e.startsWith("/")?e:ja(ut.value.base,e)}function Va(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/";t=qs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let r=__VP_HASH_MAP__[t.toLowerCase()];if(r||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",r=__VP_HASH_MAP__[t.toLowerCase()]),!r)return null;t=`${n}assets/${t}.${r}.js`}else t=`./${qs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let mn=[];function Lu(e){mn.push(e),Vn(()=>{mn=mn.filter(t=>t!==e)})}function Da(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=zs(e,n);else if(Array.isArray(e))for(const r of e){const s=zs(r,n);if(s){t=s;break}}return t}function zs(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const Ba=Symbol(),bi="http://a.com",Ua=()=>({path:"/",component:null,data:yi});function Ou(e,t){const n=Mn(Ua()),r={route:n,go:s};async function s(l=Ce?location.href:"/"){var c,a;l=Sn(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1&&(Ys(l),await i(l),await((a=r.onAfterRouteChanged)==null?void 0:a.call(r,l)))}let o=null;async function i(l,c=0,a=!1){var p;if(await((p=r.onBeforePageLoad)==null?void 0:p.call(r,l))===!1)return;const f=new URL(l,bi),h=o=f.pathname;try{let y=await e(h);if(!y)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:w,__pageData:A}=y;if(!w)throw new Error(`Invalid route component: ${w}`);n.path=Ce?h:Gs(h),n.component=Pt(w),n.data=Pt(A),Ce&&In(()=>{let F=ut.value.base+A.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!F.endsWith("/")&&(F+=".html"),F!==f.pathname&&(f.pathname=F,l=F+f.search+f.hash,history.replaceState(null,"",l)),f.hash&&!c){let k=null;try{k=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(B){console.warn(B)}if(k){Xs(k,f.hash);return}}window.scrollTo(0,c)})}}catch(y){if(!/fetch|Page not found/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!a)try{const w=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await w.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=Ce?h:Gs(h),n.component=t?Pt(t):null,n.data=yi)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:f}=a,{href:h,origin:p,pathname:y,hash:w,search:A}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),F=window.location;!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&p===F.origin&&Fa(y)&&(l.preventDefault(),y===F.pathname&&A===F.search?(w!==F.hash&&(history.pushState(null,"",w),window.dispatchEvent(new Event("hashchange"))),w?Xs(a,w,a.classList.contains("header-anchor")):(Ys(h),window.scrollTo(0,0))):s(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await i(Sn(location.href),l.state&&l.state.scrollPosition||0),(c=r.onAfterRouteChanged)==null||c.call(r,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),r}function ka(){const e=xt(Ba);if(!e)throw new Error("useRouter() is called without provider.");return e}function wi(){return ka().route}function Xs(e,t,n=!1){let r=null;try{r=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(s){console.warn(s)}if(r){let s=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(r).paddingTop,10),i=window.scrollY+r.getBoundingClientRect().top-Da()+o;requestAnimationFrame(s)}}function Ys(e){Ce&&Sn(e)!==Sn(location.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}function Sn(e){const t=new URL(e,bi);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const or=()=>mn.forEach(e=>e()),Mu=Ur({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=wi(),{site:n}=Ha();return()=>wr(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?wr(t.component,{onVnodeMounted:or,onVnodeUpdated:or,onVnodeUnmounted:or}):"404 Page Not Found"])}}),Pu=Ur({setup(e,{slots:t}){const n=ie(!1);return Rt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Iu(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement;if(!r)return;const s=Array.from(r.querySelectorAll("input")).indexOf(t);if(s<0)return;const o=r.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[s];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=r==null?void 0:r.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Nu(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var r;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const s=n.parentElement,o=(r=n.nextElementSibling)==null?void 0:r.nextElementSibling;if(!s||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(s.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),Ka(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function Ka(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),n&&n.focus()}}function Fu(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=ir(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(ir);r.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete r[c])}),i.forEach(l=>l&&document.head.appendChild(l)),r=[...r,...i].filter(Boolean)};Br(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=_i(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):ir(["meta",{name:"description",content:f}]),s(vi(i.head,qa(c)))})}function ir([e,t,n]){const r=document.createElement(e);for(const s in t)r.setAttribute(s,t[s]);return n&&(r.innerHTML=n),e==="script"&&!t.async&&(r.async=!1),r}function Wa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function qa(e){return e.filter(t=>!Wa(t))}const lr=new Set,Ei=()=>document.createElement("link"),Ga=e=>{const t=Ei();t.rel="prefetch",t.href=e,document.head.appendChild(t)},za=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let dn;const Xa=Ce&&(dn=Ei())&&dn.relList&&dn.relList.supports&&dn.relList.supports("prefetch")?Ga:za;function $u(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const r=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!lr.has(c)){lr.add(c);const a=Va(c);a&&Xa(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):lr.add(l))})})};Rt(r);const s=wi();Ye(()=>s.path,r),Vn(()=>{n&&n.disconnect()})}export{Zl as $,Vn as A,tu as B,Vl as C,Da as D,Za as E,me as F,su as G,jr as H,Lu as I,se as J,eu as K,gi as L,wi as M,yc as N,xt as O,wu as P,Eu as Q,Rr as R,In as S,ni as T,Su as U,uu as V,Pn as W,ru as X,_u as Y,xu as Z,yu as _,Qo as a,pu as a0,iu as a1,hu as a2,lu as a3,Fu as a4,Ba as a5,Ru as a6,$a as a7,Mu as a8,Pu as a9,ut as aa,mu as ab,Ou as ac,Va as ad,$u as ae,Nu as af,Iu as ag,wr as ah,yt as ai,Gr as aj,bu as ak,Tu as al,Cu as am,vu as an,ka as ao,Qe as ap,No as aq,nu as ar,du as as,de as at,cu as au,Pt as av,gu as aw,Au as ax,Xo as b,au as c,Ur as d,fu as e,Fa as f,Gs as g,ie as h,La as i,Ce as j,re as k,Rt as l,Jo as m,Lr as n,Go as o,bo as p,Ja as q,ou as r,Qa as s,Ya as t,Ha as u,Ra as v,El as w,ya as x,Ye as y,Br as z}; diff --git a/assets/chunks/theme.0C8HcoKF.js b/assets/chunks/theme.0C8HcoKF.js deleted file mode 100644 index 3fb7e4bf..00000000 --- a/assets/chunks/theme.0C8HcoKF.js +++ /dev/null @@ -1,7 +0,0 @@ -import{d as g,o as a,c as l,r as c,n as T,a as H,t as L,b as k,w as v,T as ve,e as _,_ as m,u as Oe,i as Ue,f as Ge,g as he,h as M,j as q,k as b,l as x,m as d,p as r,q as E,s as D,v as G,x as ie,y as j,z as Q,A as pe,B as we,C as xe,D as je,E as K,F as I,G as A,H as Pe,I as ee,J as f,K as U,L as Ve,M as te,N as J,O as se,P as Ke,Q as le,R as Re,S as qe,U as Le,V as We,W as Ye,X as Je,Y as Xe,Z as Se,$ as Me,a0 as Ze,a1 as Qe,a2 as et,a3 as tt}from"./framework.cYNwvFF8.js";const st=g({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),l("span",{class:T(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[H(L(e.text),1)])],2))}}),ot={key:0,class:"VPBackdrop"},nt=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),k(ve,{name:"fade"},{default:v(()=>[e.show?(a(),l("div",ot)):_("",!0)]),_:1}))}}),at=m(nt,[["__scopeId","data-v-35a59c39"]]),P=Oe;function rt(s,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(s,e):(s(),(n=!0)&&setTimeout(()=>n=!1,e))}}function ce(s){return/^\//.test(s)?s:`/${s}`}function fe(s){const{pathname:e,search:t,hash:n,protocol:o}=new URL(s,"http://a.com");if(Ue(s)||s.startsWith("#")||!o.startsWith("http")||!Ge(e))return s;const{site:i}=P(),u=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${n}`);return he(u)}const _e=M(q?location.hash:"");q&&window.addEventListener("hashchange",()=>{_e.value=location.hash});function W({removeCurrent:s=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:i}=P(),u=b(()=>{var h,$;return{label:(h=t.value.locales[n.value])==null?void 0:h.label,link:(($=t.value.locales[n.value])==null?void 0:$.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:b(()=>Object.entries(t.value.locales).flatMap(([h,$])=>s&&u.value.label===$.label?[]:{text:$.label,link:it($.link||(h==="root"?"/":`/${h}/`),i.value.i18nRouting!==!1&&e,o.value.relativePath.slice(u.value.link.length-1),!t.value.cleanUrls)+_e.value})),currentLang:u}}function it(s,e,t,n){return e?s.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):s}const lt=s=>(E("data-v-94664985"),s=s(),D(),s),ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},vt=lt(()=>d("div",{class:"divider"},null,-1)),ht={class:"quote"},pt={class:"action"},ft=["href","aria-label"],_t=g({__name:"NotFound",setup(s){const{site:e,theme:t}=P(),{localeLinks:n}=W({removeCurrent:!1}),o=M("/");return x(()=>{var u;const i=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(o.value=((u=n.value.find(({link:p})=>p.startsWith(i)))==null?void 0:u.link)||n.value[0].link)}),(i,u)=>{var p,h,$,w,y;return a(),l("div",ct,[d("p",ut,L(((p=r(t).notFound)==null?void 0:p.code)??"404"),1),d("h1",dt,L(((h=r(t).notFound)==null?void 0:h.title)??"PAGE NOT FOUND"),1),vt,d("blockquote",ht,L((($=r(t).notFound)==null?void 0:$.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",pt,[d("a",{class:"link",href:r(he)(o.value),"aria-label":((w=r(t).notFound)==null?void 0:w.linkLabel)??"go to home"},L(((y=r(t).notFound)==null?void 0:y.linkText)??"Take me home"),9,ft)])])}}}),mt=m(_t,[["__scopeId","data-v-94664985"]]);function Ce(s,e){if(Array.isArray(s))return X(s);if(s==null)return[];e=ce(e);const t=Object.keys(s).sort((o,i)=>i.split("/").length-o.split("/").length).find(o=>e.startsWith(ce(o))),n=t?s[t]:[];return Array.isArray(n)?X(n):X(n.items,n.base)}function gt(s){const e=[];let t=0;for(const n in s){const o=s[n];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function $t(s){const e=[];function t(n){for(const o of n)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(s),e}function ue(s,e){return Array.isArray(e)?e.some(t=>ue(s,t)):G(s,e.link)?!0:e.items?ue(s,e.items):!1}function X(s,e){return[...s].map(t=>{const n={...t},o=n.base||e;return o&&n.link&&(n.link=o+n.link),n.items&&(n.items=X(n.items,o)),n})}function F(){const{frontmatter:s,page:e,theme:t}=P(),n=ie("(min-width: 960px)"),o=M(!1),i=b(()=>{const B=t.value.sidebar,C=e.value.relativePath;return B?Ce(B,C):[]}),u=M(i.value);j(i,(B,C)=>{JSON.stringify(B)!==JSON.stringify(C)&&(u.value=i.value)});const p=b(()=>s.value.sidebar!==!1&&u.value.length>0&&s.value.layout!=="home"),h=b(()=>$?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),$=b(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),w=b(()=>p.value&&n.value),y=b(()=>p.value?gt(u.value):[]);function V(){o.value=!0}function S(){o.value=!1}function N(){o.value?S():V()}return{isOpen:o,sidebar:u,sidebarGroups:y,hasSidebar:p,hasAside:$,leftAside:h,isSidebarEnabled:w,open:V,close:S,toggle:N}}function kt(s,e){let t;Q(()=>{t=s.value?document.activeElement:void 0}),x(()=>{window.addEventListener("keyup",n)}),pe(()=>{window.removeEventListener("keyup",n)});function n(o){o.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function bt(s){const{page:e}=P(),t=M(!1),n=b(()=>s.value.collapsed!=null),o=b(()=>!!s.value.link),i=M(!1),u=()=>{i.value=G(e.value.relativePath,s.value.link)};j([e,s,_e],u),x(u);const p=b(()=>i.value?!0:s.value.items?ue(e.value.relativePath,s.value.items):!1),h=b(()=>!!(s.value.items&&s.value.items.length));Q(()=>{t.value=!!(n.value&&s.value.collapsed)}),we(()=>{(i.value||p.value)&&(t.value=!1)});function $(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:o,isActiveLink:i,hasActiveLink:p,hasChildren:h,toggle:$}}function yt(){const{hasSidebar:s}=F(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:b(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const de=[];function Te(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function me(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{element:t,title:wt(t),link:"#"+t.id,level:n}});return Pt(e,s)}function wt(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Pt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;s=s.filter(u=>u.level>=n&&u.level<=o),de.length=0;for(const{element:u,link:p}of s)de.push({element:u,link:p});const i=[];e:for(let u=0;u=0;h--){const $=s[h];if($.level{requestAnimationFrame(i),window.addEventListener("scroll",n)}),xe(()=>{u(location.hash)}),pe(()=>{window.removeEventListener("scroll",n)});function i(){if(!t.value)return;const p=window.scrollY,h=window.innerHeight,$=document.body.offsetHeight,w=Math.abs(p+h-$)<1,y=de.map(({element:S,link:N})=>({link:N,top:Lt(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,N)=>S.top-N.top);if(!y.length){u(null);return}if(p<1){u(null);return}if(w){u(y[y.length-1].link);return}let V=null;for(const{link:S,top:N}of y){if(N>p+je()+4)break;V=S}u(V)}function u(p){o&&o.classList.remove("active"),p==null?o=null:o=s.value.querySelector(`a[href="${decodeURIComponent(p)}"]`);const h=o;h?(h.classList.add("active"),e.value.style.top=h.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Lt(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}const St=["href","title"],Mt=g({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(s){function e({target:t}){const n=t.href.split("#")[1],o=document.getElementById(decodeURIComponent(n));o==null||o.focus({preventScroll:!0})}return(t,n)=>{const o=K("VPDocOutlineItem",!0);return a(),l("ul",{class:T(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),l(I,null,A(t.headers,({children:i,link:u,title:p})=>(a(),l("li",null,[d("a",{class:"outline-link",href:u,onClick:e,title:p},L(p),9,St),i!=null&&i.length?(a(),k(o,{key:0,headers:i},null,8,["headers"])):_("",!0)]))),256))],2)}}}),Ie=m(Mt,[["__scopeId","data-v-66f5d480"]]),Ct=s=>(E("data-v-f3761828"),s=s(),D(),s),Tt={class:"content"},It={class:"outline-title",role:"heading","aria-level":"2"},Nt={"aria-labelledby":"doc-outline-aria-label"},Bt=Ct(()=>d("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),At=g({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=P(),n=Pe([]);ee(()=>{n.value=me(e.value.outline??t.value.outline)});const o=M(),i=M();return Vt(o,i),(u,p)=>(a(),l("div",{class:T(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:o,role:"navigation"},[d("div",Tt,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",It,L(r(Te)(r(t))),1),d("nav",Nt,[Bt,f(Ie,{headers:n.value,root:!0},null,8,["headers"])])])],2))}}),Ht=m(At,[["__scopeId","data-v-f3761828"]]),zt={class:"VPDocAsideCarbonAds"},Et=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,n)=>(a(),l("div",zt,[f(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Dt=s=>(E("data-v-e0fb4810"),s=s(),D(),s),Ft={class:"VPDocAside"},Ot=Dt(()=>d("div",{class:"spacer"},null,-1)),Ut=g({__name:"VPDocAside",setup(s){const{theme:e}=P();return(t,n)=>(a(),l("div",Ft,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),f(Ht),c(t.$slots,"aside-outline-after",{},void 0,!0),Ot,c(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(Et,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):_("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Gt=m(Ut,[["__scopeId","data-v-e0fb4810"]]);function xt(){const{theme:s,page:e}=P();return b(()=>{const{text:t="Edit this page",pattern:n=""}=s.value.editLink||{};let o;return typeof n=="function"?o=n(e.value):o=n.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function jt(){const{page:s,theme:e,frontmatter:t}=P();return b(()=>{var h,$,w,y,V,S,N,B;const n=Ce(e.value.sidebar,s.value.relativePath),o=$t(n),i=o.findIndex(C=>G(s.value.relativePath,C.link)),u=((h=e.value.docFooter)==null?void 0:h.prev)===!1&&!t.value.prev||t.value.prev===!1,p=(($=e.value.docFooter)==null?void 0:$.next)===!1&&!t.value.next||t.value.next===!1;return{prev:u?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((w=o[i-1])==null?void 0:w.docFooterText)??((y=o[i-1])==null?void 0:y.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((V=o[i-1])==null?void 0:V.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((S=o[i+1])==null?void 0:S.docFooterText)??((N=o[i+1])==null?void 0:N.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((B=o[i+1])==null?void 0:B.link)}}})}const Kt={},Rt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},qt=d("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Wt=d("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),Yt=[qt,Wt];function Jt(s,e){return a(),l("svg",Rt,Yt)}const Xt=m(Kt,[["render",Jt]]),z=g({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=b(()=>e.tag??(e.href?"a":"span")),n=b(()=>e.href&&Ve.test(e.href));return(o,i)=>(a(),k(U(t.value),{class:T(["VPLink",{link:o.href,"vp-external-link-icon":n.value,"no-icon":o.noIcon}]),href:o.href?r(fe)(o.href):void 0,target:o.target??(n.value?"_blank":void 0),rel:o.rel??(n.value?"noreferrer":void 0)},{default:v(()=>[c(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Zt={class:"VPLastUpdated"},Qt=["datetime"],es=g({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,frontmatter:n,lang:o}=P(),i=b(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),u=b(()=>i.value.toISOString()),p=M("");return x(()=>{Q(()=>{var h,$,w;p.value=new Intl.DateTimeFormat(($=(h=e.value.lastUpdated)==null?void 0:h.formatOptions)!=null&&$.forceLocale?o.value:void 0,((w=e.value.lastUpdated)==null?void 0:w.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(i.value)})}),(h,$)=>{var w;return a(),l("p",Zt,[H(L(((w=r(e).lastUpdated)==null?void 0:w.text)||r(e).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:u.value},L(p.value),9,Qt)])}}}),ts=m(es,[["__scopeId","data-v-596233fa"]]),ss={key:0,class:"VPDocFooter"},os={key:0,class:"edit-info"},ns={key:0,class:"edit-link"},as={key:1,class:"last-updated"},rs={key:1,class:"prev-next"},is={class:"pager"},ls=["innerHTML"],cs=["innerHTML"],us={class:"pager"},ds=["innerHTML"],vs=["innerHTML"],hs=g({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:n}=P(),o=xt(),i=jt(),u=b(()=>e.value.editLink&&n.value.editLink!==!1),p=b(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),h=b(()=>u.value||p.value||i.value.prev||i.value.next);return($,w)=>{var y,V,S,N;return h.value?(a(),l("footer",ss,[c($.$slots,"doc-footer-before",{},void 0,!0),u.value||p.value?(a(),l("div",os,[u.value?(a(),l("div",ns,[f(z,{class:"edit-link-button",href:r(o).url,"no-icon":!0},{default:v(()=>[f(Xt,{class:"edit-link-icon","aria-label":"edit icon"}),H(" "+L(r(o).text),1)]),_:1},8,["href"])])):_("",!0),p.value?(a(),l("div",as,[f(ts)])):_("",!0)])):_("",!0),(y=r(i).prev)!=null&&y.link||(V=r(i).next)!=null&&V.link?(a(),l("nav",rs,[d("div",is,[(S=r(i).prev)!=null&&S.link?(a(),k(z,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:v(()=>{var B;return[d("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.prev)||"Previous page"},null,8,ls),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,cs)]}),_:1},8,["href"])):_("",!0)]),d("div",us,[(N=r(i).next)!=null&&N.link?(a(),k(z,{key:0,class:"pager-link next",href:r(i).next.link},{default:v(()=>{var B;return[d("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.next)||"Next page"},null,8,ds),d("span",{class:"title",innerHTML:r(i).next.text},null,8,vs)]}),_:1},8,["href"])):_("",!0)])])):_("",!0)])):_("",!0)}}}),ps=m(hs,[["__scopeId","data-v-229f8ff0"]]),fs=s=>(E("data-v-c186637e"),s=s(),D(),s),_s={class:"container"},ms=fs(()=>d("div",{class:"aside-curtain"},null,-1)),gs={class:"aside-container"},$s={class:"aside-content"},ks={class:"content"},bs={class:"content-container"},ys={class:"main"},ws=g({__name:"VPDoc",setup(s){const{theme:e}=P(),t=te(),{hasSidebar:n,hasAside:o,leftAside:i}=F(),u=b(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(p,h)=>{const $=K("Content");return a(),l("div",{class:T(["VPDoc",{"has-sidebar":r(n),"has-aside":r(o)}])},[c(p.$slots,"doc-top",{},void 0,!0),d("div",_s,[r(o)?(a(),l("div",{key:0,class:T(["aside",{"left-aside":r(i)}])},[ms,d("div",gs,[d("div",$s,[f(Gt,null,{"aside-top":v(()=>[c(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[c(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[c(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[c(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[c(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[c(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):_("",!0),d("div",ks,[d("div",bs,[c(p.$slots,"doc-before",{},void 0,!0),d("main",ys,[f($,{class:T(["vp-doc",[u.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),f(ps,null,{"doc-footer-before":v(()=>[c(p.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(p.$slots,"doc-after",{},void 0,!0)])])]),c(p.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Ps=m(ws,[["__scopeId","data-v-c186637e"]]),Vs=g({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const e=s,t=b(()=>e.href&&Ve.test(e.href)),n=b(()=>e.tag||e.href?"a":"button");return(o,i)=>(a(),k(U(n.value),{class:T(["VPButton",[o.size,o.theme]]),href:o.href?r(fe)(o.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:v(()=>[H(L(o.text),1)]),_:1},8,["class","href","target","rel"]))}}),Ls=m(Vs,[["__scopeId","data-v-e50ab54d"]]),Ss=["src","alt"],Ms=g({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const n=K("VPImage",!0);return e.image?(a(),l(I,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),l("img",J({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(he)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Ss)):(a(),l(I,{key:1},[f(n,J({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),f(n,J({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):_("",!0)}}}),Z=m(Ms,[["__scopeId","data-v-01f37715"]]),Cs=s=>(E("data-v-63bbc97b"),s=s(),D(),s),Ts={class:"container"},Is={class:"main"},Ns={key:0,class:"name"},Bs=["innerHTML"],As=["innerHTML"],Hs=["innerHTML"],zs={key:0,class:"actions"},Es={key:0,class:"image"},Ds={class:"image-container"},Fs=Cs(()=>d("div",{class:"image-bg"},null,-1)),Os=g({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=se("hero-image-slot-exists");return(t,n)=>(a(),l("div",{class:T(["VPHero",{"has-image":t.image||r(e)}])},[d("div",Ts,[d("div",Is,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),l("h1",Ns,[d("span",{innerHTML:t.name,class:"clip"},null,8,Bs)])):_("",!0),t.text?(a(),l("p",{key:1,innerHTML:t.text,class:"text"},null,8,As)):_("",!0),t.tagline?(a(),l("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Hs)):_("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),l("div",zs,[(a(!0),l(I,null,A(t.actions,o=>(a(),l("div",{key:o.link,class:"action"},[f(Ls,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):_("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),l("div",Es,[d("div",Ds,[Fs,c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(Z,{key:0,class:"image-src",image:t.image},null,8,["image"])):_("",!0)],!0)])])):_("",!0)])],2))}}),Us=m(Os,[["__scopeId","data-v-63bbc97b"]]),Gs=g({__name:"VPHomeHero",setup(s){const{frontmatter:e}=P();return(t,n)=>r(e).hero?(a(),k(Us,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":v(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":v(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":v(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":v(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":v(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):_("",!0)}}),xs={},js={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Ks=d("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Rs=[Ks];function qs(s,e){return a(),l("svg",js,Rs)}const Ws=m(xs,[["render",qs]]),Ys={class:"box"},Js={key:0,class:"icon"},Xs=["innerHTML"],Zs=["innerHTML"],Qs=["innerHTML"],eo={key:4,class:"link-text"},to={class:"link-text-value"},so=g({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),k(z,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:v(()=>[d("article",Ys,[typeof e.icon=="object"&&e.icon.wrap?(a(),l("div",Js,[f(Z,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(Z,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),l("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Xs)):_("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,Zs),e.details?(a(),l("p",{key:3,class:"details",innerHTML:e.details},null,8,Qs)):_("",!0),e.linkText?(a(),l("div",eo,[d("p",to,[H(L(e.linkText)+" ",1),f(Ws,{class:"link-text-icon"})])])):_("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),oo=m(so,[["__scopeId","data-v-d7d983cb"]]),no={key:0,class:"VPFeatures"},ao={class:"container"},ro={class:"items"},io=g({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=b(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,o)=>n.features?(a(),l("div",no,[d("div",ao,[d("div",ro,[(a(!0),l(I,null,A(n.features,i=>(a(),l("div",{key:i.title,class:T(["item",[t.value]])},[f(oo,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):_("",!0)}}),lo=m(io,[["__scopeId","data-v-3c7db97b"]]),co=g({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=P();return(t,n)=>r(e).features?(a(),k(lo,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):_("",!0)}}),uo={class:"VPHome"},vo=g({__name:"VPHome",setup(s){return(e,t)=>{const n=K("Content");return a(),l("div",uo,[c(e.$slots,"home-hero-before",{},void 0,!0),f(Gs,null,{"home-hero-info-before":v(()=>[c(e.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[c(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[c(e.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[c(e.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[c(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(e.$slots,"home-hero-after",{},void 0,!0),c(e.$slots,"home-features-before",{},void 0,!0),f(co),c(e.$slots,"home-features-after",{},void 0,!0),f(n)])}}}),ho=m(vo,[["__scopeId","data-v-99014c63"]]),po={},fo={class:"VPPage"};function _o(s,e){const t=K("Content");return a(),l("div",fo,[c(s.$slots,"page-top"),f(t),c(s.$slots,"page-bottom")])}const mo=m(po,[["render",_o]]),go=g({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=P(),{hasSidebar:n}=F();return(o,i)=>(a(),l("div",{class:T(["VPContent",{"has-sidebar":r(n),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?c(o.$slots,"not-found",{key:0},()=>[f(mt)],!0):r(t).layout==="page"?(a(),k(mo,{key:1},{"page-top":v(()=>[c(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[c(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(ho,{key:2},{"home-hero-before":v(()=>[c(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[c(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[c(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[c(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(U(r(t).layout),{key:3})):(a(),k(Ps,{key:4},{"doc-top":v(()=>[c(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[c(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[c(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[c(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[c(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[c(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[c(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[c(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[c(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[c(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[c(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),$o=m(go,[["__scopeId","data-v-9e890393"]]),ko={class:"container"},bo=["innerHTML"],yo=["innerHTML"],wo=g({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=F();return(o,i)=>r(e).footer&&r(t).footer!==!1?(a(),l("footer",{key:0,class:T(["VPFooter",{"has-sidebar":r(n)}])},[d("div",ko,[r(e).footer.message?(a(),l("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,bo)):_("",!0),r(e).footer.copyright?(a(),l("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,yo)):_("",!0)])],2)):_("",!0)}}),Po=m(wo,[["__scopeId","data-v-90deca8b"]]);function Ne(){const{theme:s,frontmatter:e}=P(),t=Pe([]),n=b(()=>t.value.length>0);return ee(()=>{t.value=me(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:n}}const Vo={},Lo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},So=d("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),Mo=[So];function Co(s,e){return a(),l("svg",Lo,Mo)}const Be=m(Vo,[["render",Co]]),To={class:"header"},Io={class:"outline"},No=g({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=P(),n=M(!1),o=M(0),i=M(),u=M();Ke(i,()=>{n.value=!1}),le("Escape",()=>{n.value=!1}),ee(()=>{n.value=!1});function p(){n.value=!n.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function h(w){w.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),qe(()=>{n.value=!1}))}function $(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(w,y)=>(a(),l("div",{class:"VPLocalNavOutlineDropdown",style:Re({"--vp-vh":o.value+"px"}),ref_key:"main",ref:i},[w.headers.length>0?(a(),l("button",{key:0,onClick:p,class:T({open:n.value})},[H(L(r(Te)(r(t)))+" ",1),f(Be,{class:"icon"})],2)):(a(),l("button",{key:1,onClick:$},L(r(t).returnToTopLabel||"Return to top"),1)),f(ve,{name:"flyout"},{default:v(()=>[n.value?(a(),l("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:h},[d("div",To,[d("a",{class:"top-link",href:"#",onClick:$},L(r(t).returnToTopLabel||"Return to top"),1)]),d("div",Io,[f(Ie,{headers:w.headers},null,8,["headers"])])],512)):_("",!0)]),_:1})],4))}}),Bo=m(No,[["__scopeId","data-v-4c3fcc64"]]),Ao={},Ho={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},zo=d("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),Eo=d("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),Do=d("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Fo=d("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),Oo=[zo,Eo,Do,Fo];function Uo(s,e){return a(),l("svg",Ho,Oo)}const Go=m(Ao,[["render",Uo]]),xo={class:"container"},jo=["aria-expanded"],Ko={class:"menu-text"},Ro=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=F(),{headers:o}=Ne(),{y:i}=Le(),u=M(0);x(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ee(()=>{o.value=me(t.value.outline??e.value.outline)});const p=b(()=>o.value.length===0),h=b(()=>p.value&&!n.value),$=b(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:p.value,fixed:h.value}));return(w,y)=>r(t).layout!=="home"&&(!h.value||r(i)>=u.value)?(a(),l("div",{key:0,class:T($.value)},[d("div",xo,[r(n)?(a(),l("button",{key:0,class:"menu","aria-expanded":w.open,"aria-controls":"VPSidebarNav",onClick:y[0]||(y[0]=V=>w.$emit("open-menu"))},[f(Go,{class:"menu-icon"}),d("span",Ko,L(r(e).sidebarMenuLabel||"Menu"),1)],8,jo)):_("",!0),f(Bo,{headers:r(o),navHeight:u.value},null,8,["headers","navHeight"])])],2)):_("",!0)}}),qo=m(Ro,[["__scopeId","data-v-ccca73a7"]]);function Wo(){const s=M(!1);function e(){s.value=!0,window.addEventListener("resize",o)}function t(){s.value=!1,window.removeEventListener("resize",o)}function n(){s.value?t():e()}function o(){window.outerWidth>=768&&t()}const i=te();return j(()=>i.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:n}}const Yo={},Jo={class:"VPSwitch",type:"button",role:"switch"},Xo={class:"check"},Zo={key:0,class:"icon"};function Qo(s,e){return a(),l("button",Jo,[d("span",Xo,[s.$slots.default?(a(),l("span",Zo,[c(s.$slots,"default",{},void 0,!0)])):_("",!0)])])}const en=m(Yo,[["render",Qo],["__scopeId","data-v-8a795324"]]),tn={},sn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},on=d("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),nn=[on];function an(s,e){return a(),l("svg",sn,nn)}const rn=m(tn,[["render",an]]),ln={},cn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},un=We('',9),dn=[un];function vn(s,e){return a(),l("svg",cn,dn)}const hn=m(ln,[["render",vn]]),pn=g({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=P(),n=se("toggle-appearance",()=>{e.value=!e.value}),o=b(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(i,u)=>(a(),k(en,{title:o.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(n)},{default:v(()=>[f(hn,{class:"sun"}),f(rn,{class:"moon"})]),_:1},8,["title","aria-checked","onClick"]))}}),ge=m(pn,[["__scopeId","data-v-3e224d97"]]),fn={key:0,class:"VPNavBarAppearance"},_n=g({__name:"VPNavBarAppearance",setup(s){const{site:e}=P();return(t,n)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",fn,[f(ge)])):_("",!0)}}),mn=m(_n,[["__scopeId","data-v-0526b021"]]),$e=M();let Ae=!1,re=0;function gn(s){const e=M(!1);if(q){!Ae&&$n(),re++;const t=j($e,n=>{var o,i,u;n===s.el.value||(o=s.el.value)!=null&&o.contains(n)?(e.value=!0,(i=s.onFocus)==null||i.call(s)):(e.value=!1,(u=s.onBlur)==null||u.call(s))});pe(()=>{t(),re--,re||kn()})}return Ye(e)}function $n(){document.addEventListener("focusin",He),Ae=!0,$e.value=document.activeElement}function kn(){document.removeEventListener("focusin",He)}function He(){$e.value=document.activeElement}const bn={},yn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},wn=d("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),Pn=[wn];function Vn(s,e){return a(),l("svg",yn,Pn)}const ze=m(bn,[["render",Vn]]),Ln={},Sn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Mn=d("circle",{cx:"12",cy:"12",r:"2"},null,-1),Cn=d("circle",{cx:"19",cy:"12",r:"2"},null,-1),Tn=d("circle",{cx:"5",cy:"12",r:"2"},null,-1),In=[Mn,Cn,Tn];function Nn(s,e){return a(),l("svg",Sn,In)}const Bn=m(Ln,[["render",Nn]]),An={class:"VPMenuLink"},Hn=g({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),l("div",An,[f(z,{class:T({active:r(G)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:v(()=>[H(L(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),oe=m(Hn,[["__scopeId","data-v-ad78ca32"]]),zn={class:"VPMenuGroup"},En={key:0,class:"title"},Dn=g({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),l("div",zn,[e.text?(a(),l("p",En,L(e.text),1)):_("",!0),(a(!0),l(I,null,A(e.items,n=>(a(),l(I,null,["link"in n?(a(),k(oe,{key:0,item:n},null,8,["item"])):_("",!0)],64))),256))]))}}),Fn=m(Dn,[["__scopeId","data-v-3fbe2ec4"]]),On={class:"VPMenu"},Un={key:0,class:"items"},Gn=g({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),l("div",On,[e.items?(a(),l("div",Un,[(a(!0),l(I,null,A(e.items,n=>(a(),l(I,{key:n.text},["link"in n?(a(),k(oe,{key:0,item:n},null,8,["item"])):(a(),k(Fn,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):_("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),xn=m(Gn,[["__scopeId","data-v-25e7ed71"]]),jn=["aria-expanded","aria-label"],Kn={key:0,class:"text"},Rn=["innerHTML"],qn={class:"menu"},Wn=g({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=M(!1),t=M();gn({el:t,onBlur:n});function n(){e.value=!1}return(o,i)=>(a(),l("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=u=>e.value=!0),onMouseleave:i[2]||(i[2]=u=>e.value=!1)},[d("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:i[0]||(i[0]=u=>e.value=!e.value)},[o.button||o.icon?(a(),l("span",Kn,[o.icon?(a(),k(U(o.icon),{key:0,class:"option-icon"})):_("",!0),o.button?(a(),l("span",{key:1,innerHTML:o.button},null,8,Rn)):_("",!0),f(ze,{class:"text-icon"})])):(a(),k(Bn,{key:1,class:"icon"}))],8,jn),d("div",qn,[f(xn,{items:o.items},{default:v(()=>[c(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ke=m(Wn,[["__scopeId","data-v-0cac1181"]]),Yn={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',npm:'npm',slack:'Slack',twitter:'Twitter',x:'X',youtube:'YouTube'},Jn=["href","aria-label","innerHTML"],Xn=g({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=b(()=>typeof e.icon=="object"?e.icon.svg:Yn[e.icon]);return(n,o)=>(a(),l("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Jn))}}),Zn=m(Xn,[["__scopeId","data-v-85ec275a"]]),Qn={class:"VPSocialLinks"},ea=g({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),l("div",Qn,[(a(!0),l(I,null,A(e.links,({link:n,icon:o,ariaLabel:i})=>(a(),k(Zn,{key:n,icon:o,link:n,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),be=m(ea,[["__scopeId","data-v-000a3a55"]]),ta={key:0,class:"group translations"},sa={class:"trans-title"},oa={key:1,class:"group"},na={class:"item appearance"},aa={class:"label"},ra={class:"appearance-action"},ia={key:2,class:"group"},la={class:"item social-links"},ca=g({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=P(),{localeLinks:n,currentLang:o}=W({correspondingLink:!0}),i=b(()=>n.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(u,p)=>i.value?(a(),k(ke,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[r(n).length&&r(o).label?(a(),l("div",ta,[d("p",sa,L(r(o).label),1),(a(!0),l(I,null,A(r(n),h=>(a(),k(oe,{key:h.link,item:h},null,8,["item"]))),128))])):_("",!0),r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",oa,[d("div",na,[d("p",aa,L(r(t).darkModeSwitchLabel||"Appearance"),1),d("div",ra,[f(ge)])])])):_("",!0),r(t).socialLinks?(a(),l("div",ia,[d("div",la,[f(be,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):_("",!0)]),_:1})):_("",!0)}}),ua=m(ca,[["__scopeId","data-v-445cadc7"]]),da=s=>(E("data-v-830b0291"),s=s(),D(),s),va=["aria-expanded"],ha=da(()=>d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)),pa=[ha],fa=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),l("button",{type:"button",class:T(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},pa,10,va))}}),_a=m(fa,[["__scopeId","data-v-830b0291"]]),ma=["innerHTML"],ga=g({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),k(z,{class:T({VPNavBarMenuLink:!0,active:r(G)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:v(()=>[d("span",{innerHTML:t.item.text},null,8,ma)]),_:1},8,["class","href","target","rel"]))}}),$a=m(ga,[["__scopeId","data-v-6c9a67f3"]]),ka=g({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=P(),n=i=>"link"in i?G(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(n),o=b(()=>n(e.item));return(i,u)=>(a(),k(ke,{class:T({VPNavBarMenuGroup:!0,active:r(G)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||o.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),ba=s=>(E("data-v-06bc1427"),s=s(),D(),s),ya={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},wa=ba(()=>d("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Pa=g({__name:"VPNavBarMenu",setup(s){const{theme:e}=P();return(t,n)=>r(e).nav?(a(),l("nav",ya,[wa,(a(!0),l(I,null,A(r(e).nav,o=>(a(),l(I,{key:o.text},["link"in o?(a(),k($a,{key:0,item:o},null,8,["item"])):(a(),k(ka,{key:1,item:o},null,8,["item"]))],64))),128))])):_("",!0)}}),Va=m(Pa,[["__scopeId","data-v-06bc1427"]]);function La(s){const{localeIndex:e,theme:t}=P();function n(o){var N,B,C;const i=o.split("."),u=(N=t.value.search)==null?void 0:N.options,p=u&&typeof u=="object",h=p&&((C=(B=u.locales)==null?void 0:B[e.value])==null?void 0:C.translations)||null,$=p&&u.translations||null;let w=h,y=$,V=s;const S=i.pop();for(const Y of i){let O=null;const R=V==null?void 0:V[Y];R&&(O=V=R);const ne=y==null?void 0:y[Y];ne&&(O=y=ne);const ae=w==null?void 0:w[Y];ae&&(O=w=ae),R||(V=O),ne||(y=O),ae||(w=O)}return(w==null?void 0:w[S])??(y==null?void 0:y[S])??(V==null?void 0:V[S])??""}return n}const Sa=["aria-label"],Ma={class:"DocSearch-Button-Container"},Ca=d("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[d("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Ta={class:"DocSearch-Button-Placeholder"},Ia=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ye=g({__name:"VPNavBarSearchButton",setup(s){const t=La({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,o)=>(a(),l("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[d("span",Ma,[Ca,d("span",Ta,L(r(t)("button.buttonText")),1)]),Ia],8,Sa))}}),Na={class:"VPNavBarSearch"},Ba={id:"local-search"},Aa={key:1,id:"docsearch"},Ha=g({__name:"VPNavBarSearch",setup(s){const e=Je(()=>Xe(()=>import("./VPLocalSearchBox.-iAUueMW.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:n}=P(),o=M(!1),i=M(!1);x(()=>{});function u(){o.value||(o.value=!0,setTimeout(p,16))}function p(){const y=new Event("keydown");y.key="k",y.metaKey=!0,window.dispatchEvent(y),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||p()},16)}function h(y){const V=y.target,S=V.tagName;return V.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const $=M(!1);le("k",y=>{(y.ctrlKey||y.metaKey)&&(y.preventDefault(),$.value=!0)}),le("/",y=>{h(y)||(y.preventDefault(),$.value=!0)});const w="local";return(y,V)=>{var S;return a(),l("div",Na,[r(w)==="local"?(a(),l(I,{key:0},[$.value?(a(),k(r(e),{key:0,onClose:V[0]||(V[0]=N=>$.value=!1)})):_("",!0),d("div",Ba,[f(ye,{onClick:V[1]||(V[1]=N=>$.value=!0)})])],64)):r(w)==="algolia"?(a(),l(I,{key:1},[o.value?(a(),k(r(t),{key:0,algolia:((S=r(n).search)==null?void 0:S.options)??r(n).algolia,onVnodeBeforeMount:V[2]||(V[2]=N=>i.value=!0)},null,8,["algolia"])):_("",!0),i.value?_("",!0):(a(),l("div",Aa,[f(ye,{onClick:u})]))],64)):_("",!0)])}}}),za=g({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>r(e).socialLinks?(a(),k(be,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):_("",!0)}}),Ea=m(za,[["__scopeId","data-v-b3943666"]]),Da=["href","rel","target"],Fa={key:1},Oa={key:2},Ua=g({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=P(),{hasSidebar:n}=F(),{currentLang:o}=W(),i=b(()=>{var h;return typeof t.value.logoLink=="string"?t.value.logoLink:(h=t.value.logoLink)==null?void 0:h.link}),u=b(()=>{var h;return typeof t.value.logoLink=="string"||(h=t.value.logoLink)==null?void 0:h.rel}),p=b(()=>{var h;return typeof t.value.logoLink=="string"||(h=t.value.logoLink)==null?void 0:h.target});return(h,$)=>(a(),l("div",{class:T(["VPNavBarTitle",{"has-sidebar":r(n)}])},[d("a",{class:"title",href:i.value??r(fe)(r(o).link),rel:u.value,target:p.value},[c(h.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(Z,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):_("",!0),r(t).siteTitle?(a(),l("span",Fa,L(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),l("span",Oa,L(r(e).title),1)):_("",!0),c(h.$slots,"nav-bar-title-after",{},void 0,!0)],8,Da)],2))}}),Ga=m(Ua,[["__scopeId","data-v-10f652c7"]]),xa={},ja={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ka=d("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),Ra=d("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),qa=[Ka,Ra];function Wa(s,e){return a(),l("svg",ja,qa)}const Ee=m(xa,[["render",Wa]]),Ya={class:"items"},Ja={class:"title"},Xa=g({__name:"VPNavBarTranslations",setup(s){const{theme:e}=P(),{localeLinks:t,currentLang:n}=W({correspondingLink:!0});return(o,i)=>r(t).length&&r(n).label?(a(),k(ke,{key:0,class:"VPNavBarTranslations",icon:Ee,label:r(e).langMenuLabel||"Change language"},{default:v(()=>[d("div",Ya,[d("p",Ja,L(r(n).label),1),(a(!0),l(I,null,A(r(t),u=>(a(),k(oe,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):_("",!0)}}),Za=m(Xa,[["__scopeId","data-v-02e31601"]]),Qa=s=>(E("data-v-27d23f78"),s=s(),D(),s),er={class:"wrapper"},tr={class:"container"},sr={class:"title"},or={class:"content"},nr={class:"content-body"},ar=Qa(()=>d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1)),rr=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const{y:e}=Le(),{hasSidebar:t}=F(),{hasLocalNav:n}=Ne(),{frontmatter:o}=P(),i=M({});return we(()=>{i.value={"has-sidebar":t.value,"has-local-nav":n.value,top:o.value.layout==="home"&&e.value===0}}),(u,p)=>(a(),l("div",{class:T(["VPNavBar",i.value])},[d("div",er,[d("div",tr,[d("div",sr,[f(Ga,null,{"nav-bar-title-before":v(()=>[c(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[c(u.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",or,[d("div",nr,[c(u.$slots,"nav-bar-content-before",{},void 0,!0),f(Ha,{class:"search"}),f(Va,{class:"menu"}),f(Za,{class:"translations"}),f(mn,{class:"appearance"}),f(Ea,{class:"social-links"}),f(ua,{class:"extra"}),c(u.$slots,"nav-bar-content-after",{},void 0,!0),f(_a,{class:"hamburger",active:u.isScreenOpen,onClick:p[0]||(p[0]=h=>u.$emit("toggle-screen"))},null,8,["active"])])])])]),ar],2))}}),ir=m(rr,[["__scopeId","data-v-27d23f78"]]),lr={key:0,class:"VPNavScreenAppearance"},cr={class:"text"},ur=g({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=P();return(n,o)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",lr,[d("p",cr,L(r(t).darkModeSwitchLabel||"Appearance"),1),f(ge)])):_("",!0)}}),dr=m(ur,[["__scopeId","data-v-9e9485dd"]]),vr=g({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=se("close-screen");return(t,n)=>(a(),k(z,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:v(()=>[H(L(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),hr=m(vr,[["__scopeId","data-v-b18e5154"]]),pr={},fr={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},_r=d("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),mr=[_r];function gr(s,e){return a(),l("svg",fr,mr)}const $r=m(pr,[["render",gr]]),kr=g({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=se("close-screen");return(t,n)=>(a(),k(z,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:v(()=>[H(L(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),De=m(kr,[["__scopeId","data-v-a8c5c1e2"]]),br={class:"VPNavScreenMenuGroupSection"},yr={key:0,class:"title"},wr=g({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),l("div",br,[e.text?(a(),l("p",yr,L(e.text),1)):_("",!0),(a(!0),l(I,null,A(e.items,n=>(a(),k(De,{key:n.text,item:n},null,8,["item"]))),128))]))}}),Pr=m(wr,[["__scopeId","data-v-cddbe450"]]),Vr=["aria-controls","aria-expanded"],Lr=["innerHTML"],Sr=["id"],Mr={key:1,class:"group"},Cr=g({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=M(!1),n=b(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(i,u)=>(a(),l("div",{class:T(["VPNavScreenMenuGroup",{open:t.value}])},[d("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:o},[d("span",{class:"button-text",innerHTML:i.text},null,8,Lr),f($r,{class:"button-icon"})],8,Vr),d("div",{id:n.value,class:"items"},[(a(!0),l(I,null,A(i.items,p=>(a(),l(I,{key:p.text},["link"in p?(a(),l("div",{key:p.text,class:"item"},[f(De,{item:p},null,8,["item"])])):(a(),l("div",Mr,[f(Pr,{text:p.text,items:p.items},null,8,["text","items"])]))],64))),128))],8,Sr)],2))}}),Tr=m(Cr,[["__scopeId","data-v-822d7f90"]]),Ir={key:0,class:"VPNavScreenMenu"},Nr=g({__name:"VPNavScreenMenu",setup(s){const{theme:e}=P();return(t,n)=>r(e).nav?(a(),l("nav",Ir,[(a(!0),l(I,null,A(r(e).nav,o=>(a(),l(I,{key:o.text},["link"in o?(a(),k(hr,{key:0,item:o},null,8,["item"])):(a(),k(Tr,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):_("",!0)}}),Br=g({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>r(e).socialLinks?(a(),k(be,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):_("",!0)}}),Ar={class:"list"},Hr=g({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=W({correspondingLink:!0}),n=M(!1);function o(){n.value=!n.value}return(i,u)=>r(e).length&&r(t).label?(a(),l("div",{key:0,class:T(["VPNavScreenTranslations",{open:n.value}])},[d("button",{class:"title",onClick:o},[f(Ee,{class:"icon lang"}),H(" "+L(r(t).label)+" ",1),f(ze,{class:"icon chevron"})]),d("ul",Ar,[(a(!0),l(I,null,A(r(e),p=>(a(),l("li",{key:p.link,class:"item"},[f(z,{class:"link",href:p.link},{default:v(()=>[H(L(p.text),1)]),_:2},1032,["href"])]))),128))])],2)):_("",!0)}}),zr=m(Hr,[["__scopeId","data-v-f4879e2b"]]),Er={class:"container"},Dr=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=M(null),t=Se(q?document.body:null);return(n,o)=>(a(),k(ve,{name:"fade",onEnter:o[0]||(o[0]=i=>t.value=!0),onAfterLeave:o[1]||(o[1]=i=>t.value=!1)},{default:v(()=>[n.open?(a(),l("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[d("div",Er,[c(n.$slots,"nav-screen-content-before",{},void 0,!0),f(Nr,{class:"menu"}),f(zr,{class:"translations"}),f(dr,{class:"appearance"}),f(Br,{class:"social-links"}),c(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):_("",!0)]),_:3}))}}),Fr=m(Dr,[["__scopeId","data-v-7953505f"]]),Or={key:0,class:"VPNav"},Ur=g({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Wo(),{frontmatter:o}=P(),i=b(()=>o.value.navbar!==!1);return Me("close-screen",t),Q(()=>{q&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(u,p)=>i.value?(a(),l("header",Or,[f(ir,{"is-screen-open":r(e),onToggleScreen:r(n)},{"nav-bar-title-before":v(()=>[c(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[c(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[c(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[c(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),f(Fr,{open:r(e)},{"nav-screen-content-before":v(()=>[c(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[c(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):_("",!0)}}),Gr=m(Ur,[["__scopeId","data-v-db14e802"]]),xr=s=>(E("data-v-0652bced"),s=s(),D(),s),jr=["role","tabindex"],Kr=xr(()=>d("div",{class:"indicator"},null,-1)),Rr={key:1,class:"items"},qr=g({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:n,isLink:o,isActiveLink:i,hasActiveLink:u,hasChildren:p,toggle:h}=bt(b(()=>e.item)),$=b(()=>p.value?"section":"div"),w=b(()=>o.value?"a":"div"),y=b(()=>p.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),V=b(()=>o.value?void 0:"button"),S=b(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":o.value},{"is-active":i.value},{"has-active":u.value}]);function N(C){"key"in C&&C.key!=="Enter"||!e.item.link&&h()}function B(){e.item.link&&h()}return(C,Y)=>{const O=K("VPSidebarItem",!0);return a(),k(U($.value),{class:T(["VPSidebarItem",S.value])},{default:v(()=>[C.item.text?(a(),l("div",J({key:0,class:"item",role:V.value},Qe(C.item.items?{click:N,keydown:N}:{},!0),{tabindex:C.item.items&&0}),[Kr,C.item.link?(a(),k(z,{key:0,tag:w.value,class:"link",href:C.item.link,rel:C.item.rel,target:C.item.target},{default:v(()=>[(a(),k(U(y.value),{class:"text",innerHTML:C.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(U(y.value),{key:1,class:"text",innerHTML:C.item.text},null,8,["innerHTML"])),C.item.collapsed!=null?(a(),l("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:B,onKeydown:Ze(B,["enter"]),tabindex:"0"},[f(Be,{class:"caret-icon"})],32)):_("",!0)],16,jr)):_("",!0),C.item.items&&C.item.items.length?(a(),l("div",Rr,[C.depth<5?(a(!0),l(I,{key:0},A(C.item.items,R=>(a(),k(O,{key:R.text,item:R,depth:C.depth+1},null,8,["item","depth"]))),128)):_("",!0)])):_("",!0)]),_:1},8,["class"])}}}),Wr=m(qr,[["__scopeId","data-v-0652bced"]]),Fe=s=>(E("data-v-321b74c9"),s=s(),D(),s),Yr=Fe(()=>d("div",{class:"curtain"},null,-1)),Jr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Xr=Fe(()=>d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Zr=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=F(),n=s,o=M(null),i=Se(q?document.body:null);return j([n,o],()=>{var u;n.open?(i.value=!0,(u=o.value)==null||u.focus()):i.value=!1},{immediate:!0,flush:"post"}),(u,p)=>r(t)?(a(),l("aside",{key:0,class:T(["VPSidebar",{open:u.open}]),ref_key:"navEl",ref:o,onClick:p[0]||(p[0]=et(()=>{},["stop"]))},[Yr,d("nav",Jr,[Xr,c(u.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),l(I,null,A(r(e),h=>(a(),l("div",{key:h.text,class:"group"},[f(Wr,{item:h,depth:0},null,8,["item"])]))),128)),c(u.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):_("",!0)}}),Qr=m(Zr,[["__scopeId","data-v-321b74c9"]]),ei=g({__name:"VPSkipLink",setup(s){const e=te(),t=M();j(()=>e.path,()=>t.value.focus());function n({target:o}){const i=document.getElementById(decodeURIComponent(o.hash).slice(1));if(i){const u=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",u)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",u),i.focus(),window.scrollTo(0,0)}}return(o,i)=>(a(),l(I,null,[d("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),ti=m(ei,[["__scopeId","data-v-1f635c64"]]),si=g({__name:"Layout",setup(s){const{isOpen:e,open:t,close:n}=F(),o=te();j(()=>o.path,n),kt(e,n);const{frontmatter:i}=P(),u=tt(),p=b(()=>!!u["home-hero-image"]);return Me("hero-image-slot-exists",p),(h,$)=>{const w=K("Content");return r(i).layout!==!1?(a(),l("div",{key:0,class:T(["Layout",r(i).pageClass])},[c(h.$slots,"layout-top",{},void 0,!0),f(ti),f(at,{class:"backdrop",show:r(e),onClick:r(n)},null,8,["show","onClick"]),f(Gr,null,{"nav-bar-title-before":v(()=>[c(h.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[c(h.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[c(h.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[c(h.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[c(h.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[c(h.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),f(qo,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),f(Qr,{open:r(e)},{"sidebar-nav-before":v(()=>[c(h.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[c(h.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),f($o,null,{"page-top":v(()=>[c(h.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[c(h.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[c(h.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[c(h.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[c(h.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[c(h.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[c(h.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[c(h.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[c(h.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[c(h.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[c(h.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[c(h.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[c(h.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[c(h.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[c(h.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[c(h.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[c(h.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[c(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[c(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[c(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[c(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[c(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[c(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),f(Po),c(h.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(w,{key:1}))}}}),oi=m(si,[["__scopeId","data-v-dddf125a"]]),ai={Layout:oi,enhanceApp:({app:s})=>{s.component("Badge",st)}};export{La as c,ai as t,P as u}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["assets/chunks/VPLocalSearchBox.-iAUueMW.js","assets/chunks/framework.cYNwvFF8.js"] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} diff --git a/assets/chunks/theme.BYCnEqj-.js b/assets/chunks/theme.BYCnEqj-.js new file mode 100644 index 00000000..10c0ab1c --- /dev/null +++ b/assets/chunks/theme.BYCnEqj-.js @@ -0,0 +1,7 @@ +import{d as _,o as a,c,r as l,n as N,a as F,t as S,b,w as d,T as ve,e as f,_ as k,u as Ge,i as je,f as ze,g as pe,h as T,j as R,k as g,l as j,m as v,p as r,q as B,s as H,v as G,x as ie,y as z,z as x,A as he,B as Pe,C as Ke,D as qe,E as K,F as M,G as E,H as Ve,I as ee,J as m,K as W,L as Le,M as te,N as Q,O as oe,P as We,Q as Se,R as Re,S as le,U as Je,V as we,W as Ye,X as Qe,Y as Xe,Z as Te,$ as Ie,a0 as Ze,a1 as xe,a2 as et,a3 as tt}from"./framework.IXvbZIHp.js";const ot=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),c("span",{class:N(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[F(S(e.text),1)])],2))}}),st={key:0,class:"VPBackdrop"},nt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),b(ve,{name:"fade"},{default:d(()=>[e.show?(a(),c("div",st)):f("",!0)]),_:1}))}}),at=k(nt,[["__scopeId","data-v-ab90202b"]]),V=Ge;function rt(o,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(o,e):(o(),(n=!0)&&setTimeout(()=>n=!1,e))}}function ce(o){return/^\//.test(o)?o:`/${o}`}function fe(o){const{pathname:e,search:t,hash:n,protocol:s}=new URL(o,"http://a.com");if(je(o)||o.startsWith("#")||!s.startsWith("http")||!ze(e))return o;const{site:i}=V(),u=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${n}`);return pe(u)}const _e=T(R?location.hash:"");R&&window.addEventListener("hashchange",()=>{_e.value=location.hash});function J({removeCurrent:o=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:s,theme:i}=V(),u=g(()=>{var p,$;return{label:(p=t.value.locales[n.value])==null?void 0:p.label,link:(($=t.value.locales[n.value])==null?void 0:$.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:g(()=>Object.entries(t.value.locales).flatMap(([p,$])=>o&&u.value.label===$.label?[]:{text:$.label,link:it($.link||(p==="root"?"/":`/${p}/`),i.value.i18nRouting!==!1&&e,s.value.relativePath.slice(u.value.link.length-1),!t.value.cleanUrls)+_e.value})),currentLang:u}}function it(o,e,t,n){return e?o.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):o}const lt=o=>(B("data-v-3ffa6004"),o=o(),H(),o),ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},vt=lt(()=>v("div",{class:"divider"},null,-1)),pt={class:"quote"},ht={class:"action"},ft=["href","aria-label"],_t=_({__name:"NotFound",setup(o){const{site:e,theme:t}=V(),{localeLinks:n}=J({removeCurrent:!1}),s=T("/");return j(()=>{var u;const i=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(s.value=((u=n.value.find(({link:h})=>h.startsWith(i)))==null?void 0:u.link)||n.value[0].link)}),(i,u)=>{var h,p,$,P,y;return a(),c("div",ct,[v("p",ut,S(((h=r(t).notFound)==null?void 0:h.code)??"404"),1),v("h1",dt,S(((p=r(t).notFound)==null?void 0:p.title)??"PAGE NOT FOUND"),1),vt,v("blockquote",pt,S((($=r(t).notFound)==null?void 0:$.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",ht,[v("a",{class:"link",href:r(pe)(s.value),"aria-label":((P=r(t).notFound)==null?void 0:P.linkLabel)??"go to home"},S(((y=r(t).notFound)==null?void 0:y.linkText)??"Take me home"),9,ft)])])}}}),mt=k(_t,[["__scopeId","data-v-3ffa6004"]]);function Ne(o,e){if(Array.isArray(o))return X(o);if(o==null)return[];e=ce(e);const t=Object.keys(o).sort((s,i)=>i.split("/").length-s.split("/").length).find(s=>e.startsWith(ce(s))),n=t?o[t]:[];return Array.isArray(n)?X(n):X(n.items,n.base)}function kt(o){const e=[];let t=0;for(const n in o){const s=o[n];if(s.items){t=e.push(s);continue}e[t]||e.push({items:[]}),e[t].items.push(s)}return e}function $t(o){const e=[];function t(n){for(const s of n)s.text&&s.link&&e.push({text:s.text,link:s.link,docFooterText:s.docFooterText}),s.items&&t(s.items)}return t(o),e}function ue(o,e){return Array.isArray(e)?e.some(t=>ue(o,t)):G(o,e.link)?!0:e.items?ue(o,e.items):!1}function X(o,e){return[...o].map(t=>{const n={...t},s=n.base||e;return s&&n.link&&(n.link=s+n.link),n.items&&(n.items=X(n.items,s)),n})}function O(){const{frontmatter:o,page:e,theme:t}=V(),n=ie("(min-width: 960px)"),s=T(!1),i=g(()=>{const C=t.value.sidebar,I=e.value.relativePath;return C?Ne(C,I):[]}),u=T(i.value);z(i,(C,I)=>{JSON.stringify(C)!==JSON.stringify(I)&&(u.value=i.value)});const h=g(()=>o.value.sidebar!==!1&&u.value.length>0&&o.value.layout!=="home"),p=g(()=>$?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),$=g(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),P=g(()=>h.value&&n.value),y=g(()=>h.value?kt(u.value):[]);function L(){s.value=!0}function w(){s.value=!1}function A(){s.value?w():L()}return{isOpen:s,sidebar:u,sidebarGroups:y,hasSidebar:h,hasAside:$,leftAside:p,isSidebarEnabled:P,open:L,close:w,toggle:A}}function bt(o,e){let t;x(()=>{t=o.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",n)}),he(()=>{window.removeEventListener("keyup",n)});function n(s){s.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function gt(o){const{page:e}=V(),t=T(!1),n=g(()=>o.value.collapsed!=null),s=g(()=>!!o.value.link),i=T(!1),u=()=>{i.value=G(e.value.relativePath,o.value.link)};z([e,o,_e],u),j(u);const h=g(()=>i.value?!0:o.value.items?ue(e.value.relativePath,o.value.items):!1),p=g(()=>!!(o.value.items&&o.value.items.length));x(()=>{t.value=!!(n.value&&o.value.collapsed)}),Pe(()=>{(i.value||h.value)&&(t.value=!1)});function $(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:s,isActiveLink:i,hasActiveLink:h,hasChildren:p,toggle:$}}function yt(){const{hasSidebar:o}=O(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:g(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const de=[];function Me(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function me(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{element:t,title:Pt(t),link:"#"+t.id,level:n}});return Vt(e,o)}function Pt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Vt(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,s]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(u=>u.level>=n&&u.level<=s),de.length=0;for(const{element:u,link:h}of o)de.push({element:u,link:h});const i=[];e:for(let u=0;u=0;p--){const $=o[p];if($.level{requestAnimationFrame(i),window.addEventListener("scroll",n)}),Ke(()=>{u(location.hash)}),he(()=>{window.removeEventListener("scroll",n)});function i(){if(!t.value)return;const h=window.scrollY,p=window.innerHeight,$=document.body.offsetHeight,P=Math.abs(h+p-$)<1,y=de.map(({element:w,link:A})=>({link:A,top:St(w)})).filter(({top:w})=>!Number.isNaN(w)).sort((w,A)=>w.top-A.top);if(!y.length){u(null);return}if(h<1){u(null);return}if(P){u(y[y.length-1].link);return}let L=null;for(const{link:w,top:A}of y){if(A>h+qe()+4)break;L=w}u(L)}function u(h){s&&s.classList.remove("active"),h==null?s=null:s=o.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const p=s;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function St(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const wt=["href","title"],Tt=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const n=t.href.split("#")[1],s=document.getElementById(decodeURIComponent(n));s==null||s.focus({preventScroll:!0})}return(t,n)=>{const s=K("VPDocOutlineItem",!0);return a(),c("ul",{class:N(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),c(M,null,E(t.headers,({children:i,link:u,title:h})=>(a(),c("li",null,[v("a",{class:"outline-link",href:u,onClick:e,title:h},S(h),9,wt),i!=null&&i.length?(a(),b(s,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Ae=k(Tt,[["__scopeId","data-v-1bb91e5e"]]),It=o=>(B("data-v-43b33fd7"),o=o(),H(),o),Nt={class:"content"},Mt={class:"outline-title",role:"heading","aria-level":"2"},At={"aria-labelledby":"doc-outline-aria-label"},Ct=It(()=>v("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Bt=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=V(),n=Ve([]);ee(()=>{n.value=me(e.value.outline??t.value.outline)});const s=T(),i=T();return Lt(s,i),(u,h)=>(a(),c("div",{class:N(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:s,role:"navigation"},[v("div",Nt,[v("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),v("div",Mt,S(r(Me)(r(t))),1),v("nav",At,[Ct,m(Ae,{headers:n.value,root:!0},null,8,["headers"])])])],2))}}),Ht=k(Bt,[["__scopeId","data-v-43b33fd7"]]),Et={class:"VPDocAsideCarbonAds"},Ft=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,n)=>(a(),c("div",Et,[m(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Dt=o=>(B("data-v-9a092dc1"),o=o(),H(),o),Ot={class:"VPDocAside"},Ut=Dt(()=>v("div",{class:"spacer"},null,-1)),Gt=_({__name:"VPDocAside",setup(o){const{theme:e}=V();return(t,n)=>(a(),c("div",Ot,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),m(Ht),l(t.$slots,"aside-outline-after",{},void 0,!0),Ut,l(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),b(Ft,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):f("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),jt=k(Gt,[["__scopeId","data-v-9a092dc1"]]);function zt(){const{theme:o,page:e}=V();return g(()=>{const{text:t="Edit this page",pattern:n=""}=o.value.editLink||{};let s;return typeof n=="function"?s=n(e.value):s=n.replace(/:path/g,e.value.filePath),{url:s,text:t}})}function Kt(){const{page:o,theme:e,frontmatter:t}=V();return g(()=>{var p,$,P,y,L,w,A,C;const n=Ne(e.value.sidebar,o.value.relativePath),s=$t(n),i=s.findIndex(I=>G(o.value.relativePath,I.link)),u=((p=e.value.docFooter)==null?void 0:p.prev)===!1&&!t.value.prev||t.value.prev===!1,h=(($=e.value.docFooter)==null?void 0:$.next)===!1&&!t.value.next||t.value.next===!1;return{prev:u?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((P=s[i-1])==null?void 0:P.docFooterText)??((y=s[i-1])==null?void 0:y.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((L=s[i-1])==null?void 0:L.link)},next:h?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((w=s[i+1])==null?void 0:w.docFooterText)??((A=s[i+1])==null?void 0:A.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((C=s[i+1])==null?void 0:C.link)}}})}const D=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=g(()=>e.tag??(e.href?"a":"span")),n=g(()=>e.href&&Le.test(e.href));return(s,i)=>(a(),b(W(t.value),{class:N(["VPLink",{link:s.href,"vp-external-link-icon":n.value,"no-icon":s.noIcon}]),href:s.href?r(fe)(s.href):void 0,target:s.target??(n.value?"_blank":void 0),rel:s.rel??(n.value?"noreferrer":void 0)},{default:d(()=>[l(s.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),qt={class:"VPLastUpdated"},Wt=["datetime"],Rt=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,frontmatter:n,lang:s}=V(),i=g(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),u=g(()=>i.value.toISOString()),h=T("");return j(()=>{x(()=>{var p,$,P;h.value=new Intl.DateTimeFormat(($=(p=e.value.lastUpdated)==null?void 0:p.formatOptions)!=null&&$.forceLocale?s.value:void 0,((P=e.value.lastUpdated)==null?void 0:P.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(i.value)})}),(p,$)=>{var P;return a(),c("p",qt,[F(S(((P=r(e).lastUpdated)==null?void 0:P.text)||r(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:u.value},S(h.value),9,Wt)])}}}),Jt=k(Rt,[["__scopeId","data-v-c48d53e7"]]),Yt=o=>(B("data-v-46220f1b"),o=o(),H(),o),Qt={key:0,class:"VPDocFooter"},Xt={key:0,class:"edit-info"},Zt={key:0,class:"edit-link"},xt=Yt(()=>v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),eo={key:1,class:"last-updated"},to={key:1,class:"prev-next"},oo={class:"pager"},so=["innerHTML"],no=["innerHTML"],ao={class:"pager"},ro=["innerHTML"],io=["innerHTML"],lo=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:n}=V(),s=zt(),i=Kt(),u=g(()=>e.value.editLink&&n.value.editLink!==!1),h=g(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),p=g(()=>u.value||h.value||i.value.prev||i.value.next);return($,P)=>{var y,L,w,A;return p.value?(a(),c("footer",Qt,[l($.$slots,"doc-footer-before",{},void 0,!0),u.value||h.value?(a(),c("div",Xt,[u.value?(a(),c("div",Zt,[m(D,{class:"edit-link-button",href:r(s).url,"no-icon":!0},{default:d(()=>[xt,F(" "+S(r(s).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),c("div",eo,[m(Jt)])):f("",!0)])):f("",!0),(y=r(i).prev)!=null&&y.link||(L=r(i).next)!=null&&L.link?(a(),c("nav",to,[v("div",oo,[(w=r(i).prev)!=null&&w.link?(a(),b(D,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:d(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,so),v("span",{class:"title",innerHTML:r(i).prev.text},null,8,no)]}),_:1},8,["href"])):f("",!0)]),v("div",ao,[(A=r(i).next)!=null&&A.link?(a(),b(D,{key:0,class:"pager-link next",href:r(i).next.link},{default:d(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,ro),v("span",{class:"title",innerHTML:r(i).next.text},null,8,io)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),co=k(lo,[["__scopeId","data-v-46220f1b"]]),uo=o=>(B("data-v-e4ff8cac"),o=o(),H(),o),vo={class:"container"},po=uo(()=>v("div",{class:"aside-curtain"},null,-1)),ho={class:"aside-container"},fo={class:"aside-content"},_o={class:"content"},mo={class:"content-container"},ko={class:"main"},$o=_({__name:"VPDoc",setup(o){const{theme:e}=V(),t=te(),{hasSidebar:n,hasAside:s,leftAside:i}=O(),u=g(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,p)=>{const $=K("Content");return a(),c("div",{class:N(["VPDoc",{"has-sidebar":r(n),"has-aside":r(s)}])},[l(h.$slots,"doc-top",{},void 0,!0),v("div",vo,[r(s)?(a(),c("div",{key:0,class:N(["aside",{"left-aside":r(i)}])},[po,v("div",ho,[v("div",fo,[m(jt,null,{"aside-top":d(()=>[l(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),v("div",_o,[v("div",mo,[l(h.$slots,"doc-before",{},void 0,!0),v("main",ko,[m($,{class:N(["vp-doc",[u.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),m(co,null,{"doc-footer-before":d(()=>[l(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(h.$slots,"doc-after",{},void 0,!0)])])]),l(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),bo=k($o,[["__scopeId","data-v-e4ff8cac"]]),go=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=g(()=>e.href&&Le.test(e.href)),n=g(()=>e.tag||e.href?"a":"button");return(s,i)=>(a(),b(W(n.value),{class:N(["VPButton",[s.size,s.theme]]),href:s.href?r(fe)(s.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:d(()=>[F(S(s.text),1)]),_:1},8,["class","href","target","rel"]))}}),yo=k(go,[["__scopeId","data-v-0a6aee27"]]),Po=["src","alt"],Vo=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const n=K("VPImage",!0);return e.image?(a(),c(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),c("img",Q({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(pe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Po)):(a(),c(M,{key:1},[m(n,Q({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),m(n,Q({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),Z=k(Vo,[["__scopeId","data-v-de050e01"]]),Lo=o=>(B("data-v-7cc30268"),o=o(),H(),o),So={class:"container"},wo={class:"main"},To={key:0,class:"name"},Io=["innerHTML"],No=["innerHTML"],Mo=["innerHTML"],Ao={key:0,class:"actions"},Co={key:0,class:"image"},Bo={class:"image-container"},Ho=Lo(()=>v("div",{class:"image-bg"},null,-1)),Eo=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=oe("hero-image-slot-exists");return(t,n)=>(a(),c("div",{class:N(["VPHero",{"has-image":t.image||r(e)}])},[v("div",So,[v("div",wo,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(a(),c("h1",To,[v("span",{innerHTML:t.name,class:"clip"},null,8,Io)])):f("",!0),t.text?(a(),c("p",{key:1,innerHTML:t.text,class:"text"},null,8,No)):f("",!0),t.tagline?(a(),c("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Mo)):f("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),c("div",Ao,[(a(!0),c(M,null,E(t.actions,s=>(a(),c("div",{key:s.link,class:"action"},[m(yo,{tag:"a",size:"medium",theme:s.theme,text:s.text,href:s.link,target:s.target,rel:s.rel},null,8,["theme","text","href","target","rel"])]))),128))])):f("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),c("div",Co,[v("div",Bo,[Ho,l(t.$slots,"home-hero-image",{},()=>[t.image?(a(),b(Z,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Fo=k(Eo,[["__scopeId","data-v-7cc30268"]]),Do=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=V();return(t,n)=>r(e).hero?(a(),b(Fo,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before")]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info")]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after")]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Oo=o=>(B("data-v-57133f1d"),o=o(),H(),o),Uo={class:"box"},Go={key:0,class:"icon"},jo=["innerHTML"],zo=["innerHTML"],Ko=["innerHTML"],qo={key:4,class:"link-text"},Wo={class:"link-text-value"},Ro=Oo(()=>v("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),Jo=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),b(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:d(()=>[v("article",Uo,[typeof e.icon=="object"&&e.icon.wrap?(a(),c("div",Go,[m(Z,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),b(Z,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),c("div",{key:2,class:"icon",innerHTML:e.icon},null,8,jo)):f("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,zo),e.details?(a(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,Ko)):f("",!0),e.linkText?(a(),c("div",qo,[v("p",Wo,[F(S(e.linkText)+" ",1),Ro])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Yo=k(Jo,[["__scopeId","data-v-57133f1d"]]),Qo={key:0,class:"VPFeatures"},Xo={class:"container"},Zo={class:"items"},xo=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=g(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,s)=>n.features?(a(),c("div",Qo,[v("div",Xo,[v("div",Zo,[(a(!0),c(M,null,E(n.features,i=>(a(),c("div",{key:i.title,class:N(["item",[t.value]])},[m(Yo,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),es=k(xo,[["__scopeId","data-v-d5089023"]]),ts=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=V();return(t,n)=>r(e).features?(a(),b(es,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):f("",!0)}}),os=_({__name:"VPHomeContent",setup(o){const{width:e}=We({includeScrollbar:!1});return(t,n)=>(a(),c("div",{class:"vp-doc container",style:Se(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),ss=k(os,[["__scopeId","data-v-553bf2ef"]]),ns={class:"VPHome"},as=_({__name:"VPHome",setup(o){const{frontmatter:e}=V();return(t,n)=>{const s=K("Content");return a(),c("div",ns,[l(t.$slots,"home-hero-before",{},void 0,!0),m(Do,null,{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),l(t.$slots,"home-hero-after",{},void 0,!0),l(t.$slots,"home-features-before",{},void 0,!0),m(ts),l(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),b(ss,{key:0},{default:d(()=>[m(s)]),_:1})):(a(),b(s,{key:1}))])}}}),rs=k(as,[["__scopeId","data-v-70990f2c"]]),is={},ls={class:"VPPage"};function cs(o,e){const t=K("Content");return a(),c("div",ls,[l(o.$slots,"page-top"),m(t),l(o.$slots,"page-bottom")])}const us=k(is,[["render",cs]]),ds=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=V(),{hasSidebar:n}=O();return(s,i)=>(a(),c("div",{class:N(["VPContent",{"has-sidebar":r(n),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?l(s.$slots,"not-found",{key:0},()=>[m(mt)],!0):r(t).layout==="page"?(a(),b(us,{key:1},{"page-top":d(()=>[l(s.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(s.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),b(rs,{key:2},{"home-hero-before":d(()=>[l(s.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(s.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(s.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(s.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(s.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(s.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(s.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(s.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(s.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),b(W(r(t).layout),{key:3})):(a(),b(bo,{key:4},{"doc-top":d(()=>[l(s.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(s.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":d(()=>[l(s.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(s.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(s.$slots,"doc-after",{},void 0,!0)]),"aside-top":d(()=>[l(s.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":d(()=>[l(s.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(s.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(s.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(s.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":d(()=>[l(s.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),vs=k(ds,[["__scopeId","data-v-e995eaaa"]]),ps={class:"container"},hs=["innerHTML"],fs=["innerHTML"],_s=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:n}=O();return(s,i)=>r(e).footer&&r(t).footer!==!1?(a(),c("footer",{key:0,class:N(["VPFooter",{"has-sidebar":r(n)}])},[v("div",ps,[r(e).footer.message?(a(),c("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,hs)):f("",!0),r(e).footer.copyright?(a(),c("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,fs)):f("",!0)])],2)):f("",!0)}}),ms=k(_s,[["__scopeId","data-v-9bc34305"]]);function Ce(){const{theme:o,frontmatter:e}=V(),t=Ve([]),n=g(()=>t.value.length>0);return ee(()=>{t.value=me(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:n}}const ks=o=>(B("data-v-80caa901"),o=o(),H(),o),$s=ks(()=>v("span",{class:"vpi-chevron-right icon"},null,-1)),bs={class:"header"},gs={class:"outline"},ys=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=V(),n=T(!1),s=T(0),i=T(),u=T();Re(i,()=>{n.value=!1}),le("Escape",()=>{n.value=!1}),ee(()=>{n.value=!1});function h(){n.value=!n.value,s.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function p(P){P.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),Je(()=>{n.value=!1}))}function $(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(P,y)=>(a(),c("div",{class:"VPLocalNavOutlineDropdown",style:Se({"--vp-vh":s.value+"px"}),ref_key:"main",ref:i},[P.headers.length>0?(a(),c("button",{key:0,onClick:h,class:N({open:n.value})},[F(S(r(Me)(r(t)))+" ",1),$s],2)):(a(),c("button",{key:1,onClick:$},S(r(t).returnToTopLabel||"Return to top"),1)),m(ve,{name:"flyout"},{default:d(()=>[n.value?(a(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:p},[v("div",bs,[v("a",{class:"top-link",href:"#",onClick:$},S(r(t).returnToTopLabel||"Return to top"),1)]),v("div",gs,[m(Ae,{headers:P.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Ps=k(ys,[["__scopeId","data-v-80caa901"]]),Vs=o=>(B("data-v-50514843"),o=o(),H(),o),Ls={class:"container"},Ss=["aria-expanded"],ws=Vs(()=>v("span",{class:"vpi-align-left menu-icon"},null,-1)),Ts={class:"menu-text"},Is=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:n}=O(),{headers:s}=Ce(),{y:i}=we(),u=T(0);j(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ee(()=>{s.value=me(t.value.outline??e.value.outline)});const h=g(()=>s.value.length===0),p=g(()=>h.value&&!n.value),$=g(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:h.value,fixed:p.value}));return(P,y)=>r(t).layout!=="home"&&(!p.value||r(i)>=u.value)?(a(),c("div",{key:0,class:N($.value)},[v("div",Ls,[r(n)?(a(),c("button",{key:0,class:"menu","aria-expanded":P.open,"aria-controls":"VPSidebarNav",onClick:y[0]||(y[0]=L=>P.$emit("open-menu"))},[ws,v("span",Ts,S(r(e).sidebarMenuLabel||"Menu"),1)],8,Ss)):f("",!0),m(Ps,{headers:r(s),navHeight:u.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Ns=k(Is,[["__scopeId","data-v-50514843"]]);function Ms(){const o=T(!1);function e(){o.value=!0,window.addEventListener("resize",s)}function t(){o.value=!1,window.removeEventListener("resize",s)}function n(){o.value?t():e()}function s(){window.outerWidth>=768&&t()}const i=te();return z(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:n}}const As={},Cs={class:"VPSwitch",type:"button",role:"switch"},Bs={class:"check"},Hs={key:0,class:"icon"};function Es(o,e){return a(),c("button",Cs,[v("span",Bs,[o.$slots.default?(a(),c("span",Hs,[l(o.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Fs=k(As,[["render",Es],["__scopeId","data-v-5ac49361"]]),Be=o=>(B("data-v-5884172c"),o=o(),H(),o),Ds=Be(()=>v("span",{class:"vpi-sun sun"},null,-1)),Os=Be(()=>v("span",{class:"vpi-moon moon"},null,-1)),Us=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=V(),n=oe("toggle-appearance",()=>{e.value=!e.value}),s=g(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(i,u)=>(a(),b(Fs,{title:s.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(n)},{default:d(()=>[Ds,Os]),_:1},8,["title","aria-checked","onClick"]))}}),ke=k(Us,[["__scopeId","data-v-5884172c"]]),Gs={key:0,class:"VPNavBarAppearance"},js=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=V();return(t,n)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",Gs,[m(ke)])):f("",!0)}}),zs=k(js,[["__scopeId","data-v-04eeac76"]]),$e=T();let He=!1,re=0;function Ks(o){const e=T(!1);if(R){!He&&qs(),re++;const t=z($e,n=>{var s,i,u;n===o.el.value||(s=o.el.value)!=null&&s.contains(n)?(e.value=!0,(i=o.onFocus)==null||i.call(o)):(e.value=!1,(u=o.onBlur)==null||u.call(o))});he(()=>{t(),re--,re||Ws()})}return Ye(e)}function qs(){document.addEventListener("focusin",Ee),He=!0,$e.value=document.activeElement}function Ws(){document.removeEventListener("focusin",Ee)}function Ee(){$e.value=document.activeElement}const Rs={class:"VPMenuLink"},Js=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,n)=>(a(),c("div",Rs,[m(D,{class:N({active:r(G)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:d(()=>[F(S(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),se=k(Js,[["__scopeId","data-v-da8ecd5d"]]),Ys={class:"VPMenuGroup"},Qs={key:0,class:"title"},Xs=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Ys,[e.text?(a(),c("p",Qs,S(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,n=>(a(),c(M,null,["link"in n?(a(),b(se,{key:0,item:n},null,8,["item"])):f("",!0)],64))),256))]))}}),Zs=k(Xs,[["__scopeId","data-v-a0d66a48"]]),xs={class:"VPMenu"},en={key:0,class:"items"},tn=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),c("div",xs,[e.items?(a(),c("div",en,[(a(!0),c(M,null,E(e.items,n=>(a(),c(M,{key:n.text},["link"in n?(a(),b(se,{key:0,item:n},null,8,["item"])):(a(),b(Zs,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),on=k(tn,[["__scopeId","data-v-47c0c63e"]]),sn=o=>(B("data-v-318afff2"),o=o(),H(),o),nn=["aria-expanded","aria-label"],an={key:0,class:"text"},rn=["innerHTML"],ln=sn(()=>v("span",{class:"vpi-chevron-down text-icon"},null,-1)),cn={key:1,class:"vpi-more-horizontal icon"},un={class:"menu"},dn=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=T(!1),t=T();Ks({el:t,onBlur:n});function n(){e.value=!1}return(s,i)=>(a(),c("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=u=>e.value=!0),onMouseleave:i[2]||(i[2]=u=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":s.label,onClick:i[0]||(i[0]=u=>e.value=!e.value)},[s.button||s.icon?(a(),c("span",an,[s.icon?(a(),c("span",{key:0,class:N([s.icon,"option-icon"])},null,2)):f("",!0),s.button?(a(),c("span",{key:1,innerHTML:s.button},null,8,rn)):f("",!0),ln])):(a(),c("span",cn))],8,nn),v("div",un,[m(on,{items:s.items},{default:d(()=>[l(s.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),be=k(dn,[["__scopeId","data-v-318afff2"]]),vn=["href","aria-label","innerHTML"],pn=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=g(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,s)=>(a(),c("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,vn))}}),hn=k(pn,[["__scopeId","data-v-e9d2801a"]]),fn={class:"VPSocialLinks"},_n=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),c("div",fn,[(a(!0),c(M,null,E(e.links,({link:n,icon:s,ariaLabel:i})=>(a(),b(hn,{key:n,icon:s,link:n,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),ge=k(_n,[["__scopeId","data-v-bc8a53f8"]]),mn={key:0,class:"group translations"},kn={class:"trans-title"},$n={key:1,class:"group"},bn={class:"item appearance"},gn={class:"label"},yn={class:"appearance-action"},Pn={key:2,class:"group"},Vn={class:"item social-links"},Ln=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=V(),{localeLinks:n,currentLang:s}=J({correspondingLink:!0}),i=g(()=>n.value.length&&s.value.label||e.value.appearance||t.value.socialLinks);return(u,h)=>i.value?(a(),b(be,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:d(()=>[r(n).length&&r(s).label?(a(),c("div",mn,[v("p",kn,S(r(s).label),1),(a(!0),c(M,null,E(r(n),p=>(a(),b(se,{key:p.link,item:p},null,8,["item"]))),128))])):f("",!0),r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",$n,[v("div",bn,[v("p",gn,S(r(t).darkModeSwitchLabel||"Appearance"),1),v("div",yn,[m(ke)])])])):f("",!0),r(t).socialLinks?(a(),c("div",Pn,[v("div",Vn,[m(ge,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),Sn=k(Ln,[["__scopeId","data-v-a159ac14"]]),wn=o=>(B("data-v-11b13a8e"),o=o(),H(),o),Tn=["aria-expanded"],In=wn(()=>v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)),Nn=[In],Mn=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),c("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},Nn,10,Tn))}}),An=k(Mn,[["__scopeId","data-v-11b13a8e"]]),Cn=["innerHTML"],Bn=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,n)=>(a(),b(D,{class:N({VPNavBarMenuLink:!0,active:r(G)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:d(()=>[v("span",{innerHTML:t.item.text},null,8,Cn)]),_:1},8,["class","href","target","rel"]))}}),Hn=k(Bn,[["__scopeId","data-v-f7220770"]]),En=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=V(),n=i=>"link"in i?G(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(n),s=g(()=>n(e.item));return(i,u)=>(a(),b(be,{class:N({VPNavBarMenuGroup:!0,active:r(G)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||s.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),Fn=o=>(B("data-v-a30bd6fa"),o=o(),H(),o),Dn={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},On=Fn(()=>v("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Un=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=V();return(t,n)=>r(e).nav?(a(),c("nav",Dn,[On,(a(!0),c(M,null,E(r(e).nav,s=>(a(),c(M,{key:s.text},["link"in s?(a(),b(Hn,{key:0,item:s},null,8,["item"])):(a(),b(En,{key:1,item:s},null,8,["item"]))],64))),128))])):f("",!0)}}),Gn=k(Un,[["__scopeId","data-v-a30bd6fa"]]);function jn(o){const{localeIndex:e,theme:t}=V();function n(s){var A,C,I;const i=s.split("."),u=(A=t.value.search)==null?void 0:A.options,h=u&&typeof u=="object",p=h&&((I=(C=u.locales)==null?void 0:C[e.value])==null?void 0:I.translations)||null,$=h&&u.translations||null;let P=p,y=$,L=o;const w=i.pop();for(const Y of i){let U=null;const q=L==null?void 0:L[Y];q&&(U=L=q);const ne=y==null?void 0:y[Y];ne&&(U=y=ne);const ae=P==null?void 0:P[Y];ae&&(U=P=ae),q||(L=U),ne||(y=U),ae||(P=U)}return(P==null?void 0:P[w])??(y==null?void 0:y[w])??(L==null?void 0:L[w])??""}return n}const zn=["aria-label"],Kn={class:"DocSearch-Button-Container"},qn=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Wn={class:"DocSearch-Button-Placeholder"},Rn=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ye=_({__name:"VPNavBarSearchButton",setup(o){const t=jn({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,s)=>(a(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[v("span",Kn,[qn,v("span",Wn,S(r(t)("button.buttonText")),1)]),Rn],8,zn))}}),Jn={class:"VPNavBarSearch"},Yn={id:"local-search"},Qn={key:1,id:"docsearch"},Xn=_({__name:"VPNavBarSearch",setup(o){const e=Qe(()=>Xe(()=>import("./VPLocalSearchBox.W3C8Lx0C.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:n}=V(),s=T(!1),i=T(!1);j(()=>{});function u(){s.value||(s.value=!0,setTimeout(h,16))}function h(){const y=new Event("keydown");y.key="k",y.metaKey=!0,window.dispatchEvent(y),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}function p(y){const L=y.target,w=L.tagName;return L.isContentEditable||w==="INPUT"||w==="SELECT"||w==="TEXTAREA"}const $=T(!1);le("k",y=>{(y.ctrlKey||y.metaKey)&&(y.preventDefault(),$.value=!0)}),le("/",y=>{p(y)||(y.preventDefault(),$.value=!0)});const P="local";return(y,L)=>{var w;return a(),c("div",Jn,[r(P)==="local"?(a(),c(M,{key:0},[$.value?(a(),b(r(e),{key:0,onClose:L[0]||(L[0]=A=>$.value=!1)})):f("",!0),v("div",Yn,[m(ye,{onClick:L[1]||(L[1]=A=>$.value=!0)})])],64)):r(P)==="algolia"?(a(),c(M,{key:1},[s.value?(a(),b(r(t),{key:0,algolia:((w=r(n).search)==null?void 0:w.options)??r(n).algolia,onVnodeBeforeMount:L[2]||(L[2]=A=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),c("div",Qn,[m(ye,{onClick:u})]))],64)):f("",!0)])}}}),Zn=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=V();return(t,n)=>r(e).socialLinks?(a(),b(ge,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),xn=k(Zn,[["__scopeId","data-v-d48daa7f"]]),ea=["href","rel","target"],ta={key:1},oa={key:2},sa=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=V(),{hasSidebar:n}=O(),{currentLang:s}=J(),i=g(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),u=g(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),h=g(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,$)=>(a(),c("div",{class:N(["VPNavBarTitle",{"has-sidebar":r(n)}])},[v("a",{class:"title",href:i.value??r(fe)(r(s).link),rel:u.value,target:h.value},[l(p.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),b(Z,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):f("",!0),r(t).siteTitle?(a(),c("span",ta,S(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),c("span",oa,S(r(e).title),1)):f("",!0),l(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,ea)],2))}}),na=k(sa,[["__scopeId","data-v-d1cec79d"]]),aa={class:"items"},ra={class:"title"},ia=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=V(),{localeLinks:t,currentLang:n}=J({correspondingLink:!0});return(s,i)=>r(t).length&&r(n).label?(a(),b(be,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:d(()=>[v("div",aa,[v("p",ra,S(r(n).label),1),(a(!0),c(M,null,E(r(t),u=>(a(),b(se,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),la=k(ia,[["__scopeId","data-v-da7be247"]]),ca=o=>(B("data-v-b780caaa"),o=o(),H(),o),ua={class:"wrapper"},da={class:"container"},va={class:"title"},pa={class:"content"},ha={class:"content-body"},fa=ca(()=>v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1)),_a=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const{y:e}=we(),{hasSidebar:t}=O(),{hasLocalNav:n}=Ce(),{frontmatter:s}=V(),i=T({});return Pe(()=>{i.value={"has-sidebar":t.value,"has-local-nav":n.value,top:s.value.layout==="home"&&e.value===0}}),(u,h)=>(a(),c("div",{class:N(["VPNavBar",i.value])},[v("div",ua,[v("div",da,[v("div",va,[m(na,null,{"nav-bar-title-before":d(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",pa,[v("div",ha,[l(u.$slots,"nav-bar-content-before",{},void 0,!0),m(Xn,{class:"search"}),m(Gn,{class:"menu"}),m(la,{class:"translations"}),m(zs,{class:"appearance"}),m(xn,{class:"social-links"}),m(Sn,{class:"extra"}),l(u.$slots,"nav-bar-content-after",{},void 0,!0),m(An,{class:"hamburger",active:u.isScreenOpen,onClick:h[0]||(h[0]=p=>u.$emit("toggle-screen"))},null,8,["active"])])])])]),fa],2))}}),ma=k(_a,[["__scopeId","data-v-b780caaa"]]),ka={key:0,class:"VPNavScreenAppearance"},$a={class:"text"},ba=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=V();return(n,s)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",ka,[v("p",$a,S(r(t).darkModeSwitchLabel||"Appearance"),1),m(ke)])):f("",!0)}}),ga=k(ba,[["__scopeId","data-v-e1b8b5ac"]]),ya=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=oe("close-screen");return(t,n)=>(a(),b(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:d(()=>[F(S(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Pa=k(ya,[["__scopeId","data-v-c9c118f1"]]),Va=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=oe("close-screen");return(t,n)=>(a(),b(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:d(()=>[F(S(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Fe=k(Va,[["__scopeId","data-v-5f1b1e6a"]]),La={class:"VPNavScreenMenuGroupSection"},Sa={key:0,class:"title"},wa=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",La,[e.text?(a(),c("p",Sa,S(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,n=>(a(),b(Fe,{key:n.text,item:n},null,8,["item"]))),128))]))}}),Ta=k(wa,[["__scopeId","data-v-3e422c48"]]),Ia=o=>(B("data-v-3cbb9edb"),o=o(),H(),o),Na=["aria-controls","aria-expanded"],Ma=["innerHTML"],Aa=Ia(()=>v("span",{class:"vpi-plus button-icon"},null,-1)),Ca=["id"],Ba={key:1,class:"group"},Ha=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=T(!1),n=g(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function s(){t.value=!t.value}return(i,u)=>(a(),c("div",{class:N(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:s},[v("span",{class:"button-text",innerHTML:i.text},null,8,Ma),Aa],8,Na),v("div",{id:n.value,class:"items"},[(a(!0),c(M,null,E(i.items,h=>(a(),c(M,{key:h.text},["link"in h?(a(),c("div",{key:h.text,class:"item"},[m(Fe,{item:h},null,8,["item"])])):(a(),c("div",Ba,[m(Ta,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,Ca)],2))}}),Ea=k(Ha,[["__scopeId","data-v-3cbb9edb"]]),Fa={key:0,class:"VPNavScreenMenu"},Da=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=V();return(t,n)=>r(e).nav?(a(),c("nav",Fa,[(a(!0),c(M,null,E(r(e).nav,s=>(a(),c(M,{key:s.text},["link"in s?(a(),b(Pa,{key:0,item:s},null,8,["item"])):(a(),b(Ea,{key:1,text:s.text||"",items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Oa=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=V();return(t,n)=>r(e).socialLinks?(a(),b(ge,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),De=o=>(B("data-v-498d9977"),o=o(),H(),o),Ua=De(()=>v("span",{class:"vpi-languages icon lang"},null,-1)),Ga=De(()=>v("span",{class:"vpi-chevron-down icon chevron"},null,-1)),ja={class:"list"},za=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=J({correspondingLink:!0}),n=T(!1);function s(){n.value=!n.value}return(i,u)=>r(e).length&&r(t).label?(a(),c("div",{key:0,class:N(["VPNavScreenTranslations",{open:n.value}])},[v("button",{class:"title",onClick:s},[Ua,F(" "+S(r(t).label)+" ",1),Ga]),v("ul",ja,[(a(!0),c(M,null,E(r(e),h=>(a(),c("li",{key:h.link,class:"item"},[m(D,{class:"link",href:h.link},{default:d(()=>[F(S(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),Ka=k(za,[["__scopeId","data-v-498d9977"]]),qa={class:"container"},Wa=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=T(null),t=Te(R?document.body:null);return(n,s)=>(a(),b(ve,{name:"fade",onEnter:s[0]||(s[0]=i=>t.value=!0),onAfterLeave:s[1]||(s[1]=i=>t.value=!1)},{default:d(()=>[n.open?(a(),c("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",qa,[l(n.$slots,"nav-screen-content-before",{},void 0,!0),m(Da,{class:"menu"}),m(Ka,{class:"translations"}),m(ga,{class:"appearance"}),m(Oa,{class:"social-links"}),l(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Ra=k(Wa,[["__scopeId","data-v-5d33e320"]]),Ja={key:0,class:"VPNav"},Ya=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Ms(),{frontmatter:s}=V(),i=g(()=>s.value.navbar!==!1);return Ie("close-screen",t),x(()=>{R&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(u,h)=>i.value?(a(),c("header",Ja,[m(ma,{"is-screen-open":r(e),onToggleScreen:r(n)},{"nav-bar-title-before":d(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),m(Ra,{open:r(e)},{"nav-screen-content-before":d(()=>[l(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),Qa=k(Ya,[["__scopeId","data-v-662a9a4b"]]),Oe=o=>(B("data-v-c483fa44"),o=o(),H(),o),Xa=["role","tabindex"],Za=Oe(()=>v("div",{class:"indicator"},null,-1)),xa=Oe(()=>v("span",{class:"vpi-chevron-right caret-icon"},null,-1)),er=[xa],tr={key:1,class:"items"},or=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:n,isLink:s,isActiveLink:i,hasActiveLink:u,hasChildren:h,toggle:p}=gt(g(()=>e.item)),$=g(()=>h.value?"section":"div"),P=g(()=>s.value?"a":"div"),y=g(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),L=g(()=>s.value?void 0:"button"),w=g(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":s.value},{"is-active":i.value},{"has-active":u.value}]);function A(I){"key"in I&&I.key!=="Enter"||!e.item.link&&p()}function C(){e.item.link&&p()}return(I,Y)=>{const U=K("VPSidebarItem",!0);return a(),b(W($.value),{class:N(["VPSidebarItem",w.value])},{default:d(()=>[I.item.text?(a(),c("div",Q({key:0,class:"item",role:L.value},xe(I.item.items?{click:A,keydown:A}:{},!0),{tabindex:I.item.items&&0}),[Za,I.item.link?(a(),b(D,{key:0,tag:P.value,class:"link",href:I.item.link,rel:I.item.rel,target:I.item.target},{default:d(()=>[(a(),b(W(y.value),{class:"text",innerHTML:I.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),b(W(y.value),{key:1,class:"text",innerHTML:I.item.text},null,8,["innerHTML"])),I.item.collapsed!=null?(a(),c("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:Ze(C,["enter"]),tabindex:"0"},er,32)):f("",!0)],16,Xa)):f("",!0),I.item.items&&I.item.items.length?(a(),c("div",tr,[I.depth<5?(a(!0),c(M,{key:0},E(I.item.items,q=>(a(),b(U,{key:q.text,item:q,depth:I.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),sr=k(or,[["__scopeId","data-v-c483fa44"]]),Ue=o=>(B("data-v-9192597a"),o=o(),H(),o),nr=Ue(()=>v("div",{class:"curtain"},null,-1)),ar={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},rr=Ue(()=>v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),ir=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=O(),n=o,s=T(null),i=Te(R?document.body:null);return z([n,s],()=>{var u;n.open?(i.value=!0,(u=s.value)==null||u.focus()):i.value=!1},{immediate:!0,flush:"post"}),(u,h)=>r(t)?(a(),c("aside",{key:0,class:N(["VPSidebar",{open:u.open}]),ref_key:"navEl",ref:s,onClick:h[0]||(h[0]=et(()=>{},["stop"]))},[nr,v("nav",ar,[rr,l(u.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),c(M,null,E(r(e),p=>(a(),c("div",{key:p.text,class:"group"},[m(sr,{item:p,depth:0},null,8,["item"])]))),128)),l(u.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),lr=k(ir,[["__scopeId","data-v-9192597a"]]),cr=_({__name:"VPSkipLink",setup(o){const e=te(),t=T();z(()=>e.path,()=>t.value.focus());function n({target:s}){const i=document.getElementById(decodeURIComponent(s.hash).slice(1));if(i){const u=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",u)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",u),i.focus(),window.scrollTo(0,0)}}return(s,i)=>(a(),c(M,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),ur=k(cr,[["__scopeId","data-v-5c3e4337"]]),dr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:n}=O(),s=te();z(()=>s.path,n),bt(e,n);const{frontmatter:i}=V(),u=tt(),h=g(()=>!!u["home-hero-image"]);return Ie("hero-image-slot-exists",h),(p,$)=>{const P=K("Content");return r(i).layout!==!1?(a(),c("div",{key:0,class:N(["Layout",r(i).pageClass])},[l(p.$slots,"layout-top",{},void 0,!0),m(ur),m(at,{class:"backdrop",show:r(e),onClick:r(n)},null,8,["show","onClick"]),m(Qa,null,{"nav-bar-title-before":d(()=>[l(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":d(()=>[l(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),m(Ns,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),m(lr,{open:r(e)},{"sidebar-nav-before":d(()=>[l(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":d(()=>[l(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),m(vs,null,{"page-top":d(()=>[l(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":d(()=>[l(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":d(()=>[l(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":d(()=>[l(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":d(()=>[l(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":d(()=>[l(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),m(ms),l(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),b(P,{key:1}))}}}),vr=k(dr,[["__scopeId","data-v-8266c5a0"]]),hr={Layout:vr,enhanceApp:({app:o})=>{o.component("Badge",ot)}};export{jn as c,hr as t,V as u}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["assets/chunks/VPLocalSearchBox.W3C8Lx0C.js","assets/chunks/framework.IXvbZIHp.js"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} diff --git a/assets/guid.md.BuZaR6g-.js b/assets/guid.md.BuZaR6g-.js new file mode 100644 index 00000000..b40dcc76 --- /dev/null +++ b/assets/guid.md.BuZaR6g-.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as e,a4 as s}from"./chunks/framework.IXvbZIHp.js";const m=JSON.parse('{"title":"Masuit.Tools(码数吐司库)","description":"","frontmatter":{},"headers":[],"relativePath":"guid.md","filePath":"guid.md","lastUpdated":null}'),o={name:"guid.md"},r=s('

Masuit.Tools(码数吐司库)

许可证nugetnugetcodeSize编程语言

全龄段友好的C#.NET万能工具库,不管你是菜鸟新手还是骨灰级玩家都能轻松上手,这个库包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。

诸多功能集一身,代码量不到2MB!官网教程Masuit Tools

项目开发模式:日常代码积累+网络搜集

⭐⭐⭐喜欢这个项目的话就Star、Fork、Follow素质三连关♂注一下吧⭐⭐⭐

关于本项目,如果你有任何不懂的地方或使用过程中遇到任何问题,可以直接提issue或私信联系我,我会为你提供完全免费的技术指导,当然,如果你觉得不好意思接受免费的指导,想适当打赏我也是不会拒绝的!🤣🤣🤣

本项目已得到JetBrains的支持!

Star趋势

请注意:

一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,一经发现,本项目作者有权利追讨本项目的使用费(公司工商注册信息认缴金额的2-5倍作为本项目的授权费),或者直接不允许使用任何包含本项目的源代码! 人力外包公司007公司需要使用本类库,请联系作者进行商业授权!其他企业或个人可随意使用不受限。007那叫用人,也是废人。8小时工作制才可以让你有时间自我提升,将来有竞争力。反对007,人人有责!

建议开发环境

操作系统:Windows 11 23H2及以上版本

开发工具:VisualStudio2022 v17.8及以上版本

SDK:.Net Core 2.1.0及以上所有版本

',17),i=[r];function l(g,n,h,c,p,u){return e(),a("div",null,i)}const _=t(o,[["render",l]]);export{m as __pageData,_ as default}; diff --git a/assets/guid.md.BuZaR6g-.lean.js b/assets/guid.md.BuZaR6g-.lean.js new file mode 100644 index 00000000..fea6a7b6 --- /dev/null +++ b/assets/guid.md.BuZaR6g-.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as e,a4 as s}from"./chunks/framework.IXvbZIHp.js";const m=JSON.parse('{"title":"Masuit.Tools(码数吐司库)","description":"","frontmatter":{},"headers":[],"relativePath":"guid.md","filePath":"guid.md","lastUpdated":null}'),o={name:"guid.md"},r=s("",17),i=[r];function l(g,n,h,c,p,u){return e(),a("div",null,i)}const _=t(o,[["render",l]]);export{m as __pageData,_ as default}; diff --git a/assets/guid.md.EcVGGPGb.js b/assets/guid.md.EcVGGPGb.js deleted file mode 100644 index f1e1cf55..00000000 --- a/assets/guid.md.EcVGGPGb.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,o as e,V as s}from"./chunks/framework.cYNwvFF8.js";const m=JSON.parse('{"title":"Masuit.Tools(码数吐司库)","description":"","frontmatter":{},"headers":[],"relativePath":"guid.md","filePath":"guid.md","lastUpdated":null}'),o={name:"guid.md"},r=s('

Masuit.Tools(码数吐司库)

许可证nugetnugetcodeSize编程语言

全龄段友好的C#.NET万能工具库,不管你是菜鸟新手还是骨灰级玩家都能轻松上手,这个库包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。

诸多功能集一身,代码量不到2MB!官网教程Masuit Tools

项目开发模式:日常代码积累+网络搜集

⭐⭐⭐喜欢这个项目的话就Star、Fork、Follow素质三连关♂注一下吧⭐⭐⭐

关于本项目,如果你有任何不懂的地方或使用过程中遇到任何问题,可以直接提issue或私信联系我,我会为你提供完全免费的技术指导,当然,如果你觉得不好意思接受免费的指导,想适当打赏我也是不会拒绝的!🤣🤣🤣

本项目已得到JetBrains的支持!

Star趋势

请注意:

一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,一经发现,本项目作者有权利追讨本项目的使用费(公司工商注册信息认缴金额的2-5倍作为本项目的授权费),或者直接不允许使用任何包含本项目的源代码! 人力外包公司007公司需要使用本类库,请联系作者进行商业授权!其他企业或个人可随意使用不受限。007那叫用人,也是废人。8小时工作制才可以让你有时间自我提升,将来有竞争力。反对007,人人有责!

建议开发环境

操作系统:Windows 11 23H2及以上版本

开发工具:VisualStudio2022 v17.8及以上版本

SDK:.Net Core 2.1.0及以上所有版本

',17),i=[r];function l(g,n,h,c,p,u){return e(),a("div",null,i)}const _=t(o,[["render",l]]);export{m as __pageData,_ as default}; diff --git a/assets/guid.md.EcVGGPGb.lean.js b/assets/guid.md.EcVGGPGb.lean.js deleted file mode 100644 index 1c693b77..00000000 --- a/assets/guid.md.EcVGGPGb.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,o as e,V as s}from"./chunks/framework.cYNwvFF8.js";const m=JSON.parse('{"title":"Masuit.Tools(码数吐司库)","description":"","frontmatter":{},"headers":[],"relativePath":"guid.md","filePath":"guid.md","lastUpdated":null}'),o={name:"guid.md"},r=s("",17),i=[r];function l(g,n,h,c,p,u){return e(),a("div",null,i)}const _=t(o,[["render",l]]);export{m as __pageData,_ as default}; diff --git a/assets/guid_index.md.CHiZtEJt.js b/assets/guid_index.md.CHiZtEJt.js new file mode 100644 index 00000000..6b063e24 --- /dev/null +++ b/assets/guid_index.md.CHiZtEJt.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,a4 as s}from"./chunks/framework.IXvbZIHp.js";const m=JSON.parse('{"title":"Masuit.Tools(码数吐司库)","description":"","frontmatter":{},"headers":[],"relativePath":"guid/index.md","filePath":"guid/index.md","lastUpdated":null}'),o={name:"guid/index.md"},r=s('

Masuit.Tools(码数吐司库)

LICENSEnugetnugetcodeSizelanguage

新手友好的C#万能工具库,包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。

诸多功能集一身,代码量不到2MB!官网教程Masuit Tools

项目开发模式:日常代码积累+网络搜集 ⭐⭐⭐喜欢这个项目的话就Star、Fork、Follow素质三连关♂注一下吧⭐⭐⭐ 关于本项目,如果你有任何不懂的地方或使用过程中遇到任何问题,可以直接提issue或私信联系我,我会为你提供完全免费的技术指导,当然,如果你觉得不好意思接受免费的指导,想适当打赏我也是不会拒绝的!🤣🤣🤣

本项目已得到JetBrains的支持!

Star趋势

请注意:

一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,一经发现,本项目作者有权利追讨本项目的使用费(公司工商注册信息认缴金额的2-5倍作为本项目的授权费),或者直接不允许使用任何包含本项目的源代码!任何性质的 外包公司996公司需要使用本类库,请联系作者进行商业授权!其他企业或个人可随意使用不受限。996那叫用人,也是废人。8小时工作制才可以让你有时间自我提升,将来有竞争力。反对996,人人有责!

建议开发环境

操作系统:Windows 10 1903及以上版本 开发工具:VisualStudio2019 v16.5及以上版本 SDK:.Net Core 2.1.0及以上所有版本

推荐项目

基于EntityFrameworkCore和Lucene.NET实现的全文检索搜索引擎:Masuit.LuceneEFCore.SearchEngine

开源博客系统:Masuit.MyBlogs

',16),i=[r];function n(l,h,g,c,u,d){return a(),t("div",null,i)}const b=e(o,[["render",n]]);export{m as __pageData,b as default}; diff --git a/assets/guid_index.md.CHiZtEJt.lean.js b/assets/guid_index.md.CHiZtEJt.lean.js new file mode 100644 index 00000000..48eda1f5 --- /dev/null +++ b/assets/guid_index.md.CHiZtEJt.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,a4 as s}from"./chunks/framework.IXvbZIHp.js";const m=JSON.parse('{"title":"Masuit.Tools(码数吐司库)","description":"","frontmatter":{},"headers":[],"relativePath":"guid/index.md","filePath":"guid/index.md","lastUpdated":null}'),o={name:"guid/index.md"},r=s("",16),i=[r];function n(l,h,g,c,u,d){return a(),t("div",null,i)}const b=e(o,[["render",n]]);export{m as __pageData,b as default}; diff --git a/assets/guid_index.md.lfcJvdmA.js b/assets/guid_index.md.lfcJvdmA.js deleted file mode 100644 index 45adb7c8..00000000 --- a/assets/guid_index.md.lfcJvdmA.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a,V as s}from"./chunks/framework.cYNwvFF8.js";const m=JSON.parse('{"title":"Masuit.Tools(码数吐司库)","description":"","frontmatter":{},"headers":[],"relativePath":"guid/index.md","filePath":"guid/index.md","lastUpdated":null}'),o={name:"guid/index.md"},r=s('

Masuit.Tools(码数吐司库)

LICENSEnugetnugetcodeSizelanguage

新手友好的C#万能工具库,包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。

诸多功能集一身,代码量不到2MB!官网教程Masuit Tools

项目开发模式:日常代码积累+网络搜集 ⭐⭐⭐喜欢这个项目的话就Star、Fork、Follow素质三连关♂注一下吧⭐⭐⭐ 关于本项目,如果你有任何不懂的地方或使用过程中遇到任何问题,可以直接提issue或私信联系我,我会为你提供完全免费的技术指导,当然,如果你觉得不好意思接受免费的指导,想适当打赏我也是不会拒绝的!🤣🤣🤣

本项目已得到JetBrains的支持!

Star趋势

请注意:

一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,一经发现,本项目作者有权利追讨本项目的使用费(公司工商注册信息认缴金额的2-5倍作为本项目的授权费),或者直接不允许使用任何包含本项目的源代码!任何性质的 外包公司996公司需要使用本类库,请联系作者进行商业授权!其他企业或个人可随意使用不受限。996那叫用人,也是废人。8小时工作制才可以让你有时间自我提升,将来有竞争力。反对996,人人有责!

建议开发环境

操作系统:Windows 10 1903及以上版本 开发工具:VisualStudio2019 v16.5及以上版本 SDK:.Net Core 2.1.0及以上所有版本

推荐项目

基于EntityFrameworkCore和Lucene.NET实现的全文检索搜索引擎:Masuit.LuceneEFCore.SearchEngine

开源博客系统:Masuit.MyBlogs

',16),i=[r];function n(l,h,g,c,u,d){return a(),t("div",null,i)}const b=e(o,[["render",n]]);export{m as __pageData,b as default}; diff --git a/assets/guid_index.md.lfcJvdmA.lean.js b/assets/guid_index.md.lfcJvdmA.lean.js deleted file mode 100644 index 0099553c..00000000 --- a/assets/guid_index.md.lfcJvdmA.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a,V as s}from"./chunks/framework.cYNwvFF8.js";const m=JSON.parse('{"title":"Masuit.Tools(码数吐司库)","description":"","frontmatter":{},"headers":[],"relativePath":"guid/index.md","filePath":"guid/index.md","lastUpdated":null}'),o={name:"guid/index.md"},r=s("",16),i=[r];function n(l,h,g,c,u,d){return a(),t("div",null,i)}const b=e(o,[["render",n]]);export{m as __pageData,b as default}; diff --git a/assets/index.md.Gai-Poxw.js b/assets/index.md.DGAQtZsT.js similarity index 94% rename from assets/index.md.Gai-Poxw.js rename to assets/index.md.DGAQtZsT.js index 863cd479..0ca90609 100644 --- a/assets/index.md.Gai-Poxw.js +++ b/assets/index.md.DGAQtZsT.js @@ -1 +1 @@ -import{_ as e,c as t,o as a}from"./chunks/framework.cYNwvFF8.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"码数吐司库","text":"Masuit.Tools","tagline":"全龄段友好的C#.NET万能工具库,不管你是菜鸟新手还是骨灰级玩家都能轻松上手,这个库包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。","actions":[{"theme":"brand","text":"开始","link":"/guid"}]},"features":[{"title":"Feature A","details":"MIT协议,诸多功能集一身,代码量不到2MB!"},{"title":"Feature B","details":"支持.NET 4.5 - .NET8目标框架"},{"title":"Feature C","details":"扩展调用,按需注册"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":null}'),i={name:"index.md"};function n(r,s,o,d,l,c){return a(),t("div")}const u=e(i,[["render",n]]);export{p as __pageData,u as default}; +import{_ as e,c as t,o as a}from"./chunks/framework.IXvbZIHp.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"码数吐司库","text":"Masuit.Tools","tagline":"全龄段友好的C#.NET万能工具库,不管你是菜鸟新手还是骨灰级玩家都能轻松上手,这个库包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。","actions":[{"theme":"brand","text":"开始","link":"/guid"}]},"features":[{"title":"Feature A","details":"MIT协议,诸多功能集一身,代码量不到2MB!"},{"title":"Feature B","details":"支持.NET 4.5 - .NET8目标框架"},{"title":"Feature C","details":"扩展调用,按需注册"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":null}'),i={name:"index.md"};function n(r,s,o,d,l,c){return a(),t("div")}const u=e(i,[["render",n]]);export{p as __pageData,u as default}; diff --git a/assets/index.md.Gai-Poxw.lean.js b/assets/index.md.DGAQtZsT.lean.js similarity index 94% rename from assets/index.md.Gai-Poxw.lean.js rename to assets/index.md.DGAQtZsT.lean.js index 863cd479..0ca90609 100644 --- a/assets/index.md.Gai-Poxw.lean.js +++ b/assets/index.md.DGAQtZsT.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as a}from"./chunks/framework.cYNwvFF8.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"码数吐司库","text":"Masuit.Tools","tagline":"全龄段友好的C#.NET万能工具库,不管你是菜鸟新手还是骨灰级玩家都能轻松上手,这个库包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。","actions":[{"theme":"brand","text":"开始","link":"/guid"}]},"features":[{"title":"Feature A","details":"MIT协议,诸多功能集一身,代码量不到2MB!"},{"title":"Feature B","details":"支持.NET 4.5 - .NET8目标框架"},{"title":"Feature C","details":"扩展调用,按需注册"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":null}'),i={name:"index.md"};function n(r,s,o,d,l,c){return a(),t("div")}const u=e(i,[["render",n]]);export{p as __pageData,u as default}; +import{_ as e,c as t,o as a}from"./chunks/framework.IXvbZIHp.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"码数吐司库","text":"Masuit.Tools","tagline":"全龄段友好的C#.NET万能工具库,不管你是菜鸟新手还是骨灰级玩家都能轻松上手,这个库包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。","actions":[{"theme":"brand","text":"开始","link":"/guid"}]},"features":[{"title":"Feature A","details":"MIT协议,诸多功能集一身,代码量不到2MB!"},{"title":"Feature B","details":"支持.NET 4.5 - .NET8目标框架"},{"title":"Feature C","details":"扩展调用,按需注册"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":null}'),i={name:"index.md"};function n(r,s,o,d,l,c){return a(),t("div")}const u=e(i,[["render",n]]);export{p as __pageData,u as default}; diff --git a/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 b/assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2 similarity index 100% rename from assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 rename to assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2 diff --git a/assets/inter-italic-cyrillic.-nLMcIwj.woff2 b/assets/inter-italic-cyrillic.D6csxwjC.woff2 similarity index 100% rename from assets/inter-italic-cyrillic.-nLMcIwj.woff2 rename to assets/inter-italic-cyrillic.D6csxwjC.woff2 diff --git a/assets/inter-italic-greek-ext.hznxWNZO.woff2 b/assets/inter-italic-greek-ext.CHOfFY1k.woff2 similarity index 100% rename from assets/inter-italic-greek-ext.hznxWNZO.woff2 rename to assets/inter-italic-greek-ext.CHOfFY1k.woff2 diff --git a/assets/inter-italic-greek.PSfer2Kc.woff2 b/assets/inter-italic-greek.9J96vYpw.woff2 similarity index 100% rename from assets/inter-italic-greek.PSfer2Kc.woff2 rename to assets/inter-italic-greek.9J96vYpw.woff2 diff --git a/assets/inter-italic-latin-ext.RnFly65-.woff2 b/assets/inter-italic-latin-ext.BGcWXLrn.woff2 similarity index 100% rename from assets/inter-italic-latin-ext.RnFly65-.woff2 rename to assets/inter-italic-latin-ext.BGcWXLrn.woff2 diff --git a/assets/inter-italic-latin.27E69YJn.woff2 b/assets/inter-italic-latin.DbsTr1gm.woff2 similarity index 100% rename from assets/inter-italic-latin.27E69YJn.woff2 rename to assets/inter-italic-latin.DbsTr1gm.woff2 diff --git a/assets/inter-italic-vietnamese.xzQHe1q1.woff2 b/assets/inter-italic-vietnamese.DHNAd7Wr.woff2 similarity index 100% rename from assets/inter-italic-vietnamese.xzQHe1q1.woff2 rename to assets/inter-italic-vietnamese.DHNAd7Wr.woff2 diff --git a/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 b/assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2 similarity index 100% rename from assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 rename to assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2 diff --git a/assets/inter-roman-cyrillic.jIZ9REo5.woff2 b/assets/inter-roman-cyrillic.CMhn1ESj.woff2 similarity index 100% rename from assets/inter-roman-cyrillic.jIZ9REo5.woff2 rename to assets/inter-roman-cyrillic.CMhn1ESj.woff2 diff --git a/assets/inter-roman-greek-ext.9JiNzaSO.woff2 b/assets/inter-roman-greek-ext.D0mI3NpI.woff2 similarity index 100% rename from assets/inter-roman-greek-ext.9JiNzaSO.woff2 rename to assets/inter-roman-greek-ext.D0mI3NpI.woff2 diff --git a/assets/inter-roman-greek.Cb5wWeGA.woff2 b/assets/inter-roman-greek.JvnBZ4YD.woff2 similarity index 100% rename from assets/inter-roman-greek.Cb5wWeGA.woff2 rename to assets/inter-roman-greek.JvnBZ4YD.woff2 diff --git a/assets/inter-roman-latin-ext.GZWE-KO4.woff2 b/assets/inter-roman-latin-ext.ZlYT4o7i.woff2 similarity index 100% rename from assets/inter-roman-latin-ext.GZWE-KO4.woff2 rename to assets/inter-roman-latin-ext.ZlYT4o7i.woff2 diff --git a/assets/inter-roman-latin.bvIUbFQP.woff2 b/assets/inter-roman-latin.Bu8hRsVA.woff2 similarity index 100% rename from assets/inter-roman-latin.bvIUbFQP.woff2 rename to assets/inter-roman-latin.Bu8hRsVA.woff2 diff --git a/assets/inter-roman-vietnamese.paY3CzEB.woff2 b/assets/inter-roman-vietnamese.ClpjcLMQ.woff2 similarity index 100% rename from assets/inter-roman-vietnamese.paY3CzEB.woff2 rename to assets/inter-roman-vietnamese.ClpjcLMQ.woff2 diff --git a/assets/style.h6TRL7ti.css b/assets/style.h6TRL7ti.css deleted file mode 100644 index 308e8fa6..00000000 --- a/assets/style.h6TRL7ti.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.jIZ9REo5.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.Cb5wWeGA.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.9JiNzaSO.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.bvIUbFQP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.GZWE-KO4.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.paY3CzEB.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.-nLMcIwj.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.PSfer2Kc.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.hznxWNZO.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.27E69YJn.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.RnFly65-.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.xzQHe1q1.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}: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: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--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-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-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);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}: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);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{margin:auto}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-35a59c39]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-35a59c39],.VPBackdrop.fade-leave-to[data-v-35a59c39]{opacity:0}.VPBackdrop.fade-leave-active[data-v-35a59c39]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-35a59c39]{display:none}}.NotFound[data-v-94664985]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-94664985]{padding:96px 32px 168px}}.code[data-v-94664985]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-94664985]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-94664985]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-94664985]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-94664985]{padding-top:20px}.link[data-v-94664985]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-94664985]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-66f5d480]{position:relative;z-index:1}.nested[data-v-66f5d480]{padding-right:16px;padding-left:16px}.outline-link[data-v-66f5d480]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-66f5d480]:hover,.outline-link.active[data-v-66f5d480]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-66f5d480]{padding-left:13px}.VPDocAsideOutline[data-v-f3761828]{display:none}.VPDocAsideOutline.has-outline[data-v-f3761828]{display:block}.content[data-v-f3761828]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-f3761828]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-f3761828]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-e0fb4810]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-e0fb4810]{flex-grow:1}.VPDocAside[data-v-e0fb4810] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-e0fb4810] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-e0fb4810] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-596233fa]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-596233fa]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-229f8ff0]{margin-top:64px}.edit-info[data-v-229f8ff0]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-229f8ff0]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-229f8ff0]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-229f8ff0]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-229f8ff0]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-229f8ff0]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-229f8ff0]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-229f8ff0]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-229f8ff0]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-229f8ff0]{margin-left:auto;text-align:right}.desc[data-v-229f8ff0]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-229f8ff0]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-c186637e]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-c186637e]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-c186637e]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-c186637e]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-c186637e]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-c186637e]{display:flex;justify-content:center}.VPDoc .aside[data-v-c186637e]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-c186637e]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-c186637e]{max-width:1104px}}.container[data-v-c186637e]{margin:0 auto;width:100%}.aside[data-v-c186637e]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-c186637e]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-c186637e]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-c186637e]::-webkit-scrollbar{display:none}.aside-curtain[data-v-c186637e]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-c186637e]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-c186637e]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-c186637e]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-c186637e]{order:1;margin:0;min-width:640px}}.content-container[data-v-c186637e]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-c186637e]{max-width:688px}.VPButton[data-v-e50ab54d]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-e50ab54d]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-e50ab54d]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-e50ab54d]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-e50ab54d]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-e50ab54d]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-e50ab54d]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-e50ab54d]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-e50ab54d]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-e50ab54d]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-e50ab54d]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-e50ab54d]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-e50ab54d]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-01f37715]{display:none}.dark .VPImage.light[data-v-01f37715]{display:none}.VPHero[data-v-63bbc97b]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-63bbc97b]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-63bbc97b]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-63bbc97b]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-63bbc97b]{flex-direction:row}}.main[data-v-63bbc97b]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-63bbc97b]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-63bbc97b]{text-align:left}}@media (min-width: 960px){.main[data-v-63bbc97b]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-63bbc97b]{max-width:592px}}.name[data-v-63bbc97b],.text[data-v-63bbc97b]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-63bbc97b],.VPHero.has-image .text[data-v-63bbc97b]{margin:0 auto}.name[data-v-63bbc97b]{color:var(--vp-home-hero-name-color)}.clip[data-v-63bbc97b]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-63bbc97b],.text[data-v-63bbc97b]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-63bbc97b],.text[data-v-63bbc97b]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-63bbc97b],.VPHero.has-image .text[data-v-63bbc97b]{margin:0}}.tagline[data-v-63bbc97b]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-63bbc97b]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-63bbc97b]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-63bbc97b]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-63bbc97b]{margin:0}}.actions[data-v-63bbc97b]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-63bbc97b]{justify-content:center}@media (min-width: 640px){.actions[data-v-63bbc97b]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-63bbc97b]{justify-content:flex-start}}.action[data-v-63bbc97b]{flex-shrink:0;padding:6px}.image[data-v-63bbc97b]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-63bbc97b]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-63bbc97b]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-63bbc97b]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-63bbc97b]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-63bbc97b]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-63bbc97b]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-63bbc97b]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-63bbc97b]{width:320px;height:320px}}[data-v-63bbc97b] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-63bbc97b] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-63bbc97b] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-d7d983cb]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-d7d983cb]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-d7d983cb]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-d7d983cb]>.VPImage{margin-bottom:20px}.icon[data-v-d7d983cb]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-d7d983cb]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-d7d983cb]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-d7d983cb]{padding-top:8px}.link-text-value[data-v-d7d983cb]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-d7d983cb]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-3c7db97b]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-3c7db97b]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-3c7db97b]{padding:0 64px}}.container[data-v-3c7db97b]{margin:0 auto;max-width:1152px}.items[data-v-3c7db97b]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-3c7db97b]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-3c7db97b],.item.grid-4[data-v-3c7db97b],.item.grid-6[data-v-3c7db97b]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-3c7db97b],.item.grid-4[data-v-3c7db97b]{width:50%}.item.grid-3[data-v-3c7db97b],.item.grid-6[data-v-3c7db97b]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-3c7db97b]{width:25%}}.VPHome[data-v-99014c63]{padding-bottom:96px}.VPHome[data-v-99014c63] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-99014c63]{padding-bottom:128px}}.VPContent[data-v-9e890393]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-9e890393]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-9e890393]{margin:0}@media (min-width: 960px){.VPContent[data-v-9e890393]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-9e890393]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-9e890393]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-90deca8b]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-90deca8b]{display:none}.VPFooter[data-v-90deca8b] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-90deca8b] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-90deca8b]{padding:32px}}.container[data-v-90deca8b]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-90deca8b],.copyright[data-v-90deca8b]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-4c3fcc64]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-4c3fcc64]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-4c3fcc64]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-4c3fcc64]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-4c3fcc64]{color:var(--vp-c-text-1)}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-4c3fcc64]{font-size:14px}}.icon[data-v-4c3fcc64]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}.open>.icon[data-v-4c3fcc64]{transform:rotate(90deg)}.items[data-v-4c3fcc64]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-4c3fcc64]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-4c3fcc64]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-4c3fcc64]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-4c3fcc64]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-4c3fcc64]{transition:all .2s ease-out}.flyout-leave-active[data-v-4c3fcc64]{transition:all .15s ease-in}.flyout-enter-from[data-v-4c3fcc64],.flyout-leave-to[data-v-4c3fcc64]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-ccca73a7]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-ccca73a7]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-ccca73a7]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-ccca73a7]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-ccca73a7]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-ccca73a7]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-ccca73a7]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-ccca73a7]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-ccca73a7]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-ccca73a7]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-ccca73a7]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-ccca73a7]{display:none}}.menu-icon[data-v-ccca73a7]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-ccca73a7]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-ccca73a7]{padding:12px 32px 11px}}.VPSwitch[data-v-8a795324]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-8a795324]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-8a795324]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-8a795324]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-8a795324] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-8a795324] svg{fill:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-3e224d97]{opacity:1}.moon[data-v-3e224d97],.dark .sun[data-v-3e224d97]{opacity:0}.dark .moon[data-v-3e224d97]{opacity:1}.dark .VPSwitchAppearance[data-v-3e224d97] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-0526b021]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-0526b021]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-ad78ca32]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-ad78ca32]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-ad78ca32]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-ad78ca32]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-3fbe2ec4]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-3fbe2ec4]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-3fbe2ec4]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-3fbe2ec4]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-25e7ed71]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-25e7ed71] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-25e7ed71] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-25e7ed71] .group:last-child{padding-bottom:0}.VPMenu[data-v-25e7ed71] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-25e7ed71] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-25e7ed71] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-25e7ed71] .action{padding-left:24px}.VPFlyout[data-v-0cac1181]{position:relative}.VPFlyout[data-v-0cac1181]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-0cac1181]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-0cac1181]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-0cac1181]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-0cac1181]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-0cac1181],.button[aria-expanded=true]+.menu[data-v-0cac1181]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-0cac1181]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-0cac1181]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-0cac1181]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-0cac1181]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-0cac1181]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-0cac1181]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-0cac1181]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-85ec275a]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-85ec275a]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-85ec275a]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-000a3a55]{display:flex;justify-content:center}.VPNavBarExtra[data-v-445cadc7]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-445cadc7]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-445cadc7]{display:none}}.trans-title[data-v-445cadc7]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-445cadc7],.item.social-links[data-v-445cadc7]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-445cadc7]{min-width:176px}.appearance-action[data-v-445cadc7]{margin-right:-2px}.social-links-list[data-v-445cadc7]{margin:-4px -8px}.VPNavBarHamburger[data-v-830b0291]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-830b0291]{display:none}}.container[data-v-830b0291]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-830b0291]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-830b0291]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-830b0291]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-830b0291]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-830b0291]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-830b0291]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-830b0291],.VPNavBarHamburger.active:hover .middle[data-v-830b0291],.VPNavBarHamburger.active:hover .bottom[data-v-830b0291]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-830b0291],.middle[data-v-830b0291],.bottom[data-v-830b0291]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-830b0291]{top:0;left:0;transform:translate(0)}.middle[data-v-830b0291]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-830b0291]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-6c9a67f3]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-6c9a67f3],.VPNavBarMenuLink[data-v-6c9a67f3]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-06bc1427]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-06bc1427]{display:flex}}/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-b3943666]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-b3943666]{display:flex;align-items:center}}.title[data-v-10f652c7]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-10f652c7]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-10f652c7]{border-bottom-color:var(--vp-c-divider)}}[data-v-10f652c7] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-02e31601]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-02e31601]{display:flex;align-items:center}}.title[data-v-02e31601]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-27d23f78]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar.has-local-nav[data-v-27d23f78]{background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar.has-local-nav[data-v-27d23f78]{background-color:transparent}.VPNavBar[data-v-27d23f78]:not(.has-sidebar):not(.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-27d23f78]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-27d23f78]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-27d23f78]{padding:0}}.container[data-v-27d23f78]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-27d23f78],.container>.content[data-v-27d23f78]{pointer-events:none}.container[data-v-27d23f78] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-27d23f78]{max-width:100%}}.title[data-v-27d23f78]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-27d23f78]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-27d23f78]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-27d23f78]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-27d23f78]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-27d23f78]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-27d23f78]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-27d23f78]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.top) .content-body[data-v-27d23f78]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-27d23f78]{column-gap:.5rem}}.menu+.translations[data-v-27d23f78]:before,.menu+.appearance[data-v-27d23f78]:before,.menu+.social-links[data-v-27d23f78]:before,.translations+.appearance[data-v-27d23f78]:before,.appearance+.social-links[data-v-27d23f78]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-27d23f78]:before,.translations+.appearance[data-v-27d23f78]:before{margin-right:16px}.appearance+.social-links[data-v-27d23f78]:before{margin-left:16px}.social-links[data-v-27d23f78]{margin-right:-8px}.divider[data-v-27d23f78]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-27d23f78]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-27d23f78]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-27d23f78]{width:100%;height:1px;transition:background-color .5s}.VPNavBar.has-local-nav .divider-line[data-v-27d23f78]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.top) .divider-line[data-v-27d23f78]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.top) .divider[data-v-27d23f78]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-9e9485dd]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-9e9485dd]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-b18e5154]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-b18e5154]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-a8c5c1e2]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-a8c5c1e2]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-cddbe450]{display:block}.title[data-v-cddbe450]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-822d7f90]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-822d7f90]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-822d7f90]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-822d7f90]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-822d7f90]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-822d7f90]{transform:rotate(45deg)}.button[data-v-822d7f90]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-822d7f90]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-822d7f90]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-822d7f90]:first-child{padding-top:0}.group+.group[data-v-822d7f90],.group+.item[data-v-822d7f90]{padding-top:4px}.VPNavScreenTranslations[data-v-f4879e2b]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-f4879e2b]{height:auto}.title[data-v-f4879e2b]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-f4879e2b]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-f4879e2b]{margin-right:8px}.icon.chevron[data-v-f4879e2b]{margin-left:4px}.list[data-v-f4879e2b]{padding:4px 0 0 24px}.link[data-v-f4879e2b]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-7953505f]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-7953505f],.VPNavScreen.fade-leave-active[data-v-7953505f]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-7953505f],.VPNavScreen.fade-leave-active .container[data-v-7953505f]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-7953505f],.VPNavScreen.fade-leave-to[data-v-7953505f]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-7953505f],.VPNavScreen.fade-leave-to .container[data-v-7953505f]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-7953505f]{display:none}}.container[data-v-7953505f]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-7953505f],.menu+.appearance[data-v-7953505f],.translations+.appearance[data-v-7953505f]{margin-top:24px}.menu+.social-links[data-v-7953505f]{margin-top:16px}.appearance+.social-links[data-v-7953505f]{margin-top:16px}.VPNav[data-v-db14e802]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-db14e802]{position:fixed}}.VPSidebarItem.level-0[data-v-0652bced]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-0652bced]{padding-bottom:10px}.item[data-v-0652bced]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-0652bced]{cursor:pointer}.indicator[data-v-0652bced]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-0652bced],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-0652bced],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-0652bced],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-0652bced]{background-color:var(--vp-c-brand-1)}.link[data-v-0652bced]{display:flex;align-items:center;flex-grow:1}.text[data-v-0652bced]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-0652bced]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-0652bced],.VPSidebarItem.level-2 .text[data-v-0652bced],.VPSidebarItem.level-3 .text[data-v-0652bced],.VPSidebarItem.level-4 .text[data-v-0652bced],.VPSidebarItem.level-5 .text[data-v-0652bced]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-0652bced],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-0652bced],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-0652bced],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-0652bced],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-0652bced],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-0652bced]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-0652bced],.VPSidebarItem.level-1.has-active>.item>.text[data-v-0652bced],.VPSidebarItem.level-2.has-active>.item>.text[data-v-0652bced],.VPSidebarItem.level-3.has-active>.item>.text[data-v-0652bced],.VPSidebarItem.level-4.has-active>.item>.text[data-v-0652bced],.VPSidebarItem.level-5.has-active>.item>.text[data-v-0652bced],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-0652bced],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-0652bced],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-0652bced],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-0652bced],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-0652bced],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-0652bced]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-0652bced],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-0652bced],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-0652bced],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-0652bced],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-0652bced],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-0652bced]{color:var(--vp-c-brand-1)}.caret[data-v-0652bced]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-0652bced]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-0652bced]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-0652bced]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-0652bced]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-0652bced],.VPSidebarItem.level-2 .items[data-v-0652bced],.VPSidebarItem.level-3 .items[data-v-0652bced],.VPSidebarItem.level-4 .items[data-v-0652bced],.VPSidebarItem.level-5 .items[data-v-0652bced]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-0652bced]{display:none}.VPSidebar[data-v-321b74c9]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-321b74c9]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-321b74c9]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-321b74c9]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-321b74c9]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-321b74c9]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-321b74c9]{outline:0}.group+.group[data-v-321b74c9]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-321b74c9]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-1f635c64]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-1f635c64]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-1f635c64]{top:14px;left:16px}}.Layout[data-v-dddf125a]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-6bc0715c]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-6bc0715c]{margin:0 auto;max-width:1152px}.love[data-v-6bc0715c]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-6bc0715c]{width:28px;height:28px;fill:currentColor}.message[data-v-6bc0715c]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-6bc0715c]{padding-top:32px}.action[data-v-6bc0715c]{padding-top:40px;text-align:center}.VPTeamPage[data-v-cfbfb470]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-cfbfb470]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-cfbfb470-s],.VPTeamMembers+.VPTeamPageSection[data-v-cfbfb470-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-cfbfb470-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-cfbfb470-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-cfbfb470-s],.VPTeamMembers+.VPTeamPageSection[data-v-cfbfb470-s]{margin-top:96px}}.VPTeamMembers[data-v-cfbfb470-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-cfbfb470-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-cfbfb470-s]{padding:0 64px}}.VPTeamPageTitle[data-v-e3d4dc18]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-e3d4dc18]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-e3d4dc18]{padding:80px 64px 48px}}.title[data-v-e3d4dc18]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-e3d4dc18]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-e3d4dc18]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-e3d4dc18]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-f7b74449]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-f7b74449]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-f7b74449]{padding:0 64px}}.title[data-v-f7b74449]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-f7b74449]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-f7b74449]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-f7b74449]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-f7b74449]{padding-top:40px}.VPTeamMembersItem[data-v-00e385ac]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-00e385ac]{padding:32px}.VPTeamMembersItem.small .data[data-v-00e385ac]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-00e385ac]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-00e385ac]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-00e385ac]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-00e385ac]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-00e385ac]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-00e385ac]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-00e385ac]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-00e385ac]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-00e385ac]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-00e385ac]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-00e385ac]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-00e385ac]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-00e385ac]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-00e385ac]{text-align:center}.avatar[data-v-00e385ac]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-00e385ac]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-00e385ac]{margin:0;font-weight:600}.affiliation[data-v-00e385ac]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-00e385ac]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-00e385ac]:hover{color:var(--vp-c-brand-1)}.desc[data-v-00e385ac]{margin:0 auto}.desc[data-v-00e385ac] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-00e385ac]{display:flex;justify-content:center;height:56px}.sp-link[data-v-00e385ac]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-00e385ac]:hover,.sp .sp-link.link[data-v-00e385ac]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-00e385ac]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-1bc18fbe]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-1bc18fbe]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-1bc18fbe]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-1bc18fbe]{max-width:876px}.VPTeamMembers.medium .container[data-v-1bc18fbe]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-1bc18fbe]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-1bc18fbe]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-1bc18fbe]{max-width:760px}.container[data-v-1bc18fbe]{display:grid;gap:24px;margin:0 auto;max-width:1152px}.VPLocalSearchBox[data-v-7f54cb12]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-7f54cb12]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-7f54cb12]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-7f54cb12]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-7f54cb12]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-7f54cb12]{padding:0 8px}}.search-bar[data-v-7f54cb12]:focus-within{border-color:var(--vp-c-brand-1)}.search-icon[data-v-7f54cb12]{margin:8px}@media (max-width: 767px){.search-icon[data-v-7f54cb12]{display:none}}.search-input[data-v-7f54cb12]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-7f54cb12]{padding:6px 4px}}.search-actions[data-v-7f54cb12]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-7f54cb12]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-7f54cb12]{display:none}}.search-actions button[data-v-7f54cb12]{padding:8px}.search-actions button[data-v-7f54cb12]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-7f54cb12]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-7f54cb12]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-7f54cb12]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-7f54cb12]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-7f54cb12]{display:none}}.search-keyboard-shortcuts kbd[data-v-7f54cb12]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-7f54cb12]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-7f54cb12]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-7f54cb12]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-7f54cb12]{margin:8px}}.titles[data-v-7f54cb12]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-7f54cb12]{display:flex;align-items:center;gap:4px}.title.main[data-v-7f54cb12]{font-weight:500}.title-icon[data-v-7f54cb12]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-7f54cb12]{opacity:.5}.result.selected[data-v-7f54cb12]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-7f54cb12]{position:relative}.excerpt[data-v-7f54cb12]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-7f54cb12]{opacity:1}.excerpt[data-v-7f54cb12] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-7f54cb12] mark,.excerpt[data-v-7f54cb12] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-7f54cb12] .vp-code-group .tabs{display:none}.excerpt[data-v-7f54cb12] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-7f54cb12]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-7f54cb12]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-7f54cb12],.result.selected .title-icon[data-v-7f54cb12]{color:var(--vp-c-brand-1)!important}.no-results[data-v-7f54cb12]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-7f54cb12]{flex:none} diff --git a/assets/style.r3Inmn3o.css b/assets/style.r3Inmn3o.css new file mode 100644 index 00000000..33046198 --- /dev/null +++ b/assets/style.r3Inmn3o.css @@ -0,0 +1 @@ +@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.CMhn1ESj.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.JvnBZ4YD.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.D0mI3NpI.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.Bu8hRsVA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.ZlYT4o7i.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.ClpjcLMQ.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.D6csxwjC.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.9J96vYpw.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.CHOfFY1k.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.DbsTr1gm.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.BGcWXLrn.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.DHNAd7Wr.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}: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: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--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-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-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);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}: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);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-ab90202b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-ab90202b],.VPBackdrop.fade-leave-to[data-v-ab90202b]{opacity:0}.VPBackdrop.fade-leave-active[data-v-ab90202b]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-ab90202b]{display:none}}.NotFound[data-v-3ffa6004]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-3ffa6004]{padding:96px 32px 168px}}.code[data-v-3ffa6004]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-3ffa6004]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-3ffa6004]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-3ffa6004]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-3ffa6004]{padding-top:20px}.link[data-v-3ffa6004]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-3ffa6004]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-1bb91e5e]{position:relative;z-index:1}.nested[data-v-1bb91e5e]{padding-right:16px;padding-left:16px}.outline-link[data-v-1bb91e5e]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-1bb91e5e]:hover,.outline-link.active[data-v-1bb91e5e]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-1bb91e5e]{padding-left:13px}.VPDocAsideOutline[data-v-43b33fd7]{display:none}.VPDocAsideOutline.has-outline[data-v-43b33fd7]{display:block}.content[data-v-43b33fd7]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-43b33fd7]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-43b33fd7]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-9a092dc1]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-9a092dc1]{flex-grow:1}.VPDocAside[data-v-9a092dc1] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-9a092dc1] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-9a092dc1] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-c48d53e7]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-c48d53e7]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-46220f1b]{margin-top:64px}.edit-info[data-v-46220f1b]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-46220f1b]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-46220f1b]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-46220f1b]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-46220f1b]{margin-right:8px}.prev-next[data-v-46220f1b]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-46220f1b]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-46220f1b]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-46220f1b]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-46220f1b]{margin-left:auto;text-align:right}.desc[data-v-46220f1b]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-46220f1b]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-e4ff8cac]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-e4ff8cac]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-e4ff8cac]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-e4ff8cac]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-e4ff8cac]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-e4ff8cac]{display:flex;justify-content:center}.VPDoc .aside[data-v-e4ff8cac]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-e4ff8cac]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-e4ff8cac]{max-width:1104px}}.container[data-v-e4ff8cac]{margin:0 auto;width:100%}.aside[data-v-e4ff8cac]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-e4ff8cac]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-e4ff8cac]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-e4ff8cac]::-webkit-scrollbar{display:none}.aside-curtain[data-v-e4ff8cac]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-e4ff8cac]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-e4ff8cac]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-e4ff8cac]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-e4ff8cac]{order:1;margin:0;min-width:640px}}.content-container[data-v-e4ff8cac]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-e4ff8cac]{max-width:688px}.VPButton[data-v-0a6aee27]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-0a6aee27]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-0a6aee27]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-0a6aee27]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-0a6aee27]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-0a6aee27]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-0a6aee27]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-0a6aee27]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-0a6aee27]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-0a6aee27]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-0a6aee27]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-0a6aee27]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-0a6aee27]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-de050e01]{display:none}.dark .VPImage.light[data-v-de050e01]{display:none}.VPHero[data-v-7cc30268]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-7cc30268]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-7cc30268]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-7cc30268]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-7cc30268]{flex-direction:row}}.main[data-v-7cc30268]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-7cc30268]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-7cc30268]{text-align:left}}@media (min-width: 960px){.main[data-v-7cc30268]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-7cc30268]{max-width:592px}}.name[data-v-7cc30268],.text[data-v-7cc30268]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-7cc30268],.VPHero.has-image .text[data-v-7cc30268]{margin:0 auto}.name[data-v-7cc30268]{color:var(--vp-home-hero-name-color)}.clip[data-v-7cc30268]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-7cc30268],.text[data-v-7cc30268]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-7cc30268],.text[data-v-7cc30268]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-7cc30268],.VPHero.has-image .text[data-v-7cc30268]{margin:0}}.tagline[data-v-7cc30268]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-7cc30268]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-7cc30268]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-7cc30268]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-7cc30268]{margin:0}}.actions[data-v-7cc30268]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-7cc30268]{justify-content:center}@media (min-width: 640px){.actions[data-v-7cc30268]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-7cc30268]{justify-content:flex-start}}.action[data-v-7cc30268]{flex-shrink:0;padding:6px}.image[data-v-7cc30268]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-7cc30268]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-7cc30268]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-7cc30268]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-7cc30268]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-7cc30268]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-7cc30268]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-7cc30268]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-7cc30268]{width:320px;height:320px}}[data-v-7cc30268] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-7cc30268] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-7cc30268] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-57133f1d]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-57133f1d]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-57133f1d]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-57133f1d]>.VPImage{margin-bottom:20px}.icon[data-v-57133f1d]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-57133f1d]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-57133f1d]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-57133f1d]{padding-top:8px}.link-text-value[data-v-57133f1d]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-57133f1d]{margin-left:6px}.VPFeatures[data-v-d5089023]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-d5089023]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-d5089023]{padding:0 64px}}.container[data-v-d5089023]{margin:0 auto;max-width:1152px}.items[data-v-d5089023]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-d5089023]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-d5089023],.item.grid-4[data-v-d5089023],.item.grid-6[data-v-d5089023]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-d5089023],.item.grid-4[data-v-d5089023]{width:50%}.item.grid-3[data-v-d5089023],.item.grid-6[data-v-d5089023]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-d5089023]{width:25%}}.container[data-v-553bf2ef]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-553bf2ef]{padding:0 48px}}@media (min-width: 960px){.container[data-v-553bf2ef]{width:100%;padding:0 64px}}.vp-doc[data-v-553bf2ef] .VPHomeSponsors,.vp-doc[data-v-553bf2ef] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-553bf2ef] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-553bf2ef] .VPHomeSponsors a,.vp-doc[data-v-553bf2ef] .VPTeamPage a{text-decoration:none}.VPHome[data-v-70990f2c]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-70990f2c]{margin-bottom:128px}}.VPContent[data-v-e995eaaa]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-e995eaaa]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-e995eaaa]{margin:0}@media (min-width: 960px){.VPContent[data-v-e995eaaa]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-e995eaaa]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-e995eaaa]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-9bc34305]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-9bc34305]{display:none}.VPFooter[data-v-9bc34305] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-9bc34305] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-9bc34305]{padding:32px}}.container[data-v-9bc34305]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-9bc34305],.copyright[data-v-9bc34305]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-80caa901]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-80caa901]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-80caa901]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-80caa901]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-80caa901]{color:var(--vp-c-text-1)}.icon[data-v-80caa901]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-80caa901]{font-size:14px}.icon[data-v-80caa901]{font-size:16px}}.open>.icon[data-v-80caa901]{transform:rotate(90deg)}.items[data-v-80caa901]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-80caa901]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-80caa901]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-80caa901]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-80caa901]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-80caa901]{transition:all .2s ease-out}.flyout-leave-active[data-v-80caa901]{transition:all .15s ease-in}.flyout-enter-from[data-v-80caa901],.flyout-leave-to[data-v-80caa901]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-50514843]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-50514843]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-50514843]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-50514843]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-50514843]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-50514843]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-50514843]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-50514843]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-50514843]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-50514843]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-50514843]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-50514843]{display:none}}.menu-icon[data-v-50514843]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-50514843]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-50514843]{padding:12px 32px 11px}}.VPSwitch[data-v-5ac49361]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-5ac49361]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-5ac49361]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-5ac49361]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-5ac49361] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-5ac49361] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-5884172c]{opacity:1}.moon[data-v-5884172c],.dark .sun[data-v-5884172c]{opacity:0}.dark .moon[data-v-5884172c]{opacity:1}.dark .VPSwitchAppearance[data-v-5884172c] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-04eeac76]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-04eeac76]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-da8ecd5d]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-da8ecd5d]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-da8ecd5d]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-da8ecd5d]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-a0d66a48]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-a0d66a48]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-a0d66a48]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-a0d66a48]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-47c0c63e]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-47c0c63e] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-47c0c63e] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-47c0c63e] .group:last-child{padding-bottom:0}.VPMenu[data-v-47c0c63e] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-47c0c63e] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-47c0c63e] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-47c0c63e] .action{padding-left:24px}.VPFlyout[data-v-318afff2]{position:relative}.VPFlyout[data-v-318afff2]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-318afff2]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-318afff2]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-318afff2]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-318afff2]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-318afff2],.button[aria-expanded=true]+.menu[data-v-318afff2]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-318afff2]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-318afff2]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-318afff2]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-318afff2]{margin-right:0;font-size:16px}.text-icon[data-v-318afff2]{margin-left:4px;font-size:14px}.icon[data-v-318afff2]{font-size:20px;transition:fill .25s}.menu[data-v-318afff2]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-e9d2801a]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-e9d2801a]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-e9d2801a]>svg,.VPSocialLink[data-v-e9d2801a]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-bc8a53f8]{display:flex;justify-content:center}.VPNavBarExtra[data-v-a159ac14]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-a159ac14]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-a159ac14]{display:none}}.trans-title[data-v-a159ac14]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-a159ac14],.item.social-links[data-v-a159ac14]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-a159ac14]{min-width:176px}.appearance-action[data-v-a159ac14]{margin-right:-2px}.social-links-list[data-v-a159ac14]{margin:-4px -8px}.VPNavBarHamburger[data-v-11b13a8e]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-11b13a8e]{display:none}}.container[data-v-11b13a8e]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-11b13a8e]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-11b13a8e]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-11b13a8e]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-11b13a8e]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-11b13a8e]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-11b13a8e]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-11b13a8e],.VPNavBarHamburger.active:hover .middle[data-v-11b13a8e],.VPNavBarHamburger.active:hover .bottom[data-v-11b13a8e]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-11b13a8e],.middle[data-v-11b13a8e],.bottom[data-v-11b13a8e]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-11b13a8e]{top:0;left:0;transform:translate(0)}.middle[data-v-11b13a8e]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-11b13a8e]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-f7220770]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-f7220770],.VPNavBarMenuLink[data-v-f7220770]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-a30bd6fa]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-a30bd6fa]{display:flex}}/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-d48daa7f]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-d48daa7f]{display:flex;align-items:center}}.title[data-v-d1cec79d]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-d1cec79d]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-d1cec79d]{border-bottom-color:var(--vp-c-divider)}}[data-v-d1cec79d] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-da7be247]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-da7be247]{display:flex;align-items:center}}.title[data-v-da7be247]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-b780caaa]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar.has-local-nav[data-v-b780caaa]{background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar.has-local-nav[data-v-b780caaa]{background-color:transparent}.VPNavBar[data-v-b780caaa]:not(.has-sidebar):not(.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-b780caaa]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-b780caaa]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-b780caaa]{padding:0}}.container[data-v-b780caaa]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-b780caaa],.container>.content[data-v-b780caaa]{pointer-events:none}.container[data-v-b780caaa] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-b780caaa]{max-width:100%}}.title[data-v-b780caaa]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-b780caaa]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-b780caaa]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-b780caaa]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-b780caaa]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-b780caaa]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-b780caaa]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-b780caaa]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.top) .content-body[data-v-b780caaa]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-b780caaa]{column-gap:.5rem}}.menu+.translations[data-v-b780caaa]:before,.menu+.appearance[data-v-b780caaa]:before,.menu+.social-links[data-v-b780caaa]:before,.translations+.appearance[data-v-b780caaa]:before,.appearance+.social-links[data-v-b780caaa]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-b780caaa]:before,.translations+.appearance[data-v-b780caaa]:before{margin-right:16px}.appearance+.social-links[data-v-b780caaa]:before{margin-left:16px}.social-links[data-v-b780caaa]{margin-right:-8px}.divider[data-v-b780caaa]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-b780caaa]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-b780caaa]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-b780caaa]{width:100%;height:1px;transition:background-color .5s}.VPNavBar.has-local-nav .divider-line[data-v-b780caaa]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.top) .divider-line[data-v-b780caaa]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.top) .divider[data-v-b780caaa]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-e1b8b5ac]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-e1b8b5ac]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-c9c118f1]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-c9c118f1]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-5f1b1e6a]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-5f1b1e6a]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-3e422c48]{display:block}.title[data-v-3e422c48]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-3cbb9edb]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-3cbb9edb]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-3cbb9edb]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-3cbb9edb]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-3cbb9edb]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-3cbb9edb]{transform:rotate(45deg)}.button[data-v-3cbb9edb]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-3cbb9edb]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-3cbb9edb]{transition:transform .25s}.group[data-v-3cbb9edb]:first-child{padding-top:0}.group+.group[data-v-3cbb9edb],.group+.item[data-v-3cbb9edb]{padding-top:4px}.VPNavScreenTranslations[data-v-498d9977]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-498d9977]{height:auto}.title[data-v-498d9977]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-498d9977]{font-size:16px}.icon.lang[data-v-498d9977]{margin-right:8px}.icon.chevron[data-v-498d9977]{margin-left:4px}.list[data-v-498d9977]{padding:4px 0 0 24px}.link[data-v-498d9977]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-5d33e320]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-5d33e320],.VPNavScreen.fade-leave-active[data-v-5d33e320]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-5d33e320],.VPNavScreen.fade-leave-active .container[data-v-5d33e320]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-5d33e320],.VPNavScreen.fade-leave-to[data-v-5d33e320]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-5d33e320],.VPNavScreen.fade-leave-to .container[data-v-5d33e320]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-5d33e320]{display:none}}.container[data-v-5d33e320]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-5d33e320],.menu+.appearance[data-v-5d33e320],.translations+.appearance[data-v-5d33e320]{margin-top:24px}.menu+.social-links[data-v-5d33e320]{margin-top:16px}.appearance+.social-links[data-v-5d33e320]{margin-top:16px}.VPNav[data-v-662a9a4b]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-662a9a4b]{position:fixed}}.VPSidebarItem.level-0[data-v-c483fa44]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-c483fa44]{padding-bottom:10px}.item[data-v-c483fa44]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-c483fa44]{cursor:pointer}.indicator[data-v-c483fa44]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-c483fa44],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-c483fa44],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-c483fa44],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-c483fa44]{background-color:var(--vp-c-brand-1)}.link[data-v-c483fa44]{display:flex;align-items:center;flex-grow:1}.text[data-v-c483fa44]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-c483fa44]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-c483fa44],.VPSidebarItem.level-2 .text[data-v-c483fa44],.VPSidebarItem.level-3 .text[data-v-c483fa44],.VPSidebarItem.level-4 .text[data-v-c483fa44],.VPSidebarItem.level-5 .text[data-v-c483fa44]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-c483fa44],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-c483fa44],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-c483fa44],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-c483fa44],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-c483fa44],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-c483fa44]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-c483fa44],.VPSidebarItem.level-1.has-active>.item>.text[data-v-c483fa44],.VPSidebarItem.level-2.has-active>.item>.text[data-v-c483fa44],.VPSidebarItem.level-3.has-active>.item>.text[data-v-c483fa44],.VPSidebarItem.level-4.has-active>.item>.text[data-v-c483fa44],.VPSidebarItem.level-5.has-active>.item>.text[data-v-c483fa44],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-c483fa44],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-c483fa44],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-c483fa44],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-c483fa44],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-c483fa44],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-c483fa44]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-c483fa44],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-c483fa44],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-c483fa44],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-c483fa44],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-c483fa44],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-c483fa44]{color:var(--vp-c-brand-1)}.caret[data-v-c483fa44]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-c483fa44]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-c483fa44]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-c483fa44]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-c483fa44]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-c483fa44],.VPSidebarItem.level-2 .items[data-v-c483fa44],.VPSidebarItem.level-3 .items[data-v-c483fa44],.VPSidebarItem.level-4 .items[data-v-c483fa44],.VPSidebarItem.level-5 .items[data-v-c483fa44]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-c483fa44]{display:none}.VPSidebar[data-v-9192597a]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-9192597a]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-9192597a]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-9192597a]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-9192597a]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-9192597a]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-9192597a]{outline:0}.group+.group[data-v-9192597a]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-9192597a]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-5c3e4337]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-5c3e4337]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-5c3e4337]{top:14px;left:16px}}.Layout[data-v-8266c5a0]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-ddd5ec18]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-ddd5ec18]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-ddd5ec18]{margin:128px 0}}.VPHomeSponsors[data-v-ddd5ec18]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-ddd5ec18]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-ddd5ec18]{padding:0 64px}}.container[data-v-ddd5ec18]{margin:0 auto;max-width:1152px}.love[data-v-ddd5ec18]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-ddd5ec18]{display:inline-block}.message[data-v-ddd5ec18]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-ddd5ec18]{padding-top:32px}.action[data-v-ddd5ec18]{padding-top:40px;text-align:center}.VPTeamPage[data-v-eb36dbc4]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-eb36dbc4]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-eb36dbc4-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-eb36dbc4-s],.VPTeamMembers+.VPTeamPageSection[data-v-eb36dbc4-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-eb36dbc4-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-eb36dbc4-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-eb36dbc4-s],.VPTeamMembers+.VPTeamPageSection[data-v-eb36dbc4-s]{margin-top:96px}}.VPTeamMembers[data-v-eb36dbc4-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-eb36dbc4-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-eb36dbc4-s]{padding:0 64px}}.VPTeamPageTitle[data-v-cb392efe]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-cb392efe]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-cb392efe]{padding:80px 64px 48px}}.title[data-v-cb392efe]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-cb392efe]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-cb392efe]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-cb392efe]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-4fe5bf15]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-4fe5bf15]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-4fe5bf15]{padding:0 64px}}.title[data-v-4fe5bf15]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-4fe5bf15]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-4fe5bf15]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-4fe5bf15]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-4fe5bf15]{padding-top:40px}.VPTeamMembersItem[data-v-94f52639]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-94f52639]{padding:32px}.VPTeamMembersItem.small .data[data-v-94f52639]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-94f52639]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-94f52639]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-94f52639]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-94f52639]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-94f52639]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-94f52639]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-94f52639]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-94f52639]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-94f52639]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-94f52639]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-94f52639]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-94f52639]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-94f52639]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-94f52639]{text-align:center}.avatar[data-v-94f52639]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-94f52639]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-94f52639]{margin:0;font-weight:600}.affiliation[data-v-94f52639]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-94f52639]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-94f52639]:hover{color:var(--vp-c-brand-1)}.desc[data-v-94f52639]{margin:0 auto}.desc[data-v-94f52639] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-94f52639]{display:flex;justify-content:center;height:56px}.sp-link[data-v-94f52639]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-94f52639]:hover,.sp .sp-link.link[data-v-94f52639]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-94f52639]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-af8ae4a7]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-af8ae4a7]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-af8ae4a7]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-af8ae4a7]{max-width:876px}.VPTeamMembers.medium .container[data-v-af8ae4a7]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-af8ae4a7]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-af8ae4a7]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-af8ae4a7]{max-width:760px}.container[data-v-af8ae4a7]{display:grid;gap:24px;margin:0 auto;max-width:1152px}.VPLocalSearchBox[data-v-a83c338b]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-a83c338b]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-a83c338b]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-a83c338b]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-a83c338b]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-a83c338b]{padding:0 8px}}.search-bar[data-v-a83c338b]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-a83c338b]{display:block;font-size:18px}.navigate-icon[data-v-a83c338b]{display:block;font-size:14px}.search-icon[data-v-a83c338b]{margin:8px}@media (max-width: 767px){.search-icon[data-v-a83c338b]{display:none}}.search-input[data-v-a83c338b]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-a83c338b]{padding:6px 4px}}.search-actions[data-v-a83c338b]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-a83c338b]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-a83c338b]{display:none}}.search-actions button[data-v-a83c338b]{padding:8px}.search-actions button[data-v-a83c338b]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-a83c338b]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-a83c338b]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-a83c338b]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-a83c338b]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-a83c338b]{display:none}}.search-keyboard-shortcuts kbd[data-v-a83c338b]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-a83c338b]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-a83c338b]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-a83c338b]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-a83c338b]{margin:8px}}.titles[data-v-a83c338b]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-a83c338b]{display:flex;align-items:center;gap:4px}.title.main[data-v-a83c338b]{font-weight:500}.title-icon[data-v-a83c338b]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-a83c338b]{opacity:.5}.result.selected[data-v-a83c338b]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-a83c338b]{position:relative}.excerpt[data-v-a83c338b]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-a83c338b]{opacity:1}.excerpt[data-v-a83c338b] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-a83c338b] mark,.excerpt[data-v-a83c338b] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-a83c338b] .vp-code-group .tabs{display:none}.excerpt[data-v-a83c338b] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-a83c338b]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-a83c338b]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-a83c338b],.result.selected .title-icon[data-v-a83c338b]{color:var(--vp-c-brand-1)!important}.no-results[data-v-a83c338b]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-a83c338b]{flex:none} diff --git a/guid.html b/guid.html index 7aeb55fc..2dac3f1a 100644 --- a/guid.html +++ b/guid.html @@ -5,20 +5,20 @@ Masuit.Tools(码数吐司库) | 码数吐司库 - - + + - - - - - + + + + + -
Skip to content

Masuit.Tools(码数吐司库)

许可证nugetnugetcodeSize编程语言

全龄段友好的C#.NET万能工具库,不管你是菜鸟新手还是骨灰级玩家都能轻松上手,这个库包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。

诸多功能集一身,代码量不到2MB!官网教程Masuit Tools

项目开发模式:日常代码积累+网络搜集

⭐⭐⭐喜欢这个项目的话就Star、Fork、Follow素质三连关♂注一下吧⭐⭐⭐

关于本项目,如果你有任何不懂的地方或使用过程中遇到任何问题,可以直接提issue或私信联系我,我会为你提供完全免费的技术指导,当然,如果你觉得不好意思接受免费的指导,想适当打赏我也是不会拒绝的!🤣🤣🤣

本项目已得到JetBrains的支持!

Star趋势

请注意:

一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,一经发现,本项目作者有权利追讨本项目的使用费(公司工商注册信息认缴金额的2-5倍作为本项目的授权费),或者直接不允许使用任何包含本项目的源代码! 人力外包公司007公司需要使用本类库,请联系作者进行商业授权!其他企业或个人可随意使用不受限。007那叫用人,也是废人。8小时工作制才可以让你有时间自我提升,将来有竞争力。反对007,人人有责!

建议开发环境

操作系统:Windows 11 23H2及以上版本

开发工具:VisualStudio2022 v17.8及以上版本

SDK:.Net Core 2.1.0及以上所有版本

- +
Skip to content

Masuit.Tools(码数吐司库)

许可证nugetnugetcodeSize编程语言

全龄段友好的C#.NET万能工具库,不管你是菜鸟新手还是骨灰级玩家都能轻松上手,这个库包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。

诸多功能集一身,代码量不到2MB!官网教程Masuit Tools

项目开发模式:日常代码积累+网络搜集

⭐⭐⭐喜欢这个项目的话就Star、Fork、Follow素质三连关♂注一下吧⭐⭐⭐

关于本项目,如果你有任何不懂的地方或使用过程中遇到任何问题,可以直接提issue或私信联系我,我会为你提供完全免费的技术指导,当然,如果你觉得不好意思接受免费的指导,想适当打赏我也是不会拒绝的!🤣🤣🤣

本项目已得到JetBrains的支持!

Star趋势

请注意:

一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,一经发现,本项目作者有权利追讨本项目的使用费(公司工商注册信息认缴金额的2-5倍作为本项目的授权费),或者直接不允许使用任何包含本项目的源代码! 人力外包公司007公司需要使用本类库,请联系作者进行商业授权!其他企业或个人可随意使用不受限。007那叫用人,也是废人。8小时工作制才可以让你有时间自我提升,将来有竞争力。反对007,人人有责!

建议开发环境

操作系统:Windows 11 23H2及以上版本

开发工具:VisualStudio2022 v17.8及以上版本

SDK:.Net Core 2.1.0及以上所有版本

+ \ No newline at end of file diff --git a/guid/index.html b/guid/index.html index f9e55eb1..de1349b2 100644 --- a/guid/index.html +++ b/guid/index.html @@ -5,20 +5,20 @@ Masuit.Tools(码数吐司库) | 码数吐司库 - - + + - - - - - + + + + + -
Skip to content

Masuit.Tools(码数吐司库)

LICENSEnugetnugetcodeSizelanguage

新手友好的C#万能工具库,包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。

诸多功能集一身,代码量不到2MB!官网教程Masuit Tools

项目开发模式:日常代码积累+网络搜集 ⭐⭐⭐喜欢这个项目的话就Star、Fork、Follow素质三连关♂注一下吧⭐⭐⭐ 关于本项目,如果你有任何不懂的地方或使用过程中遇到任何问题,可以直接提issue或私信联系我,我会为你提供完全免费的技术指导,当然,如果你觉得不好意思接受免费的指导,想适当打赏我也是不会拒绝的!🤣🤣🤣

本项目已得到JetBrains的支持!

Star趋势

请注意:

一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,一经发现,本项目作者有权利追讨本项目的使用费(公司工商注册信息认缴金额的2-5倍作为本项目的授权费),或者直接不允许使用任何包含本项目的源代码!任何性质的 外包公司996公司需要使用本类库,请联系作者进行商业授权!其他企业或个人可随意使用不受限。996那叫用人,也是废人。8小时工作制才可以让你有时间自我提升,将来有竞争力。反对996,人人有责!

建议开发环境

操作系统:Windows 10 1903及以上版本 开发工具:VisualStudio2019 v16.5及以上版本 SDK:.Net Core 2.1.0及以上所有版本

推荐项目

基于EntityFrameworkCore和Lucene.NET实现的全文检索搜索引擎:Masuit.LuceneEFCore.SearchEngine

开源博客系统:Masuit.MyBlogs

- +
Skip to content

Masuit.Tools(码数吐司库)

LICENSEnugetnugetcodeSizelanguage

新手友好的C#万能工具库,包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。

诸多功能集一身,代码量不到2MB!官网教程Masuit Tools

项目开发模式:日常代码积累+网络搜集 ⭐⭐⭐喜欢这个项目的话就Star、Fork、Follow素质三连关♂注一下吧⭐⭐⭐ 关于本项目,如果你有任何不懂的地方或使用过程中遇到任何问题,可以直接提issue或私信联系我,我会为你提供完全免费的技术指导,当然,如果你觉得不好意思接受免费的指导,想适当打赏我也是不会拒绝的!🤣🤣🤣

本项目已得到JetBrains的支持!

Star趋势

请注意:

一旦使用本开源项目以及引用了本项目或包含本项目代码的公司因为违反劳动法(包括但不限定非法裁员、超时用工、雇佣童工等)在任何法律诉讼中败诉的,一经发现,本项目作者有权利追讨本项目的使用费(公司工商注册信息认缴金额的2-5倍作为本项目的授权费),或者直接不允许使用任何包含本项目的源代码!任何性质的 外包公司996公司需要使用本类库,请联系作者进行商业授权!其他企业或个人可随意使用不受限。996那叫用人,也是废人。8小时工作制才可以让你有时间自我提升,将来有竞争力。反对996,人人有责!

建议开发环境

操作系统:Windows 10 1903及以上版本 开发工具:VisualStudio2019 v16.5及以上版本 SDK:.Net Core 2.1.0及以上所有版本

推荐项目

基于EntityFrameworkCore和Lucene.NET实现的全文检索搜索引擎:Masuit.LuceneEFCore.SearchEngine

开源博客系统:Masuit.MyBlogs

+ \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index 64073f93..a58ebfd7 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"index.md":"Gai-Poxw","guid_index.md":"lfcJvdmA","guid.md":"EcVGGPGb","api.md":"n6118s9P"} +{"guid.md":"BuZaR6g-","guid_index.md":"CHiZtEJt","index.md":"DGAQtZsT","api.md":"BN60GCIm"} diff --git a/index.html b/index.html index d8340ef9..0af622d9 100644 --- a/index.html +++ b/index.html @@ -5,20 +5,20 @@ 码数吐司库 - - + + - - - - - + + + + + -
Skip to content

码数吐司库

Masuit.Tools

全龄段友好的C#.NET万能工具库,不管你是菜鸟新手还是骨灰级玩家都能轻松上手,这个库包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。

- +
Skip to content

码数吐司库

Masuit.Tools

全龄段友好的C#.NET万能工具库,不管你是菜鸟新手还是骨灰级玩家都能轻松上手,这个库包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。

+ \ No newline at end of file