diff --git a/.npmrc b/.npmrc index 8f46dd2575db36faa55d4973525cef17b4f17a72..3a3c06d65639864b74fdfd988a3f046c05f9c207 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1,2 @@ +enable-pre-post-scripts = true registry=https://registry.npmmirror.com/ - diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index 66d4c0d9d803a7017653eef72220ccacc9355a19..0000000000000000000000000000000000000000 --- a/.prettierrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/prettierrc", - "semi": true, - "tabWidth": 2, - "singleQuote": true, - "printWidth": 160, - "trailingComma": "es5" -} diff --git a/CodeSpellCheck/.codespellrc b/CodeSpellCheck/.codespellrc new file mode 100644 index 0000000000000000000000000000000000000000..f996a3813d0d23eb7d2b9037fedebceaf75630d8 --- /dev/null +++ b/CodeSpellCheck/.codespellrc @@ -0,0 +1,2 @@ +[codespell] +ignore-words-list = preemptable,deactived,actived,deactive,messgaes,doesnt,asymmetri,hda, numer, cann, thirdparty, te, Widgits, realte,aggregatin,GOST,OT,thirdparty,regist \ No newline at end of file diff --git a/CodeSpellCheck/codespell.py b/CodeSpellCheck/codespell.py new file mode 100644 index 0000000000000000000000000000000000000000..c08554bc91ee7701baf123a3eb2dc6a637278a19 --- /dev/null +++ b/CodeSpellCheck/codespell.py @@ -0,0 +1,22 @@ +import argparse +import os +import subprocess +import sys +from common import get_pr_files + +parser = argparse.ArgumentParser() +parser.add_argument('--dirs', + default="docs/zh/,docs/en/", + help='用逗号分隔的文档目录,例如 "doc/zh/,doc/en/"') +args = parser.parse_args() +pr_files = get_pr_files(args.dirs) +normal = 0 +for pr_file in pr_files: + if not os.path.exists(pr_file): + continue + if ' ' in pr_file: + pr_file = pr_file.replace(' ', '\ ') + res = subprocess.call('codespell {}'.format(pr_file), shell=True) + if res != 0: + normal = 1 +sys.exit(normal) diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 89491c512497ba8b45e4edcc54e490fd6b3d9849..0000000000000000000000000000000000000000 --- a/Dockerfile +++ /dev/null @@ -1,160 +0,0 @@ -FROM swr.cn-north-4.myhuaweicloud.com/opensourceway/node:latest as Builder - -RUN mkdir -p /home/openeuler/docs -WORKDIR /home/openeuler/docs -COPY . /home/openeuler/docs - -RUN npm install pnpm -g -RUN pnpm install -RUN pnpm build - -FROM swr.cn-north-4.myhuaweicloud.com/opensourceway/openeuler/nginx:latest as NginxBuilder - -FROM swr.cn-north-4.myhuaweicloud.com/opensourceway/openeuler/base:latest - -ENV NGINX_CONFIG_FILE /etc/nginx/nginx.conf -ENV NGINX_CONFIG_PATH /etc/nginx/ -ENV NGINX_PID /var/run/nginx.pid -ENV NGINX_USER nginx -ENV NGINX_GROUP nginx -ENV NGINX_BIN /usr/share/nginx/sbin/ -ENV NGINX_HOME /usr/share/nginx/ -ENV NGINX_EXE_FILE /usr/share/nginx/sbin/nginx -ENV DST_PATH /etc/nginx/cert - -COPY --from=NginxBuilder /usr/share/nginx /usr/share/nginx -COPY --from=NginxBuilder /usr/share/nginx/sbin/nginx /usr/share/nginx/sbin/nginx -COPY --from=NginxBuilder /etc/nginx/modules /etc/nginx/modules -COPY --from=NginxBuilder /etc/nginx/geoip /etc/nginx/geoip -COPY --from=NginxBuilder /etc/nginx/mime.types /etc/nginx/mime.types -COPY --from=Builder /home/openeuler/docs/app/.vitepress/dist /usr/share/nginx/www/ -COPY ./deploy/monitor.sh ./deploy/entrypoint.sh /etc/nginx/ -COPY --from=Builder /home/openeuler/docs/deploy/nginx/nginx.conf /etc/nginx/nginx.conf.template - -RUN sed -i "s|repo.openeuler.org|mirrors.nju.edu.cn/openeuler|g" /etc/yum.repos.d/openEuler.repo \ - && sed -i '/metalink/d' /etc/yum.repos.d/openEuler.repo \ - && sed -i '/metadata_expire/d' /etc/yum.repos.d/openEuler.repo \ - && yum update -y \ - && yum install -y findutils passwd shadow pcre-devel net-tools libmaxminddb libmaxminddb-devel \ - && find /usr/share/nginx/www -type d -print0| xargs -0 chmod 500 \ - && find /usr/share/nginx/www -type f -print0| xargs -0 chmod 400 \ - && touch /var/run/nginx.pid \ - && groupadd -g 1000 nginx \ - && useradd -u 1000 -g nginx -s /sbin/nologin nginx \ - && sed -i '/^PATH="\$HOME\/\.local\/bin:\$HOME\/bin:\$PATH"/d; /^export PATH/d' /home/nginx/.bashrc \ - && chmod 750 /usr \ - && chmod 550 /usr/share \ - && chown -R nginx:nginx /usr/share/nginx \ - && find /usr/share/nginx -type d -print0 | xargs -0 chmod 500 \ - && chmod 500 /usr/share/nginx/sbin/nginx \ - && mkdir -p /var/log/nginx \ - && mkdir -p /etc/nginx/cert \ - && chown -R nginx:nginx /etc/nginx/cert \ - && chmod -R 700 /etc/nginx/cert \ - && chown -R nginx:nginx /var/log/nginx \ - && chmod -R 640 /var/log/nginx \ - && touch /var/log/nginx/error.log \ - && touch /var/log/nginx/access.log \ - && chmod 640 /var/log/nginx/error.log \ - && chmod 640 /var/log/nginx/access.log \ - && chmod 640 /var/log/dnf.librepo.log \ - && chmod 640 /var/log/dnf.log \ - && chmod 640 /var/log/dnf.rpm.log \ - && chmod 640 /var/log/hawkey.log \ - && chmod 640 /var/log/*.log \ - && chmod 440 /etc/nginx/nginx*.conf* \ - && chown -R nginx:nginx /var/log/nginx/* \ - && mkdir -p /var/lib/nginx/tmp/client_body \ - && chown -R nginx:nginx /var/lib/nginx/tmp/client_body \ - && mkdir -p /var/lib/nginx/tmp/fastcgi \ - && chown -R nginx:nginx /var/lib/nginx/tmp/fastcgi \ - && mkdir -p /var/lib/nginx/tmp/proxy \ - && chown -R nginx:nginx /var/lib/nginx/tmp/proxy \ - && mkdir -p /var/lib/nginx/tmp/scgi \ - && chown -R nginx:nginx /var/lib/nginx/tmp/scgi \ - && mkdir -p /var/lib/nginx/tmp/uwsgi \ - && chown -R nginx:nginx /var/lib/nginx/tmp/uwsgi \ - && chmod -R 500 /var/lib/nginx/ \ - && chmod -R 750 /var/lib/nginx/tmp/proxy \ - && chown -R nginx:nginx /var/lib/nginx/ \ - && chown -R nginx:nginx /var/run/nginx.pid \ - && chmod 640 /var/run/nginx.pid \ - && chown -R nginx:nginx /etc/nginx \ - && chmod 550 /etc/nginx \ - && chmod 550 /etc/nginx/geoip/ \ - && chmod 440 /etc/nginx/geoip/* \ - && chmod 550 /etc/nginx/modules \ - && chmod 440 /etc/nginx/modules/* \ - && touch /etc/nginx/nginx.conf \ - && chown nginx:nginx /etc/nginx/nginx.conf \ - && chmod 640 /etc/nginx/nginx.conf \ - && chmod 640 /etc/nginx/nginx.conf.template \ - && chmod 440 /etc/nginx/mime.types \ - && chmod 700 /var/lib/nginx/tmp/client_body \ - && lsd() { \ - local v="$1"; \ - ls -ld "$v"; \ - while :; do \ - v="${v%/*}"; \ - [[ "$v" && ! -f "$v" ]] || break; \ - chown root:root "$v"; \ - done; \ - }; lsd "$NGINX_HOME" \ - && lsd() { \ - local v="$1"; \ - ls -ld $v; \ - while :; do \ - v="${v%/*}"; \ - [[ "$v" && ! -f "$v" ]] || break; \ - chmod 550 "$v"; \ - done; \ - }; lsd $NGINX_HOME \ - && lsd() { \ - local v="$1"; \ - ls -ld $v; \ - while :; do \ - v="${v%/*}"; \ - [[ "$v" && ! -f "$v" ]] || break; \ - chown $NGINX_USER:$NGINX_GROUP "$v"; \ - done; \ - }; lsd $NGINX_HOME \ - && rm -rf /usr/share/nginx/html/ \ - && rm -rf /usr/share/nginx/logs/ \ - && echo "umask 0027" >> /etc/bashrc \ - && echo "set +o history" >> /etc/bashrc \ - && sed -i "s|HISTSIZE=1000|HISTSIZE=0|" /etc/profile \ - && sed -i "s/PASS_MAX_DAYS.*/PASS_MAX_DAYS 30/" /etc/login.defs \ - && echo "ALWAYS_SET_PATH yes" >> /etc/login.defs \ - && chage --maxdays 30 nginx \ - && passwd -l $NGINX_USER \ - && yum clean all \ - && usermod -s /sbin/nologin sync \ - && usermod -s /sbin/nologin shutdown \ - && usermod -s /sbin/nologin halt \ - && echo "export TMOUT=1800 readonly TMOUT" >> /etc/profile \ - && rm -rf /usr/bin/gdb* \ - && rm -rf /usr/share/gdb \ - && rm -rf /usr/share/gcc* \ - && rm -rf /usr/lib64/python3.11/bdb.py \ - && rm -rf /usr/lib64/python3.11/pdb.py \ - && rm -rf /usr/lib64/python3.11/timeit.py \ - && rm -rf /usr/lib64/python3.11/trace.py \ - && rm -rf /usr/lib64/python3.11/tracemalloc.py \ - && rm -rf /usr/share/licenses/glibc \ - && rm -rf /usr/share/locale/ar \ - && rm -rf /usr/share/locale/cpp \ - && yum remove gdb-gdbserver findutils passwd shadow -y - - -RUN chmod 500 /etc/nginx/monitor.sh \ - && chmod 500 /etc/nginx/entrypoint.sh \ - && chown nginx:nginx /etc/nginx/monitor.sh \ - && chown nginx:nginx /etc/nginx/entrypoint.sh \ - && sed -i "/PATH=/d" /home/nginx/.bashrc \ - && source /home/nginx/.bashrc - -EXPOSE 8080 - -USER nginx - -ENTRYPOINT ["/etc/nginx/entrypoint.sh"] \ No newline at end of file diff --git a/EditLintMD/check_markdown_spaces.py b/EditLintMD/check_markdown_spaces.py new file mode 100644 index 0000000000000000000000000000000000000000..26d26ff1efd21bfe8231f91de2a756e5d0cc828c --- /dev/null +++ b/EditLintMD/check_markdown_spaces.py @@ -0,0 +1,70 @@ +import argparse +import re +import sys +import os +from common import get_pr_files + + +def check_spaces(file_path): + # 定义检查规则 + chinese_pattern = re.compile(r'([\u4e00-\u9fff])\s+([\u4e00-\u9fff])') + english_pattern = re.compile(r'([a-zA-Z])\s{2,}([a-zA-Z])') + punctuation_pattern = re.compile(r'([\u4e00-\u9fff])\s+([,。、;:?!)】」』])') + punctuation_pattern2 = re.compile(r'([(【「『])\s+([\u4e00-\u9fff])') + + issues = [] + + with open(file_path, 'r', encoding='utf-8') as f: + for line_num, line in enumerate(f, 1): + # 忽略代码块和链接 + if line.strip().startswith('```') or '`' in line or 'http' in line: + continue + + # 检查中文之间的多余空格 + for match in chinese_pattern.finditer(line): + issues.append(f"行 {line_num}: 中文之间有多余空格: '{match.group(0)}'") + + # 检查英文单词之间的多余空格(两个及以上空格) + for match in english_pattern.finditer(line): + issues.append(f"行 {line_num}: 英文单词之间有多个空格: '{match.group(0)}'") + + # 检查中文和标点之间的多余空格 + for match in punctuation_pattern.finditer(line): + issues.append(f"行 {line_num}: 中文和结束标点之间有多余空格: '{match.group(0)}'") + + for match in punctuation_pattern2.finditer(line): + issues.append(f"行 {line_num}: 中文和开始标点之间有多余空格: '{match.group(0)}'") + + return issues + +def main(): + """ + 主函数,处理指定的 Markdown 文件 + """ + parser = argparse.ArgumentParser() + parser.add_argument('--dirs', + default="docs/zh/,docs/en/", + help='用逗号分隔的文档目录,例如 "doc/zh/,doc/en/"') + args = parser.parse_args() + markdown_files = get_pr_files(args.dirs) + errors = [] + + for file_path in markdown_files: + if not os.path.exists(file_path): + error = f"File does not exist: {file_path}" + errors.append(error) + continue + if not file_path.lower().endswith('.md'): + continue + errors = check_spaces(file_path) + + if errors: + print("The following links are invalid:") + for error in errors: + print(error) + sys.exit(1) + else: + print("\nAll links are valid.") + +if __name__ == "__main__": + main() diff --git a/FileNameCheck/fileNameCheck.py b/FileNameCheck/fileNameCheck.py new file mode 100644 index 0000000000000000000000000000000000000000..1179d7aff98d96b477823da35164341c2f3bf958 --- /dev/null +++ b/FileNameCheck/fileNameCheck.py @@ -0,0 +1,121 @@ +import argparse +import os +import re +import logging +from typing import Dict, List + +from common import get_pr_files + +# 配置日志记录 +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') + +# 定义允许的字符模式:小写字母、数字和下划线 +ALLOWED_PATTERN = re.compile(r'^[a-z0-9_]+$') + + +def check_naming_convention(path: str) -> Dict[str, List[str]]: + """ + 检查给定路径下的Markdown文件和文件夹命名是否符合规范 + + Args: + path: 要检查的目录路径 + + Returns: + 包含错误信息的字典,格式为 {'invalid_files': [], 'invalid_dirs': []} + """ + result = {'invalid_files': [], 'invalid_dirs': []} + + if not os.path.exists(path): + logging.error(f"Directory not found: {path}") + return result + + for root, dirs, files in os.walk(path): + # 检查文件夹命名(所有文件夹都需要检查,因为它们可能包含Markdown文件) + for dir_name in dirs: + if not ALLOWED_PATTERN.fullmatch(dir_name): + relative_path = os.path.relpath(os.path.join(root, dir_name), path) + result['invalid_dirs'].append(relative_path) + + # 检查Markdown文件命名(只检查.md文件) + for file_name in files: + if file_name.endswith('.md'): + base_name, ext = os.path.splitext(file_name) + if not ALLOWED_PATTERN.fullmatch(base_name): + relative_path = os.path.relpath(os.path.join(root, file_name), path) + result['invalid_files'].append(relative_path) + + return result + + +def format_naming_error_report(naming_errors: Dict[str, Dict[str, List[str]]]) -> str: + """ + 格式化命名规范错误报告 + + Args: + naming_errors: 命名规范错误 + + Returns: + 格式化的错误报告字符串 + """ + report = [] + + for dir_name, dir_errors in naming_errors.items(): + if not any(dir_errors.values()): + continue + + report.append(f"\n命名规范检查 - {dir_name}:") + + if dir_errors['invalid_dirs']: + report.append("不符合规范的文件夹:") + for item in dir_errors['invalid_dirs']: + report.append(f" - {item}") + + if dir_errors['invalid_files']: + report.append("不符合规范的Markdown文件:") + for item in dir_errors['invalid_files']: + report.append(f" - {item}") + + return "\n".join(report) if report else "所有命名规范检查通过" + + +def main(): + """ + 主函数,执行命名规范检查 + """ + # 初始化参数解析 + parser = argparse.ArgumentParser( + description='Markdown文件和目录命名规范检查工具', + formatter_class=argparse.ArgumentDefaultsHelpFormatter + ) + parser.add_argument('--dirs', + default="docs/zh/,docs/en/", + help='用逗号分隔的文档目录,例如 "doc/zh/,doc/en/"') + + args = parser.parse_args() + markdown_files = get_pr_files(args.dirs) + if not markdown_files: + return + + target_dirs = [d.strip() for d in args.dirs.split(',') if d.strip()] + all_naming_errors = {} + + # 检查命名规范 + for target_dir in target_dirs: + if not os.path.exists(target_dir): + logging.warning(f"目标目录不存在: {target_dir}") + continue + + logging.info(f"正在检查目录命名规范: {target_dir}") + all_naming_errors[target_dir] = check_naming_convention(target_dir) + + # 输出报告 + report = format_naming_error_report(all_naming_errors) + print(report) + + # 如果有错误,返回非零退出码 + if any(any(errors.values()) for errors in all_naming_errors.values()): + exit(1) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/FileNameConsistencyCheck/fileNameConsistencyCheck.py b/FileNameConsistencyCheck/fileNameConsistencyCheck.py new file mode 100644 index 0000000000000000000000000000000000000000..3fadc702be326355a72433dbe06129e79ba91e9e --- /dev/null +++ b/FileNameConsistencyCheck/fileNameConsistencyCheck.py @@ -0,0 +1,176 @@ +import argparse +import os +import logging +from typing import Dict, List, Tuple, Set + +from common import get_pr_files + +# 配置日志记录 +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') + + +def get_document_structure(dir_path: str) -> Tuple[Set[str], Set[str]]: + """ + 获取目录下的文档结构 + + Args: + dir_path: 目录路径 + + Returns: + 包含两个集合的元组:(文件集合, 目录集合) + """ + files = set() + dirs = set() + + if not os.path.exists(dir_path): + return files, dirs + + for root, sub_dirs, file_names in os.walk(dir_path): + rel_root = os.path.relpath(root, dir_path) + + # 添加目录结构 + if rel_root != '.': + dir_parts = rel_root.split(os.sep) + for i in range(1, len(dir_parts) + 1): + dirs.add(os.path.join(*dir_parts[:i])) + + # 添加文件结构(只处理Markdown文件) + for file_name in file_names: + if file_name.endswith('.md'): + base_name = os.path.splitext(file_name)[0] + if rel_root == '.': + files.add(base_name) + else: + files.add(os.path.join(rel_root, base_name)) + + return files, dirs + + +def check_corresponding_docs(en_dir: str, zh_dir: str) -> Dict[str, List[str]]: + """ + 检查中英文文档是否一一对应 + + Args: + en_dir: 英文文档目录 + zh_dir: 中文文档目录 + + Returns: + 包含错误信息的字典,格式为 {'missing_zh_files': [], 'missing_en_files': [], 'missing_zh_dirs': [], 'missing_en_dirs': []} + """ + result = { + 'missing_zh_files': [], + 'missing_en_files': [], + 'missing_zh_dirs': [], + 'missing_en_dirs': [] + } + + # 获取中英文文档结构 + en_files, en_dirs = get_document_structure(en_dir) + zh_files, zh_dirs = get_document_structure(zh_dir) + + # # 检查英文文档在中文中是否有对应 + # for en_file in en_files: + # if en_file not in zh_files: + # result['missing_zh_files'].append(en_file) + + # 检查中文文档在英文中是否有对应 + for zh_file in zh_files: + if zh_file not in en_files: + result['missing_en_files'].append(zh_file) + + # # 检查英文目录在中文中是否有对应 + # for en_dir_path in en_dirs: + # if en_dir_path not in zh_dirs: + # result['missing_zh_dirs'].append(en_dir_path) + + # # 检查中文目录在英文中是否有对应 + # for zh_dir_path in zh_dirs: + # if zh_dir_path not in en_dirs: + # result['missing_en_dirs'].append(zh_dir_path) + + return result + + +def format_correspondence_error_report(correspondence_errors: Dict[str, List[str]]) -> str: + """ + 格式化文档对应关系错误报告 + + Args: + correspondence_errors: 文档对应关系错误 + + Returns: + 格式化的错误报告字符串 + """ + report = [] + + if any(correspondence_errors.values()): + report.append("文档对应关系检查:") + + if correspondence_errors['missing_zh_files']: + report.append("中文缺失的英文Markdown文档:") + for item in correspondence_errors['missing_zh_files']: + report.append(f" - {item}") + + if correspondence_errors['missing_en_files']: + report.append("英文缺失的中文Markdown文档:") + for item in correspondence_errors['missing_en_files']: + report.append(f" - {item}") + + if correspondence_errors['missing_zh_dirs']: + report.append("中文缺失的英文目录:") + for item in correspondence_errors['missing_zh_dirs']: + report.append(f" - {item}") + + if correspondence_errors['missing_en_dirs']: + report.append("英文缺失的中文目录:") + for item in correspondence_errors['missing_en_dirs']: + report.append(f" - {item}") + + return "\n".join(report) if report else "所有文档对应关系检查通过" + + +def main(): + """ + 主函数,执行文档对应关系检查 + """ + # 初始化参数解析 + parser = argparse.ArgumentParser( + description='中英文文档对应关系检查工具', + formatter_class=argparse.ArgumentDefaultsHelpFormatter + ) + parser.add_argument('--dirs', + default="docs/en,docs/zh", + help='用逗号分隔的中英文文档目录(英文在前,中文在后),例如 "doc/en,doc/zh"') + + args = parser.parse_args() + + markdown_files = get_pr_files(args.dirs) + if not markdown_files: + return + + # 解析目录参数 + dirs = [d.strip() for d in args.dirs.split(',') if d.strip()] + if len(dirs) != 2: + logging.error("必须指定两个目录(英文和中文),用逗号分隔") + exit(1) + + en_dir, zh_dir = dirs + # 检查中英文文档对应关系 + if not os.path.exists(en_dir) or not os.path.exists(zh_dir): + logging.error("无法检查文档对应关系,因为中英文目录不存在") + exit(1) + + logging.info("正在检查中英文文档对应关系") + correspondence_errors = check_corresponding_docs(en_dir, zh_dir) + + # 输出报告 + report = format_correspondence_error_report(correspondence_errors) + print(report) + + # 如果有错误,返回非零退出码 + if any(correspondence_errors.values()): + exit(1) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 23105592d19959598be38e568302be19c922bdfe..0000000000000000000000000000000000000000 --- a/LICENSE +++ /dev/null @@ -1,427 +0,0 @@ -Attribution-ShareAlike 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More_considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution-ShareAlike 4.0 International Public -License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution-ShareAlike 4.0 International Public License ("Public -License"). To the extent this Public License may be interpreted as a -contract, You are granted the Licensed Rights in consideration of Your -acceptance of these terms and conditions, and the Licensor grants You -such rights in consideration of benefits the Licensor receives from -making the Licensed Material available under these terms and -conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. BY-SA Compatible License means a license listed at - creativecommons.org/compatiblelicenses, approved by Creative - Commons as essentially the equivalent of this Public License. - - d. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - e. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - f. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - g. License Elements means the license attributes listed in the name - of a Creative Commons Public License. The License Elements of this - Public License are Attribution and ShareAlike. - - h. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - i. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - j. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - k. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - l. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - m. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. Additional offer from the Licensor -- Adapted Material. - Every recipient of Adapted Material from You - automatically receives an offer from the Licensor to - exercise the Licensed Rights in the Adapted Material - under the conditions of the Adapter's License You apply. - - c. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - b. ShareAlike. - - In addition to the conditions in Section 3(a), if You Share - Adapted Material You produce, the following conditions also apply. - - 1. The Adapter's License You apply must be a Creative Commons - license with the same License Elements, this version or - later, or a BY-SA Compatible License. - - 2. You must include the text of, or the URI or hyperlink to, the - Adapter's License You apply. You may satisfy this condition - in any reasonable manner based on the medium, means, and - context in which You Share Adapted Material. - - 3. You may not offer or impose any additional or different terms - or conditions on, or apply any Effective Technological - Measures to, Adapted Material that restrict exercise of the - rights granted under the Adapter's License You apply. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material, - - including for purposes of Section 3(b); and - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the "Licensor." The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/LinkValidityCheck/linkValidityCheck.py b/LinkValidityCheck/linkValidityCheck.py new file mode 100644 index 0000000000000000000000000000000000000000..a9c43628cd22bfb60af15b6df45536bd84a9e723 --- /dev/null +++ b/LinkValidityCheck/linkValidityCheck.py @@ -0,0 +1,307 @@ +import re +import os +import requests +import argparse +from urllib.parse import urlparse +import sys +import chardet +from common import get_pr_files + +# 初始化参数解析 +parser = argparse.ArgumentParser() +parser.add_argument('--white-list', help='Path to white list file', default='white_list.txt') +parser.add_argument('--dirs', + default="docs/zh/,docs/en/", + help='用逗号分隔的文档目录,例如 "doc/zh/,doc/en/"') +args = parser.parse_args() + +# 使用您指定的正则表达式规则 +LINK_REGEX = [ + re.compile(r'(?]+)>'), # 匹配 <链接地址> 格式的链接 + re.compile(r']*href=["\']([^"]+?)["\'][^>]*>', re.IGNORECASE) # 匹配 标签链接 +] + +processed_links_cache = set() + + +def detect_file_encoding(file_path): + """自动检测文件编码""" + with open(file_path, 'rb') as f: + raw_data = f.read(1024) # 读取前1KB内容用于检测 + return chardet.detect(raw_data)['encoding'] + + +def read_file_with_fallback(file_path): + """尝试用多种编码方式读取文件""" + encodings_to_try = [ + 'utf-8', + 'gbk', + 'gb2312', + 'gb18030', + 'big5', + 'iso-8859-1', + 'Windows-1252', + 'Windows-1254' + ] + + # 先尝试自动检测 + try: + encoding = detect_file_encoding(file_path) + if encoding: + encodings_to_try.insert(0, encoding) + except: + pass + + # 尝试各种编码 + last_error = None + for encoding in encodings_to_try: + try: + with open(file_path, 'r', encoding=encoding) as f: + return f.read() + except UnicodeDecodeError as e: + last_error = e + + # 所有尝试都失败后抛出错误 + raise Exception(f"无法解码文件 {file_path},尝试的编码: {encodings_to_try}。最后错误: {str(last_error)}") + + +def get_white_urls(): + """获取白名单URL列表""" + if not os.path.exists(args.white_list): + return [] + + try: + with open(args.white_list, "r", encoding="utf-8") as f: + infos = f.readlines() + except Exception: + with open(args.white_list, "r", encoding="GBK") as f: + infos = f.readlines() + + return [info.strip() for info in infos if info.strip()] + + +def is_white_url(re_url, url): + """白名单匹配函数(增加缓存检查)""" + cache_key = f"whitelist:{re_url}:{url}" + if cache_key in processed_links_cache: + return True + + pattern = ( + re_url + .replace(".", r"\.") + .replace("*", ".*") + .replace("?", r"\?") + ) + if not pattern.endswith("$"): + pattern += "$" + + result = re.match(pattern, url) is not None + if result: + processed_links_cache.add(cache_key) + return result + +def is_private_ip_url(url): + """专门用于检查私有IP URL的函数""" + # 匹配私有IP的正则规则 + pattern = r'^(https?://)?(10\.\d{1,3}\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3})(:\d+)?(/.*)?$' + return re.match(pattern, url) is not None + +def is_gitee_url(url): + """检查是否是gitee.com的链接""" + parsed = urlparse(url) + return parsed.netloc.endswith('gitee.com') + + +def extract_links(content): + """使用指定规则提取所有链接(增加去重)""" + links = [] + for regex in LINK_REGEX: + matches = regex.finditer(content) + for match in matches: + link = match.group(1) + if link not in links: # 避免重复添加 + links.append(link) + return links + + +def is_valid_url(url): + """检查URL格式是否有效(增加缓存)""" + cache_key = f"valid_url:{url}" + if cache_key in processed_links_cache: + return True + + try: + result = urlparse(url) + valid = all([result.scheme, result.netloc]) + if valid: + processed_links_cache.add(cache_key) + return valid + except ValueError: + return False + + +def check_remote_url(url): + try: + headers = {'User-Agent': 'Mozilla/5.0', + 'Accept': 'application/json, text/plain, */*'} + response = requests.get(url, headers=headers, timeout=5, stream=True) + response.close() + return response.status_code in (200, 302, 304, 403), f"HTTP {response.status_code}" + except requests.exceptions.Timeout: + # 超时异常单独处理,返回通过 + return True, "Timeout occurred but allowed" + except requests.exceptions.RequestException as e: + return False, f"Request failed: {str(e)}" + + +def check_local_link(file_path, link): + """检查本地链接有效性""" + abs_path = os.path.normpath(os.path.join(os.path.dirname(file_path), link)) + if os.path.exists(abs_path): + return True, None + return False, "File not found" + + +def normalize_anchor(anchor): + """标准化锚点ID,与前端处理方式保持一致""" + import re + import unicodedata + + # 转换为NFKD形式并移除变音符号 + normalized = unicodedata.normalize('NFKD', anchor) + normalized = ''.join([c for c in normalized if not unicodedata.combining(c)]) + + # 移除控制字符 + normalized = re.sub(r'[\u0000-\u001f]', '', normalized) + + # 将各种符号替换为连字符 + normalized = re.sub(r'[\s~`!@#$%^&*()\-_+=[\]{}|\\;:"\'“”‘’<>,.?/]+', '-', normalized) + + # 处理连续的连字符 + normalized = re.sub(r'-{2,}', '-', normalized) + + # 移除首尾的连字符 + normalized = normalized.strip('-') + + # 处理以数字开头的锚点 + if normalized and normalized[0].isdigit(): + normalized = '_' + normalized + + return normalized.lower() + + +def check_anchor_link(file_path, link): + """检查锚点链接(支持Markdown标题和HTML锚点)""" + if '#' not in link: + return True, None + + file_part, anchor = link.split('#', 1) + + # 处理当前文件锚点情况 + if not file_part: + abs_path = file_path + else: + abs_path = os.path.normpath(os.path.join(os.path.dirname(file_path), file_part)) + + if not os.path.exists(abs_path): + return False, "Target file not found" + + try: + with open(abs_path, 'r', encoding='utf-8') as f: + content = f.read() + + # 1. 检查Markdown标题锚点 + headers = re.findall(r'^#{1,6}\s+(.*?)(?:\s+#+)?$', content, flags=re.MULTILINE) + header_anchors = [normalize_anchor(h.strip()) for h in headers] + + # 2. 检查HTML锚点 + html_anchors = re.findall(r' :atx +rule 'MD029', :style => :ordered +exclude_rule 'MD004' +exclude_rule 'MD007' +exclude_rule 'MD009' +exclude_rule 'MD013' +exclude_rule 'MD014' +exclude_rule 'MD020' +exclude_rule 'MD021' +exclude_rule 'MD024' +exclude_rule 'MD025' +exclude_rule 'MD027' +exclude_rule 'MD033' +exclude_rule 'MD036' +exclude_rule 'MD046' +exclude_rule 'MD055' +exclude_rule 'MD056' +exclude_rule 'MD057' diff --git a/README.en.md b/README.en.md index 192626704bededae1fe6846ad3516d56c22b84be..015e0cffac7a9fa9e914bd71bee490ceeaa4cd23 100644 --- a/README.en.md +++ b/README.en.md @@ -1,7 +1,7 @@ -# docs-website +# docs-ci #### Description -The repository of docs-website +用于openEuler/docs的门禁ci #### Software Architecture Software architecture description diff --git a/README.md b/README.md index c519868f2ad8ce3722fcd79456e7bb917dae18f6..6dfd18da6470f14cf893320e86034df92e44772f 100644 --- a/README.md +++ b/README.md @@ -1,86 +1,25 @@ -# docs-website +# docs-ci -## 介绍 - -openEuler 文档前端仓库 - -## 软件架构 +#### 介绍 +用于openEuler/docs的门禁ci +#### 软件架构 软件架构说明 -## 开发教程 - -本项目使用 pnpm 作为包管理工具 - -1. 安装依赖 - -```bash -pnpm i -``` - -2. 执行开发命令 -```bash -pnpm dev -``` +#### 安装教程 -3. 命令行中选择构建版本 +1. xxxx +2. xxxx +3. xxxx -```bash -? 请选择要额外构建的文档版本: -❯ - 跳过 - - 所有版本 (请谨慎选择) - - 24.03_LTS_SP2 - - 25.03 - ... -``` +#### 使用说明 -4. 等待资源拉取构建完后会启动开发服务 +1. xxxx +2. xxxx +3. xxxx -5. 如果之前已经拉取过资源,本次开发不想拉取直接运行开发服务,可执行 - -```bash -pnpm dev:app -``` - -## 项目结构 - -``` -docs-website/ -├── app/ -│ ├── .vitepress/ -│ │ ├── config.ts # VitePress 配置文件 -│ │ ├── plugins/ # 自定义插件 -│ │ ├── public/ # 公共静态资源 -│ │ ├── src/ -│ │ │ ├── @types/ # 类型定义 -│ │ │ ├── api/ # API 接口定义 -│ │ │ ├── assets/ # 静态资源文件 -│ │ │ ├── components/ # 公共组件 -│ │ │ ├── composables/ # 自定义 hook 函数 -│ │ │ ├── config/ # 项目内配置 -│ │ │ ├── i18n/ # 国际化资源文件 -│ │ │ ├── layouts/ # 布局 -│ │ │ ├── shared/ # 共享模块 -│ │ │ ├── stores/ # 状态管理 -│ │ │ ├── utils/ # 工具函数 -│ │ │ ├── views/ # 页面 -│ │ │ ├── App.vue # 根组件 -│ │ │ └── NotFound.vue # 404 页面组件 -│ │ └── theme/ # 主题定制 -│ ├── en/ # 英文文档目录 -│ │ ├── docs/ # 英文文档内容 -│ │ └── index.md # 英文首页 -│ ├── zh/ # 中文文档目录 -│ │ ├── docs/ # 中文文档内容 -│ │ └── index.md # 中文首页 -│ └── vite.config.ts # Vite 配置文件 -├── scripts/ # 构建和开发相关脚本目录 -├── tests/ # 测试文件 -... -``` - -## 参与贡献 +#### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 @@ -88,3 +27,11 @@ docs-website/ 4. 新建 Pull Request +#### 特技 + +1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md +2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) +3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 +4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 +5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) +6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/ResourceExistenceCheck/pictureUrlCheckCi.py b/ResourceExistenceCheck/pictureUrlCheckCi.py new file mode 100644 index 0000000000000000000000000000000000000000..1e82e476e49a28dd9acac4f3a04b86d60c798e27 --- /dev/null +++ b/ResourceExistenceCheck/pictureUrlCheckCi.py @@ -0,0 +1,307 @@ +import re +import os +import requests +import argparse +from urllib.parse import urlparse +import sys +from common import get_pr_files + +# 初始化参数解析 +parser = argparse.ArgumentParser() +parser.add_argument('--white-list', help='Path to white list file', default='white_list.txt') +parser.add_argument('--dirs', + default="docs/zh/,docs/en/", + help='用逗号分隔的文档目录,例如 "doc/zh/,doc/en/"') +args = parser.parse_args() + +# 定义更全面的链接匹配正则表达式 +LINK_REGEX = [ + re.compile(r'!\[.*?\]\((.*?)\)'), # 提取 ![xxx](xxx) 语法的链接 + re.compile(r']*src="([^"]+)"[^>]*>', re.IGNORECASE), # 提取 img 标签的链接 + re.compile(r']*src="([^"]+)"[^>]*>', re.IGNORECASE), # 提取 image 标签的链接 + re.compile(r']*src="([^"]+)"[^>]*>', re.IGNORECASE), # 提取 video 标签的链接 +] + +# 标准Markdown链接语法(排除图片) +STANDARD_LINK_REGEX = re.compile(r'(? 锚点 + html_anchor_pattern = re.compile(r']*)?(?:/>|>)|') + + while index < len(html): + match = html_tag_pattern.search(html, index) + if not match: + break + + start_index = match.start() + end_index = match.end() + tag = match.group(0) + + # 更新行号 + line_number += html[index:start_index].count('\n') + + # 将 HTML 中的行号映射到原始 Markdown 文件中的行号 + markdown_line_number = html_start_line + line_number - 1 + + if tag.startswith(''): + # 自闭合标签,不压入栈中 + pass + else: + stack.append((tag_name, markdown_line_number)) # 记录标签名和行号 + + index = end_index + + # 检查栈中是否还有未闭合的开始标签 + if stack: + for tag, tag_line in stack: + errors.append(f"Unclosed start tag found at line {tag_line} in file: <{tag}>") + + return errors + + +def extract_html_from_markdown(markdown): + """ + 忽略所有 Markdown 中使用 < 和 > 的语法(如链接、HTML 注释等)。 + 同时忽略代码块中的内容。 + """ + html_blocks = [] + block_start_lines = [] + + # 匹配 Markdown 代码块的正则表达式 + code_block_pattern = re.compile(r'```.*?```', re.DOTALL) + inline_code_pattern = re.compile(r'`.*?`') + + # 先移除代码块中的内容 + markdown_without_code_blocks = code_block_pattern.sub('', markdown) + markdown_without_code_blocks = inline_code_pattern.sub('', markdown_without_code_blocks) + + # 匹配标准 HTML 块的正则表达式,如
...
这种完整块 + html_block_pattern = re.compile(r'<(' + '|'.join(STANDARD_HTML_TAGS) + r')(?:\s[^>]*)?>(.*?)', re.DOTALL) + # 匹配单个标准 HTML 标签的正则表达式 + single_tag_pattern = re.compile(r'<(' + '|'.join(STANDARD_HTML_TAGS) + r')(?:\s[^>]*)?/>') + + # 先提取完整的 HTML 块 + for match in html_block_pattern.finditer(markdown_without_code_blocks): + start_index = match.start() + start_line = markdown[:start_index].count('\n') + 1 + html_blocks.append(match.group(0)) + block_start_lines.append(start_line) + + # 再提取单个自闭合 HTML 标签 + for match in single_tag_pattern.finditer(markdown_without_code_blocks): + start_index = match.start() + start_line = markdown[:start_index].count('\n') + 1 + html_blocks.append(match.group(0)) + block_start_lines.append(start_line) + + return html_blocks, block_start_lines + + +def check_non_standard_tags(markdown): + """ + 检查 Markdown 正文中的未转义的非标准 HTML 标签(如 ),并提示需要添加转义符。 + 忽略所有 Markdown 中使用 < 和 > 的语法(如链接、HTML 注释等)。 + 同时排除已经转义的标签(如 \)、标签名后带有反斜杠的标签(如 )以及邮箱格式的标签。 + 忽略代码块中的内容。 + """ + errors = [] + # 匹配 Markdown 代码块的正则表达式 + code_block_pattern = re.compile(r'```.*?```', re.DOTALL) + inline_code_pattern = re.compile(r'`.*?`') + # 匹配 Markdown 链接和图片的正则表达式 + markdown_link_pattern = re.compile(r'\[.*?\]\(.*?\)') + markdown_image_pattern = re.compile(r'!\[.*?\]\(.*?\)') + # 匹配 HTML 注释的正则表达式 + html_comment_pattern = re.compile(r'', re.DOTALL) + # 匹配自动链接(如 )的正则表达式 + autolink_pattern = re.compile(r']+>') + # 匹配邮箱格式的正则表达式(如 <1123678@qq.com>) + email_pattern = re.compile(r'<[\w\.\-]+@[\w\.\-]+>') + + # 先移除代码块中的内容 + markdown_without_code_blocks = code_block_pattern.sub('', markdown) + markdown_without_code_blocks = inline_code_pattern.sub('', markdown_without_code_blocks) + # 移除 Markdown 链接和图片 + markdown_without_code_blocks = markdown_link_pattern.sub('', markdown_without_code_blocks) + markdown_without_code_blocks = markdown_image_pattern.sub('', markdown_without_code_blocks) + # 移除 HTML 注释 + markdown_without_code_blocks = html_comment_pattern.sub('', markdown_without_code_blocks) + # 移除自动链接 + markdown_without_code_blocks = autolink_pattern.sub('', markdown_without_code_blocks) + # 移除邮箱格式的标签 + markdown_without_code_blocks = email_pattern.sub('', markdown_without_code_blocks) + + # 匹配未转义的非标准 HTML 标签的正则表达式 + # 排除已经转义的标签(如 \)、标签名后带有反斜杠的标签(如 )以及邮箱格式的标签(如 <1123678@qq.com>) + non_standard_tag_pattern = re.compile( + r'(?)' # 排除邮箱格式(如 <1123678@qq.com>) + r'([^>\\\/]+?)' # 匹配标签名(非 >、\、/ 的字符) + r'(?' # 匹配 >,但不能前面有反斜杠 + ) + + # 遍历每一行,检查未转义的非标准标签 + lines = markdown_without_code_blocks.split('\n') + for line_number, line in enumerate(lines, start=1): + for match in non_standard_tag_pattern.finditer(line): + tag = match.group(0) + errors.append(f"Unescaped non-standard tag found at line {line_number} in the file: {tag}, please modify " + f"it to \\{tag}") + + return errors + +def process_markdown_file(file_path): + """ + 处理 Markdown 文件,修复未闭合的 HTML 标签和未转义的非标准标签。 + """ + with open(file_path, 'r', encoding='utf-8') as file: + content = file.read() + markdown_lines = content.split('\n') + + html_blocks, block_start_lines = extract_html_from_markdown(content) + all_errors = [] + + # 检查标准 HTML 标签是否闭合 + for html_block, start_line in zip(html_blocks, block_start_lines): + errors = check_unclosed_tags(html_block, markdown_lines, start_line) + all_errors.extend(errors) + + # 检查未转义的非标准 HTML 标签 + non_standard_errors = check_non_standard_tags(content) + all_errors.extend(non_standard_errors) + + if all_errors: + for error in all_errors: + print(f"Error found in file {file_path}: {error}") + raise ValueError("Unclosed HTML tag or unescaped non-standard tag found") + + +if __name__ == "__main__": + try: + parser = argparse.ArgumentParser() + parser.add_argument('--dirs', + default="docs/zh/,docs/en/", + help='用逗号分隔的文档目录,例如 "doc/zh/,doc/en/"') + args = parser.parse_args() + pr_files = get_pr_files(args.dirs) + for pr_file in pr_files: + if not os.path.exists(pr_file): + print(f"file not found: {pr_file}") + continue + if ' ' in pr_file: + pr_file = pr_file.replace(' ', '\ ') + process_markdown_file(pr_file) + except ValueError as e: + print(f"\033[31mError: {e}\033[0m") + exit(1) # 退出脚本并返回非零状态码 diff --git a/TocCheck/fileIndexCheck.py b/TocCheck/fileIndexCheck.py new file mode 100644 index 0000000000000000000000000000000000000000..040f099db65404ae11926aeff451fcec7b010727 --- /dev/null +++ b/TocCheck/fileIndexCheck.py @@ -0,0 +1,417 @@ +import argparse +import os +import re +import logging +import yaml +import requests +from typing import List, Dict, Tuple, Optional +from urllib.parse import urlparse + +from common import get_pr_files + +# 配置日志记录 +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') + +# 设置请求超时时间(秒) +REQUEST_TIMEOUT = 10 + + +def find_nearest_toc_file(file_path: str) -> Optional[str]: + """ + 查找离文件最近的_toc.yaml文件,按以下顺序查找: + 1. 当前目录 + 2. 语言目录(如果是多语言结构) + 3. 向上递归查找父目录 + + Args: + file_path: 要检查的文件路径 + + Returns: + 找到的最近_toc.yaml文件路径,如果没找到返回None + """ + current_dir = os.path.dirname(file_path) + root_dir = os.path.abspath(PROJECT_ROOT) + + # 1. 首先检查当前目录 + current_toc = os.path.join(current_dir, '_toc.yaml') + if os.path.exists(current_toc): + return current_toc + + # 2. 检查语言目录(如果是多语言结构) + parts = os.path.normpath(file_path).split(os.sep) + if 'docs' in parts: + docs_index = parts.index('docs') + if docs_index + 1 < len(parts): + lang_dir = os.path.join(root_dir, 'docs', parts[docs_index + 1]) + lang_toc = os.path.join(lang_dir, '_toc.yaml') + if os.path.exists(lang_toc): + return lang_toc + + # 3. 向上递归查找父目录 + parent_dir = os.path.join(root_dir, os.path.dirname(current_dir)) + while parent_dir.startswith(root_dir): + toc_path = os.path.join(parent_dir, '_toc.yaml') + if os.path.exists(toc_path): + return toc_path + parent_dir = os.path.dirname(parent_dir) + + return None + + +def get_file_content(file_path: str) -> str: + """读取文件内容""" + try: + with open(file_path, 'r', encoding='utf-8') as file: + return file.read() + except FileNotFoundError: + logging.error(f"Error:{file_path} file not found") + except Exception as e: + logging.error(f"An error occurred while reading file {file_path}: {e}") + return "" + + +def remove_leading_dotdot(path: str) -> str: + """去除路径开头的 ../""" + while path.startswith('../'): + path = path[3:] + return path + + +def get_relative_path(target_path: str, base_path: str) -> str: + """获取相对路径并标准化""" + relative_path = os.path.relpath(target_path, os.path.dirname(base_path)) + return remove_leading_dotdot(os.path.normpath(relative_path).replace("\\", "/")) + + +def extract_href_and_reference_paths(content: str) -> List[str]: + """从内容中提取所有 href 和 reference 的路径""" + pattern = r'(?:href|reference)\s*:\s*(?:"([^"]*)"|\'([^\']*)\'|([^\s\'">]+))' + paths = [] + for match in re.finditer(pattern, content): + path = next((g for g in match.groups() if g is not None), "") + if path: + try: + normalized = os.path.normpath(path).replace("\\", "/") + while normalized.startswith('../'): + normalized = normalized[3:] + paths.append(normalized) + except Exception as e: + logging.warning(f"Invalid path '{path}': {str(e)}") + continue + return paths + + +def check_file_in_menu_index(file_path: str, menu_index_path: str) -> bool: + """检查文件是否在菜单索引中被引用""" + content = get_file_content(menu_index_path) + if not content: + return False + + paths = extract_href_and_reference_paths(content) + target_relative_path = get_relative_path(file_path, menu_index_path) + + if target_relative_path in paths: + return True + logging.info(f"{target_relative_path} not in {menu_index_path}") + return False + + +def check_menu_references(pr_file: str) -> Tuple[List[str], List[str]]: + """检查Markdown文件在最近的_toc.yaml中的引用情况""" + missing_refs = [] + parse_errors = [] + + filename = os.path.basename(pr_file) + if filename != '_toc.yaml': + toc_file = find_nearest_toc_file(pr_file) + if toc_file: + try: + if not check_file_in_menu_index(pr_file, toc_file): + missing_refs.append(f"{get_relative_path(pr_file, toc_file)} not in {toc_file}") + except Exception as e: + parse_errors.append(str(e)) + else: + parse_errors.append(f"No _toc.yaml found for {pr_file}") + + return missing_refs, parse_errors + + +def is_url_accessible(url: str) -> bool: + """检查URL是否可以访问""" + try: + response = requests.head(url, timeout=REQUEST_TIMEOUT, allow_redirects=True) + if response.status_code < 400: + return True + # 对于某些网站HEAD请求不被允许,尝试GET + response = requests.get(url, timeout=REQUEST_TIMEOUT, stream=True) + return response.status_code < 400 + except requests.RequestException as e: + logging.warning(f"Failed to access URL {url}: {str(e)}") + return False + + +def check_toc_href_files_exist(file_path: str) -> Dict[str, List[str]]: + """检查_toc.yaml中href和upstream指向的文件是否存在""" + current_dir = os.path.dirname(file_path) + result = {'missing_files': [], 'parse_errors': [], 'inaccessible_urls': []} + + for root, _, files in os.walk(current_dir): + if '_toc.yaml' in files: + toc_file = os.path.join(root, '_toc.yaml') + try: + with open(toc_file, 'r', encoding='utf-8') as f: + toc_content = yaml.safe_load(f) + + def check_sections(sections, toc_dir): + for section in sections: + # 检查href + if 'href' in section: + href_value = section['href'] + if href_value is None: # 新增空值检查 + continue + # 检查是否是URL + parsed_url = urlparse(href_value) + if parsed_url.scheme in ('http', 'https'): + if not is_url_accessible(href_value): + result['inaccessible_urls'].append( + f"Inaccessible URL: {href_value} (referenced in {toc_file})" + ) + else: + # 处理相对路径 + abs_path = os.path.normpath(os.path.join(toc_dir, href_value)) + if not os.path.exists(abs_path): + result['missing_files'].append( + f"Missing file: {abs_path} (referenced in {toc_file})" + ) + + # 检查upstream链接 + if 'upstream' in section: + upstream_value = section['upstream'] + if upstream_value is None: + continue + if isinstance(upstream_value, dict): + # 处理 upstream 是字典的情况(包含URL和path) + if 'upstream' in upstream_value and 'path' in upstream_value: + upstream_url = upstream_value['upstream'] + upstream_path = upstream_value['path'] + + # 检查URL是否可访问 + parsed_url = urlparse(upstream_url) + if parsed_url.scheme in ('http', 'https'): + if not is_url_accessible(upstream_url): + result['inaccessible_urls'].append( + f"Inaccessible upstream URL: {upstream_url} (referenced in {toc_file})" + ) + + # 检查本地路径是否存在 + abs_path = os.path.normpath(os.path.join(toc_dir, upstream_path)) + if not os.path.exists(abs_path): + result['missing_files'].append( + f"Missing upstream file: {abs_path} (referenced in {toc_file})" + ) + else: + # 处理 upstream 是字符串的情况 + parsed_url = urlparse(upstream_value) + if parsed_url.scheme in ('http', 'https'): + if not is_url_accessible(upstream_value): + result['inaccessible_urls'].append( + f"Inaccessible upstream URL: {upstream_value} (referenced in {toc_file})" + ) + else: + # 处理相对路径 + abs_path = os.path.normpath(os.path.join(toc_dir, upstream_value)) + if not os.path.exists(abs_path): + result['missing_files'].append( + f"Missing upstream file: {abs_path} (referenced in {toc_file})" + ) + + if 'sections' in section: + check_sections(section['sections'], toc_dir) + + if toc_content and 'sections' in toc_content: + check_sections(toc_content['sections'], root) + except Exception as e: + result['parse_errors'].append(f"Failed to parse {toc_file}: {str(e)}") + + return result + + +# 新增:定义项目根目录(假设脚本从项目根目录运行) +PROJECT_ROOT = os.getcwd() + + +def check_all_toc_files() -> Dict[str, List[str]]: + """ + 检查项目下所有_toc.yaml文件中的引用 + 返回包含所有错误信息的字典 + """ + result = { + 'toc_missing_files': [], + 'toc_parse_errors': [], + 'toc_inaccessible_urls': [] + } + + # 遍历整个项目目录 + for root, _, files in os.walk(PROJECT_ROOT): + if '_toc.yaml' in files: + toc_file = os.path.join(root, '_toc.yaml') + try: + with open(toc_file, 'r', encoding='utf-8') as f: + toc_content = yaml.safe_load(f) + + def check_sections(sections, toc_dir): + for section in sections: + # 检查href(处理字典和字符串两种情况) + if 'href' in section: + href_value = section['href'] + if isinstance(href_value, dict): + # 处理href是字典的情况(如包含upstream字段) + if 'upstream' in href_value: + upstream_value = href_value['upstream'] + parsed_url = urlparse(upstream_value) + if parsed_url.scheme in ('http', 'https'): + if not is_url_accessible(upstream_value): + rel_toc_path = os.path.relpath(toc_file, PROJECT_ROOT) + result['toc_inaccessible_urls'].append( + f"Inaccessible URL: {upstream_value} (referenced in {rel_toc_path})" + ) + else: + parsed_url = urlparse(href_value) + if parsed_url.scheme in ('http', 'https'): + if not is_url_accessible(href_value): + rel_toc_path = os.path.relpath(toc_file, PROJECT_ROOT) + result['toc_inaccessible_urls'].append( + f"Inaccessible URL: {href_value} (referenced in {rel_toc_path})" + ) + else: + abs_href_path = os.path.normpath(os.path.join(toc_dir, href_value)) + if not os.path.exists(abs_href_path): + rel_path = os.path.relpath(abs_href_path, PROJECT_ROOT) + rel_toc_path = os.path.relpath(toc_file, PROJECT_ROOT) + result['toc_missing_files'].append( + f"Missing file: {rel_path} (referenced in {rel_toc_path})" + ) + + # 检查upstream链接 + if 'upstream' in section: + upstream_value = section['upstream'] + if isinstance(upstream_value, dict): + # 处理 upstream 是字典的情况(包含URL和path) + if 'upstream' in upstream_value and 'path' in upstream_value: + upstream_url = upstream_value['upstream'] + upstream_path = upstream_value['path'] + + # 检查URL是否可访问 + parsed_url = urlparse(upstream_url) + if parsed_url.scheme in ('http', 'https'): + if not is_url_accessible(upstream_url): + rel_toc_path = os.path.relpath(toc_file, PROJECT_ROOT) + result['toc_inaccessible_urls'].append( + f"Inaccessible upstream URL: {upstream_url} (referenced in {rel_toc_path})" + ) + + # 检查本地路径是否存在 + abs_upstream_path = os.path.normpath(os.path.join(toc_dir, upstream_path)) + if not os.path.exists(abs_upstream_path): + rel_path = os.path.relpath(abs_upstream_path, PROJECT_ROOT) + rel_toc_path = os.path.relpath(toc_file, PROJECT_ROOT) + result['toc_missing_files'].append( + f"Missing upstream file: {rel_path} (referenced in {rel_toc_path})" + ) + else: + # 处理 upstream 是字符串的情况 + parsed_url = urlparse(upstream_value) + if parsed_url.scheme in ('http', 'https'): + if not is_url_accessible(upstream_value): + rel_toc_path = os.path.relpath(toc_file, PROJECT_ROOT) + result['toc_inaccessible_urls'].append( + f"Inaccessible upstream URL: {upstream_value} (referenced in {rel_toc_path})" + ) + else: + # 处理相对路径 + abs_upstream_path = os.path.normpath(os.path.join(toc_dir, upstream_value)) + if not os.path.exists(abs_upstream_path): + rel_path = os.path.relpath(abs_upstream_path, PROJECT_ROOT) + rel_toc_path = os.path.relpath(toc_file, PROJECT_ROOT) + result['toc_missing_files'].append( + f"Missing upstream file: {rel_path} (referenced in {rel_toc_path})" + ) + + if 'sections' in section: + check_sections(section['sections'], toc_dir) + + if toc_content and 'sections' in toc_content: + check_sections(toc_content['sections'], root) + except Exception as e: + result['toc_parse_errors'].append( + f"Failed to parse {os.path.relpath(toc_file, PROJECT_ROOT)}: {str(e)}" + ) + + return result + + +def format_error_report(errors: Dict[str, List[str]]) -> str: + """格式化错误报告""" + report = [] + if errors['toc_missing_refs']: + report.append("\nTOC文件引用缺失错误:") + report.extend([f" - {msg}" for msg in errors['toc_missing_refs']]) + if errors['toc_parse_errors']: + report.append("\nTOC文件解析错误:") + report.extend([f" - {msg}" for msg in errors['toc_parse_errors']]) + if errors['toc_missing_files']: + report.append("\nTOC文件引用缺失:") + report.extend([f" - {msg}" for msg in errors['toc_missing_files']]) + if errors['toc_inaccessible_urls']: + report.append("\n无法访问的URL:") + report.extend([f" - {msg}" for msg in errors['toc_inaccessible_urls']]) + + return "\n".join(report) if report else "" + + +try: + parser = argparse.ArgumentParser() + parser.add_argument('--dirs', + default="docs/zh/,docs/en/", + help='用逗号分隔的文档目录,例如 "doc/zh/,doc/en/"') + args = parser.parse_args() + pr_files = get_pr_files(args.dirs) + all_errors = { + 'toc_missing_refs': [], + 'toc_parse_errors': [], + 'toc_missing_files': [], + 'toc_inaccessible_urls': [] + } + + for pr_file in pr_files: + if not os.path.exists(pr_file): + logging.error(f"File not found: {pr_file}") + continue + + if ' ' in pr_file: + pr_file = pr_file.replace(' ', '\ ') + + if pr_file.endswith('.md'): + # 检查_toc.yaml引用 + missing_refs, parse_errors = check_menu_references(pr_file) + all_errors['toc_missing_refs'].extend(missing_refs) + all_errors['toc_parse_errors'].extend(parse_errors) + else: + logging.info(f"Skipping non-Markdown file: {pr_file}") + + # 新增:检查项目中所有_toc.yaml文件 + if pr_files: + toc_errors = check_all_toc_files() + all_errors['toc_missing_files'].extend(toc_errors['toc_missing_files']) + all_errors['toc_parse_errors'].extend(toc_errors['toc_parse_errors']) + all_errors['toc_inaccessible_urls'].extend(toc_errors['toc_inaccessible_urls']) + + # 统一输出所有错误 + if any(all_errors.values()): + error_report = format_error_report(all_errors) + print(f"{error_report}") + exit(1) + +except Exception as e: + print(f"Unexpected error: {str(e)}") + exit(1) diff --git a/allMarkdownCheck.py b/allMarkdownCheck.py new file mode 100644 index 0000000000000000000000000000000000000000..1457b169defc10496f604ee346f714560ee2fa9a --- /dev/null +++ b/allMarkdownCheck.py @@ -0,0 +1,171 @@ +import os +import re +import logging +import yaml +from typing import List, Dict, Tuple + +# 配置日志记录 +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') + + +def get_file_content(file_path: str) -> str: + """读取文件内容""" + try: + with open(file_path, 'r', encoding='utf-8') as file: + return file.read() + except FileNotFoundError: + logging.error(f"Error:{file_path} file not found") + except Exception as e: + logging.error(f"An error occurred while reading file {file_path}: {e}") + return "" + + +def remove_leading_dotdot(path: str) -> str: + """去除路径开头的 ../""" + while path.startswith('../'): + path = path[3:] + return path + + +def get_relative_path(target_path: str, base_path: str) -> str: + """获取相对路径并标准化""" + relative_path = os.path.relpath(target_path, os.path.dirname(base_path)) + return remove_leading_dotdot(os.path.normpath(relative_path).replace("\\", "/")) + + +def extract_href_and_reference_paths(content: str) -> List[str]: + """ + 从内容中提取所有 href 和 reference 的路径 + 返回标准化后的路径列表(统一使用正斜杠) + """ + pattern = r'(?:href|reference)\s*:\s*(?:"([^"]*)"|\'([^\']*)\'|([^\s\'">]+))' + + paths = [] + for match in re.finditer(pattern, content): + path = next((g for g in match.groups() if g is not None), "") + if path: + try: + normalized = os.path.normpath(path).replace("\\", "/") + while normalized.startswith('../'): + normalized = normalized[3:] + paths.append(normalized) + except Exception as e: + logging.warning(f"Invalid path '{path}': {str(e)}") + continue + return paths + + +def find_markdown_files(root_dir: str) -> List[str]: + """查找所有Markdown文件""" + md_files = [] + for root, _, files in os.walk(root_dir): + for file in files: + if file.endswith('.md'): + md_files.append(os.path.join(root, file)) + return md_files + + +def find_toc_files(root_dir: str) -> List[str]: + """查找所有_toc.yaml文件""" + toc_files = [] + for root, _, files in os.walk(root_dir): + if '_toc.yaml' in files: + toc_files.append(os.path.join(root, '_toc.yaml')) + return toc_files + + +def check_markdown_in_toc(md_file: str, toc_files: List[str]) -> Tuple[bool, List[str]]: + """ + 检查Markdown文件是否被任何_toc.yaml引用 + 返回:(是否被引用, 错误信息列表) + """ + errors = [] + for toc_file in toc_files: + try: + content = get_file_content(toc_file) + if not content: + continue + + paths = extract_href_and_reference_paths(content) + target_relative_path = get_relative_path(md_file, toc_file) + + if target_relative_path in paths: + logging.info(f"Found reference: {md_file} in {toc_file}") + return True, errors + + except Exception as e: + errors.append(f"Error checking {toc_file}: {str(e)}") + + return False, errors + + +def check_all_markdown_files(root_dir: str) -> Dict[str, List[str]]: + """ + 检查所有Markdown文件的引用情况 + 返回结果字典: + { + 'unreferenced_files': [未被引用的文件列表], + 'referenced_files': [被引用的文件列表], + 'errors': [错误信息列表] + } + """ + result = { + 'unreferenced_files': [], + 'referenced_files': [], + 'errors': [] + } + + md_files = find_markdown_files(root_dir) + toc_files = find_toc_files(root_dir) + + if not toc_files: + result['errors'].append("No _toc.yaml files found in the directory") + return result + + for md_file in md_files: + is_referenced, errors = check_markdown_in_toc(md_file, toc_files) + result['errors'].extend(errors) + + rel_path = os.path.relpath(md_file, root_dir) + if is_referenced: + result['referenced_files'].append(rel_path) + else: + result['unreferenced_files'].append(rel_path) + logging.warning(f"Unreferenced file: {rel_path}") + + return result + + +def format_report(results: Dict[str, List[str]]) -> str: + """格式化检查结果报告""" + report = [] + + if results['unreferenced_files']: + report.append("\n\033[31mUnreferenced Markdown files:\033[0m") + report.extend([f" - {f}" for f in results['unreferenced_files']]) + + if results['errors']: + report.append("\n\033[33mErrors encountered:\033[0m") + report.extend([f" - {e}" for e in results['errors']]) + + if results['referenced_files'] and not results['unreferenced_files']: + report.append("\n\033[32mAll Markdown files are properly referenced!\033[0m") + + return "\n".join(report) if report else "No Markdown files found." + + +def main(): + current_dir = os.getcwd() + print(f"Checking Markdown files in: {current_dir}") + + results = check_all_markdown_files(current_dir) + report = format_report(results) + + print(report) + + if results['unreferenced_files']: + exit(1) # 如果有未引用的文件,返回非零状态码 + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/app/.env.production b/app/.env.production deleted file mode 100644 index 469e7bc108c97a586ade0fe758b0ed6dbe79c6ef..0000000000000000000000000000000000000000 --- a/app/.env.production +++ /dev/null @@ -1,21 +0,0 @@ -VITE_LOGIN_URL = https://id.openeuler.org -VITE_XSRF_COOKIE_NAME = '_U_T_' -VITE_XSRF_HEADER_NAME = 'Token' -VITE_COOKIE_DOMAIN = .openeuler.org -VITE_MAIN_DOMAIN_URL = https://www.openeuler.org - -VITE_SERVICE_DOCS_URL = https://docs.openeuler.org -VITE_SERVICE_REPO_URL = https://repo.openeuler.openatom.cn -VITE_SERVICE_DATASTAT_URL = https://datastat.openeuler.org -VITE_SERVICE_QUICKISSUE_URL = https://quickissue.openeuler.org -VITE_SERVICE_SOFTWARE_PKG_URL = https://software-pkg.openeuler.org -VITE_SERVICE_ARTLFS_WEBSITE_URL = https://artlfs-website.openeuler.org -VITE_SERVICE_SOFTWARE_URL = https://easysoftware.openeuler.org -VITE_SERVICE_MESSAGE_CENTER_URL = https://message-center.openeuler.org -VITE_SERVICE_OEAS_URL = https://oeas.openeuler.org -VITE_SERVICE_MEETING_MINUTES_URL = https://meeting-minutes.openeuler.org -VITE_SERVICE_CERTIFICATION_URL = https://certification.openeuler.org - -VITE_SERVICE_FORUM_URL = https://forum.openeuler.org -VITE_SERVICE_PKGMANAGE_URL = https://pkgmanage.openeuler.org -VITE_SERVICE_COMPLIANCE_URL = https://compliance.openeuler.org diff --git a/app/.vitepress/config.ts b/app/.vitepress/config.ts deleted file mode 100644 index be82b75cda054bf813717f054010fba2302ca69a..0000000000000000000000000000000000000000 --- a/app/.vitepress/config.ts +++ /dev/null @@ -1,150 +0,0 @@ -import type Markdown from 'markdown-it'; -import { getDomId } from './src/utils/common'; - -export default { - base: '/', - assetsDir: '/assets', - cleanUrls: false, - ignoreDeadLinks: true, - metaChunk: true, - title: '文档 | openEuler社区', - srcExclude: ['**/_menu.md'], - head: [ - [ - 'link', - { - rel: 'icon', - href: '/favicon.ico?v=2', - }, - ], - [ - 'meta', - { - name: 'viewport', - content: 'width=device-width,initial-scale=1,user-scalable=no', - }, - ], - [ - 'script', - { - src: '/check-dark-mode-v2.js', - }, - ], - ], - appearance: false, // enable dynamic scripts for dark mode - titleTemplate: true, - locales: { - root: { - lang: 'zh', - title: '文档 | openEuler社区', - description: 'openEuler文档', - }, - zh: { - label: '简体中文', - lang: 'zh', - title: '文档 | openEuler社区', - description: 'openEuler文档', - }, - en: { - label: 'English', - lang: 'en', - title: 'Docs | openEuler', - description: 'openEuler docs', - }, - }, - markdown: { - math: true, - plantuml: true, - theme: { - light: 'light-plus', - dark: 'dark-plus', - }, - anchor: { - slugify: (s: string) => `user-content-${getDomId(s)}` - }, - config: (md: Markdown) => { - // 处理须知/说明/警告/注意 - md.core.ruler.before('normalize', 'replace-old-alerts', (state) => { - const src = state.src - .replace(/> *!\[\]\(.*?\/icon-note\.gif\) *\**([^\*\n\r]+)\**/g, (_, $1) => { - return `> [!NOTE]${$1}`; - }) - .replace(/> *!\[\]\(.*?\/icon-notice\.gif\) *\**([^\*\n\r]+)\**/g, (_, $1) => { - return `> [!TIP]${$1}`; - }) - .replace(/> *!\[\]\(.*?\/icon-warning\.gif\) *\**([^\*\n\r]+)\**/g, (_, $1) => { - return `> [!WARNING]${$1}`; - }) - .replace(/> *!\[\]\(.*?\/icon-caution\.gif\) *\**([^\*\n\r]+)\**/g, (_, $1) => { - return `> [!CAUTION]${$1}`; - }); - - state.src = src; - if (state.env.content) { - state.env.content = src; - } - }); - - md.renderer.rules.code_inline = (tokens, idx) => { - const content = tokens[idx].content; - // 转义 - const escapedContent = md.utils.escapeHtml(content); - // 处理双花括号 - return `${escapedContent}`; - }; - - // 替换 {{ }} 内容 - md.renderer.rules.text = (tokens, idx) => { - const content = tokens[idx].content; - const escapedContent = md.utils.escapeHtml(content); - if (/{{(.*?)}}/g.test(content)) { - return `${escapedContent}`; - } - return escapedContent; - }; - - // 标题处理 - md.renderer.rules.heading_open = function (tokens, idx, options, _, self) { - const aIndex = tokens[idx].attrIndex('id'); - const id = tokens[idx].attrs?.[aIndex]?.[1]; - const tag = tokens[idx].tag; - const render = self.renderToken(tokens, idx, options); - return `${render}${tag === 'h1' || tag === 'h2' ? `` : ''}`; - }; - - md.renderer.rules.heading_close = function (tokens, idx, options, _, self) { - const tag = tokens[idx].tag; - return `${tag === 'h1' || tag === 'h2' ? '' : ''}${self.renderToken(tokens, idx, options)}`; - }; - - // 图片 - const imageRender = md.renderer.rules.image; - md.renderer.rules.image = (...args) => { - return `${imageRender!!(...args)}`; - }; - - // 处理文档里写的html标签 - const defaultHtmlBlockRender = md.renderer.rules.html_block; - md.renderer.rules.html_block = (tokens, idx, options, env, self) => { - const content = tokens[idx].content; - const renderContent = defaultHtmlBlockRender!!(tokens, idx, options, env, self); - if (content.includes('${renderContent.replace(/(width|height)=['|"](.*?)['|"]/g, '')}`; - } - - return renderContent; - }; - - const defaultHtmlInlineRender = md.renderer.rules.html_inline; - md.renderer.rules.html_inline = function (tokens, idx, options, env, self) { - const content = tokens[idx].content; - const renderContent = defaultHtmlInlineRender!!(tokens, idx, options, env, self); - if (content.includes('${renderContent.replace(/(width|height)=['|"](.*?)['|"]/g, '')}`; - } - - return renderContent; - }; - }, - }, -}; diff --git a/app/.vitepress/plugins/replace-url-plugin.ts b/app/.vitepress/plugins/replace-url-plugin.ts deleted file mode 100644 index f753cf2f8d6af4b2e3bd74ef4b3fca91f1cf5bfc..0000000000000000000000000000000000000000 --- a/app/.vitepress/plugins/replace-url-plugin.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Plugin } from 'vitepress'; - -const OPENEULER_ORG_URL = 'https://www.openeuler.org'; -const OPENEULER_ATOM_URL = 'https://www.openeuler.openatom.cn'; - -export default function replaceUrlPlugin(): Plugin { - let envVar: string; - let sourceUrl: string | null; - - return { - name: 'replace-url', - enforce: 'post', - - configResolved(resolvedConfig) { - envVar = resolvedConfig.env.VITE_MAIN_DOMAIN_URL; - - if (!envVar) { - console.error( - '[replaceUrlPlugin] 未设置 VITE_MAIN_DOMAIN_URL 环境变量' - ); - return; - } - - if (envVar === OPENEULER_ATOM_URL) { - sourceUrl = OPENEULER_ORG_URL; - } else if (envVar === OPENEULER_ORG_URL) { - sourceUrl = OPENEULER_ATOM_URL; - } else { - console.warn( - `[replaceUrlPlugin] 未知的 VITE_MAIN_DOMAIN_URL 值: ${envVar},不执行替换` - ); - sourceUrl = null; - } - }, - - transform(code, id) { - const SUPPORTED_FILE_TYPES = /\.(html|md|vue|js|ts|jsx|tsx)$/; - - if ( - sourceUrl && - SUPPORTED_FILE_TYPES.test(id) && - !id.includes('node_modules') - ) { - const regex = new RegExp(sourceUrl, 'g'); - return code.replace(regex, envVar); - } - - return code; - }, - }; -} diff --git a/app/.vitepress/public/check-dark-mode-v2.js b/app/.vitepress/public/check-dark-mode-v2.js deleted file mode 100644 index 81dad744f19debdc73dfcae3c8ec3b8b69eddc35..0000000000000000000000000000000000000000 --- a/app/.vitepress/public/check-dark-mode-v2.js +++ /dev/null @@ -1,19 +0,0 @@ -function getCookie(key) { - const name = `${encodeURIComponent(key)}=`; - const decodedCookies = decodeURIComponent(document.cookie); - const cookies = decodedCookies.split('; '); - for (let cookie of cookies) { - if (cookie.startsWith(name)) { - return cookie.substring(name.length); - } - } - - return null; -} - -const e = getCookie('openEuler-theme-appearance') || 'auto'; -const a = window.matchMedia('(prefers-color-scheme: dark)').matches; -if (!e || e === 'auto' ? a : e === 'dark') { - document.documentElement.classList.add('dark'); - document.documentElement.setAttribute('data-o-theme', 'dark'); -} diff --git a/app/.vitepress/public/error.html b/app/.vitepress/public/error.html deleted file mode 100644 index 7dacb97273f024007ceecac80ab8e33925e51fe2..0000000000000000000000000000000000000000 --- a/app/.vitepress/public/error.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - -
- -

Error

-
- - diff --git a/app/.vitepress/public/favicon.ico b/app/.vitepress/public/favicon.ico deleted file mode 100644 index ba6134a0ab94b8dd83d098e059d3c4dd93dd1041..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/public/favicon.ico and /dev/null differ diff --git a/app/.vitepress/src/@types/type-doc-menu.ts b/app/.vitepress/src/@types/type-doc-menu.ts deleted file mode 100644 index a33b24f803c1c691701ae7f331b82244872bbf83..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/@types/type-doc-menu.ts +++ /dev/null @@ -1,11 +0,0 @@ -export interface DocMenuT { - id: string; - label: string; - href?: string; - description?: string; - type: string; - isManual?: boolean; - upstream?: string; - path?: string; - sections?: Array; -} diff --git a/app/.vitepress/src/@types/type-feedback.ts b/app/.vitepress/src/@types/type-feedback.ts deleted file mode 100644 index 52dc06e5ed36d4e7f1e24add9971d1d9c97f992e..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/@types/type-feedback.ts +++ /dev/null @@ -1,8 +0,0 @@ -// 文档捉虫参数类型 -export interface DocsBugParamsT { - bugDocFragment: string; // bug文档片段 - existProblem: string[]; // 问题类型 - problemDetail: string; // 问题类型原因 - comprehensiveSatisfication: number; // 文档满意度 - link: string; // 当前url -} diff --git a/app/.vitepress/src/@types/type-home.ts b/app/.vitepress/src/@types/type-home.ts deleted file mode 100644 index d3f762a1755b936dce0be2f71fb36ebc13c4109a..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/@types/type-home.ts +++ /dev/null @@ -1,38 +0,0 @@ -export interface HomeBannerItemT { - title: string; - desc: string; - href: string; - bg_light: string; - bg_dark: string; - bg_mb_light: string; - bg_mb_dark: string; - dropdown?: string; -} - -export interface HomeRecommendT { - title: string; - columns: number; - columns_mb: number; - items: HomeBannerItemT[]; -} - -export interface HomeSectionItemT { - title: string; - desc: string; - href: string; - icon?: string; - bg?: string; -} - -export interface HomeSectionT { - title: string; - columns: number; - columns_mb: number; - items: HomeSectionItemT[]; -} - -export interface HomeConfig { - hots: string[]; - recommend: HomeRecommendT; - sections: HomeSectionT[]; -} diff --git a/app/.vitepress/src/@types/type-locale.ts b/app/.vitepress/src/@types/type-locale.ts deleted file mode 100644 index b166a3d425d02a1cbcceff3efc38215bc20413df..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/@types/type-locale.ts +++ /dev/null @@ -1 +0,0 @@ -export type LocaleT = 'zh' | 'en'; diff --git a/app/.vitepress/src/@types/type-search.ts b/app/.vitepress/src/@types/type-search.ts deleted file mode 100644 index 443a703b460c4ff1e5f005e75d1abc2a8f5eadb2..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/@types/type-search.ts +++ /dev/null @@ -1,29 +0,0 @@ -import type { DocMenuNodeT } from '@/utils/tree'; - -export interface SearchRecommendT { - key: string; - count: number; - keyHtml: string; -} - -// 文档搜索参数 -export interface SearchDocQueryT { - keyword: string; - lang: string; - page: number; - version: string; - path: string; -} - -// 文档搜索结果 -export interface SearchDocItemT { - articleName: string; - lang: string; - path: string; - score: number; - textContent: string; - title: string; - type: string; - version: string; - sourceData: DocMenuNodeT[]; -} diff --git a/app/.vitepress/src/@types/type-user.ts b/app/.vitepress/src/@types/type-user.ts deleted file mode 100644 index 190529e137399b01ebd44c539473263b6e07048e..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/@types/type-user.ts +++ /dev/null @@ -1,18 +0,0 @@ -export interface Identity { - login_name: string; - userIdInIdp: string; - identity: string; // 第三方平台类型,gitee/github - user_name: string; - accessToken: string; -} - -// 用户账号数据类型 -export interface UserInfoT { - photo: string; // 头像 - username: string; // 用户名 - email: string; // 邮箱 - phoneCountryCode: string; // 区号 - phone: string; // 手机号 - identities: Identity[]; // 绑定的第三方平台账号 - recipientId?: number; // 接收人id -} diff --git a/app/.vitepress/src/App.vue b/app/.vitepress/src/App.vue deleted file mode 100644 index c7e881f0c9ba1327d166c9fdec21572968297edc..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/App.vue +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - diff --git a/app/.vitepress/src/NotFound.vue b/app/.vitepress/src/NotFound.vue deleted file mode 100644 index 887b7590a26f99098793f5a7f3f3c87d83e11032..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/NotFound.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/api/api-analytics.ts b/app/.vitepress/src/api/api-analytics.ts deleted file mode 100644 index a880cae74f03cc91e6d8eb2552d651ba42bcfc73..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/api/api-analytics.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { request } from '@/shared/axios'; -import type { AxiosResponse } from '@/shared/axios'; - -export function reporAnalytics(params: any) { - const url = '/api-dsapi/query/track/openeuler'; - return request.post(url, params).then((res: AxiosResponse) => res.data); -} diff --git a/app/.vitepress/src/api/api-common.ts b/app/.vitepress/src/api/api-common.ts deleted file mode 100644 index b8461a60c031224140e7b17db8595c5592ef5850..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/api/api-common.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { request } from '@/shared/axios'; - -/** - * 检测页面是否存在 - * @param {string} path string - * @return {boolean} - */ -export async function isPageExist(path: string) { - try { - await request.head(path, { showError: false }); - return true; - } catch { - return false; - } -} \ No newline at end of file diff --git a/app/.vitepress/src/api/api-feedback.ts b/app/.vitepress/src/api/api-feedback.ts deleted file mode 100644 index 946b7feaafcdaa8f0b09ae6185ed819af48dd221..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/api/api-feedback.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { request } from '@/shared/axios'; -import type { AxiosResponse } from '@/shared/axios'; - -import type { DocsBugParamsT } from '@/@types/type-feedback'; - -export interface FeedBackQueryT { - feedbackPageUrl: string; - feedbackText: string; - feedbackValue: number; -} - -export interface FeedBackDataT { - feedbackPageUrl: string; - efficiency: number; - accuracy: number; - completeness: number; - usability: number; -} - -/** - * 文档中心满意度评分 - * @param {FeedBackQueryT} params - * @returns {Promise} - */ -export function postFeedback(params: FeedBackQueryT): Promise<{ - code: number; - data: string; - msg: string; - update_at: string; -}> { - const url = '/api-dsapi/query/nps?community=openeuler'; - return request.post(url, params, { showError: false }).then((res: AxiosResponse) => res.data); -} - -/** - * 文档内容满意度评分 - * @param {FeedBackQueryT} params - * @returns {Promise} - */ -export function postArticleFeedback(params: FeedBackDataT): Promise<{ - code: number; - data: string; - msg: string; - update_at: string; -}> { - const url = '/api-dsapi/query/doc/nps/openeuler'; - return request.post(url, params, { showError: false }).then((res: AxiosResponse) => res.data); -} - -/** - * 文档捉虫 - * @param {string} lang 语言 - * @param { DocsBugParamsT } params 文档捉虫参数类型 - * @returns {Promise} - */ -export function submitDocsBug(lang: string, params: DocsBugParamsT) { - const url = `/api-dsapi/query/add/bugquestionnaire?community=openeuler&lang=${lang}`; - return request.post(url, params, { showError: false }).then((res) => { - return res.data; - }); -} diff --git a/app/.vitepress/src/api/api-message.ts b/app/.vitepress/src/api/api-message.ts deleted file mode 100644 index 0a7146b7394e7a884f68d5ee8d3d36e760657664..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/api/api-message.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { request } from '@/shared/axios'; - -/** - * 获取消息中心未读消息数量 - */ -export function getUnreadMsgCount(giteeLoginName?: string) { - return request - .get<{ count: Record }>('/api-message/inner/count_new', { - params: { gitee_user_name: giteeLoginName }, - showError: false, - }) - .then((res) => res.data.count); -} diff --git a/app/.vitepress/src/api/api-search.ts b/app/.vitepress/src/api/api-search.ts deleted file mode 100644 index 1cf17d0bf72688d8f10389635c7e5674bf09b8a8..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/api/api-search.ts +++ /dev/null @@ -1,60 +0,0 @@ -import type { CancelToken } from 'axios'; -import { request } from '@/shared/axios'; -import type { AxiosResponse } from '@/shared/axios'; - -import type { SearchRecommendT, SearchDocQueryT } from '@/@types/type-search'; - -/** - * 获取热门搜索数据 - * @param {String} params 语言 - * @returns {Object} - */ -export function getPop(params: string): Promise<{ - msg: string; - obj: string[]; - status: number; -}> { - const url = `/api-search/search/pop?${params}`; - return request - .post( - url, - // TODO: 取消手动添加请求头 - {}, - { - headers: { - 'Content-Type': 'application/json;charset=UTF-8', - }, - showError: false, - } - ) - .then((res: AxiosResponse) => res.data); -} - -/** - * 关联搜索 - * @param {Object} params 申请表格数据 - * @return {Object} - */ -export function getSearchRecommend(params: { query: string }, cancelToken?: CancelToken): Promise<{ - status: number; - obj: { - word: SearchRecommendT[]; - }; - msg: string; -}> { - const url = `/api-search/search/word?query=${params.query}`; - return request.post(url, params, { - showError: false, - cancelToken, - }).then((res: AxiosResponse) => res.data); -} - -/** - * 获取文档搜索结果 - * @param {SearchDocQueryT} params 搜索参数对象 - * @returns {Promise} 搜索结果 - */ -export function getSearchDocs(params: SearchDocQueryT) { - const url = '/api-search/search/sort/docs'; - return request.post(url, params, { showError: false }).then((res: AxiosResponse) => res.data); -} diff --git a/app/.vitepress/src/api/api-user.ts b/app/.vitepress/src/api/api-user.ts deleted file mode 100644 index 7c25fc3c4325f8f7548ee8a0cb525830baaf2120..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/api/api-user.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { UserInfoT } from '@/@types/type-user'; -import { request } from '@/shared/axios'; - -interface UserPermissionResponseT { - msg: string; - code: number; - data: UserInfoT; -} - -/** - * 获取用户信息 - * @param community community字段,默认openeuler - * @returns {Promise} 用户信息 - */ -export function queryUserInfo() { - const url = '/api-id/oneid/personal/center/user?community=openeuler'; - return request.get(url, { showError: false }).then((res) => res.data.data); -} diff --git a/app/.vitepress/src/assets/category/common/404-dark.png b/app/.vitepress/src/assets/category/common/404-dark.png deleted file mode 100644 index 43c80e1785f6d378f91123da426643f4adebd906..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/common/404-dark.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/common/404.png b/app/.vitepress/src/assets/category/common/404.png deleted file mode 100644 index 9649a1b3b9e05a9f3c3d4dd9e3d452ee4114e6f7..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/common/404.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/common/menu-switch-bar.png b/app/.vitepress/src/assets/category/common/menu-switch-bar.png deleted file mode 100644 index 1e5c278279f7842abccf572b7248a0ebfe40a8bd..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/common/menu-switch-bar.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/docs/docsBugBg.png b/app/.vitepress/src/assets/category/docs/docsBugBg.png deleted file mode 100644 index aed2c65de801ba5e59379c4555bb70eca30cf59d..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/docs/docsBugBg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/docs/icon-copy-dark.svg b/app/.vitepress/src/assets/category/docs/icon-copy-dark.svg deleted file mode 100644 index 46f21f39daf5cba04e7abb5a9fb578835438010e..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/docs/icon-copy-dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/category/docs/icon-copy.svg b/app/.vitepress/src/assets/category/docs/icon-copy.svg deleted file mode 100644 index ab4f98834278b37c1848a34ed1c8a6c8ba2f4216..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/docs/icon-copy.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/category/docs/icon-exit-full-screen.svg b/app/.vitepress/src/assets/category/docs/icon-exit-full-screen.svg deleted file mode 100644 index f0d4ebe903f5b9404eb65925c46fcf4bcb889507..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/docs/icon-exit-full-screen.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/category/docs/icon-full-screen.svg b/app/.vitepress/src/assets/category/docs/icon-full-screen.svg deleted file mode 100644 index 4af1d2e76403c2f2218439f1ecf9627fd04ef5ba..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/docs/icon-full-screen.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/category/docs/icon-gitee.svg b/app/.vitepress/src/assets/category/docs/icon-gitee.svg deleted file mode 100644 index a172b2ab17f5a86d4e8ede006e83ff00e11d903c..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/docs/icon-gitee.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/.vitepress/src/assets/category/docs/icon-note.svg b/app/.vitepress/src/assets/category/docs/icon-note.svg deleted file mode 100644 index 5a4bcb18c835de5b2494bde1ed8cec2e37d40719..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/docs/icon-note.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/assets/category/docs/icon-tip.svg b/app/.vitepress/src/assets/category/docs/icon-tip.svg deleted file mode 100644 index d029094cf2a7385af57e2fffdf54e8917007d7f1..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/docs/icon-tip.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/assets/category/docs/icon-warn.svg b/app/.vitepress/src/assets/category/docs/icon-warn.svg deleted file mode 100644 index ce23035b71192eb3a8e8427daa468981e4441de5..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/docs/icon-warn.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/assets/category/feedback/svg-icons/icon-faq.svg b/app/.vitepress/src/assets/category/feedback/svg-icons/icon-faq.svg deleted file mode 100644 index bf7bfb581fe32399d146a54d5b5bbda82a7e94a7..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/feedback/svg-icons/icon-faq.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/.vitepress/src/assets/category/feedback/svg-icons/icon-headset.svg b/app/.vitepress/src/assets/category/feedback/svg-icons/icon-headset.svg deleted file mode 100644 index aee2698d917ff057255c16175248a2b592da1f68..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/feedback/svg-icons/icon-headset.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/.vitepress/src/assets/category/feedback/svg-icons/icon-score.svg b/app/.vitepress/src/assets/category/feedback/svg-icons/icon-score.svg deleted file mode 100644 index c9f7efdd4cb992d86c3896e0414fb5f5bcaeb00d..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/feedback/svg-icons/icon-score.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/category/float/bug-bg-hover.png b/app/.vitepress/src/assets/category/float/bug-bg-hover.png deleted file mode 100644 index e8d115425299e0996b5dbc637028d38e4c6bc079..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/float/bug-bg-hover.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/float/bug-bg.png b/app/.vitepress/src/assets/category/float/bug-bg.png deleted file mode 100644 index 2ba900e87f7674406ad1f6c0226201adce746d9e..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/float/bug-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/atom-logo.png b/app/.vitepress/src/assets/category/footer/atom-logo.png deleted file mode 100644 index 25020b8000b592158a67aaf2bd037aca456e6c38..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/atom-logo.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/atom-logo.svg b/app/.vitepress/src/assets/category/footer/atom-logo.svg deleted file mode 100644 index 0cce03d0379659ecc5f3ec9113f747633ec0f287..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/footer/atom-logo.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - 开放原子开源基金会 - - - - - - - - - - \ No newline at end of file diff --git a/app/.vitepress/src/assets/category/footer/bilibili.png b/app/.vitepress/src/assets/category/footer/bilibili.png deleted file mode 100644 index 67564c13dddf56675372f9afe99d74912fa5bd03..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/bilibili.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/bilibili_hover.png b/app/.vitepress/src/assets/category/footer/bilibili_hover.png deleted file mode 100644 index 20220194f36f19869379bc0f2b0959d6c0e6cfb0..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/bilibili_hover.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/code-xzs.png b/app/.vitepress/src/assets/category/footer/code-xzs.png deleted file mode 100644 index 59d055ddde86c889778e185e8408b00c177be395..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/code-xzs.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/code-zgz-2.png b/app/.vitepress/src/assets/category/footer/code-zgz-2.png deleted file mode 100644 index aa2dd38c71886d16d71600823cac0249e61bef84..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/code-zgz-2.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/code-zgz.jpg b/app/.vitepress/src/assets/category/footer/code-zgz.jpg deleted file mode 100644 index ba027341b3cdd608e12491ee13715ab8011200e3..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/code-zgz.jpg and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/code-zgz.png b/app/.vitepress/src/assets/category/footer/code-zgz.png deleted file mode 100644 index aa2dd38c71886d16d71600823cac0249e61bef84..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/code-zgz.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/csdn.png b/app/.vitepress/src/assets/category/footer/csdn.png deleted file mode 100644 index 86de6f91345e5e74b0cfdca4baecdb9dc4fca77b..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/csdn.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/csdn_hover.png b/app/.vitepress/src/assets/category/footer/csdn_hover.png deleted file mode 100644 index aafd561b925f62a5ad024557765dff039b465c1f..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/csdn_hover.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/footer-bg-mo.png b/app/.vitepress/src/assets/category/footer/footer-bg-mo.png deleted file mode 100644 index 972a780e9762ddcf688c24e6a4a0c238b21cf787..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/footer-bg-mo.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/footer-bg.png b/app/.vitepress/src/assets/category/footer/footer-bg.png deleted file mode 100644 index 4896c76cce60fa88a97e879319da6a54b6c42267..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/footer-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/footer-bg1.png b/app/.vitepress/src/assets/category/footer/footer-bg1.png deleted file mode 100644 index 3c5ab6b54ecdfaa4a1e7d2152d2c59b1b7e9063d..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/footer-bg1.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/footer-logo1.png b/app/.vitepress/src/assets/category/footer/footer-logo1.png deleted file mode 100644 index 80f97536b255acb11f11412c2ee3b3a836e21a43..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/footer-logo1.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/footer-logo2.png b/app/.vitepress/src/assets/category/footer/footer-logo2.png deleted file mode 100644 index 723cc97315cde70c4aebae844d92be9d0b1b834f..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/footer-logo2.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/img-gzh.png b/app/.vitepress/src/assets/category/footer/img-gzh.png deleted file mode 100644 index afc3f345e603e73aa297c656ee2e15b085945b18..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/img-gzh.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/img-xzs.png b/app/.vitepress/src/assets/category/footer/img-xzs.png deleted file mode 100644 index de17acbd32440e608d227645a2d9b4425cb0bda8..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/img-xzs.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/infoq.png b/app/.vitepress/src/assets/category/footer/infoq.png deleted file mode 100644 index ec5facd385627659b8f38e9cb0438fc5e0c72a08..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/infoq.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/juejin.png b/app/.vitepress/src/assets/category/footer/juejin.png deleted file mode 100644 index 9a6e4077a16d68b3c4652bd2f8d403313cfc0766..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/juejin.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/juejin_hover.png b/app/.vitepress/src/assets/category/footer/juejin_hover.png deleted file mode 100644 index 862d71f5f42dbea37ac5c78b2103840717f15401..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/juejin_hover.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/linkdin.png b/app/.vitepress/src/assets/category/footer/linkdin.png deleted file mode 100644 index 0968f473516e7777494fdb34330796b85ea3a0f4..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/linkdin.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/linkdin_hover.png b/app/.vitepress/src/assets/category/footer/linkdin_hover.png deleted file mode 100644 index 4b29a86c1a3b8f41bb171f7f8e51564c8c0b8016..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/linkdin_hover.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/oschina.png b/app/.vitepress/src/assets/category/footer/oschina.png deleted file mode 100644 index 47804ca220039e4d5a540981ecc31819ecb9a990..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/oschina.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/oschina_hover.png b/app/.vitepress/src/assets/category/footer/oschina_hover.png deleted file mode 100644 index add919f03d2626328dbf8d70daea7bceea8dac1d..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/oschina_hover.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/police.png b/app/.vitepress/src/assets/category/footer/police.png deleted file mode 100644 index 116368e79ceab8617d988f4aa4b5a722dbff185b..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/police.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/reddit-square.png b/app/.vitepress/src/assets/category/footer/reddit-square.png deleted file mode 100644 index 6e88e30532053bdba3048da08d31ac0c174bbf91..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/reddit-square.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/reddit-square_hover.png b/app/.vitepress/src/assets/category/footer/reddit-square_hover.png deleted file mode 100644 index fc9624a40d53572da544e544205f57bbe32af401..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/reddit-square_hover.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/svg-icons/icon-chat.svg b/app/.vitepress/src/assets/category/footer/svg-icons/icon-chat.svg deleted file mode 100644 index b4ca3738785b1d4cec20424310917664a7383b0c..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/footer/svg-icons/icon-chat.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/.vitepress/src/assets/category/footer/svg-icons/icon-quickissue_dark.svg b/app/.vitepress/src/assets/category/footer/svg-icons/icon-quickissue_dark.svg deleted file mode 100644 index cd0a77287b9ee0c5176f1378780efe4570b8f39f..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/footer/svg-icons/icon-quickissue_dark.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/assets/category/footer/svg-icons/icon-quickissue_light.svg b/app/.vitepress/src/assets/category/footer/svg-icons/icon-quickissue_light.svg deleted file mode 100644 index 3374a009b0d71eda341b57ee2c408dc643215526..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/footer/svg-icons/icon-quickissue_light.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/app/.vitepress/src/assets/category/footer/svg-icons/icon-smile.svg b/app/.vitepress/src/assets/category/footer/svg-icons/icon-smile.svg deleted file mode 100644 index f5ecc9acde935861025708ce60055ffb69a53dc7..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/footer/svg-icons/icon-smile.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/category/footer/toutiao.png b/app/.vitepress/src/assets/category/footer/toutiao.png deleted file mode 100644 index 67a2e929bc26cccb97dabd567fbc8b8775dd792e..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/toutiao.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/toutiao_hover.png b/app/.vitepress/src/assets/category/footer/toutiao_hover.png deleted file mode 100644 index 3a5379ab6531fc1f7b2fa36d87766de7695b9a87..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/toutiao_hover.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/x.png b/app/.vitepress/src/assets/category/footer/x.png deleted file mode 100644 index d7985af63ca3004d74aeab0cacfae7c91102ce15..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/x.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/x_hover.png b/app/.vitepress/src/assets/category/footer/x_hover.png deleted file mode 100644 index 05cbf9f8cda7b4bee88a9c6375b01d1bb48d895d..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/x_hover.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/youtube.png b/app/.vitepress/src/assets/category/footer/youtube.png deleted file mode 100644 index f43e105129f8da83aebfc1de3da4a373c7c0cc6a..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/youtube.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/footer/youtube_hover.png b/app/.vitepress/src/assets/category/footer/youtube_hover.png deleted file mode 100644 index 730a7157ee651431567f580c7ed0312111bdb643..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/footer/youtube_hover.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/header/annual-report-2024.jpg b/app/.vitepress/src/assets/category/header/annual-report-2024.jpg deleted file mode 100644 index 9d07341f232ef435c7be48727789d60ee33d82e5..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/header/annual-report-2024.jpg and /dev/null differ diff --git a/app/.vitepress/src/assets/category/header/logo.svg b/app/.vitepress/src/assets/category/header/logo.svg deleted file mode 100644 index af74e72eb8319ea4b92aa1467da4ce15766ba0e2..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/header/logo.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/.vitepress/src/assets/category/header/logo_dark.svg b/app/.vitepress/src/assets/category/header/logo_dark.svg deleted file mode 100644 index e27f683229d272a1043b2dc4653d0cd1f9e1f4c9..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/header/logo_dark.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/.vitepress/src/assets/category/header/nav_background_left.png b/app/.vitepress/src/assets/category/header/nav_background_left.png deleted file mode 100644 index f7f8a934fc441ab6c1c50f62479e303404d38a0f..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/header/nav_background_left.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/header/nav_background_right.png b/app/.vitepress/src/assets/category/header/nav_background_right.png deleted file mode 100644 index 97ec1491e5a6a050343c357f5decd0d9a3d5a2bf..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/header/nav_background_right.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/header/odd.png b/app/.vitepress/src/assets/category/header/odd.png deleted file mode 100644 index dc0bc4fc4a5af52aa932bbbf1b6b504f8a9fed89..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/header/odd.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/header/report.png b/app/.vitepress/src/assets/category/header/report.png deleted file mode 100644 index 454118b9c36d41ca2f1b8aa9e0ba35417ce71e4d..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/header/report.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/header/sig.png b/app/.vitepress/src/assets/category/header/sig.png deleted file mode 100644 index deb54d4b8c051cddb5ec49a20d17f1015203fdc8..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/header/sig.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/header/summit-dark.jpg b/app/.vitepress/src/assets/category/header/summit-dark.jpg deleted file mode 100644 index 4a595099060e547d97d841367690e5dc9958e44a..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/header/summit-dark.jpg and /dev/null differ diff --git a/app/.vitepress/src/assets/category/header/summit.jpg b/app/.vitepress/src/assets/category/header/summit.jpg deleted file mode 100644 index d94d3869692e5c88d76ab99fa9895fdf5398412e..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/header/summit.jpg and /dev/null differ diff --git a/app/.vitepress/src/assets/category/header/summit.png b/app/.vitepress/src/assets/category/header/summit.png deleted file mode 100644 index d1a83a0befab7e92155527827b2996445fe63643..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/header/summit.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/cloud-bg.png b/app/.vitepress/src/assets/category/home/cloud-bg.png deleted file mode 100644 index 9a9589f9c55249f92c69eac54a61d26c15822a91..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/cloud-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/dev-station-bg.svg b/app/.vitepress/src/assets/category/home/dev-station-bg.svg deleted file mode 100644 index c08c34f5c02b10aa2a8b0ee606a1157efa6fb026..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/home/dev-station-bg.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/app/.vitepress/src/assets/category/home/edge-computing-bg.png b/app/.vitepress/src/assets/category/home/edge-computing-bg.png deleted file mode 100644 index b1a708eacda8b68eea5ed25c505c28b60a4d3ba1..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/edge-computing-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/embedded-bg.png b/app/.vitepress/src/assets/category/home/embedded-bg.png deleted file mode 100644 index 646afee988b57bcb1f064952d6352ec4efb73644..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/embedded-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/home-banner-dark.png b/app/.vitepress/src/assets/category/home/home-banner-dark.png deleted file mode 100644 index a5577c7cfa1b23ff9f4105e527397f7dbb37fae1..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/home-banner-dark.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/home-banner.png b/app/.vitepress/src/assets/category/home/home-banner.png deleted file mode 100644 index cae37e7637bfb60e3655825bd98c1b3004293292..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/home-banner.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/install-guide-bg-dark.png b/app/.vitepress/src/assets/category/home/install-guide-bg-dark.png deleted file mode 100644 index 3ed275d32e81e46123470c4817061362f8946c0a..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/install-guide-bg-dark.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/install-guide-bg.png b/app/.vitepress/src/assets/category/home/install-guide-bg.png deleted file mode 100644 index bfd8d0b5e727cbe117bd87fe6ec5ccd3a02ca686..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/install-guide-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/install-guide-mo-bg.png b/app/.vitepress/src/assets/category/home/install-guide-mo-bg.png deleted file mode 100644 index ff42e30277ab93c7434d15e002494b59fc9ab97e..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/install-guide-mo-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/install-mo-bg-dark.png b/app/.vitepress/src/assets/category/home/install-mo-bg-dark.png deleted file mode 100644 index 979f2a920d9b0dafd5895250c6c845eebac7e404..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/install-mo-bg-dark.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/qa-bg-dark.png b/app/.vitepress/src/assets/category/home/qa-bg-dark.png deleted file mode 100644 index a3285bf61dcf2e05909b4f4ed313c09257c86f34..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/qa-bg-dark.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/qa-bg.png b/app/.vitepress/src/assets/category/home/qa-bg.png deleted file mode 100644 index e0aedadc5684fc42ccdf1a4ee36010025669194d..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/qa-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/qa-mo-bg-dark.png b/app/.vitepress/src/assets/category/home/qa-mo-bg-dark.png deleted file mode 100644 index f6a64344682fd16a5161f43f55cfa870470afaa7..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/qa-mo-bg-dark.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/qa-mo-bg.png b/app/.vitepress/src/assets/category/home/qa-mo-bg.png deleted file mode 100644 index 3a7b87d4f14f284505f42047817ff3227162e8dd..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/qa-mo-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/server-bg.png b/app/.vitepress/src/assets/category/home/server-bg.png deleted file mode 100644 index 7a92ccfeaa7f6d875706816176e97fa883f08e0e..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/server-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/started-bg-dark.png b/app/.vitepress/src/assets/category/home/started-bg-dark.png deleted file mode 100644 index 737cab03621ae3b05d075827ccd107b7dc6f5b94..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/started-bg-dark.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/started-bg.png b/app/.vitepress/src/assets/category/home/started-bg.png deleted file mode 100644 index d6183fa6a470420835e1a45935cbfa9fc9fe6c00..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/started-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/started-mo-bg-dark.png b/app/.vitepress/src/assets/category/home/started-mo-bg-dark.png deleted file mode 100644 index 3edeabb509dc11b86898dde7ed99ab07db74328b..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/started-mo-bg-dark.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/started-mo-bg.png b/app/.vitepress/src/assets/category/home/started-mo-bg.png deleted file mode 100644 index 11dbc204a278b79037fb5c481d697e8c2fd49a6c..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/started-mo-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/svg-icons/cloud.svg b/app/.vitepress/src/assets/category/home/svg-icons/cloud.svg deleted file mode 100644 index 9a33cfc1f672081d824a19bd0c2fbee08674fd72..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/home/svg-icons/cloud.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/app/.vitepress/src/assets/category/home/svg-icons/dev-station.svg b/app/.vitepress/src/assets/category/home/svg-icons/dev-station.svg deleted file mode 100644 index c29a4f7152dd66a70f0e92b553a55d95bc308a11..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/home/svg-icons/dev-station.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/app/.vitepress/src/assets/category/home/svg-icons/edge-computing.svg b/app/.vitepress/src/assets/category/home/svg-icons/edge-computing.svg deleted file mode 100644 index dc314594239dd5a812ea8b059576341d337c28da..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/home/svg-icons/edge-computing.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/assets/category/home/svg-icons/embedded.svg b/app/.vitepress/src/assets/category/home/svg-icons/embedded.svg deleted file mode 100644 index 3e50be90cd181a5a30b8c34454f8db79dc1ce39c..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/home/svg-icons/embedded.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/assets/category/home/svg-icons/server.svg b/app/.vitepress/src/assets/category/home/svg-icons/server.svg deleted file mode 100644 index 87433c4c25b20ee953c1a71027bd389665977a80..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/home/svg-icons/server.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/assets/category/home/svg-icons/virtualization.svg b/app/.vitepress/src/assets/category/home/svg-icons/virtualization.svg deleted file mode 100644 index b994926478f883206645ad3371f6d92b48d5d1a2..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/category/home/svg-icons/virtualization.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/assets/category/home/virtualization-bg.png b/app/.vitepress/src/assets/category/home/virtualization-bg.png deleted file mode 100644 index e5fb2c233ec151e41ffae3256fdf2e4db4b8ac55..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/virtualization-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/x2-bg-dark.png b/app/.vitepress/src/assets/category/home/x2-bg-dark.png deleted file mode 100644 index 553d0c58ab372b61f0146e9e9635990656ff35d2..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/x2-bg-dark.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/x2-bg.png b/app/.vitepress/src/assets/category/home/x2-bg.png deleted file mode 100644 index 85e09770fd108a2c884197428bf739afef3bff2d..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/x2-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/x2-mo-bg-dark.png b/app/.vitepress/src/assets/category/home/x2-mo-bg-dark.png deleted file mode 100644 index 4389369086d138a57e0f40a20c91aae3bb4d359f..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/x2-mo-bg-dark.png and /dev/null differ diff --git a/app/.vitepress/src/assets/category/home/x2-mo-bg.png b/app/.vitepress/src/assets/category/home/x2-mo-bg.png deleted file mode 100644 index 4c06aec0fc08d3d94deb617592fa32963e9a0f2d..0000000000000000000000000000000000000000 Binary files a/app/.vitepress/src/assets/category/home/x2-mo-bg.png and /dev/null differ diff --git a/app/.vitepress/src/assets/style/base.scss b/app/.vitepress/src/assets/style/base.scss deleted file mode 100644 index ff70ca7170369270714bbc66b46c36a1c28650da..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/base.scss +++ /dev/null @@ -1,89 +0,0 @@ -/* - * base - */ -html, -body { - margin: 0; - padding: 0; - -webkit-text-size-adjust: none; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - scroll-behavior: smooth; - box-sizing: border-box; - font-family: 'PingFang SC', 'Microsoft YaHei', 'Helvetica', 'Arial', sans-serif; - height: 100%; - background: var(--o-color-fill2); - @include text1; - @include scrollbar; -} - -*, -:after, -:before { - box-sizing: inherit; - margin: 0; - padding: 0; -} - -img { - vertical-align: top; -} - -[tabindex] { - outline: none; -} - -a { - cursor: pointer; - color: var(--o-color-link1); - text-decoration: none; - &:hover { - @include respond-to('>phone') { - color: var(--o-color-link2); - } - } - &:active { - @include respond-to('>phone') { - color: var(--o-color-link3); - } - } -} - -blockquote, -figure, -form, -h1, -h2, -h3, -h4, -h5, -h6, -p { - margin: 0; -} -dd, -dl, -li, -ol, -ul { - margin: 0; - padding: 0; -} - -ol, -ul { - list-style: none outside none; -} - -button, -input, -optgroup, -section, -textarea { - font-family: inherit; - font-size: 100%; - line-height: 1.15; - margin: 0; - @include scrollbar; -} diff --git a/app/.vitepress/src/assets/style/element-plus/index.scss b/app/.vitepress/src/assets/style/element-plus/index.scss deleted file mode 100644 index 4ce9a2226903af15d7cd6c2111cf84e329aedbcb..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/element-plus/index.scss +++ /dev/null @@ -1 +0,0 @@ -@use './slider.scss' as *; diff --git a/app/.vitepress/src/assets/style/element-plus/slider.scss b/app/.vitepress/src/assets/style/element-plus/slider.scss deleted file mode 100644 index 96fe482f08d0bfa2f4b95b9eed04d0d402afcf19..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/element-plus/slider.scss +++ /dev/null @@ -1,65 +0,0 @@ -@use '@/assets/style/mixin/screen.scss' as *; -@use '@/assets/style/mixin/font.scss' as *; - -.el-slider { - --el-slider-height: 6px; - --el-slider-border-radius: 4px; - --el-slider-button-wrapper-size: 14px; - --el-slider-button-wrapper-offset: -4px; - --el-slider-button-size: 14px; - --el-slider-runway-bg-color: var(--o-color-fill1); - height: 14px; - - .el-slider__bar { - --el-slider-height: 8px; - background: linear-gradient(90deg, #07caff 0%, #5882ff 100%); - top: -1px; - left: -4px !important; - } - - .el-slider__stop { - width: 2px; - height: 2px; - top: 50%; - margin-top: -1px; - background-color: var(--o-color-info4); - } - - .el-slider__marks-stop { - background-color: var(--o-color-info4-inverse); - - &:last-child { - transform: translate(-3px, -1px); - background-color: var(--o-color-info4); - } - } - - .el-slider__runway { - background-color: transparent; - &::before { - content: ''; - position: absolute; - width: calc(100% + 3px); - inset: 0; - right: 4px; - background-color: var(--o-color-fill3); - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - } - } - - .el-slider__button { - border: solid 5px var(--o-color-fill2); - box-shadow: var(--o-shadow-1); - background: linear-gradient(90deg, #07caff 0%, #5882ff 100%); - } - - .el-slider__button-wrapper { - display: flex; - } - - .el-slider__marks { - width: 2px; - height: 2px; - } -} diff --git a/app/.vitepress/src/assets/style/global.scss b/app/.vitepress/src/assets/style/global.scss deleted file mode 100644 index a30bb9d5431bf5aa51f7a9fa20cfb7e3f58aa2c8..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/global.scss +++ /dev/null @@ -1,94 +0,0 @@ -html { - --layout-pkg-radius: 4px; -} -:root { - --o-radius_control-xs: 4px; - --o-radius_control-s: 4px; - --o-radius_control-m: 4px; - --o-radius_control-l: 4px; - - --el-box-shadow-light: var(--o-shadow-2); - --el-color-primary: var(--o-color-primary1) !important; -} - -// tag -.tags-box { - display: flex; - margin: 12px 0 0; - :deep(.o-tag-icon) { - width: 16px; - height: 16px; - } - > a + a { - margin-left: 8px; - } - .o-tag { - cursor: pointer; - --tag-padding: 2px 4px; - --tag-bd-color: var(--o-color-control1-light); - &.image-icon .o-icon { - color: #007af0; - } - &.epkg-icon .o-icon { - color: #e00070; - } - &.rpm-icon .o-icon { - color: #00a7b3; - } - &:hover { - --tag-bg-color: var(--o-color-control2-light); - } - .o-tag-icon { - height: 16px; - } - svg { - width: 16px; - height: 16px; - color: currentColor; - } - } - .o-tag + .o-tag { - margin-left: 8px; - } -} - -.o-icon { - svg { - fill: currentColor; - } -} - -.o-tab-nav-active { - font-weight: 500; -} - -.o-card-pkg { - .desc { - margin-top: 8px; - color: var(--o-color-info2); - overflow: hidden; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - position: relative; - word-break: break-all; - height: 48px; - --linear-gradient: var(--o-mixedgray-1); - &.dark { - --linear-gradient: var(--o-mixedgray-4); - } - @include text1; - &::after { - background-image: linear-gradient(90deg, rgba(var(--linear-gradient), 0), rgba(var(--linear-gradient), 0.8) 59%, var(--o-color-control-light) 100%); - bottom: 0; - content: ''; - height: 24px; - pointer-events: none; - position: absolute; - right: 0; - width: 4em; - } - span { - color: var(--o-color-primary1); - } - } -} diff --git a/app/.vitepress/src/assets/style/highlight/index.scss b/app/.vitepress/src/assets/style/highlight/index.scss deleted file mode 100644 index 1959ffa576ee5368f58c1f9c1bc29d0300a900e2..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/highlight/index.scss +++ /dev/null @@ -1,8 +0,0 @@ -html:not(.dark) code span { - color: var(--shiki-light, inherit); -} - -[data-o-theme="dark"] code span { - color: var(--shiki-dark, inherit); -} - diff --git a/app/.vitepress/src/assets/style/markdown.scss b/app/.vitepress/src/assets/style/markdown.scss deleted file mode 100644 index 3e12d2cc41bf7505c609b0695304b22b03c06061..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/markdown.scss +++ /dev/null @@ -1,545 +0,0 @@ -@use 'github-markdown-css/github-markdown-light.css' as *; -@use './highlight/index.scss' as *; -@use './mixin/common.scss' as *; - -.markdown-body { - --o-gap-1: 4px; - --o-gap-2: 8px; - --o-gap-3: 12px; - --o-gap-4: 16px; - --o-gap-5: 24px; - --o-gap-6: 32px; - --o-gap-7: 40px; - - @include respond-to('<=laptop') { - --o-gap-1: 4px; - --o-gap-2: 8px; - --o-gap-3: 8px; - --o-gap-4: 12px; - --o-gap-5: 16px; - --o-gap-6: 24px; - --o-gap-7: 24px; - } - - @include respond-to('<=pad') { - --o-gap-1: 4px; - --o-gap-2: 8px; - --o-gap-3: 8px; - --o-gap-4: 8px; - --o-gap-5: 12px; - --o-gap-6: 16px; - --o-gap-7: 16px; - } - - @include respond-to('<=pad_v') { - --o-gap-1: 4px; - --o-gap-2: 8px; - --o-gap-3: 8px; - --o-gap-4: 8px; - --o-gap-5: 12px; - --o-gap-6: 16px; - --o-gap-7: 16px; - } - - @include respond-to('phone') { - --o-gap-1: 4px; - --o-gap-2: 8px; - --o-gap-3: 12px; - --o-gap-4: 16px; - --o-gap-5: 24px; - --o-gap-6: 28px; - --o-gap-7: 12px; - } -} - -.markdown-body { - background: var(--o-color-fill2); - color: var(--o-color-info2); - font-family: inherit; - min-height: auto; - @include text1; - - & > div *:first-child { - margin-top: 0 !important; - } - - div[class*='language-'] { - position: relative; - margin-top: var(--o-gap-2); - } - - p { - margin-top: 0 !important; - margin-bottom: var(--o-gap-2); - } - - ol { - list-style-type: decimal !important; - } - - ul { - list-style-type: disc; - } - - ol, - ul { - padding-left: var(--o-gap-5); - margin-top: var(--o-gap-2); - } - - li + li { - margin-top: 0; - } - - li li { - &:first-child { - margin-top: 8px !important; - } - - &:last-child { - margin-bottom: 8px; - } - } - - h1, - h2, - h3, - h4, - h5, - h6 { - word-break: break-all; - color: var(--o-color-info1); - padding: 0; - border: none; - font-weight: 600; - } - - h1 { - @include h2; - margin-top: calc(var(--o-gap-6)); - margin-bottom: var(--o-gap-6); - } - - h2 { - @include h4; - margin-top: calc(var(--o-gap-6)); - margin-bottom: var(--o-gap-3); - } - - h3 { - @include text2; - margin-top: var(--o-gap-3); - margin-bottom: var(--o-gap-3); - } - - h4, - h5, - h6 { - @include text1; - margin-top: var(--o-gap-3); - margin-bottom: var(--o-gap-3); - } - - hr { - height: 1px; - background-color: var(--o-color-control4); - } - - a { - color: var(--o-color-link1); - transition: color var(--o-duration-m1) var(--o-easing-standard-in); - - @include hover { - color: var(--o-color-link2); - } - - &:active { - color: var(--o-color-link3); - } - } - - img { - max-width: min(920px, 100%); - border-radius: var(--o-radius-xs); - margin: 0 auto; - background-color: transparent; - - @include respond-to('phone') { - max-width: 100%; - } - } - - code { - border-radius: var(--layout-pkg-radius); - background-color: var(--o-color-fill1); - margin: 0 4px; - } - - code .diff:before { - position: absolute; - left: 10px; - } - - code .diff, - code .highlighted { - display: inline-block; - width: calc(100% + 48px); - margin: 0 -24px; - padding: 0 24px; - } - - code .diff.remove { - background-color: rgba(244, 63, 94, 0.14); - opacity: 0.8; - } - - code .diff.remove::before { - content: '-'; - color: #b8272c; - } - - code .diff.add { - background-color: rgba(16, 185, 129, 0.14); - } - - code .diff.add::before { - content: '+'; - color: #18794e; - } - - code .highlighted { - background-color: rgba(142, 150, 170, 0.14); - } - - code .highlighted.error { - background-color: rgba(244, 63, 94, 0.14); - } - - code .highlighted.warning { - background-color: rgba(234, 179, 8, 0.14); - } - - .has-focused-lines .line:not(.has-focus) { - opacity: 0.8; - transition: - filter 0.35s, - opacity 0.35s; - filter: blur(0.095rem); - } - - p code:first-child { - margin-left: 0; - } - - blockquote { - color: var(--o-color-info2); - padding: 12px 16px; - margin: var(--o-gap-3) 0; - border-left: 0; - background-color: var(--o-color-control2-light); - border-radius: var(--layout-pkg-radius); - - li { - margin-top: var(--o-gap-2); - } - - img { - padding: 0; - margin-left: 0; - background-color: transparent; - min-height: 0; - } - - .img-expand { - padding: 0; - margin-left: 0; - - .img-expand-btn, - .img-mask { - display: none; - } - } - - pre { - border: 1px solid var(--o-color-control4); - } - - > *:last-child { - margin-bottom: 0; - - > *:last-child { - margin-bottom: 0; - } - } - } - - pre { - position: relative; - border-radius: var(--layout-pkg-radius); - background-color: var(--o-color-fill1); - padding: 0; - margin-bottom: var(--o-gap-2); - overflow-x: auto; - - &::-webkit-scrollbar-track { - border-radius: 0 0 var(--layout-pkg-radius) var(--layout-pkg-radius); - background-color: var(--o-color-fill3); - } - - &::-webkit-scrollbar { - border-radius: 0 0 var(--layout-pkg-radius) var(--layout-pkg-radius); - width: 10px; - height: 10px; - background-color: var(--o-color-fill1); - } - - &::-webkit-scrollbar-thumb { - border-radius: 16px; - background: var(--o-color-control1); - } - - code { - display: block; - width: fit-content; - min-width: 100%; - padding: 12px 24px; - margin: 0; - } - } - - table { - --table-th-padding: var(--o-gap-3) var(--o-gap-7); - --table-td-padding: var(--o-gap-4) var(--o-gap-7); - --table-radius: var(--layout-pkg-radius); - border-spacing: 0; - border-radius: var(--table-radius); - - @include respond-to('<=laptop') { - --table-head-cell-padding: 8px 16px; - } - - @include respond-to('<=pad') { - --table-head-cell-padding: 9px 12px; - } - - @include respond-to('<=phone') { - --table-head-cell-padding: 7px 12px; - } - - th { - padding: var(--table-th-padding); - background-color: var(--o-color-control3-light); - text-align: left; - border-color: var(--o-color-control3-light) !important; - white-space: nowrap; - } - - th, - td { - box-sizing: border-box; - color: var(--o-color-info1); - border-color: var(--o-color-control4); - @include text1; - } - - tr { - background: var(--o-color-fill2) !important; - border: 0 !important; - } - - td { - padding: var(--table-td-padding); - box-sizing: border-box; - } - - * { - margin-bottom: 0; - } - - * + * { - margin-top: var(--o-gap-2); - } - - li { - &:first-child { - margin-top: 0 !important; - } - - &:last-child { - margin-bottom: 0; - } - } - } - - .lang { - display: none; - } - - .vp-adaptive-theme { - @include hover { - .copy { - opacity: 1; - } - } - - @include respond-to('phone') { - .copy { - opacity: 1; - width: 16px; - height: 16px; - background-size: 14px; - } - } - } - - .copy { - cursor: pointer; - position: absolute; - top: calc(var(--o-gap-2) + 2px); - right: var(--o-gap-3); - z-index: 3; - border-radius: 4px; - width: 24px; - height: 24px; - background-color: inherit; - background-image: url('@/assets/category/docs/icon-copy.svg'); - background-position: 50%; - background-size: 20px; - background-repeat: no-repeat; - border: none; - opacity: 0; - transition: all var(--o-duration-m1) var(--o-easing-standard-in); - - @include respond-to('<=laptop') { - top: var(--o-gap-2); - } - - @include respond-to('phone') { - top: 12px; - } - } - - pre.mermaid { - background-color: transparent; - } - - div.mermaid { - svg[aria-roledescription='error'] { - display: none; - } - } - - .custom-block { - padding: var(--o-gap-3) var(--o-gap-4); - margin-bottom: var(--o-gap-3); - border-radius: var(--o-radius-xs); - @include text1; - - .custom-block-title { - display: flex; - align-items: center; - font-weight: 600; - } - - .custom-block-title::before { - content: ''; - display: inline-block; - width: 24px; - height: 24px; - background-size: 24px; - background-repeat: no-repeat; - margin-right: 8px; - - @include respond-to('laptop') { - width: 20px; - height: 20px; - background-size: 20px; - } - - @include respond-to('pad_h') { - width: 18px; - height: 18px; - background-size: 18px; - margin-right: 6px; - } - - @include respond-to('pad_v') { - width: 18px; - height: 18px; - background-size: 18px; - margin-right: 4px; - } - - @include respond-to('phone') { - width: 16px; - height: 16px; - background-size: 16px; - margin-right: 4px; - } - } - - > *:not(.custom-block-title) { - margin-left: 32px; - - @include respond-to('laptop') { - margin-left: 28px; - } - - @include respond-to('pad_h') { - margin-left: 24px; - } - - @include respond-to('pad_v') { - margin-left: 20px; - } - - @include respond-to('phone') { - margin-left: 16px; - } - } - - > *:not(.custom-block-title):last-child { - margin-bottom: 0; - } - - code { - border: 1px solid var(--o-color-control4); - } - } - - .note { - background-color: var(--o-color-control2-light); - - .custom-block-title::before { - background-image: url('@/assets/category/docs/icon-note.svg'); - } - } - - .warning { - background-color: var(--o-color-warning4-light); - - .custom-block-title::before { - background-image: url('@/assets/category/docs/icon-warn.svg'); - } - } - - .tip { - background-color: var(--o-color-success4-light); - - .custom-block-title::before { - background-image: url('@/assets/category/docs/icon-tip.svg'); - } - } -} - -@include in-dark { - .markdown-body { - img { - @include img-in-dark; - } - - .copy { - background-image: url('@/assets/category/docs/icon-copy-dark.svg'); - } - } -} diff --git a/app/.vitepress/src/assets/style/mixin/common.scss b/app/.vitepress/src/assets/style/mixin/common.scss deleted file mode 100644 index b3435e070ca02f05f75124c5111962db6bb9a4f9..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/mixin/common.scss +++ /dev/null @@ -1,65 +0,0 @@ -@use '@/assets/style/mixin/screen.scss' as *; - -@mixin in-dark { - [data-o-theme='dark'] { - @content; - } -} - -@mixin text-truncate($line-clamp: 1) { - overflow: hidden; - text-overflow: ellipsis; - word-break: break-all; - display: -webkit-box; - -webkit-box-orient: vertical; - -webkit-line-clamp: $line-clamp; -} - -@mixin img-in-dark { - filter: brightness(80%) grayscale(20%) contrast(1.2); -} - -@mixin scrollbar { - &::-webkit-scrollbar-track { - border-radius: 4px; - background-color: var(--o-color-fill1); - } - - &::-webkit-scrollbar { - width: 4px; - height: 4px; - background-color: var(--o-color-fill1); - } - - &::-webkit-scrollbar-thumb { - border-radius: 4px; - background: var(--o-color-control1); - } -} - -.hover-icon-rotate { - .o-icon { - transition: all var(--o-duration-m1) var(--o-easing-standard-in); - } - - @include hover { - .o-icon { - transform: rotate(-180deg); - } - } -} - -@mixin x-svg-hover() { - & { - overflow: hidden; - } - - svg { - transition: all var(--o-duration-m1) var(--o-easing-standard-in); - } - @include hover { - svg { - transform: rotate(180deg); - } - } -} diff --git a/app/.vitepress/src/assets/style/mixin/font.scss b/app/.vitepress/src/assets/style/mixin/font.scss deleted file mode 100644 index 66734578a873d0cc06f34bfcea073278905585e3..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/mixin/font.scss +++ /dev/null @@ -1,270 +0,0 @@ -@use '@/assets/style/mixin/screen.scss' as *; - -// 一级数据展示 -@mixin display1 { - font-size: 56px; - line-height: 80px; - @include respond-to('laptop') { - font-size: 48px; - line-height: 64px; - } - @include respond-to('pad_h') { - font-size: 40px; - line-height: 56px; - } - @include respond-to('pad_v') { - font-size: 40px; - line-height: 56px; - } - @include respond-to('phone') { - font-size: 22px; - line-height: 30px; - } -} - -// 二级数据展示 -@mixin display2 { - font-size: 48px; - line-height: 64px; - @include respond-to('laptop') { - font-size: 40px; - line-height: 56px; - } - @include respond-to('pad_h') { - font-size: 32px; - line-height: 44px; - } - @include respond-to('pad_v') { - font-size: 32px; - line-height: 44px; - } - @include respond-to('phone') { - font-size: 20px; - line-height: 28px; - } -} - -// 三级数据展示 -@mixin display3 { - font-size: 40px; - line-height: 56px; - @include respond-to('laptop') { - font-size: 32px; - line-height: 44px; - } - @include respond-to('pad_h') { - font-size: 24px; - line-height: 32px; - } - @include respond-to('pad_v') { - font-size: 22px; - line-height: 30px; - } - @include respond-to('phone') { - font-size: 18px; - line-height: 26px; - } -} - -// 一级标题 -@mixin h1 { - font-size: 32px; - line-height: 44px; - @include respond-to('laptop') { - font-size: 20px; - line-height: 28px; - } - @include respond-to('pad_h') { - font-size: 20px; - line-height: 28px; - } - @include respond-to('pad_v') { - font-size: 18px; - line-height: 26px; - } - @include respond-to('phone') { - font-size: 16px; - line-height: 24px; - } -} - -// 二级标题 -@mixin h2 { - font-size: 24px; - line-height: 32px; - @include respond-to('laptop') { - font-size: 20px; - line-height: 28px; - } - @include respond-to('pad_h') { - font-size: 18px; - line-height: 26px; - } - @include respond-to('pad_v') { - font-size: 18px; - line-height: 26px; - } - @include respond-to('phone') { - font-size: 16px; - line-height: 24px; - } -} - -// 三级标题 -@mixin h3 { - font-size: 22px; - line-height: 30px; - @include respond-to('laptop') { - font-size: 18px; - line-height: 26px; - } - @include respond-to('pad_h') { - font-size: 16px; - line-height: 24px; - } - @include respond-to('pad_v') { - font-size: 16px; - line-height: 24px; - } - @include respond-to('phone') { - font-size: 16px; - line-height: 24px; - } -} - -// 四级标题 -@mixin h4 { - font-size: 20px; - line-height: 28px; - @include respond-to('laptop') { - font-size: 18px; - line-height: 26px; - } - @include respond-to('pad_h') { - font-size: 16px; - line-height: 24px; - } - @include respond-to('pad_v') { - font-size: 16px; - line-height: 24px; - } - @include respond-to('phone') { - font-size: 14px; - line-height: 22px; - } -} - -// 常规正文 -@mixin text1 { - font-size: 16px; - line-height: 24px; - @include respond-to('laptop') { - font-size: 14px; - line-height: 22px; - } - @include respond-to('pad_h') { - font-size: 14px; - line-height: 22px; - } - @include respond-to('pad_v') { - font-size: 14px; - line-height: 22px; - } - @include respond-to('phone') { - font-size: 12px; - line-height: 18px; - } -} - -// 大号正文 -@mixin text2 { - font-size: 18px; - line-height: 26px; - @include respond-to('laptop') { - font-size: 16px; - line-height: 24px; - } - @include respond-to('pad_h') { - font-size: 14px; - line-height: 22px; - } - @include respond-to('pad_v') { - font-size: 14px; - line-height: 22px; - } - @include respond-to('phone') { - font-size: 14px; - line-height: 22px; - } -} - -// 提示文本1 -@mixin tip1 { - font-size: 14px; - line-height: 22px; - @include respond-to('laptop') { - font-size: 12px; - line-height: 18px; - } - @include respond-to('pad_h') { - font-size: 12px; - line-height: 18px; - } - @include respond-to('pad_v') { - font-size: 12px; - line-height: 18px; - } - @include respond-to('phone') { - font-size: 10px; - line-height: 16px; - } -} - -// 提示文本2 -@mixin tip2 { - font-size: 12px; - line-height: 18px; - @include respond-to('laptop') { - font-size: 12px; - line-height: 18px; - } - @include respond-to('pad_h') { - font-size: 12px; - line-height: 18px; - } - @include respond-to('pad_v') { - font-size: 12px; - line-height: 18px; - } - @include respond-to('phone') { - font-size: 10px; - line-height: 16px; - } -} - -// 提示文本1 -@mixin tip1-response-max-height { - font-size: 14px; - line-height: 22px; - max-height: 44px; - @include respond-to('laptop') { - font-size: 12px; - line-height: 18px; - max-height: 36px; - } - @include respond-to('pad_h') { - font-size: 12px; - line-height: 18px; - max-height: 36px; - } - @include respond-to('pad_v') { - font-size: 12px; - line-height: 18px; - max-height: 36px; - } - @include respond-to('phone') { - font-size: 10px; - line-height: 16px; - max-height: 32px; - } -} diff --git a/app/.vitepress/src/assets/style/mixin/screen.scss b/app/.vitepress/src/assets/style/mixin/screen.scss deleted file mode 100644 index 280083cf64837966e6bf31a92219b76776744cdc..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/mixin/screen.scss +++ /dev/null @@ -1,90 +0,0 @@ -@use "sass:list"; -@use "sass:map"; -@use "sass:meta"; - -// 断点定义 -$breakpoints: ( - // phone - 'phone': (0, 600px), - '>phone': 601px, - // pad - 'pad': (601px, 1200px), - '<=pad': (0, 1200px), - '>pad': 1201px, - // pad-v - 'pad_v': (601px, 840px), - '<=pad_v': (0, 840px), - '>pad_v': 841px, - // pad-h - 'pad_h': (841px, 1200px), - // laptop - 'laptop': (1201px, 1440px), - '<=laptop': (0, 1440px), - '>laptop': 1441px, - 'pad-laptop': (601px, 1440px), - 'pad_v-laptop': (841px, 1440px) -); - -@mixin respond-to($breakname) { - $bp: map.get($breakpoints, $breakname); - @if meta.type-of($bp) == 'list' { - $min: list.nth($bp, 1); - $max: list.nth($bp, 2); - @if $min == 0 { - @media (max-width: $max) { - @content; - } - } @else { - @media (min-width: $min) and (max-width: $max) { - @content; - } - } - } @else { - @media (min-width: $bp) { - @content; - } - } -} - -@mixin hoverable($hover: hover) { - @media (hover: $hover) { - @content; - } -} - -@mixin hover() { - @media (hover: hover) { - &:hover { - @content; - } - } -} - -@mixin me-hover() { - @content; - @media (hover: hover) { - &:hover { - @content; - } - } -} - -@mixin x-hover() { - transition: all var(--o-duration-m1) var(--o-easing-standard-in); - @include hover { - transform: rotate(180deg); - } -} - -@mixin x-svg-hover() { - overflow: hidden; - @include hover { - svg { - transform: rotate(180deg); - } - } - - svg { - transition: all var(--o-duration-m1) var(--o-easing-standard-in); - } -} diff --git a/app/.vitepress/src/assets/style/theme/anchor.scss b/app/.vitepress/src/assets/style/theme/anchor.scss deleted file mode 100644 index bcd353e9d739c037473e8f4ffd6c03d4a81cc1ff..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/anchor.scss +++ /dev/null @@ -1,11 +0,0 @@ -.o-anchor { - --anchor-indicator-height: 100%; - .o-anchor-item-link { - &:hover { - --anchor-item-link-bg-color-hover: none; - } - &.is-active { - --anchor-item-link-bg-color-active: none; - } - } -} diff --git a/app/.vitepress/src/assets/style/theme/breadcrumb.scss b/app/.vitepress/src/assets/style/theme/breadcrumb.scss deleted file mode 100644 index 4e2f6271f8db7eb46b4f82d51cc9c9fd6ca97e1f..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/breadcrumb.scss +++ /dev/null @@ -1,5 +0,0 @@ -.o-breadcrumb { - --breadcrumb-color-hover: var(--o-color-primary1); - --breadcrumb-color-active: var(--o-color-primary1); - --breadcrumb-color-selected: var(--o-color-primary1); -} diff --git a/app/.vitepress/src/assets/style/theme/button.scss b/app/.vitepress/src/assets/style/theme/button.scss deleted file mode 100644 index 1ce82d53ceeac24fa7dd29db7304dc342c3331aa..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/button.scss +++ /dev/null @@ -1,46 +0,0 @@ -@use '../mixin/screen.scss' as *; - -.o-btn { - --btn-radius: var(--btn-height); -} - -.o-btn-outline.o-btn-normal { - --btn-color: var(--o-color-info1); - --btn-color-hover: var(--o-color-info1-inverse); - --btn-color-active: var(--o-color-info1-inverse); - - --btn-bd-color: var(--o-color-info1); - --btn-bd-color-hover: rgba(var(--o-mixedgray-14)); - --btn-bd-color-active: rgba(var(--o-mixedgray-13)); - - --btn-bg-color-hover: rgba(var(--o-mixedgray-14)); - --btn-bg-color-active: rgba(var(--o-mixedgray-13)); - - @include hover { - background-color: var(--btn-bg-color-hover); - } - - &:active { - background-color: var(--btn-bg-color-active); - } -} - -.o-btn-outline.o-btn-primary:not(.o-btn-disabled) { - --btn-color: var(--o-color-primary1); - --btn-color-hover: var(--o-color-white); - --btn-color-active: var(--o-color-white); - - --btn-bd-color-hover: var(--o-color-primary1); - --btn-bd-color-active: var(--o-color-primary3); - - --btn-bg-color-hover: var(--o-color-primary1); - --btn-bg-color-active: var(--o-color-primary3); - - @include hover { - background-color: var(--btn-bg-color-hover); - } - - &:active { - background-color: var(--btn-bg-color-active); - } -} \ No newline at end of file diff --git a/app/.vitepress/src/assets/style/theme/card.scss b/app/.vitepress/src/assets/style/theme/card.scss deleted file mode 100644 index 6dc7d27bbb6a5ad57ad5f94856198077c22692e1..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/card.scss +++ /dev/null @@ -1,17 +0,0 @@ -@use '../mixin/common.scss' as *; -.o-card { - --card-cover-radius: var(--o-radius-xs); - --card-radius: var(--o-radius-xs); -} -.o-card-cover-h { - --card-cover-padding: 0; -} -a.o-card:hover .o-card-title { - color: var(--o-color-primary1); -} - -@include in-dark { - .o-figure img { - @include img-in-dark; - } -} diff --git a/app/.vitepress/src/assets/style/theme/dark.token.css b/app/.vitepress/src/assets/style/theme/dark.token.css deleted file mode 100644 index 61682e6302cca48e0a5bc7623319c735cfcc6f12..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/dark.token.css +++ /dev/null @@ -1,2194 +0,0 @@ -/* theme: opendesign.dark */ -[data-o-theme="dark"] { - /** - * @name - * @type palette - * @group white - * @description - */ - --o-white: 255, 255, 255; - /** - * @name - * @type palette - * @group black - * @description - */ - --o-black: 0, 0, 0; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-1: 14, 26, 69; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-2: 18, 34, 87; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-3: 29, 51, 119; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-4: 42, 72, 158; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-5: 51, 91, 196; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-6: 67, 116, 242; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-7: 104, 142, 237 ; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-8: 140, 171, 234; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-9: 176, 199, 241; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-10: 215, 227, 248; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-1: 81, 46, 9; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-2: 121, 75, 15; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-3: 161, 107, 22; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-4: 202, 143, 30; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-5: 242, 183, 38; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-6: 245, 202, 80; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-7: 247, 219, 122; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-8: 250, 234, 166; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-9: 252, 246, 210; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-10: 254, 251, 237; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-1: 77, 24, 0; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-2: 120, 42, 1; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-3: 163, 68, 8; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-4: 207, 97, 19; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-5: 250, 130, 33; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-6: 251, 143, 43; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-7: 252, 174, 91; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-8: 253, 202, 139; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-9: 254, 227, 188; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-10: 255, 248, 237; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-1: 77, 0, 17; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-2: 115, 3, 24; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-3: 153, 9, 31; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-4: 192, 17, 37; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-5: 230, 28, 43; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-6: 235, 35, 45; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-7: 240, 82, 85; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-8: 245, 132, 130; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-9: 250, 183, 180; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-10: 255, 234, 232; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-1: 0, 77, 42; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-2: 2, 102, 53; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-3: 10, 127, 66; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-4: 22, 152, 80; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-5: 36, 177, 95; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-6: 51, 193, 104; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-7: 90, 208, 131; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-8: 135, 224, 163; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-9: 185, 239, 200; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-10: 240, 255, 244; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-1: 77, 30, 0; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-2: 116, 51, 0; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-3: 154, 76, 0; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-4: 193, 105, 0; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-5: 231, 137, 0; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-6: 236, 165, 47; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-7: 241, 191, 96; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-8: 245, 215, 147; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-9: 250, 237, 200; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-10: 253, 247, 232; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-1: 53, 70, 0; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-2: 82, 105, 0; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-3: 112, 141, 1; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-4: 143, 176, 2; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-5: 175, 211, 5; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-6: 184, 220, 48; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-7: 196, 229, 95; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-8: 212, 237, 145; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-9: 231, 246, 198; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-10: 244, 251, 231; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-1: 33, 60, 7; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-2: 51, 90, 11; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-3: 70, 119, 16; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-4: 91, 149, 21; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-5: 112, 179, 27; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-6: 184, 220, 48; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-7: 166, 209, 103; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-8: 195, 225, 148; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-9: 225, 240, 199; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-10: 242, 247, 231; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-1: 0, 60, 48; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-2: 0, 90, 71; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-3: 0, 119, 93; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-4: 0, 149, 113; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-5: 0, 179, 133; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-6: 39, 194, 152; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-7: 84, 209, 173; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-8: 135, 225, 197; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-9: 192, 240, 224; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-10: 228, 247, 241; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-1: 0, 52, 60; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-2: 0, 79, 90; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-3: 0, 107, 119; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-4: 0, 137, 149; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-5: 39, 186, 194; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-6: 84, 205, 209; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-7: 92, 208, 212; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-8: 135, 223, 225; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-9: 192, 240, 240; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-10: 228, 247, 247; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-1: 0, 47, 76; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-2: 0, 72, 115; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-3: 0, 99, 153; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-4: 0, 127, 191; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-5: 0, 156, 229; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-6: 47, 178, 234; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-7: 96, 198, 239; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-8: 147, 218, 245; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-9: 200, 237, 250; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-10: 232, 247, 252; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-1: 0, 43, 97; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-2: 0, 61, 133; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-3: 0, 80, 169; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-4: 0, 100, 204; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-5: 0, 122, 240; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-6: 49, 151, 243; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-7: 98, 178, 246; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-8: 149, 205, 249; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-9: 202, 231, 252; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-10: 233, 245, 254; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-1: 0, 0, 0; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-2: 18, 18, 20; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-3: 26, 26, 28; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-4: 36, 36, 39; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-5: 43, 43, 47; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-6: 53, 53, 57; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-7: 63, 63, 67; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-8: 85, 85, 88; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-9: 118, 118, 122; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-10: 156, 156, 159; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-11: 181, 181, 185; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-12: 208, 208, 210; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-13: 235, 235, 238; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-14: 255,255, 255; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-1: 5, 19, 101; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-2: 10, 28, 118; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-3: 16, 38, 138; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-4: 23, 50, 159; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-5: 31, 63, 179; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-6: 66, 96, 194; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-7: 106, 131, 209; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-8: 150, 170, 225; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-9: 209, 218, 241; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-10: 232, 236, 247; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-1: 34, 0, 109; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-2: 39, 2, 130; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-3: 46, 7, 150; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-4: 53, 13, 171; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-5: 61, 20, 191; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-6: 97, 62, 201; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-7: 150, 130, 223; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-8: 182, 169, 233; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-9: 217, 210, 244; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-10: 240, 237, 250; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-1: 60, 0, 97; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-2: 77, 0, 118; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-3: 95, 0, 138; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-4: 114, 0, 159; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-5: 135, 2, 179; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-6: 161, 41, 194; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-7: 187, 85, 209; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-8: 211, 136, 225; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-9: 234, 192, 240; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-10: 245, 228, 247; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-1: 81, 0, 51; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-2: 117, 0, 70; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-3: 153, 0, 86; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-4: 188, 0, 100; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-5: 224, 0, 112; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-6: 230, 46, 132; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-7: 236, 95, 156; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-8: 243, 146, 184; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-9: 249, 199, 217; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-10: 252, 232, 239; - /** - * @name - * @type color - * @group base - * @description - */ - --o-color-white: rgb(var(--o-white)); - /** - * @name - * @type color - * @group base - * @description - */ - --o-color-black: rgb(var(--o-black)); - /** - * @name - * @type color - * @group primary - * @description 常规 - */ - --o-color-primary1: rgb(var(--o-kleinblue-6)); - /** - * @name - * @type color - * @group primary - * @description 悬浮 - */ - --o-color-primary2: rgb(var(--o-kleinblue-5)); - /** - * @name - * @type color - * @group primary - * @description 激活 - */ - --o-color-primary3: rgb(var(--o-kleinblue-7)); - /** - * @name - * @type color - * @group primary - * @description 禁用 - */ - --o-color-primary4: rgb(var(--o-kleinblue-4)); - /** - * @name - * @type color - * @group primary - * @description 常规-浅 - */ - --o-color-primary1-light: rgb(var(--o-kleinblue-2)); - /** - * @name - * @type color - * @group primary - * @description 悬浮-浅 - */ - --o-color-primary2-light: rgb(var(--o-kleinblue-3)); - /** - * @name - * @type color - * @group primary - * @description 激活-浅 - */ - --o-color-primary3-light: rgb(var(--o-kleinblue-4)); - /** - * @name - * @type color - * @group primary - * @description 禁用-浅 - */ - --o-color-primary4-light: rgb(var(--o-kleinblue-1)); - /** - * @name - * @type color - * @group success - * @description 常规 - */ - --o-color-success1: rgb(var(--o-green-6)); - /** - * @name - * @type color - * @group success - * @description 悬浮 - */ - --o-color-success2: rgb(var(--o-green-4)); - /** - * @name - * @type color - * @group success - * @description 激活 - */ - --o-color-success3: rgb(var(--o-green-7)); - /** - * @name - * @type color - * @group success - * @description 禁用 - */ - --o-color-success4: rgb(var(--o-green-3)); - /** - * @name - * @type color - * @group success - * @description 常规-浅 - */ - --o-color-success1-light: rgb(var(--o-green-2)); - /** - * @name - * @type color - * @group success - * @description 悬浮-浅 - */ - --o-color-success2-light: rgb(var(--o-green-3)); - /** - * @name - * @type color - * @group success - * @description 激活-浅 - */ - --o-color-success3-light: rgb(var(--o-green-4)); - /** - * @name - * @type color - * @group success - * @description 禁用-浅 - */ - --o-color-success4-light: rgb(var(--o-green-1)); - /** - * @name - * @type color - * @group warning - * @description 常规 - */ - --o-color-warning1: rgb(var(--o-orange-6)); - /** - * @name - * @type color - * @group warning - * @description 悬浮 - */ - --o-color-warning2: rgb(var(--o-orange-4)); - /** - * @name - * @type color - * @group warning - * @description 激活 - */ - --o-color-warning3: rgb(var(--o-orange-7)); - /** - * @name - * @type color - * @group warning - * @description 禁用 - */ - --o-color-warning4: rgb(var(--o-orange-3)); - /** - * @name - * @type color - * @group warning - * @description 常规-浅 - */ - --o-color-warning1-light: rgb(var(--o-orange-2)); - /** - * @name - * @type color - * @group warning - * @description 悬浮-浅 - */ - --o-color-warning2-light: rgb(var(--o-orange-3)); - /** - * @name - * @type color - * @group warning - * @description 激活-浅 - */ - --o-color-warning3-light: rgb(var(--o-orange-4)); - /** - * @name - * @type color - * @group warning - * @description 禁用-浅 - */ - --o-color-warning4-light: rgb(var(--o-orange-1)); - /** - * @name - * @type color - * @group danger - * @description 常规 - */ - --o-color-danger1: rgb(var(--o-red-6)); - /** - * @name - * @type color - * @group danger - * @description 悬浮 - */ - --o-color-danger2: rgb(var(--o-red-4)); - /** - * @name - * @type color - * @group danger - * @description 激活 - */ - --o-color-danger3: rgb(var(--o-red-7)); - /** - * @name - * @type color - * @group danger - * @description 禁用 - */ - --o-color-danger4: rgb(var(--o-red-3)); - /** - * @name - * @type color - * @group danger - * @description 常规-浅 - */ - --o-color-danger1-light: rgb(var(--o-red-2)); - /** - * @name - * @type color - * @group danger - * @description 悬浮-浅 - */ - --o-color-danger2-light: rgb(var(--o-red-3)); - /** - * @name - * @type color - * @group danger - * @description 激活-浅 - */ - --o-color-danger3-light: rgb(var(--o-red-4)); - /** - * @name - * @type color - * @group danger - * @description 禁用-浅 - */ - --o-color-danger4-light: rgb(var(--o-red-1)); - /** - * @name - * @type color - * @group fill - * @description 一级填充:页面背景 - */ - --o-color-fill1: rgb(var(--o-mixedgray-3)); - /** - * @name - * @type color - * @group fill - * @description 二级填充:区块/卡片 - */ - --o-color-fill2: rgb(var(--o-mixedgray-4)); - /** - * @name - * @type color - * @group fill - * @description 三级填充:卡片 - */ - --o-color-fill3: rgb(var(--o-mixedgray-5)); - /** - * @name - * @type color - * @group control - * @description 常规,常用于边框 - */ - --o-color-control1: rgba(var(--o-mixedgray-14), 0.25); - /** - * @name - * @type color - * @group control - * @description 悬浮,常用于边框 - */ - --o-color-control2: rgba(var(--o-mixedgray-14), 0.6); - /** - * @name - * @type color - * @group control - * @description 激活,常用于边框 - */ - --o-color-control3: rgba(var(--o-mixedgray-14), 0.8); - /** - * @name - * @type color - * @group control - * @description 禁用,常用于边框 - */ - --o-color-control4: rgba(var(--o-mixedgray-14), 0.15); - /** - * @name - * @type color - * @group control - * @description 常规-浅,常用于背景 - */ - --o-color-control1-light: rgb(var(--o-mixedgray-7), 1.0); - /** - * @name - * @type color - * @group control - * @description 悬浮-浅,常用于背景 - */ - --o-color-control2-light: rgb(var(--o-mixedgray-5), 1); - /** - * @name - * @type color - * @group control - * @description 激活-浅,常用于背景 - */ - --o-color-control3-light: rgb(var(--o-mixedgray-6), 1); - /** - * @name - * @type color - * @group control - * @description 禁用-浅,常用于背景 - */ - --o-color-control4-light: rgb(var(--o-mixedgray-5), 1); - /** - * @name - * @type color - * @group control - * @description 很浅,常用于表格背景色 - */ - --o-color-control-light: rgb(var(--o-mixedgray-4), 1.0); - /** - * @name - * @type color - * @group info - * @description 一级/强调/标题 - */ - --o-color-info1: rgba(var(--o-mixedgray-14), 1.0); - /** - * @name - * @type color - * @group info - * @description 二级/次强调/正文 - */ - --o-color-info2: rgba(var(--o-mixedgray-14), 0.8); - /** - * @name - * @type color - * @group info - * @description 三级/辅助信息 - */ - --o-color-info3: rgba(var(--o-mixedgray-14), 0.6); - /** - * @name - * @type color - * @group info - * @description 置灰/禁用 - */ - --o-color-info4: rgba(var(--o-mixedgray-14), 0.4); - /** - * @name - * @type color - * @group info - * @description 一级/次强调/正文反色 - */ - --o-color-info1-inverse: rgba(var(--o-mixedgray-1), 1.0); - /** - * @name - * @type color - * @group info - * @description 二级/辅助信息反色 - */ - --o-color-info2-inverse: rgba(var(--o-mixedgray-1), 0.8); - /** - * @name - * @type color - * @group info - * @description 三级/辅助信息反色 - */ - --o-color-info3-inverse: rgba(var(--o-mixedgray-1), 0.6); - /** - * @name - * @type color - * @group info - * @description 置灰/禁用反色 - */ - --o-color-info4-inverse: rgba(var(--o-mixedgray-1), 0.4); - /** - * @name - * @type color - * @group mask - * @description 全局遮罩 - */ - --o-color-mask1: rgba(var(--o-mixedgray-1), 0.4); - /** - * @name - * @type color - * @group mask - * @description 局部遮罩 - */ - --o-color-mask2: rgba(var(--o-mixedgray-4), 0.2); - /** - * @name - * @type color - * @group link - * @description 常规 - */ - --o-color-link1: rgba(var(--o-kleinblue-6)); - /** - * @name - * @type color - * @group link - * @description 悬浮 - */ - --o-color-link2: rgba(var(--o-kleinblue-5)); - /** - * @name - * @type color - * @group link - * @description 激活 - */ - --o-color-link3: rgba(var(--o-kleinblue-7)); - /** - * @name - * @type color - * @group link - * @description 禁用 - */ - --o-color-link4: rgba(var(--o-kleinblue-4)); - /** - * @name 阴影1 - * @type shadow - * @group shadow - * @description 用于卡片、小弹窗、楼层阴影 - */ - --o-shadow-1: 0 3px 8px rgba(var(--o-mixedgray-1), 0.08); - /** - * @name 阴影2 - * @type shadow - * @group shadow - * @description 用于卡片悬浮阴影 - */ - --o-shadow-2: 0 2px 24px rgba(var(--o-mixedgray-1), 0.15); - /** - * @name 阴影3 - * @type shadow - * @group shadow - * @description 用于提示阴影 - */ - --o-shadow-3: 0 8px 40px rgba(var(--o-mixedgray-1), 0.1); - /** - * @name 间距1 - * @type gap - * @group gap - * @description 用于组件之间的间距1 - */ - --o-gap-1: 4px; - /** - * @name 间距2 - * @type gap - * @group gap - * @description 用于组件之间的间距2 - */ - --o-gap-2: 8px; - /** - * @name 间距3 - * @type gap - * @group gap - * @description 用于组件之间的间距3 - */ - --o-gap-3: 12px; - /** - * @name 间距4 - * @type gap - * @group gap - * @description 用于组件之间的间距4 - */ - --o-gap-4: 16px; - /** - * @name 间距5 - * @type gap - * @group gap - * @description 用于组件之间的间距5 - */ - --o-gap-5: 24px; - /** - * @name 间距6 - * @type gap - * @group gap - * @description 用于组件之间的间距6 - */ - --o-gap-6: 32px; - /** - * @name 间距7 - * @type gap - * @group gap - * @description 用于组件之间的间距7 - */ - --o-gap-7: 40px; - /** - * @name 间距8 - * @type gap - * @group gap - * @description 用于组件之间的间距8 - */ - --o-gap-8: 48px; - /** - * @name 间距9 - * @type gap - * @group gap - * @description 用于组件之间的间距9 - */ - --o-gap-9: 64px; - /** - * @name 间距10 - * @type gap - * @group gap - * @description 用于组件之间的间距10 - */ - --o-gap-10: 72px; - /** - * @name 超小尺寸 - * @type size - * @group control_size - * @description 超小尺寸 - */ - --o-control_size-2xs: 14px; - /** - * @name 小尺寸 - * @type size - * @group control_size - * @description 小尺寸 - */ - --o-control_size-xs: 16px; - /** - * @name 小尺寸 - * @type size - * @group control_size - * @description 小尺寸 - */ - --o-control_size-s: 24px; - /** - * @name 中尺寸 - * @type size - * @group control_size - * @description 尺寸 - */ - --o-control_size-m: 32px; - /** - * @name 大尺寸 - * @type size - * @group control_size - * @description 尺寸 - */ - --o-control_size-l: 40px; - /** - * @name 大尺寸 - * @type size - * @group control_size - * @description 尺寸 - */ - --o-control_size-xl: 48px; - /** - * @name 大尺寸 - * @type size - * @group control_size - * @description 尺寸 - */ - --o-control_size-2xl: 56px; - /** - * @name 超小尺寸图标 - * @type size - * @group icon_size - * @description 超小尺寸图标 - */ - --o-icon_size-xs: 16px; - /** - * @name 小尺寸图标 - * @type size - * @group icon_size - * @description 小尺寸图标 - */ - --o-icon_size-s: 20px; - /** - * @name 中尺寸图标 - * @type size - * @group icon_size - * @description 中尺寸图标 - */ - --o-icon_size-m: 24px; - /** - * @name 大尺寸图标 - * @type size - * @group icon_size - * @description 大尺寸图标 - */ - --o-icon_size-l: 32px; - /** - * @name 超大尺寸图标 - * @type size - * @group icon_size - * @description 超大尺寸图标 - */ - --o-icon_size-xl: 40px; - /** - * @name 2xl尺寸图标 - * @type size - * @group icon_size - * @description 2xl尺寸图标 - */ - --o-icon_size-2xl: 48px; - /** - * @name 3xl尺寸图标 - * @type size - * @group icon_size - * @description 3xl尺寸图标 - */ - --o-icon_size-3xl: 56px; - /** - * @name 4xl尺寸图标 - * @type size - * @group icon_size - * @description 4xl尺寸图标 - */ - --o-icon_size-4xl: 64px; - /** - * @name 超小尺寸图标 - * @type size - * @group icon_size_control - * @description 超小尺寸控件图标(组件使用) - */ - --o-icon_size_control-xs: 16px; - /** - * @name 小尺寸图标 - * @type size - * @group icon_size_control - * @description 小尺寸控件图标(组件使用) - */ - --o-icon_size_control-s: 20px; - /** - * @name 中尺寸图标 - * @type size - * @group icon_size_control - * @description 中尺寸控件图标(组件使用) - */ - --o-icon_size_control-m: 24px; - /** - * @name 大尺寸图标 - * @type size - * @group icon_size_control - * @description 大尺寸控件图标(组件使用) - */ - --o-icon_size_control-l: 32px; - /** - * @name 超大尺寸图标 - * @type size - * @group icon_size_control - * @description 超大尺寸控件图标(组件使用) - */ - --o-icon_size_control-xl: 40px; - /** - * @name 一级数据展示 - * @type font - * @group font_size - * @description 一级数据展示 - */ - --o-font_size-display1: 56px; - /** - * @name 二级数据展示 - * @type font - * @group font_size - * @description 二级数据展示 - */ - --o-font_size-display2: 48px; - /** - * @name 三级数据展示 - * @type font - * @group font_size - * @description 三级数据展示 - */ - --o-font_size-display3: 40px; - /** - * @name 一级标题 - * @type font - * @group font_size - * @description 一级标题 - */ - --o-font_size-h1: 32px; - /** - * @name 二级标题 - * @type font - * @group font_size - * @description 二级标题 - */ - --o-font_size-h2: 24px; - /** - * @name 三级标题 - * @type font - * @group font_size - * @description 三级标题 - */ - --o-font_size-h3: 22px; - /** - * @name 四级标题 - * @type font - * @group font_size - * @description 四级标题 - */ - --o-font_size-h4: 20px; - /** - * @name 常规正文 - * @type font - * @group font_size - * @description 常规正文 - */ - --o-font_size-text1: 16px; - /** - * @name 大号正文 - * @type font - * @group font_size - * @description 大号正文 - */ - --o-font_size-text2: 18px; - /** - * @name 提示文本1 - * @type font - * @group font_size - * @description 提示文本1 - */ - --o-font_size-tip1: 14px; - /** - * @name 提示文本2 - * @type font - * @group font_size - * @description 提示文本2 - */ - --o-font_size-tip2: 12px; - /** - * @name 一级数据展示 - * @type font - * @group line_height - * @description 一级数据展示 - */ - --o-line_height-display1: 80px; - /** - * @name 二级数据展示 - * @type font - * @group line_height - * @description 二级数据展示 - */ - --o-line_height-display2: 64px; - /** - * @name 三级数据展示 - * @type font - * @group line_height - * @description 三级数据展示 - */ - --o-line_height-display3: 56px; - /** - * @name 一级标题 - * @type font - * @group line_height - * @description 一级标题 - */ - --o-line_height-h1: 44px; - /** - * @name 二级标题 - * @type font - * @group line_height - * @description 二级标题 - */ - --o-line_height-h2: 32px; - /** - * @name 三级标题 - * @type font - * @group line_height - * @description 三级标题 - */ - --o-line_height-h3: 30px; - /** - * @name 四级标题 - * @type font - * @group line_height - * @description 四级标题 - */ - --o-line_height-h4: 28px; - /** - * @name 正文 - * @type font - * @group line_height - * @description 正文 - */ - --o-line_height-text1: 24px; - /** - * @name 正文-大 - * @type font - * @group line_height - * @description 正文-大 - */ - --o-line_height-text2: 26x; - /** - * @name 提示文本1 - * @type font - * @group line_height - * @description 提示文本1 - */ - --o-line_height-tip1: 22px; - /** - * @name 提示文本2 - * @type font - * @group line_height - * @description 提示文本2 - */ - --o-line_height-tip2: 18px; - /** - * @name 超小尺寸圆角 - * @type size - * @group radius - * @description 超小尺寸圆角 - */ - --o-radius-xs: 4px; - /** - * @name 小尺寸圆角 - * @type size - * @group radius - * @description 小尺寸圆角 - */ - --o-radius-s: 8px; - /** - * @name 中尺寸圆角 - * @type size - * @group radius - * @description 中尺寸圆角 - */ - --o-radius-m: 12px; - /** - * @name 大尺寸圆角 - * @type size - * @group radius - * @description 大尺寸圆角 - */ - --o-radius-l: 16px; - /** - * @name 大尺寸圆角 - * @type size - * @group radius - * @description 大尺寸圆角,一般用于卡片 - */ - --o-radius-xl: 24px; - /** - * @name 超小尺寸控件圆角 - * @type size - * @group radius_control - * @description 超小尺寸控件圆角(组件使用) - */ - --o-radius_control-xs: 4px; - /** - * @name 小尺寸控件圆角 - * @type size - * @group radius_control - * @description 小尺寸控件圆角(组件使用) - */ - --o-radius_control-s: 8px; - /** - * @name 中尺寸控件圆角 - * @type size - * @group radius_control - * @description 中尺寸控件圆角(组件使用) - */ - --o-radius_control-m: 12px; - /** - * @name 大尺寸控件圆角 - * @type size - * @group radius_control - * @description 大尺寸控件圆角(组件使用) - */ - --o-radius_control-l: 16px; - /** - * @name 持续时间 - * @type animation - * @group duration - * @description 用于退出屏幕的动画 - */ - --o-duration-s: 200ms; - /** - * @name 持续时间 - * @type animation - * @group duration - * @description 用于当曲线为standard-in时进入屏幕的动画 - */ - --o-duration-m1: 250ms; - /** - * @name 持续时间 - * @type animation - * @group duration - * @description 用于当曲线为standard时开始、结束的动画 - */ - --o-duration-m2: 300ms; - /** - * @name 持续时间 - * @type animation - * @group duration - * @description 用于当曲线为emphasized-in时进入屏幕的动画 - */ - --o-duration-m3: 400ms; - /** - * @name 持续时间 - * @type animation - * @group duration - * @description 用于当曲线为emphasized时开始、结束的动画 - */ - --o-duration-l: 500ms; - /** - * @name 持续时间 - * @type animation - * @group duration - * @description 用于当曲线为emphasized时,轮播切换动画 - */ - --o-duration-xl: 1000ms; - /** - * @name 线性动画曲线 - * @type animation - * @group easing - * @description 线性曲线 - */ - --o-easing-linear: cubic-bezier(0, 0, 1, 1); - /** - * @name 动画曲线 - * @type animation - * @group easing - * @description 用于组件 - */ - --o-easing-standard: cubic-bezier(0.2, 0, 0, 1); - /** - * @name 动画曲线 - * @type animation - * @group easing - * @description 用于组件 - */ - --o-easing-standard-in: cubic-bezier(0, 0, 0, 1); - /** - * @name 动画曲线 - * @type animation - * @group easing - * @description 用于组件 - */ - --o-easing-standard-out: cubic-bezier(0.3, 0, 1, 1); - /** - * @name 动画曲线 - * @type animation - * @group easing - * @description 用于大卡片、场景切换 - */ - --o-easing-emphasized: cubic-bezier(0.2, 0, 0, 1); - /** - * @name 动画曲线 - * @type animation - * @group easing - * @description 用于大卡片、场景切换 - */ - --o-easing-emphasized-in: cubic-bezier(0.3, 0, 0.8, 0.15); - /** - * @name 动画曲线 - * @type animation - * @group easing - * @description 用于大卡片、场景切换 - */ - --o-easing-emphasized-out: cubic-bezier(0.05, 0.7, 0.1, 1); -} \ No newline at end of file diff --git a/app/.vitepress/src/assets/style/theme/default-light.token.css b/app/.vitepress/src/assets/style/theme/default-light.token.css deleted file mode 100644 index 7782fbb27d6f4057f2592a28bfe658009779baac..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/default-light.token.css +++ /dev/null @@ -1,2194 +0,0 @@ -/* theme: opendesign.light */ -:root,[data-o-theme="light"] { - /** - * @name - * @type palette - * @group white - * @description - */ - --o-white: 255, 255, 255; - /** - * @name - * @type palette - * @group black - * @description - */ - --o-black: 0, 0, 0; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-1: 235, 241, 250; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-2: 206, 219, 245; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-3: 132, 161, 220; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-4: 81, 119, 202; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-5: 37, 81, 185; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-6: 0, 47, 167; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-7: 0, 39, 147; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-8: 0, 31, 126; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-9: 0, 24, 126; - /** - * @name - * @type palette - * @group kleinblue - * @description - */ - --o-kleinblue-10: 0, 18, 85; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-1: 254, 252, 233; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-2: 252, 248, 202; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-3: 249, 237, 149; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-4: 246, 224, 98; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-5: 243, 207, 49; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-6: 240, 188, 6; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-7: 200, 147, 0; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-8: 160, 109, 0; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-9: 120, 76, 0; - /** - * @name - * @type palette - * @group yellow - * @description - */ - --o-yellow-10: 80, 47, 0; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-1: 255, 246, 232; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-2: 254, 226, 186; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-3: 253, 202, 140; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-4: 252, 176, 95; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-5: 251, 147, 50; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-6: 250, 115, 5; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-7: 207, 88, 3; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-8: 163, 64, 2; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-9: 120, 42, 1; - /** - * @name - * @type palette - * @group orange - * @description - */ - --o-orange-10: 77, 24, 0; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-1: 255, 234, 232; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-2: 250, 185, 182; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-3: 245, 136, 134; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-4: 240, 87, 90; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-5: 235, 43, 52; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-6: 230, 0, 18; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-7: 192, 0, 22; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-8: 153, 0, 23; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-9: 115, 0, 21; - /** - * @name - * @type palette - * @group red - * @description - */ - --o-red-10: 77, 0, 17; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-1: 232, 255, 238; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-2: 177, 239, 195; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-3: 128, 224, 158; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-4: 84, 208, 127; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-5: 45, 193, 101; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-6: 11, 177, 81; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-7: 7, 152, 72; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-8: 4, 127, 63; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-9: 2, 102, 53; - /** - * @name - * @type palette - * @group green - * @description - */ - --o-green-10: 0, 77, 42; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-1: 253, 247, 232; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-2: 250, 237, 200; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-3: 245, 215, 147; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-4: 241, 191, 96; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-5: 236, 165, 47; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-6: 231, 137, 0; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-7: 193, 105, 0; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-8: 154, 76, 0; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-9: 116, 51, 0; - /** - * @name - * @type palette - * @group amber - * @description - */ - --o-amber-10: 77, 30, 0; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-1: 243, 250, 230; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-2: 229, 244, 195; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-3: 208, 233, 140; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-4: 191, 223, 89; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-5: 177, 212, 42; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-6: 167, 201, 0; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-7: 136, 168, 0; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-8: 107, 134, 0; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-9: 78, 101, 0; - /** - * @name - * @type palette - * @group lime - * @description - */ - --o-lime-10: 51, 67, 0; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-1: 242, 247, 231; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-2: 225, 240, 199; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-3: 195, 225, 148; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-4: 166, 209, 103; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-5: 138, 194, 62; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-6: 112, 179, 27; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-7: 91, 149, 21; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-8: 70, 119, 16; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-9: 51, 90, 11; - /** - * @name - * @type palette - * @group light-green - * @description - */ - --o-light-green-10: 33, 60, 7; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-1: 228, 247, 241; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-2: 192, 240, 224; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-3: 135, 225, 197; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-4: 84, 209, 173; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-5: 39, 194, 152; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-6: 0, 179, 133; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-7: 0, 149, 113; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-8: 0, 119, 93; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-9: 0, 90, 71; - /** - * @name - * @type palette - * @group teal - * @description - */ - --o-teal-10: 0, 60, 48; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-1: 228, 247, 247; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-2: 192, 240, 240; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-3: 135, 223, 225; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-4: 84, 205, 209; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-5: 39, 186, 194; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-6: 0, 167, 179; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-7: 0, 137, 149; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-8: 0, 107, 119; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-9: 0, 79, 90; - /** - * @name - * @type palette - * @group cyan - * @description - */ - --o-cyan-10: 0, 52, 60; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-1: 232, 247, 252; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-2: 200, 237, 250; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-3: 147, 218, 245; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-4: 96, 198, 239; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-5: 47, 178, 234; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-6: 0, 156, 229; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-7: 0, 127, 191; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-8: 0, 99, 153; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-9: 0, 72, 115; - /** - * @name - * @type palette - * @group light-blue - * @description - */ - --o-light-blue-10: 0, 47, 76; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-1: 233, 245, 254; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-2: 202, 231, 252; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-3: 149, 205, 249; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-4: 98, 178, 246; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-5: 49, 151, 243; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-6: 0, 122, 240; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-7: 0, 100, 204; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-8: 0, 80, 169; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-9: 0, 61, 133; - /** - * @name - * @type palette - * @group blue - * @description - */ - --o-blue-10: 0, 43, 97; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-1: 255, 255, 255; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-2: 243, 243, 245; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-3: 237, 237, 240; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-4: 232, 232, 235; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-5: 222, 222, 227; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-6: 212, 212, 217; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-7: 186, 186, 191; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-8: 149, 149, 157; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-9: 111, 111, 117; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-10: 85 , 85, 92; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-11: 61, 61, 66; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-12: 37, 37, 41; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-13: 21, 21, 23; - /** - * @name - * @type palette - * @group mixedgray - * @description - */ - --o-mixedgray-14: 0, 0, 0; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-1: 232, 236, 247; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-2: 200, 211, 240; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-3: 150, 170, 225; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-4: 106, 131, 209; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-5: 66, 96, 194; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-6: 31, 63, 179; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-7: 23, 50, 159; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-8: 16, 38, 138; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-9: 10, 28, 118; - /** - * @name - * @type palette - * @group indigo - * @description - */ - --o-indigo-10: 5, 19, 101; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-1: 234, 231, 249; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-2: 206, 199, 242; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-3: 163, 147, 229; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-4: 124, 100, 217; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-5: 90, 58, 204; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-6: 61, 20, 191; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-7: 53, 13, 171; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-8: 46, 7, 150; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-9: 39, 2, 130; - /** - * @name - * @type palette - * @group violet - * @description - */ - --o-violet-10: 34, 0, 109; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-1: 245, 228, 247; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-2: 234, 192, 240; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-3: 211, 136, 225; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-4: 187, 85, 209; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-5: 161, 41, 194; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-6: 135, 2, 179; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-7: 114, 0, 159; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-8: 95, 0, 138; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-9: 77, 0, 118; - /** - * @name - * @type palette - * @group purple - * @description - */ - --o-purple-10: 60, 0, 97; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-1: 252, 232, 239; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-2: 249, 199, 217; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-3: 243, 146, 184; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-4: 236, 95, 156; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-5: 230, 46, 132; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-6: 224, 0, 112; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-7: 188, 0, 100; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-8: 153, 0, 86; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-9: 117, 0, 70; - /** - * @name - * @type palette - * @group pink - * @description - */ - --o-pink-10: 81, 0, 51; - /** - * @name - * @type color - * @group base - * @description - */ - --o-color-white: rgb(var(--o-white)); - /** - * @name - * @type color - * @group base - * @description - */ - --o-color-black: rgb(var(--o-black)); - /** - * @name - * @type color - * @group primary - * @description 常规 - */ - --o-color-primary1: rgb(var(--o-kleinblue-6)); - /** - * @name - * @type color - * @group primary - * @description 悬浮 - */ - --o-color-primary2: rgb(var(--o-kleinblue-4)); - /** - * @name - * @type color - * @group primary - * @description 激活 - */ - --o-color-primary3: rgb(var(--o-kleinblue-7)); - /** - * @name - * @type color - * @group primary - * @description 禁用 - */ - --o-color-primary4: rgb(var(--o-kleinblue-3)); - /** - * @name - * @type color - * @group primary - * @description 常规-浅 - */ - --o-color-primary1-light: rgb(var(--o-kleinblue-2)); - /** - * @name - * @type color - * @group primary - * @description 悬浮-浅 - */ - --o-color-primary2-light: rgb(var(--o-kleinblue-3)); - /** - * @name - * @type color - * @group primary - * @description 激活-浅 - */ - --o-color-primary3-light: rgb(var(--o-kleinblue-4)); - /** - * @name - * @type color - * @group primary - * @description 禁用-浅 - */ - --o-color-primary4-light: rgb(var(--o-kleinblue-1)); - /** - * @name - * @type color - * @group success - * @description 常规 - */ - --o-color-success1: rgb(var(--o-green-6)); - /** - * @name - * @type color - * @group success - * @description 悬浮 - */ - --o-color-success2: rgb(var(--o-green-4)); - /** - * @name - * @type color - * @group success - * @description 激活 - */ - --o-color-success3: rgb(var(--o-green-7)); - /** - * @name - * @type color - * @group success - * @description 禁用 - */ - --o-color-success4: rgb(var(--o-green-3)); - /** - * @name - * @type color - * @group success - * @description 常规-浅 - */ - --o-color-success1-light: rgb(var(--o-green-2)); - /** - * @name - * @type color - * @group success - * @description 悬浮-浅 - */ - --o-color-success2-light: rgb(var(--o-green-3)); - /** - * @name - * @type color - * @group success - * @description 激活-浅 - */ - --o-color-success3-light: rgb(var(--o-green-4)); - /** - * @name - * @type color - * @group success - * @description 禁用-浅 - */ - --o-color-success4-light: rgb(var(--o-green-1)); - /** - * @name - * @type color - * @group warning - * @description 常规 - */ - --o-color-warning1: rgb(var(--o-orange-6)); - /** - * @name - * @type color - * @group warning - * @description 悬浮 - */ - --o-color-warning2: rgb(var(--o-orange-4)); - /** - * @name - * @type color - * @group warning - * @description 激活 - */ - --o-color-warning3: rgb(var(--o-orange-7)); - /** - * @name - * @type color - * @group warning - * @description 禁用 - */ - --o-color-warning4: rgb(var(--o-orange-3)); - /** - * @name - * @type color - * @group warning - * @description 常规-浅 - */ - --o-color-warning1-light: rgb(var(--o-orange-2)); - /** - * @name - * @type color - * @group warning - * @description 悬浮-浅 - */ - --o-color-warning2-light: rgb(var(--o-orange-3)); - /** - * @name - * @type color - * @group warning - * @description 激活-浅 - */ - --o-color-warning3-light: rgb(var(--o-orange-4)); - /** - * @name - * @type color - * @group warning - * @description 禁用-浅 - */ - --o-color-warning4-light: rgb(var(--o-orange-1)); - /** - * @name - * @type color - * @group danger - * @description 常规 - */ - --o-color-danger1: rgb(var(--o-red-6)); - /** - * @name - * @type color - * @group danger - * @description 悬浮 - */ - --o-color-danger2: rgb(var(--o-red-4)); - /** - * @name - * @type color - * @group danger - * @description 激活 - */ - --o-color-danger3: rgb(var(--o-red-7)); - /** - * @name - * @type color - * @group danger - * @description 禁用 - */ - --o-color-danger4: rgb(var(--o-red-3)); - /** - * @name - * @type color - * @group danger - * @description 常规-浅 - */ - --o-color-danger1-light: rgb(var(--o-red-2)); - /** - * @name - * @type color - * @group danger - * @description 悬浮-浅 - */ - --o-color-danger2-light: rgb(var(--o-red-3)); - /** - * @name - * @type color - * @group danger - * @description 激活-浅 - */ - --o-color-danger3-light: rgb(var(--o-red-4)); - /** - * @name - * @type color - * @group danger - * @description 禁用-浅 - */ - --o-color-danger4-light: rgb(var(--o-red-1)); - /** - * @name - * @type color - * @group fill - * @description 一级填充:页面背景 - */ - --o-color-fill1: rgb(var(--o-mixedgray-2)); - /** - * @name - * @type color - * @group fill - * @description 二级填充:区块/卡片 - */ - --o-color-fill2: rgb(var(--o-mixedgray-1)); - /** - * @name - * @type color - * @group fill - * @description 三级填充:卡片 - */ - --o-color-fill3: rgb(var(--o-mixedgray-3)); - /** - * @name - * @type color - * @group control - * @description 常规,常用于边框 - */ - --o-color-control1: rgba(var(--o-mixedgray-14), 0.25); - /** - * @name - * @type color - * @group control - * @description 悬浮,常用于边框 - */ - --o-color-control2: rgba(var(--o-mixedgray-14), 0.6); - /** - * @name - * @type color - * @group control - * @description 激活,常用于边框 - */ - --o-color-control3: rgba(var(--o-mixedgray-14), 0.8); - /** - * @name - * @type color - * @group control - * @description 禁用,常用于边框 - */ - --o-color-control4: rgba(var(--o-mixedgray-14), 0.1); - /** - * @name - * @type color - * @group control - * @description 常规-浅,常用于背景 - */ - --o-color-control1-light: rgb(var(--o-mixedgray-5), 1.0); - /** - * @name - * @type color - * @group control - * @description 悬浮-浅,常用于背景 - */ - --o-color-control2-light: rgba(var(--o-kleinblue-1), 1); - /** - * @name - * @type color - * @group control - * @description 激活-浅,常用于背景 - */ - --o-color-control3-light: rgba(var(--o-kleinblue-2), 1); - /** - * @name - * @type color - * @group control - * @description 禁用-浅,常用于背景 - */ - --o-color-control4-light: rgb(var(--o-mixedgray-3), 1); - /** - * @name - * @type color - * @group control - * @description 很浅,常用于表格背景色 - */ - --o-color-control-light: rgb(var(--o-mixedgray-1), 1.0); - /** - * @name - * @type color - * @group info - * @description 一级/强调/标题 - */ - --o-color-info1: rgba(var(--o-mixedgray-14), 1.0); - /** - * @name - * @type color - * @group info - * @description 二级/次强调/正文 - */ - --o-color-info2: rgba(var(--o-mixedgray-14), 0.8); - /** - * @name - * @type color - * @group info - * @description 三级/辅助信息 - */ - --o-color-info3: rgba(var(--o-mixedgray-14), 0.6); - /** - * @name - * @type color - * @group info - * @description 置灰/禁用 - */ - --o-color-info4: rgba(var(--o-mixedgray-14), 0.4); - /** - * @name - * @type color - * @group info - * @description 一级/次强调/正文反色 - */ - --o-color-info1-inverse: rgba(var(--o-mixedgray-1), 1.0); - /** - * @name - * @type color - * @group info - * @description 二级/辅助信息反色 - */ - --o-color-info2-inverse: rgba(var(--o-mixedgray-1), 0.8); - /** - * @name - * @type color - * @group info - * @description 三级/辅助信息反色 - */ - --o-color-info3-inverse: rgba(var(--o-mixedgray-1), 0.6); - /** - * @name - * @type color - * @group info - * @description 置灰/禁用反色 - */ - --o-color-info4-inverse: rgba(var(--o-mixedgray-1), 0.4); - /** - * @name - * @type color - * @group mask - * @description 全局遮罩 - */ - --o-color-mask1: rgba(var(--o-mixedgray-14), 0.4); - /** - * @name - * @type color - * @group mask - * @description 局部遮罩 - */ - --o-color-mask2: rgba(var(--o-mixedgray-1), 0.2); - /** - * @name - * @type color - * @group link - * @description 常规 - */ - --o-color-link1: rgba(var(--o-kleinblue-6)); - /** - * @name - * @type color - * @group link - * @description 悬浮 - */ - --o-color-link2: rgba(var(--o-kleinblue-4)); - /** - * @name - * @type color - * @group link - * @description 激活 - */ - --o-color-link3: rgba(var(--o-kleinblue-7)); - /** - * @name - * @type color - * @group link - * @description 禁用 - */ - --o-color-link4: rgba(var(--o-kleinblue-3)); - /** - * @name 阴影1 - * @type shadow - * @group shadow - * @description 用于卡片、小弹窗、楼层阴影 - */ - --o-shadow-1: 0 3px 8px rgba(var(--o-mixedgray-9), 0.08); - /** - * @name 阴影2 - * @type shadow - * @group shadow - * @description 用于卡片悬浮阴影 - */ - --o-shadow-2: 0 2px 24px rgba(var(--o-mixedgray-9), 0.15); - /** - * @name 阴影3 - * @type shadow - * @group shadow - * @description 用于提示阴影 - */ - --o-shadow-3: 0 8px 40px rgba(var(--o-mixedgray-9), 0.1); - /** - * @name 间距1 - * @type gap - * @group gap - * @description 用于组件之间的间距1 - */ - --o-gap-1: 4px; - /** - * @name 间距2 - * @type gap - * @group gap - * @description 用于组件之间的间距2 - */ - --o-gap-2: 8px; - /** - * @name 间距3 - * @type gap - * @group gap - * @description 用于组件之间的间距3 - */ - --o-gap-3: 12px; - /** - * @name 间距4 - * @type gap - * @group gap - * @description 用于组件之间的间距4 - */ - --o-gap-4: 16px; - /** - * @name 间距5 - * @type gap - * @group gap - * @description 用于组件之间的间距5 - */ - --o-gap-5: 24px; - /** - * @name 间距6 - * @type gap - * @group gap - * @description 用于组件之间的间距6 - */ - --o-gap-6: 32px; - /** - * @name 间距7 - * @type gap - * @group gap - * @description 用于组件之间的间距7 - */ - --o-gap-7: 40px; - /** - * @name 间距8 - * @type gap - * @group gap - * @description 用于组件之间的间距8 - */ - --o-gap-8: 48px; - /** - * @name 间距9 - * @type gap - * @group gap - * @description 用于组件之间的间距9 - */ - --o-gap-9: 64px; - /** - * @name 间距10 - * @type gap - * @group gap - * @description 用于组件之间的间距10 - */ - --o-gap-10: 72px; - /** - * @name 超小尺寸 - * @type size - * @group control_size - * @description 超小尺寸 - */ - --o-control_size-2xs: 14px; - /** - * @name 小尺寸 - * @type size - * @group control_size - * @description 小尺寸 - */ - --o-control_size-xs: 16px; - /** - * @name 小尺寸 - * @type size - * @group control_size - * @description 小尺寸 - */ - --o-control_size-s: 24px; - /** - * @name 中尺寸 - * @type size - * @group control_size - * @description 尺寸 - */ - --o-control_size-m: 32px; - /** - * @name 大尺寸 - * @type size - * @group control_size - * @description 尺寸 - */ - --o-control_size-l: 40px; - /** - * @name 大尺寸 - * @type size - * @group control_size - * @description 尺寸 - */ - --o-control_size-xl: 48px; - /** - * @name 大尺寸 - * @type size - * @group control_size - * @description 尺寸 - */ - --o-control_size-2xl: 56px; - /** - * @name 超小尺寸图标 - * @type size - * @group icon_size - * @description 超小尺寸图标 - */ - --o-icon_size-xs: 16px; - /** - * @name 小尺寸图标 - * @type size - * @group icon_size - * @description 小尺寸图标 - */ - --o-icon_size-s: 20px; - /** - * @name 中尺寸图标 - * @type size - * @group icon_size - * @description 中尺寸图标 - */ - --o-icon_size-m: 24px; - /** - * @name 大尺寸图标 - * @type size - * @group icon_size - * @description 大尺寸图标 - */ - --o-icon_size-l: 32px; - /** - * @name 超大尺寸图标 - * @type size - * @group icon_size - * @description 超大尺寸图标 - */ - --o-icon_size-xl: 40px; - /** - * @name 2xl尺寸图标 - * @type size - * @group icon_size - * @description 2xl尺寸图标 - */ - --o-icon_size-2xl: 48px; - /** - * @name 3xl尺寸图标 - * @type size - * @group icon_size - * @description 3xl尺寸图标 - */ - --o-icon_size-3xl: 56px; - /** - * @name 4xl尺寸图标 - * @type size - * @group icon_size - * @description 4xl尺寸图标 - */ - --o-icon_size-4xl: 64px; - /** - * @name 超小尺寸图标 - * @type size - * @group icon_size_control - * @description 超小尺寸控件图标(组件使用) - */ - --o-icon_size_control-xs: 16px; - /** - * @name 小尺寸图标 - * @type size - * @group icon_size_control - * @description 小尺寸控件图标(组件使用) - */ - --o-icon_size_control-s: 20px; - /** - * @name 中尺寸图标 - * @type size - * @group icon_size_control - * @description 中尺寸控件图标(组件使用) - */ - --o-icon_size_control-m: 24px; - /** - * @name 大尺寸图标 - * @type size - * @group icon_size_control - * @description 大尺寸控件图标(组件使用) - */ - --o-icon_size_control-l: 32px; - /** - * @name 超大尺寸图标 - * @type size - * @group icon_size_control - * @description 超大尺寸控件图标(组件使用) - */ - --o-icon_size_control-xl: 40px; - /** - * @name 一级数据展示 - * @type font - * @group font_size - * @description 一级数据展示 - */ - --o-font_size-display1: 56px; - /** - * @name 二级数据展示 - * @type font - * @group font_size - * @description 二级数据展示 - */ - --o-font_size-display2: 48px; - /** - * @name 三级数据展示 - * @type font - * @group font_size - * @description 三级数据展示 - */ - --o-font_size-display3: 40px; - /** - * @name 一级标题 - * @type font - * @group font_size - * @description 一级标题 - */ - --o-font_size-h1: 32px; - /** - * @name 二级标题 - * @type font - * @group font_size - * @description 二级标题 - */ - --o-font_size-h2: 24px; - /** - * @name 三级标题 - * @type font - * @group font_size - * @description 三级标题 - */ - --o-font_size-h3: 22px; - /** - * @name 四级标题 - * @type font - * @group font_size - * @description 四级标题 - */ - --o-font_size-h4: 20px; - /** - * @name 常规正文 - * @type font - * @group font_size - * @description 常规正文 - */ - --o-font_size-text1: 16px; - /** - * @name 大号正文 - * @type font - * @group font_size - * @description 大号正文 - */ - --o-font_size-text2: 18px; - /** - * @name 提示文本1 - * @type font - * @group font_size - * @description 提示文本1 - */ - --o-font_size-tip1: 14px; - /** - * @name 提示文本2 - * @type font - * @group font_size - * @description 提示文本2 - */ - --o-font_size-tip2: 12px; - /** - * @name 一级数据展示 - * @type font - * @group line_height - * @description 一级数据展示 - */ - --o-line_height-display1: 80px; - /** - * @name 二级数据展示 - * @type font - * @group line_height - * @description 二级数据展示 - */ - --o-line_height-display2: 64px; - /** - * @name 三级数据展示 - * @type font - * @group line_height - * @description 三级数据展示 - */ - --o-line_height-display3: 56px; - /** - * @name 一级标题 - * @type font - * @group line_height - * @description 一级标题 - */ - --o-line_height-h1: 44px; - /** - * @name 二级标题 - * @type font - * @group line_height - * @description 二级标题 - */ - --o-line_height-h2: 32px; - /** - * @name 三级标题 - * @type font - * @group line_height - * @description 三级标题 - */ - --o-line_height-h3: 30px; - /** - * @name 四级标题 - * @type font - * @group line_height - * @description 四级标题 - */ - --o-line_height-h4: 28px; - /** - * @name 正文 - * @type font - * @group line_height - * @description 正文 - */ - --o-line_height-text1: 24px; - /** - * @name 正文-大 - * @type font - * @group line_height - * @description 正文-大 - */ - --o-line_height-text2: 26px; - /** - * @name 提示文本1 - * @type font - * @group line_height - * @description 提示文本1 - */ - --o-line_height-tip1: 22px; - /** - * @name 提示文本2 - * @type font - * @group line_height - * @description 提示文本2 - */ - --o-line_height-tip2: 18px; - /** - * @name 超小尺寸圆角 - * @type size - * @group radius - * @description 超小尺寸圆角 - */ - --o-radius-xs: 4px; - /** - * @name 小尺寸圆角 - * @type size - * @group radius - * @description 小尺寸圆角 - */ - --o-radius-s: 8px; - /** - * @name 中尺寸圆角 - * @type size - * @group radius - * @description 中尺寸圆角 - */ - --o-radius-m: 12px; - /** - * @name 大尺寸圆角 - * @type size - * @group radius - * @description 大尺寸圆角 - */ - --o-radius-l: 16px; - /** - * @name 大尺寸圆角 - * @type size - * @group radius - * @description 大尺寸圆角,一般用于卡片 - */ - --o-radius-xl: 24px; - /** - * @name 超小尺寸控件圆角 - * @type size - * @group radius_control - * @description 超小尺寸控件圆角(组件使用) - */ - --o-radius_control-xs: 4px; - /** - * @name 小尺寸控件圆角 - * @type size - * @group radius_control - * @description 小尺寸控件圆角(组件使用) - */ - --o-radius_control-s: 8px; - /** - * @name 中尺寸控件圆角 - * @type size - * @group radius_control - * @description 中尺寸控件圆角(组件使用) - */ - --o-radius_control-m: 12px; - /** - * @name 大尺寸控件圆角 - * @type size - * @group radius_control - * @description 大尺寸控件圆角(组件使用) - */ - --o-radius_control-l: 16px; - /** - * @name 持续时间 - * @type animation - * @group duration - * @description 用于退出屏幕的动画 - */ - --o-duration-s: 200ms; - /** - * @name 持续时间 - * @type animation - * @group duration - * @description 用于当曲线为standard-in时进入屏幕的动画 - */ - --o-duration-m1: 250ms; - /** - * @name 持续时间 - * @type animation - * @group duration - * @description 用于当曲线为standard时开始、结束的动画 - */ - --o-duration-m2: 300ms; - /** - * @name 持续时间 - * @type animation - * @group duration - * @description 用于当曲线为emphasized-in时进入屏幕的动画 - */ - --o-duration-m3: 400ms; - /** - * @name 持续时间 - * @type animation - * @group duration - * @description 用于当曲线为emphasized时开始、结束的动画 - */ - --o-duration-l: 500ms; - /** - * @name 持续时间 - * @type animation - * @group duration - * @description 用于当曲线为emphasized时,轮播切换动画 - */ - --o-duration-xl: 1000ms; - /** - * @name 线性动画曲线 - * @type animation - * @group easing - * @description 线性曲线 - */ - --o-easing-linear: cubic-bezier(0, 0, 1, 1); - /** - * @name 动画曲线 - * @type animation - * @group easing - * @description 用于组件 - */ - --o-easing-standard: cubic-bezier(0.2, 0, 0, 1); - /** - * @name 动画曲线 - * @type animation - * @group easing - * @description 用于组件 - */ - --o-easing-standard-in: cubic-bezier(0, 0, 0, 1); - /** - * @name 动画曲线 - * @type animation - * @group easing - * @description 用于组件 - */ - --o-easing-standard-out: cubic-bezier(0.3, 0, 1, 1); - /** - * @name 动画曲线 - * @type animation - * @group easing - * @description 用于大卡片、场景切换 - */ - --o-easing-emphasized: cubic-bezier(0.2, 0, 0, 1); - /** - * @name 动画曲线 - * @type animation - * @group easing - * @description 用于大卡片、场景切换 - */ - --o-easing-emphasized-in: cubic-bezier(0.3, 0, 0.8, 0.15); - /** - * @name 动画曲线 - * @type animation - * @group easing - * @description 用于大卡片、场景切换 - */ - --o-easing-emphasized-out: cubic-bezier(0.05, 0.7, 0.1, 1); -} \ No newline at end of file diff --git a/app/.vitepress/src/assets/style/theme/dialog.scss b/app/.vitepress/src/assets/style/theme/dialog.scss deleted file mode 100644 index 7c1d9102c310d455af04ac020dcdd8ae4305ea7c..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/dialog.scss +++ /dev/null @@ -1,36 +0,0 @@ -@use '../mixin/screen.scss' as *; -@use '../mixin/font.scss' as *; -// 屏蔽loading 遮罩 -.o-layer { - z-index: 2001; - .o-dlg-header { - color: var(--o-color-info1); - } - &.o-loading { - --loading-mask-icon-color: var(--o-color-info1); - --layer-align: top; - --layer-origin: top; - --loading-mask-color: var(--o-color-info1); - --layer-mask: var(--o-color-info4-inverse); - transition: none; - padding-top: 23%; - .o-loading-main { - flex-direction: column; - justify-content: flex-start; - @include text1; - .o-loading-icon { - font-size: 24px; - margin-bottom: 12px; - } - .o-rotating { - width: 24px; - height: 24px; - margin-bottom: 12px; - } - } - } -} - -.o-dialog { - --dlg-radius: var(--layout-pkg-radius); -} diff --git a/app/.vitepress/src/assets/style/theme/dropdown.scss b/app/.vitepress/src/assets/style/theme/dropdown.scss deleted file mode 100644 index ac9b81e9b01231c14cedd13fd224745034844514..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/dropdown.scss +++ /dev/null @@ -1,7 +0,0 @@ -.o-dropdown-list { - --dropdown-list-radius: 4px; -} - -.o-dropdown-item { - --dropdown-item-color-hover: var(--dropdown-item-color); -} \ No newline at end of file diff --git a/app/.vitepress/src/assets/style/theme/icon.scss b/app/.vitepress/src/assets/style/theme/icon.scss deleted file mode 100644 index 780b2b37759c33798e18488c4209a27279285769..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/icon.scss +++ /dev/null @@ -1,7 +0,0 @@ -.o-icon { - svg { - width: 1em; - height: 1em; - } -} - diff --git a/app/.vitepress/src/assets/style/theme/index.scss b/app/.vitepress/src/assets/style/theme/index.scss deleted file mode 100644 index af073d64b53aa5ed65472685ab30bf3aae2d557a..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/index.scss +++ /dev/null @@ -1,19 +0,0 @@ -@use './anchor.scss' as *; -@use './button.scss' as *; -@use './card.scss' as *; -@use './dialog.scss' as *; -@use './dropdown.scss' as *; -@use './input.scss' as *; -@use './message.scss' as *; -@use './select.scss' as *; -@use './table.scss' as *; -@use './tag.scss' as *; -@use './popup.scss' as *; -@use './tab.scss' as *; -@use './rate.scss' as *; -@use './result.scss' as *; -@use './textarea.scss' as *; -@use './link.scss' as *; -@use './breadcrumb.scss' as *; -@use './icon.scss' as *; -@use './layer.scss' as *; \ No newline at end of file diff --git a/app/.vitepress/src/assets/style/theme/input.scss b/app/.vitepress/src/assets/style/theme/input.scss deleted file mode 100644 index eadcc6d22b6e77ec9f15fd4cd3b6f2534a2113ee..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/input.scss +++ /dev/null @@ -1,3 +0,0 @@ -.o-input-clear { - font-size: 20px; -} diff --git a/app/.vitepress/src/assets/style/theme/layer.scss b/app/.vitepress/src/assets/style/theme/layer.scss deleted file mode 100644 index e0ead2dc716ecd65b9137359c0cea1b7af67f95b..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/layer.scss +++ /dev/null @@ -1,7 +0,0 @@ -.o-layer { - .disable-scroller { - .o-scrollbar-container { - overflow: visible !important; - } - } -} \ No newline at end of file diff --git a/app/.vitepress/src/assets/style/theme/link.scss b/app/.vitepress/src/assets/style/theme/link.scss deleted file mode 100644 index 81e9b182a1bce1d35e8ecf6e45eb8a7a2d234108..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/link.scss +++ /dev/null @@ -1,19 +0,0 @@ -@use '../mixin/screen.scss' as *; - -.o-link { - --link-underline-color: var(--link-color-hover); -} - -.o-link:active { - --link-underline-color: var(--link-color-active); -} - -.o-link.o-link-hover-underline .o-link-label { - background: linear-gradient(0deg, var(--link-underline-color), var(--link-underline-color)) no-repeat var(--link-underline-x) bottom; - background-size: 0 1px; - - @include hover { - background-size: var(--link-underline-x) 1px; - background-position-x: left; - } -} diff --git a/app/.vitepress/src/assets/style/theme/message.scss b/app/.vitepress/src/assets/style/theme/message.scss deleted file mode 100644 index a729f1aae3a4cd222b0682c7503bb529fae061b1..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/message.scss +++ /dev/null @@ -1,6 +0,0 @@ -.o-message-list { - z-index: 2147483647 !important; - --app-header-height: 64px; - - --message-list-offset: calc(var(--app-header-height) + 32px); -} diff --git a/app/.vitepress/src/assets/style/theme/popup.scss b/app/.vitepress/src/assets/style/theme/popup.scss deleted file mode 100644 index 5ee495375c8e92d3e9a10cc889a8eb4be1c69a76..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/popup.scss +++ /dev/null @@ -1,16 +0,0 @@ -.o-popup { - --popup-shadow: var(--o-shadow-2); - .o-popup-body { - border-radius: var(--popup-radius); - } - .global-feedback-popup { - border: none; - - textarea::placeholder { - color: var(--o-color-info4); - } - } - .o-popup-anchor { - z-index: 2; - } -} diff --git a/app/.vitepress/src/assets/style/theme/rate.scss b/app/.vitepress/src/assets/style/theme/rate.scss deleted file mode 100644 index 30ee6f61c561a557eeb931a07d1e38f26eb8aacf..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/rate.scss +++ /dev/null @@ -1,4 +0,0 @@ -.o-rate { - --rate-color: var(--o-color-info4); - --rate-size: 24px; -} diff --git a/app/.vitepress/src/assets/style/theme/result.scss b/app/.vitepress/src/assets/style/theme/result.scss deleted file mode 100644 index 274b722f7c7e9749bb99ee3eaac49b3c8bad83c8..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/result.scss +++ /dev/null @@ -1,3 +0,0 @@ -.o-result-content { - color: var(--o-color-info1); -} diff --git a/app/.vitepress/src/assets/style/theme/select.scss b/app/.vitepress/src/assets/style/theme/select.scss deleted file mode 100644 index 698f1d06d21c16c2258963ba6a1724abbb2c58ba..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/select.scss +++ /dev/null @@ -1,4 +0,0 @@ -.o-select { - --select-icon-size: 20px; - --select-radius: 4px; -} diff --git a/app/.vitepress/src/assets/style/theme/tab.scss b/app/.vitepress/src/assets/style/theme/tab.scss deleted file mode 100644 index bb1ff81127793dc60ba4ef4b370c16b1a3677f70..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/tab.scss +++ /dev/null @@ -1,79 +0,0 @@ -.field-tabs { - > .o-tab-head > .o-tab-navs { - max-width: var(--layout-content-max-width); - padding-left: var(--layout-content-padding); - padding-right: var(--layout-content-padding); - margin: 0 auto; - } -} -.o-tab { - --tab-nav-divider: 1px solid var(--o-color-control4); -} -.domain-tabs { - &.min { - > .o-tab-head { - .o-tab-nav-anchor { - display: none; - } - - .o-tab-nav-active { - color: var(--o-color-info1); - cursor: default; - } - } - } - .o-tab-head { - display: block !important; - } - .o-tab-navs { - --tab-nav-justify: left; - margin-bottom: 24px; - } - .o-table { - word-break: break-word; - --table-edge-padding: 24px; - .arch, - .appVer { - width: 250px; - } - tbody tr:hover { - background: none; - } - } - - // 应用镜像样式 - &.tabs-switch { - .o-tab-nav-list { - background: var(--o-color-fill1); - border-radius: 8px; - height: 40px; - padding: 4px; - .o-tab-nav { - margin: 0 !important; - position: relative; - padding: 2px 12px; - z-index: 3; - } - } - .o-tab-nav-anchor { - top: 0; - padding: 4px 0; - .o-tab-nav-anchor-line { - box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1); - border-radius: 4px; - height: 100%; - background: var(--o-color-fill2); - } - } - } - &.tabs-one { - .o-tab-nav-active { - color: var(--o-color-info1); - cursor: default; - padding: 0; - } - .o-tab-nav-anchor { - display: none; - } - } -} diff --git a/app/.vitepress/src/assets/style/theme/table.scss b/app/.vitepress/src/assets/style/theme/table.scss deleted file mode 100644 index 54aa764a3250753c7fc7758d239340366ec75756..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/table.scss +++ /dev/null @@ -1,45 +0,0 @@ -@use '../mixin/font.scss' as *; -.o-table { - --table-edge-padding: 24px; - --table-cell-padding: 16px 10px; - --table-head-cell-padding: 12px 10px; - --table-head-bg: var(--o-color-control3-light); - --table-color: var(--o-color-info1); - - --table-loading-mask: var(--o-color-info4-inverse); - .o-table-loading-wrap { - z-index: 99; - flex-direction: column; - .o-icon-loading { - font-size: 24px; - } - .o-table-loading-label { - margin: 12px 0 0; - @include text1; - } - } - - th { - font-weight: 500; - border-right: 0; - } - &.table-version { - --table-head-bg: var(--o-color-primary1); - th { - color: #fff; - } - } - td { - word-break: break-word; - } - &.o-table-small { - --table-cell-height: auto; - --table-edge-padding: 24px; - --table-cell-padding: 8px; - --table-head-cell-padding: 8px; - td, - th { - @include tip1; - } - } -} diff --git a/app/.vitepress/src/assets/style/theme/tag.scss b/app/.vitepress/src/assets/style/theme/tag.scss deleted file mode 100644 index 6903316a6aca63eef47ac9c2246558baaec90e24..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/tag.scss +++ /dev/null @@ -1,6 +0,0 @@ -.o-tag { - border-radius: var(--layout-pkg-radius); - &.o-tag-small { - --tag-padding: 0 4px; - } -} diff --git a/app/.vitepress/src/assets/style/theme/textarea.scss b/app/.vitepress/src/assets/style/theme/textarea.scss deleted file mode 100644 index d63fe2132cb3192311a8545768abff5e67758169..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/style/theme/textarea.scss +++ /dev/null @@ -1,15 +0,0 @@ -@use '../mixin/screen.scss' as *; - -.o-textarea { - height: 126px; - - @include respond-to('<=pad') { - height: 116px; - } -} - -.o_textarea-textarea { - &::-webkit-input-placeholder { - color: var(--o-color-info4); - } -} diff --git a/app/.vitepress/src/assets/svg-icons/icon-arrow-right.svg b/app/.vitepress/src/assets/svg-icons/icon-arrow-right.svg deleted file mode 100644 index 54eec72baadf9c4b6e41c383480dff0f5011aa7b..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-arrow-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-chevron-down.svg b/app/.vitepress/src/assets/svg-icons/icon-chevron-down.svg deleted file mode 100644 index e33699d7e07f5062ccac143e5d48eda8cf6f53f5..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-chevron-down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-chevron-right.svg b/app/.vitepress/src/assets/svg-icons/icon-chevron-right.svg deleted file mode 100644 index 646c5058cb39e204b88c447d0d19e9e17efc7e5b..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-chevron-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-close.svg b/app/.vitepress/src/assets/svg-icons/icon-close.svg deleted file mode 100644 index 279157ed3b9bf28765043a3e41632117f2e72c07..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-copy.svg b/app/.vitepress/src/assets/svg-icons/icon-copy.svg deleted file mode 100644 index e95788f2d35b2e6613735d47f45017da800fca16..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-copy.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-delete.svg b/app/.vitepress/src/assets/svg-icons/icon-delete.svg deleted file mode 100644 index 0d1256832ad6eed15d682bd9b6e0b83781b1bee8..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-delete.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-exit-full-screen.svg b/app/.vitepress/src/assets/svg-icons/icon-exit-full-screen.svg deleted file mode 100644 index caab407e12850af8873f25c8eab9516c7f7ce779..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-exit-full-screen.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-expand.svg b/app/.vitepress/src/assets/svg-icons/icon-expand.svg deleted file mode 100644 index 56ddb7b1d14949873c28c665b311d6c5679785e9..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-expand.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-full-screen.svg b/app/.vitepress/src/assets/svg-icons/icon-full-screen.svg deleted file mode 100644 index f48a25883b07a75191e24722c621b03a115fd5cf..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-full-screen.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-header-back.svg b/app/.vitepress/src/assets/svg-icons/icon-header-back.svg deleted file mode 100644 index b64d9a7c6281ad4ea812246d15ff157044ea62ca..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-header-back.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-header-delete.svg b/app/.vitepress/src/assets/svg-icons/icon-header-delete.svg deleted file mode 100644 index 4e1f96a83b92b50b7e1ca3d941051ee93899a180..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-header-delete.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-header-menu.svg b/app/.vitepress/src/assets/svg-icons/icon-header-menu.svg deleted file mode 100644 index edf857821413e2003a811cd4793535838f7af2eb..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-header-menu.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-header-moon.svg b/app/.vitepress/src/assets/svg-icons/icon-header-moon.svg deleted file mode 100644 index bc76468e8d378e03acb4167622e30fec1bc6e268..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-header-moon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/.vitepress/src/assets/svg-icons/icon-header-next.svg b/app/.vitepress/src/assets/svg-icons/icon-header-next.svg deleted file mode 100644 index e93dbc59e41400afc986e6bf3de7a1680d27f17a..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-header-next.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-header-person.svg b/app/.vitepress/src/assets/svg-icons/icon-header-person.svg deleted file mode 100644 index e5e7cd0f16f85df584b3edeaa48f074b42624547..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-header-person.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/.vitepress/src/assets/svg-icons/icon-header-search.svg b/app/.vitepress/src/assets/svg-icons/icon-header-search.svg deleted file mode 100644 index 032308b5e70b9fd3f0ac04a52be937947c9f9c3d..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-header-search.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-link.svg b/app/.vitepress/src/assets/svg-icons/icon-link.svg deleted file mode 100644 index 4c9e24db6cd352b1f8c6720a6cbb06817129450c..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-link.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-locale.svg b/app/.vitepress/src/assets/svg-icons/icon-locale.svg deleted file mode 100644 index 6ff893f84985e010d6ef69abc29442c6c536ff87..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-locale.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/.vitepress/src/assets/svg-icons/icon-out-link.svg b/app/.vitepress/src/assets/svg-icons/icon-out-link.svg deleted file mode 100644 index 0531275627dc805535d8fe65dd285c4374781e52..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-out-link.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-outlink.svg b/app/.vitepress/src/assets/svg-icons/icon-outlink.svg deleted file mode 100644 index 1bd3ac319ef73c8106e031d1cfd7d3a3aa9596ec..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-outlink.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/app/.vitepress/src/assets/svg-icons/icon-pin.svg b/app/.vitepress/src/assets/svg-icons/icon-pin.svg deleted file mode 100644 index 0f940828ec55359a3811db85f15bcfea07284e35..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-pin.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-search.svg b/app/.vitepress/src/assets/svg-icons/icon-search.svg deleted file mode 100644 index 70235a3b938b0fcc293866752cf3d8f96952e2ce..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-search.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-sun-outline.svg b/app/.vitepress/src/assets/svg-icons/icon-sun-outline.svg deleted file mode 100644 index d6be0b8ae7ffe62e71d1f3c794ddf88ce97392eb..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-sun-outline.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app/.vitepress/src/assets/svg-icons/icon-tips.svg b/app/.vitepress/src/assets/svg-icons/icon-tips.svg deleted file mode 100644 index 5eaa71136ecc61c03f7aadb204e3c7dbf38f268a..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-tips.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/.vitepress/src/assets/svg-icons/icon-top.svg b/app/.vitepress/src/assets/svg-icons/icon-top.svg deleted file mode 100644 index c571f630a2260ffb113b2de326a2c1603b0300f1..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/assets/svg-icons/icon-top.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app/.vitepress/src/components/AppFooter.vue b/app/.vitepress/src/components/AppFooter.vue deleted file mode 100644 index 0238a9ff2fff75abf3470cbb97e277dc7b130370..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/AppFooter.vue +++ /dev/null @@ -1,509 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/ContentWrapper.vue b/app/.vitepress/src/components/ContentWrapper.vue deleted file mode 100644 index 02839616a4ec0ef0ad70f08c9aa7ade0e78ca815..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/ContentWrapper.vue +++ /dev/null @@ -1,69 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/CookieNotice.vue b/app/.vitepress/src/components/CookieNotice.vue deleted file mode 100644 index 02a1d49e2b7cf826acae1f4c83b2014286b04021..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/CookieNotice.vue +++ /dev/null @@ -1,384 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/FloatingButton.vue b/app/.vitepress/src/components/FloatingButton.vue deleted file mode 100644 index 711dba787ba05b01cbe14ae13d61fd032f610734..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/FloatingButton.vue +++ /dev/null @@ -1,196 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/FloatingButtonDocs.vue b/app/.vitepress/src/components/FloatingButtonDocs.vue deleted file mode 100644 index 0a0321b06279087d0a2829b0defb7a3115a005db..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/FloatingButtonDocs.vue +++ /dev/null @@ -1,820 +0,0 @@ - - - - - - diff --git a/app/.vitepress/src/components/GiteeViewSource.vue b/app/.vitepress/src/components/GiteeViewSource.vue deleted file mode 100644 index 35bac28ccdbcfd32f31a075bdb2bde0f185b6130..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/GiteeViewSource.vue +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - diff --git a/app/.vitepress/src/components/ImgZoomDrag.vue b/app/.vitepress/src/components/ImgZoomDrag.vue deleted file mode 100644 index d7392e962b9323a7ea77ff4c51ab2962b9c51058..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/ImgZoomDrag.vue +++ /dev/null @@ -1,315 +0,0 @@ - - - - diff --git a/app/.vitepress/src/components/ResultEmpty.vue b/app/.vitepress/src/components/ResultEmpty.vue deleted file mode 100644 index 64619c7e46122c98153081383268b760ffbdfaf3..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/ResultEmpty.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/doc/DocBreadCrumb.vue b/app/.vitepress/src/components/doc/DocBreadCrumb.vue deleted file mode 100644 index 75d56b66ae16d08a2f0ac967aaddba1a1257f5ff..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/doc/DocBreadCrumb.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/doc/DocBug.vue b/app/.vitepress/src/components/doc/DocBug.vue deleted file mode 100644 index 06f6ccf54c1ce63fef95b24a343b5d5c9bb7aa1e..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/doc/DocBug.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/doc/DocBugDialog.vue b/app/.vitepress/src/components/doc/DocBugDialog.vue deleted file mode 100644 index fb507e2682ddc9b8f1a05f38cbd3e746121cc382..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/doc/DocBugDialog.vue +++ /dev/null @@ -1,394 +0,0 @@ - - - - diff --git a/app/.vitepress/src/components/doc/DocFooter.vue b/app/.vitepress/src/components/doc/DocFooter.vue deleted file mode 100644 index d6baa78b701aea6cb67b74cd03a0fa24d6ab33f5..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/doc/DocFooter.vue +++ /dev/null @@ -1,174 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/doc/DocMenu.vue b/app/.vitepress/src/components/doc/DocMenu.vue deleted file mode 100644 index 1a989265f868a162a6ee5b6471ead555bc31ebd2..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/doc/DocMenu.vue +++ /dev/null @@ -1,331 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/doc/DocPagination.vue b/app/.vitepress/src/components/doc/DocPagination.vue deleted file mode 100644 index f70b32abe036842b8555669fa2a058f25352b287..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/doc/DocPagination.vue +++ /dev/null @@ -1,197 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/doc/DocSearch.vue b/app/.vitepress/src/components/doc/DocSearch.vue deleted file mode 100644 index 48de6be41ea29a0597e45a9206182a2e2dfc8f40..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/doc/DocSearch.vue +++ /dev/null @@ -1,264 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/doc/DocType.vue b/app/.vitepress/src/components/doc/DocType.vue deleted file mode 100644 index ca643a56c4626e44cac7bbf8bbe69f0e998fc02f..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/doc/DocType.vue +++ /dev/null @@ -1,213 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/doc/DocTypeMobile.vue b/app/.vitepress/src/components/doc/DocTypeMobile.vue deleted file mode 100644 index 0563e3f957cdce0afb06a68ccc2bbbf6234b3516..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/doc/DocTypeMobile.vue +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - diff --git a/app/.vitepress/src/components/doc/DocVersion.vue b/app/.vitepress/src/components/doc/DocVersion.vue deleted file mode 100644 index 2e3ef66db05cb8dea526a74356bf669659445197..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/doc/DocVersion.vue +++ /dev/null @@ -1,154 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/doc/DocVersionMobile.vue b/app/.vitepress/src/components/doc/DocVersionMobile.vue deleted file mode 100644 index aace3b7044c498d11726c8c93d78e8513583c011..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/doc/DocVersionMobile.vue +++ /dev/null @@ -1,152 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/feedback/FeedbackSlider.vue b/app/.vitepress/src/components/feedback/FeedbackSlider.vue deleted file mode 100644 index 0392dac3a7fde33db386c727fb531ca61e63a798..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/feedback/FeedbackSlider.vue +++ /dev/null @@ -1,429 +0,0 @@ - - - diff --git a/app/.vitepress/src/components/feedback/FloatingButtonHome.vue b/app/.vitepress/src/components/feedback/FloatingButtonHome.vue deleted file mode 100644 index f78801c2729b746dc7cf70d9f2621ca9ad1df9d0..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/feedback/FloatingButtonHome.vue +++ /dev/null @@ -1,262 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/header/AppHeader.vue b/app/.vitepress/src/components/header/AppHeader.vue deleted file mode 100644 index afc51b124331d344179424c97b4efe7aa6b58009..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/header/AppHeader.vue +++ /dev/null @@ -1,167 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/header/HeaderCode.vue b/app/.vitepress/src/components/header/HeaderCode.vue deleted file mode 100644 index b5e327a7a8196d1f415dc44e064eb1575d350508..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/header/HeaderCode.vue +++ /dev/null @@ -1,109 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/header/HeaderLanguage.vue b/app/.vitepress/src/components/header/HeaderLanguage.vue deleted file mode 100644 index 0e6e019f1a97999b045518b02f3e44012f1ab61b..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/header/HeaderLanguage.vue +++ /dev/null @@ -1,211 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/header/HeaderLogin.vue b/app/.vitepress/src/components/header/HeaderLogin.vue deleted file mode 100644 index e8c8f4f0434f157a21fa39e3df20ab76e58d8beb..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/header/HeaderLogin.vue +++ /dev/null @@ -1,142 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/header/HeaderNav.vue b/app/.vitepress/src/components/header/HeaderNav.vue deleted file mode 100644 index 43e8ed3935004fffe1833799152cada355ab10f8..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/header/HeaderNav.vue +++ /dev/null @@ -1,1138 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/header/HeaderNavMoblie.vue b/app/.vitepress/src/components/header/HeaderNavMoblie.vue deleted file mode 100644 index 604ae8560f3001e965a90505cfd9e7786870e46c..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/header/HeaderNavMoblie.vue +++ /dev/null @@ -1,383 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/header/HeaderSearch.vue b/app/.vitepress/src/components/header/HeaderSearch.vue deleted file mode 100644 index f9b4264fffa47cea7682a21d22f94909356df67e..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/header/HeaderSearch.vue +++ /dev/null @@ -1,572 +0,0 @@ - - - diff --git a/app/.vitepress/src/components/header/HeaderTheme.vue b/app/.vitepress/src/components/header/HeaderTheme.vue deleted file mode 100644 index c2510125fc7eece98a7c5d0d720a42c39b793858..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/header/HeaderTheme.vue +++ /dev/null @@ -1,112 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/header/NavContent.vue b/app/.vitepress/src/components/header/NavContent.vue deleted file mode 100644 index 9701b659312d57f31221b1170e7345cb69cdaca6..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/header/NavContent.vue +++ /dev/null @@ -1,290 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/header/NavLink.vue b/app/.vitepress/src/components/header/NavLink.vue deleted file mode 100644 index 9c197662f53c37c3103e839b7313a175492b9972..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/header/NavLink.vue +++ /dev/null @@ -1,69 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/hooks/useClickOutside.ts b/app/.vitepress/src/components/hooks/useClickOutside.ts deleted file mode 100644 index dbee26388b24cd8d515b3d7c61f06c847b2d55f8..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/hooks/useClickOutside.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { ref, onMounted, onUnmounted, type Ref } from 'vue'; -const useClickOutside = (elementRef: Ref) => { - const isClickOutside = ref(false); - const onClick = (e: MouseEvent) => { - if (elementRef.value) { - isClickOutside.value = !elementRef.value.contains(e.target as HTMLElement); - } - }; - onMounted(() => { - window.addEventListener('click', onClick); - }); - onUnmounted(() => { - window.removeEventListener('click', onClick); - }); - return isClickOutside; -}; - -export default useClickOutside; diff --git a/app/.vitepress/src/components/markdown/MarkdownImage.vue b/app/.vitepress/src/components/markdown/MarkdownImage.vue deleted file mode 100644 index 72a978b7f0c4f54650332a7e5ddd2ea30ff93b58..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/markdown/MarkdownImage.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/markdown/MarkdownTitle.vue b/app/.vitepress/src/components/markdown/MarkdownTitle.vue deleted file mode 100644 index 76ba8dd18a9f5e3dac62b904285b4fb36f8b1741..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/markdown/MarkdownTitle.vue +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - diff --git a/app/.vitepress/src/components/menu/RecursionMenu.vue b/app/.vitepress/src/components/menu/RecursionMenu.vue deleted file mode 100644 index 746d1631374d5cf5f187dcc88c743451cfa1c985..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/menu/RecursionMenu.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/components/menu/RecursionMenuItem.vue b/app/.vitepress/src/components/menu/RecursionMenuItem.vue deleted file mode 100644 index 2c734fe81b56ae1b503096e268f641932f51fcf5..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/components/menu/RecursionMenuItem.vue +++ /dev/null @@ -1,181 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/composables/useClipboard.ts b/app/.vitepress/src/composables/useClipboard.ts deleted file mode 100644 index 874974822b2725d5f59f8787a62574f97b104d87..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/composables/useClipboard.ts +++ /dev/null @@ -1,28 +0,0 @@ -import Clipboard from 'clipboard'; -interface ClipboardJSExtended extends ClipboardJS { - onClick: (event: MouseEvent) => void; -} - -export const useClipboard = (options: { text: string; target: MouseEvent; success?: (e: Clipboard.Event) => void; error?: (e: Clipboard.Event) => void }) => { - const clipboard = new Clipboard(options.target.currentTarget as Element, { - text: () => options.text, - }) as ClipboardJSExtended; - - clipboard.on('success', (e) => { - if (options?.success) { - options.success(e); - } - - clipboard.destroy(); - }); - - clipboard.on('error', (e) => { - if (options?.error) { - options.error(e); - } - - clipboard.destroy(); - }); - - clipboard.onClick(options.target); -}; diff --git a/app/.vitepress/src/composables/useDebounceSearch.ts b/app/.vitepress/src/composables/useDebounceSearch.ts deleted file mode 100644 index 122a315a788dd72fea1f44ab8ebda2c73fb4fd68..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/composables/useDebounceSearch.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { useDebounceFn } from '@vueuse/core'; - -type FunctionArgs = (...args: Args) => Return; - -export const useDebounceSearch = (fn: T, delay = 300) => { - return useDebounceFn(fn, delay); -}; diff --git a/app/.vitepress/src/composables/useLocale.ts b/app/.vitepress/src/composables/useLocale.ts deleted file mode 100644 index 90ee3a9093a3e66b202f2aefb04c6f6d1c2aac9c..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/composables/useLocale.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { computed, onMounted } from 'vue'; -import { useData } from 'vitepress/client'; -import { isClient, isUndefined } from '@opensig/opendesign'; - -import type { LocaleT } from '@/@types/type-locale'; - -import i18n from '@/i18n'; -interface LocaleItemDeatilT { - [key: string]: string; -} -interface LocaleItemT { - [key: string]: LocaleItemDeatilT; -} -export const useLocale = () => { - const { lang } = useData(); - - const locale = computed(() => { - if (lang.value === 'zh' || lang.value === 'en') { - return lang.value === 'zh' ? 'zh' : 'en'; - } else { - if (isClient) { - const { pathname } = window.location; - if (pathname.startsWith('/zh/')) { - return 'zh'; - } else if (pathname.startsWith('/en/')) { - return 'en'; - } else { - if (localStorage.getItem('locale')) { - return localStorage.getItem('locale') === 'zh' ? 'zh' : 'en'; - } else { - return navigator.language.toLowerCase().startsWith('zh') ? 'zh' : 'en'; - } - } - } - - return 'zh'; - } - }); - - const isZh = computed(() => locale.value === 'zh'); - const isEn = computed(() => locale.value === 'en'); - - // 语言切换 - const changeLocale = (lang?: LocaleT) => { - if (locale.value === lang) { - return; - } - - const language = isUndefined(lang) ? (isZh.value ? 'en' : 'zh') : lang; - if (isClient) { - const { pathname } = window.location; - const newPathName = pathname.replace(`/${locale.value}/`, `/${language}/`); - localStorage.setItem('locale', language); - window.location.pathname = newPathName; - } - }; - - const t = (val: string, replacements?: string | string[] | number[]) => { - const [category, key] = val.split('.'); - const info: LocaleItemT = i18n.global.messages.value[locale.value]; - if (info) { - const item = info[category]; - if (item) { - let value = item[key]; - if (replacements) { - if (Array.isArray(replacements)) { - replacements.forEach((replacement, index) => { - value = value?.replace(`{${index}}`, String(replacement)); - }); - } else { - value = value?.replace(`{0}`, replacements); - } - } - return value; - } - } - }; - - const $t = t; - - onMounted(() => { - if (locale.value) { - localStorage.setItem('locale', locale.value); - } - }); - - return { - $t, - t, - locale, - isZh, - isEn, - changeLocale, - }; -}; diff --git a/app/.vitepress/src/composables/useScreen.ts b/app/.vitepress/src/composables/useScreen.ts deleted file mode 100644 index ac5deec9acdc06b81de2479c56a38eb82459fefd..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/composables/useScreen.ts +++ /dev/null @@ -1,150 +0,0 @@ -import { ref, reactive, computed, onMounted, onUnmounted, nextTick } from 'vue'; - -export enum Size { - Phone = 'phone', - PadV = 'pad_v', - PadH = 'pad_h', - Laptop = 'laptop', -} - -export type ScreenSizeT = typeof Size.Phone | Size.PadV | Size.PadH | Size.Laptop; - -export const ScreenConfig = { - [Size.Phone]: 600, - [Size.PadV]: 840, - [Size.PadH]: 1200, - [Size.Laptop]: 1440, -}; - -/** - * lt: less than, 小于 < - * le: less than or equal to, 小于等于 <= - * eq: equal to, 等于 = - * ne: never equal to, 不等于 != - * ge: greater than or equal to, 大于等于 >= - * gt: greater than, 大于 > - */ -export type CompareT = 'lt' | 'le' | 'eq' | 'ne' | 'ge' | 'gt'; - -const CompareHandler = { - lt: (a: number, b: number) => a < b, - le: (a: number, b: number) => a <= b, - eq: (a: number, b: number) => a === b, - ne: (a: number, b: number) => a !== b, - ge: (a: number, b: number) => a >= b, - gt: (a: number, b: number) => a > b, -}; - -export const useScreen = () => { - const screenSize = reactive({ - width: 1440, - height: 0, - }); - - const current = ref(Size.Laptop); - - const getSize = (width?: number) => { - if (typeof width === 'undefined') { - width = screenSize.width; - } - if (width < ScreenConfig[Size.Phone]) { - return Size.Phone; - } else if (width < ScreenConfig[Size.PadV]) { - return Size.PadV; - } else if (width < ScreenConfig[Size.PadH]) { - return Size.PadH; - } else { - return Size.Laptop; - } - }; - - const compare = (type: CompareT = 'eq', size: ScreenSizeT) => { - const w1 = screenSize.width; - const w2 = ScreenConfig[size]; - const handler = CompareHandler[type]; - return handler(w1, w2); - }; - - /** - * phone - */ - const isPhone = computed(() => compare('le', Size.Phone)); // [0, 600] - const gtPhone = computed(() => compare('gt', Size.Phone)); // [601, -] - - /** - * pad - */ - const isPad = computed(() => compare('gt', Size.Phone) && compare('le', Size.PadH)); // [601, 1200] - const lePad = computed(() => compare('le', Size.PadH)); // [0, 1200] - const gtPad = computed(() => compare('gt', Size.PadH)); // [1201, -] - - /** - * pad_v - */ - const isPadV = computed(() => compare('gt', Size.Phone) && compare('le', Size.PadV)); // [601, 840] - const lePadV = computed(() => compare('le', Size.PadV)); // [0, 840] - const gtPadV = computed(() => compare('gt', Size.PadV)); // [841, -] - - /** - * pad_h - */ - const isPadH = computed(() => compare('gt', Size.PadV) && compare('le', Size.PadH)); // [841, 1200] - - /** - * laptop - */ - const isLaptop = computed(() => compare('gt', Size.PadH) && compare('le', Size.Laptop)); // [1201, 1440] - const leLaptop = computed(() => compare('le', Size.Laptop)); // [0, 1440] - const gtLaptop = computed(() => compare('gt', Size.Laptop)); // [1441, -] - const isPadToLaptop = computed(() => compare('gt', Size.Phone) && compare('le', Size.Laptop)); // [601, 1440] - const isPadVToLaptop = computed(() => compare('gt', Size.PadV) && compare('le', Size.Laptop)); // [841, 1440] - - const onWindowResize = () => { - const { innerWidth, innerHeight } = window; - screenSize.width = innerWidth; - screenSize.height = innerHeight; - current.value = getSize(); - }; - - onMounted(() => { - if (typeof window !== 'undefined') { - window.addEventListener('resize', onWindowResize); - onWindowResize(); - nextTick(() => onWindowResize()); - } - }); - - onUnmounted(() => { - if (typeof window !== 'undefined') { - window.removeEventListener('resize', onWindowResize); - } - }); - - return { - // 获取屏幕宽度分级 - getSize, - // 当前屏幕分级 - current, - // 当前屏幕宽度 - size: screenSize, - - isPhone, // [0, 600] - gtPhone, // [601, -] - - isPad, // [601, 1200] - lePad, // [0, 1200] - gtPad, // [1201, -] - - isPadV, // [601, 840] - lePadV, // [0, 840] - gtPadV, // [841, -] - - isPadH, // [841, 1200] - - isLaptop, // [1201, 1440] - leLaptop, // [0, 1440] - gtLaptop, // [1441, -] - isPadToLaptop, // [601, 1440] - isPadVToLaptop, // [841, 1440] - }; -}; diff --git a/app/.vitepress/src/composables/useSelect.ts b/app/.vitepress/src/composables/useSelect.ts deleted file mode 100644 index 163168d9b53ba041f5f491bc6b5f61ad114b675d..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/composables/useSelect.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { computed, onMounted, onUnmounted, ref } from 'vue'; -import { inBrowser } from 'vitepress'; - -const useSelect = (selector: string) => { - const start = ref([0, 0]); // 鼠标开始位置 - const end = ref([0, 0]); // 鼠标结束位置 - const visible = ref(false); // 是否展示菜单 - const selectionText = ref(); // 选中的内容 - - const x = computed(() => (start.value[0] + end.value[0]) / 2); - const y = computed(() => { - if (scrollY.value) { - return scrollY.value; - } - return Math.min(start.value[1], end.value[1]) - 12; - }); - - const mouseDown = (e: MouseEvent) => { - start.value = [e.x, e.y]; - visible.value = false; - }; - const mouseUp = (e: MouseEvent) => { - end.value = [e.x, e.y]; - selectionText.value = window.getSelection()?.toString(); - visible.value = !!selectionText.value?.length && (start.value[0] !== end.value[0] || start.value[1] !== end.value[1]); - scrollY.value = 0; - }; - - const scrollTop = ref(0); // 当前已滚动距离 - const scrollY = ref(0); // 滚动时popover的位置 - - const scroll = ({ target }: { target: HTMLElement } & any) => { - if (visible.value) { - scrollY.value = y.value - target.scrollTop + scrollTop.value; - } - scrollTop.value = target.scrollTop; - }; - - const addEventListener = () => { - const ele = document.querySelector(selector) as HTMLElement; - if (ele) { - ele.addEventListener('mousedown', mouseDown); - ele.addEventListener('mouseup', mouseUp); - const scrollWrapper = document.querySelector('#app > .o-scroller > .o-scroller-container') as HTMLElement; - if (scrollWrapper) { - scrollWrapper.addEventListener('scroll', scroll); - } - } else { - requestIdleCallback(addEventListener); - } - }; - - onMounted(() => { - if (!inBrowser) return; - addEventListener(); - }); - - onUnmounted(() => { - if (!inBrowser) return; - const ele = document.querySelector(selector) as HTMLElement; - if (!ele) return; - ele?.removeEventListener('mousedown', mouseDown); - ele?.removeEventListener('mouseup', mouseUp); - const scrollWrapper = document.querySelector('#app > .o-scroller > .o-scroller-container'); - if (scrollWrapper) { - scrollWrapper.removeEventListener('scroll', scroll); - } - }); - - return { - x, - y, - visible, - selectionText, - }; -}; - -export default useSelect; diff --git a/app/.vitepress/src/config/data.ts b/app/.vitepress/src/config/data.ts deleted file mode 100644 index 2bcff7f4df29f7a9d8bea6d8c101ac13e5db2e52..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/config/data.ts +++ /dev/null @@ -1 +0,0 @@ -export const BAIDU_HM = 'https://hm.baidu.com/hm.js?ab8d86daab9a8e98cf8faa239aefcd3c'; \ No newline at end of file diff --git a/app/.vitepress/src/config/dsl.ts b/app/.vitepress/src/config/dsl.ts deleted file mode 100644 index 38caaef534a3cb4a26599dda3aea7df12d0d89dc..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/config/dsl.ts +++ /dev/null @@ -1,10 +0,0 @@ -// @ts-expect-error public资源导入 -import HOME_CONFIG_RAW from '/dsl/zh/home.json?url&raw'; -// @ts-expect-error public资源导入 -import HOME_CONFIG_RAW_EN from '/dsl/en/home.json?url&raw'; - -import type { HomeConfig } from '@/@types/type-home'; - -// 首页相关配置 -export const HOME_CONFIG = JSON.parse(HOME_CONFIG_RAW) as HomeConfig; -export const HOME_CONFIG_EN = JSON.parse(HOME_CONFIG_RAW_EN) as HomeConfig; diff --git a/app/.vitepress/src/config/footer.ts b/app/.vitepress/src/config/footer.ts deleted file mode 100644 index 7fee140ba99b90f6e2100119a5a79960a216b994..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/config/footer.ts +++ /dev/null @@ -1,482 +0,0 @@ -// 中文媒体链接 -import LogoBilibili from '@/assets/category/footer/bilibili.png'; -import LogoToutiao from '@/assets/category/footer/toutiao.png'; -import LogoJuejin from '@/assets/category/footer/juejin.png'; -import LogoOschina from '@/assets/category/footer/oschina.png'; -import LogoCsdn from '@/assets/category/footer/csdn.png'; - -// 英文媒体链接 -import LogoRedditSquare from '@/assets/category/footer/reddit-square.png'; -import LogoLinkedin from '@/assets/category/footer/linkdin.png'; -import LogoYoutube from '@/assets/category/footer/youtube.png'; -import LogoTwitter from '@/assets/category/footer/x.png'; - -// 中文媒体链接 -import LogoBilibiliHover from '@/assets/category/footer/bilibili_hover.png'; -import LogoToutiaoHover from '@/assets/category/footer/toutiao_hover.png'; -import LogoJuejinHover from '@/assets/category/footer/juejin_hover.png'; -import LogoOschinaHover from '@/assets/category/footer/oschina_hover.png'; -import LogoCsdnHover from '@/assets/category/footer/csdn_hover.png'; - -// 英文媒体链接 -import LogoRedditSquareHover from '@/assets/category/footer/reddit-square_hover.png'; -import LogoLinkedinHover from '@/assets/category/footer/linkdin_hover.png'; -import LogoYoutubeHover from '@/assets/category/footer/youtube_hover.png'; -import LogoTwitterHover from '@/assets/category/footer/x_hover.png'; - -import police from '@/assets/category/footer/police.png'; - -// 媒体链接 -export const linksData = { - zh: [ - { - path: 'https://my.oschina.net/openeuler', - logo: { - normal: LogoOschina, - hover: LogoOschinaHover, - }, - id: 'oschina', - height: 14, - }, - { - path: 'https://blog.csdn.net/openEuler_?spm=1000.2115.3001.5343', - logo: { - normal: LogoCsdn, - hover: LogoCsdnHover, - }, - id: 'csdn', - height: 11, - }, - { - path: 'https://juejin.cn/user/3183782863845454', - logo: { - normal: LogoJuejin, - hover: LogoJuejinHover, - }, - id: 'juejin', - height: 11, - }, - { - path: 'https://space.bilibili.com/527064077/channel/series', - logo: { - normal: LogoBilibili, - hover: LogoBilibiliHover, - }, - id: 'bilibili', - height: 13, - }, - { - path: 'https://www.toutiao.com/c/user/token/MS4wLjABAAAAZivzVkJzMyQ44GzmX1i_ON0bgxL3E8ybHC-P9HMqZiqUgpYVnjCjynDt-SebKN7r', - logo: { - normal: LogoToutiao, - hover: LogoToutiaoHover, - }, - id: 'toutiao', - height: 13, - }, - ], - en: [ - { - path: 'https://www.linkedin.com/company/openeuler', - logo: { - normal: LogoLinkedin, - hover: LogoLinkedinHover, - }, - id: 'linkedin', - height: 16, - }, - { - path: 'https://x.com/openEuler', - logo: { - normal: LogoTwitter, - hover: LogoTwitterHover, - }, - id: 'twitter', - height: 16, - }, - { - path: 'https://www.youtube.com/channel/UCPzSqXqCgmJmdIicbY7GAeA', - logo: { - normal: LogoYoutube, - hover: LogoYoutubeHover, - }, - id: 'youtube', - height: 12, - }, - { - path: 'https://www.reddit.com/r/openEuler/', - logo: { - normal: LogoRedditSquare, - hover: LogoRedditSquareHover, - }, - id: 'reddit-square', - height: 16, - }, - ], -}; -// 隐私链接 -export const linksData2 = { - zh: [ - { - NAME: '品牌', - URL: `${import.meta.env.VITE_MAIN_DOMAIN_URL}/zh/other/brand/`, - }, - { - NAME: '隐私政策', - URL: `${import.meta.env.VITE_MAIN_DOMAIN_URL}/zh/other/privacy/`, - }, - { - NAME: '法律声明', - URL: `${import.meta.env.VITE_MAIN_DOMAIN_URL}/zh/other/legal/`, - }, - { - NAME: '关于cookies', - URL: `${import.meta.env.VITE_MAIN_DOMAIN_URL}/zh/other/cookies/`, - }, - ], - en: [ - { - NAME: 'Trademark', - URL: `${import.meta.env.VITE_MAIN_DOMAIN_URL}/en/other/brand/`, - }, - { - NAME: 'Privacy Policy', - URL: `${import.meta.env.VITE_MAIN_DOMAIN_URL}/en/other/privacy/`, - }, - { - NAME: 'Legal Notice', - URL: `${import.meta.env.VITE_MAIN_DOMAIN_URL}/en/other/legal/`, - }, - { - NAME: 'About Cookies', - URL: `${import.meta.env.VITE_MAIN_DOMAIN_URL}/en/other/cookies/`, - }, - ], -}; -// 底部导航数据 -export const quickNav = { - zh: [ - { - title: '关于openEuler', - list: [ - { - title: '成员单位', - link: '/zh/community/member/', - }, - { - title: '组织架构', - link: '/zh/community/organization/', - }, - { - title: '社区章程', - link: '/zh/community/charter/', - }, - { - title: '贡献看板', - link: `${import.meta.env.VITE_SERVICE_DATASTAT_URL}/zh/overview`, - }, - { - title: '社区介绍', - link: '/whitepaper/openEuler%20%E5%BC%80%E6%BA%90%E7%A4%BE%E5%8C%BA%E4%BB%8B%E7%BB%8D.pdf', - }, - ], - }, - { - title: '新闻与资讯', - list: [ - { - title: '新闻', - link: '/zh/interaction/news-list/', - }, - { - title: '博客', - link: '/zh/interaction/blog-list/', - }, - { - title: '白皮书', - link: '/zh/showcase/technical-white-paper/', - }, - ], - }, - { - title: '获取与下载', - list: [ - { - title: '获取openEuler操作系统', - link: '/zh/download/#get-openeuler', - }, - { - title: '最新社区发行版', - link: '/zh/download/', - }, - { - title: '商业发行版', - link: '/zh/download/commercial-release/', - }, - { - title: '软件中心', - link: `${import.meta.env.VITE_SERVICE_SOFTWARE_URL}/zh`, - }, - ], - }, - { - title: '支持与服务', - list: [ - { - title: '文档', - link: `${import.meta.env.VITE_SERVICE_DOCS_URL}/zh/`, - }, - { - title: 'FAQ', - link: `${import.meta.env.VITE_MAIN_DOMAIN_URL}/zh/faq/`, - }, - { - title: '联系我们', - link: '/zh/contact-us/', - }, - // { - // title: '反馈问题', - // link: '', - // }, - ], - }, - { - title: '互动与交流', - list: [ - { - title: '邮件列表', - link: '/zh/community/mailing-list/', - }, - { - title: '活动', - link: '/zh/interaction/event-list/', - }, - { - title: '论坛', - link: `${import.meta.env.VITE_SERVICE_FORUM_URL}`, - }, - ], - }, - { - title: '贡献与成长', - list: [ - { - title: 'SIG中心', - link: '/zh/sig/sig-list/', - }, - { - title: '贡献攻略', - link: '/zh/community/contribution/', - }, - { - title: '课程中心', - link: '/zh/learn/mooc/', - }, - ], - }, - ], - en: [ - { - title: 'About openEuler', - list: [ - { - title: 'Members', - link: '/en/community/member/', - }, - { - title: 'Governance', - link: '/en/community/organization/', - }, - { - title: 'Code of Conduct', - link: '/en/community/charter/', - }, - { - title: 'Statistics', - link: `${import.meta.env.VITE_SERVICE_DATASTAT_URL}/en/overview`, - }, - ], - }, - { - title: 'News & Blogs', - list: [ - { - title: 'News', - link: '/en/interaction/news-list/', - }, - { - title: 'Blogs', - link: '/en/interaction/blog-list/', - }, - { - title: 'White Papers', - link: '/en/showcase/technical-white-paper/', - }, - ], - }, - { - title: 'Access', - list: [ - { - title: 'openEuler Is Everywhere', - link: '/en/download/#get-openeuler', - }, - { - title: 'Latest Community Releases', - link: '/en/download/', - }, - { - title: 'Commercial Releases', - link: '/en/download/commercial-release/', - }, - // { - // title: '软件中心', - // link: `${import.meta.env.VITE_SERVICE_SOFTWARE_URL}/en`, - // }, - ], - }, - { - title: 'Services & Resources', - list: [ - { - title: 'Documentation', - link: `${import.meta.env.VITE_SERVICE_DOCS_URL}/en/`, - }, - { - title: 'FAQ', - link: `${import.meta.env.VITE_MAIN_DOMAIN_URL}/en/faq/`, - }, - { - title: 'Contact Us', - link: '/en/contact-us/', - }, - // { - // title: '反馈问题', - // link: '', - // }, - ], - }, - { - title: 'Communicate', - list: [ - { - title: 'Mailing Lists', - link: '/en/community/mailing-list/', - }, - { - title: 'Activities', - link: '/en/interaction/event-list/', - }, - { - title: 'Forum', - link: `${import.meta.env.VITE_SERVICE_FORUM_URL}`, - }, - ], - }, - { - title: 'Contribute', - list: [ - { - title: 'SIGs', - link: '/en/sig/sig-list/', - }, - { - title: 'Contribution Guide', - link: '/en/community/contribution/', - }, - { - title: 'Training', - link: '/zh/learn/mooc/', - }, - ], - }, - ], -}; - -export const friendshipLinks = { - zh: [ - { - link: 'https://portal.mulanos.cn/', - title: '木兰开源社区', - }, - { - link: 'https://www.hikunpeng.com/zh/', - title: '鲲鹏社区', - }, - { - link: 'https://pcl.ac.cn/', - title: '鹏城实验室', - }, - { - link: 'https://www.infoq.cn/?utm_source=openeuler&utm_medium=youlian', - title: 'infoQ', - }, - { - link: 'https://kaiyuanshe.cn/', - title: '开源社', - }, - { - link: 'http://www.vulab.com.cn/', - title: '中科微澜', - }, - { - link: 'https://www.authing.cn/', - title: 'Authing', - }, - { - link: 'https://www.opengauss.org/zh/', - title: 'openGauss', - }, - { - link: 'https://www.mindspore.cn/', - title: '昇思MindSpore', - }, - { - link: 'https://www.openubmc.cn/', - title: 'openUBMC', - }, - { - link: 'https://www.openfuyao.cn/', - title: 'openFuyao', - }, - { - link: 'http://www.ebaina.com/', - title: 'Ebaina', - }, - ], - en: [ - { - link: 'https://www.infoq.cn/?utm_source=openeuler&utm_medium=youlian', - title: 'infoQ', - }, - { - link: 'https://www.authing.cn/', - title: 'Authing', - }, - { - link: 'https://www.opengauss.org/en/', - title: 'openGauss', - }, - { - link: 'https://www.mindspore.cn/en/', - title: 'MindSpore', - }, - { - link: 'https://www.openubmc.cn/', - title: 'openUBMC', - }, - { - link: 'https://www.openfuyao.cn/', - title: 'openFuyao', - }, - { - link: 'http://www.ebaina.com/', - title: 'Ebaina', - }, - ], -}; - -export const filingData = { - link: 'https://beian.miit.gov.cn/#/Integrated/index', - icon: police, -}; \ No newline at end of file diff --git a/app/.vitepress/src/config/toc.ts b/app/.vitepress/src/config/toc.ts deleted file mode 100644 index ef86a32173350e6e814001ece04260209369f0d8..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/config/toc.ts +++ /dev/null @@ -1,7 +0,0 @@ -// @ts-expect-error public资源导入 -import TOC from '/toc/toc.json?url&raw'; -// @ts-expect-error public资源导入 -import TOC_EN from '/toc/toc-en.json?url&raw'; - -export const TOC_CONFIG = JSON.parse(TOC); -export const TOC_EN_CONFIG = JSON.parse(TOC_EN); \ No newline at end of file diff --git a/app/.vitepress/src/config/version.ts b/app/.vitepress/src/config/version.ts deleted file mode 100644 index abb38c0c26a451b2ccb6901b60acabfb4a03e33f..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/config/version.ts +++ /dev/null @@ -1,240 +0,0 @@ -export const versions = { - zh: [ - { - label: '25.09', - value: '25.09', - }, - { - label: '24.03 LTS SP2', - value: '24.03_LTS_SP2', - }, - { - label: '25.03', - value: '25.03', - }, - { - label: '24.03 LTS SP1', - value: '24.03_LTS_SP1', - }, - { - label: '22.03 LTS SP4', - value: '22.03_LTS_SP4', - }, - { - label: '24.03 LTS', - value: '24.03_LTS', - href: '/zh/docs/24.03_LTS/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '22.03 LTS SP3', - value: '22.03_LTS_SP3', - href: '/zh/docs/22.03_LTS_SP3/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '20.03 LTS SP4', - value: '20.03_LTS_SP4', - href: '/zh/docs/20.03_LTS_SP4/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '22.03 LTS SP1', - value: '22.03_LTS_SP1', - href: '/zh/docs/22.03_LTS_SP1/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '24.09', - value: '24.09', - href: '/zh/docs/24.09/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '23.09', - value: '23.09', - archive: true, - href: '/zh/docs/23.09/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '22.03 LTS SP2', - value: '22.03_LTS_SP2', - archive: true, - href: '/zh/docs/22.03_LTS_SP2/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '23.03', - value: '23.03', - archive: true, - href: '/zh/docs/23.03/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '22.09', - value: '22.09', - archive: true, - href: '/zh/docs/22.09/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '22.03 LTS', - value: '22.03_LTS', - archive: true, - href: '/zh/docs/22.03_LTS/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '20.03 LTS SP3', - value: '20.03_LTS_SP3', - archive: true, - href: '/zh/docs/20.03_LTS_SP3/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '21.09', - value: '21.09', - archive: true, - href: '/zh/docs/21.09/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '20.03 LTS SP2', - value: '20.03_LTS_SP2', - archive: true, - href: '/zh/docs/20.03_LTS_SP2/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '21.03', - value: '21.03', - archive: true, - href: '/zh/docs/21.03/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '20.03 LTS SP1', - value: '20.03_LTS_SP1', - archive: true, - href: '/zh/docs/20.03_LTS_SP1/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '20.09', - value: '20.09', - archive: true, - href: '/zh/docs/20.09/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - { - label: '20.03 LTS', - value: '20.03_LTS', - archive: true, - href: '/zh/docs/20.03_LTS/docs/Releasenotes/%E6%B3%95%E5%BE%8B%E5%A3%B0%E6%98%8E.html', - }, - ], - en: [ - { - label: '25.09', - value: '25.09', - }, - { - label: '24.03 LTS SP2', - value: '24.03_LTS_SP2', - }, - { - label: '25.03', - value: '25.03', - }, - { - label: '24.03 LTS SP1', - value: '24.03_LTS_SP1', - }, - { - label: '22.03 LTS SP4', - value: '22.03_LTS_SP4', - }, - { - label: '24.03 LTS', - value: '24.03_LTS', - href: '/en/docs/24.03_LTS/docs/Releasenotes/terms-of-use.html', - }, - { - label: '22.03 LTS SP3', - value: '22.03_LTS_SP3', - href: '/en/docs/22.03_LTS_SP3/docs/Releasenotes/terms-of-use.html', - }, - { - label: '20.03 LTS SP4', - value: '20.03_LTS_SP4', - href: '/en/docs/20.03_LTS_SP4/docs/Releasenotes/terms-of-use.html', - }, - { - label: '22.03 LTS SP1', - value: '22.03_LTS_SP1', - href: '/en/docs/22.03_LTS_SP1/docs/Releasenotes/terms-of-use.html', - }, - { - label: '24.09', - value: '24.09', - href: '/en/docs/24.09/docs/Releasenotes/terms-of-use.html', - }, - { - label: '23.09', - value: '23.09', - archive: true, - href: '/en/docs/23.09/docs/Releasenotes/terms-of-use.html', - }, - { - label: '22.03 LTS SP2', - value: '22.03_LTS_SP2', - archive: true, - href: '/en/docs/22.03_LTS_SP2/docs/Releasenotes/terms-of-use.html', - }, - { - label: '23.03', - value: '23.03', - archive: true, - href: '/en/docs/23.03/docs/Releasenotes/terms-of-use.html', - }, - { - label: '22.09', - value: '22.09', - archive: true, - href: '/en/docs/22.09/docs/Releasenotes/terms-of-use.html', - }, - { - label: '22.03 LTS', - value: '22.03_LTS', - archive: true, - href: '/en/docs/22.03_LTS/docs/Releasenotes/terms-of-use.html', - }, - { - label: '20.03 LTS SP3', - value: '20.03_LTS_SP3', - archive: true, - href: '/en/docs/20.03_LTS_SP3/docs/Releasenotes/terms-of-use.html', - }, - { - label: '21.09', - value: '21.09', - archive: true, - href: '/en/docs/21.09/docs/Releasenotes/terms-of-use.html', - }, - { - label: '20.03 LTS SP2', - value: '20.03_LTS_SP2', - archive: true, - href: '/en/docs/20.03_LTS_SP2/docs/Releasenotes/terms-of-use.html', - }, - { - label: '21.03', - value: '21.03', - archive: true, - href: '/en/docs/21.03/docs/Releasenotes/terms-of-use.html', - }, - { - label: '20.03 LTS SP1', - value: '20.03_LTS_SP1', - archive: true, - href: '/en/docs/20.03_LTS_SP1/docs/Releasenotes/terms-of-use.html', - }, - { - label: '20.09', - value: '20.09', - archive: true, - href: '/en/docs/20.09/docs/Releasenotes/terms-of-use.html', - }, - { - label: '20.03 LTS', - value: '20.03_LTS', - archive: true, - href: '/en/docs/20.03_LTS/docs/Releasenotes/terms-of-use.html', - }, - ], -}; diff --git a/app/.vitepress/src/i18n/common/common-en.ts b/app/.vitepress/src/i18n/common/common-en.ts deleted file mode 100644 index c678af2af1c57d1d48f1680820f7b3fd03f3c83f..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/common/common-en.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default { - docCenter: 'Document Center', - returnHome: 'Back to Homepage', - empty: 'No data available', -}; diff --git a/app/.vitepress/src/i18n/common/common-zh.ts b/app/.vitepress/src/i18n/common/common-zh.ts deleted file mode 100644 index b1f7fcd48af16a138a455557eb67a99892b53aa4..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/common/common-zh.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default { - docCenter: '文档中心', - returnHome: '返回首页', - empty: '暂无数据', -}; diff --git a/app/.vitepress/src/i18n/common/index.ts b/app/.vitepress/src/i18n/common/index.ts deleted file mode 100644 index 5e71d72c1d9ad7ef20febc50832f46fe39e82f91..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/common/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import zh from './common-zh'; -import en from './common-en'; - -export default { - zh, - en, -}; diff --git a/app/.vitepress/src/i18n/cookie/cookie-en.ts b/app/.vitepress/src/i18n/cookie/cookie-en.ts deleted file mode 100644 index ddf1171ede12fe54879e046abfecea97fef4d4e9..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/cookie/cookie-en.ts +++ /dev/null @@ -1,18 +0,0 @@ -export default { - title: 'openEuler Community Respects Your Privacy.', - desc: 'his site uses cookies from us and our partners to improve your browsing experience and make the site work properly. By clicking "Accept All", you consent to the use of cookies. By clicking "Reject All", you disable the use of unnecessary cookies. You can manage your cookie settings by clicking "Manage Cookies". For more information or to change your cookie settings, please refer to our ', - link: 'About Cookies', - acceptAll: 'Accept All', - rejectAll: 'Reject All', - manage: 'Manage Cookies', - necessaryCookie: 'Strictly Necessary Cookies', - necessaryCookieTip: 'Always active', - necessaryCookieDetail: - 'These cookies are necessary for the site to work properly and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as logging in or filling in forms. You can set the browser to block these cookies, but that can make parts of the site not work. These cookies do not store any personally identifiable information.', - analyticalCookie: 'Analytics Cookies', - analyticalCookieDetail: - 'We will use these cookies only with your consent. These cookies help us make improvements by collecting statistics such as the number of visits and traffic sources.', - saveSetting: 'Save Settings', - allowAll: 'Accept All', - setting: 'Cookie Settings', -}; diff --git a/app/.vitepress/src/i18n/cookie/cookie-zh.ts b/app/.vitepress/src/i18n/cookie/cookie-zh.ts deleted file mode 100644 index ee48fc4d5459a4e2cff0aab797743f3c31dc8d16..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/cookie/cookie-zh.ts +++ /dev/null @@ -1,18 +0,0 @@ -export default { - title: 'openEuler社区重视您的隐私', - desc: '我们在本网站上使用Cookie,包括第三方Cookie,以便网站正常运行和提升浏览体验。单击“全部接受”即表示您同意这些目的;单击“全部拒绝”即表示您拒绝非必要的Cookie;单击“管理Cookie”以选择接受或拒绝某些Cookie。需要了解更多信息或随时更改您的Cookie首选项,请参阅我们的', - link: '《关于cookies》', - acceptAll: '全部接受', - rejectAll: '全部拒绝', - manage: '管理Cookie', - necessaryCookie: '必要Cookie', - necessaryCookieTip: '始终启用', - necessaryCookieDetail: - '这些Cookie是网站正常工作所必需的,不能在我们的系统中关闭。它们通常仅是为了响应您的服务请求而设置的,例如登录或填写表单。您可以将浏览器设置为阻止Cookie来拒绝这些Cookie,但网站的某些部分将无法正常工作。这些Cookie不存储任何个人身份信息。', - analyticalCookie: '统计分析Cookie', - analyticalCookieDetail: - '我们将根据您的同意使用和处理这些非必要Cookie。这些Cookie允许我们获得摘要统计数据,例如,统计访问量和访问者来源,便于我们改进我们的网站。', - saveSetting: '保存设置', - allowAll: '全部接受', - setting: 'Cookie设置', -}; diff --git a/app/.vitepress/src/i18n/cookie/index.ts b/app/.vitepress/src/i18n/cookie/index.ts deleted file mode 100644 index a92f0d20f74183595cb1bcdcc6379de062e849bd..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/cookie/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import zh from './cookie-zh'; -import en from './cookie-en'; - -export default { - zh, - en, -}; diff --git a/app/.vitepress/src/i18n/docs/docs-en.ts b/app/.vitepress/src/i18n/docs/docs-en.ts deleted file mode 100644 index 345d474511ca94c9673ca4614798aa3d4ffbc6ec..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/docs/docs-en.ts +++ /dev/null @@ -1,21 +0,0 @@ -export default { - inputTip: 'Enter a keyword.', - origin: 'Source', - noResultText: 'No result is found. Try other keywords.', - find: 'find', - result: 'result', - searchResult: 'Search Result', - copySuccess: 'Copied successfully.', - document: 'Document', - anchorTip: 'Content on This Page', - innerInputTip: 'Search in this document.', - version: 'Version: ', - version1: 'Version', - viewGiteeSource: 'View source on Gitee', - confirmTitle: 'Confirm', - resetTitle: 'Reset', - versionFilter: 'Version', - previous: 'Previous', - next: 'Next', - archive: 'No Longer Maintained', -}; diff --git a/app/.vitepress/src/i18n/docs/docs-zh.ts b/app/.vitepress/src/i18n/docs/docs-zh.ts deleted file mode 100644 index b05a99468d6fb6b64ad5496a3b1b12903770c2f3..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/docs/docs-zh.ts +++ /dev/null @@ -1,21 +0,0 @@ -export default { - inputTip: '请输入您要查询的文档内容/关键词', - origin: '来自', - noResultText: '未找到相关内容,请尝试其他搜索词', - find: '找到', - result: '个结果', - searchResult: '搜索结果', - copySuccess: '复制成功', - document: '文档', - anchorTip: '本页内容', - innerInputTip: '在本文档内搜索', - version: '版本:', - version1: '版本', - viewGiteeSource: '在Gitee上查看源文件', - confirmTitle: '确定', - resetTitle: '重置', - versionFilter: '版本筛选', - previous: '上一篇', - next: '下一篇', - archive: '停止维护', -}; diff --git a/app/.vitepress/src/i18n/docs/index.ts b/app/.vitepress/src/i18n/docs/index.ts deleted file mode 100644 index 240e99ca1c15332d1e1003846fe1da373f14325e..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/docs/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import zh from './docs-zh'; -import en from './docs-en'; - -export default { - zh, - en, -}; diff --git a/app/.vitepress/src/i18n/feedback/feedback-en.ts b/app/.vitepress/src/i18n/feedback/feedback-en.ts deleted file mode 100644 index f42505987dcd2add341b6a1a15a6759ba5de8e66..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/feedback/feedback-en.ts +++ /dev/null @@ -1,46 +0,0 @@ -export default { - title1: 'Are you satisfied with', - title2: ' openEuler Docs', - title3: '', - grade1: '0: Unsatisfied', - grade2: '10: Very satisfied', - placeholder1: 'Please tell us why you are not satisfied with openEuler Docs.', - placeholder2: 'What improvements would you like to see with openEuler Docs?', - placeholder3: 'Please tell us what you like about openEuler Docs.', - more1: 'Thanks for your feedback.', - submit: 'Submit', - cancel: 'Cancel', - recommendTip1: 'Please tell us why you are not satisfied with openEuler Docs.', - recommendTip2: 'What improvements would you like to see with openEuler Docs?', - recommendTip3: 'Please tell us why you recommend openEuler Docs.', - submitBusy: 'Too many submissions. Try again later.', - feedbackFailed: 'Feedback failed.', - issueBack: 'Report an Issue', - issueBackDecs: 'Quickly get support from the technical team.', - - bugCatching: 'Bug', - bugCatchingTitle: 'Bug Catching', - bugContentTitle: 'Buggy Content', - bugContentPlaceholder: 'Copy and paste the buggy document content here.', - bugDescription: 'Bug Description', - submitAs: 'Submit As', - bugType: 'Bug Type', - bugDescriptionPlaceholder: 'Describe the bug so that we can quickly locate the problem.', - bugPostPrivacyPolicy: 'By submitting your content, you fully understand and agree to the openEuler', - privacyPolicy: 'Privacy Policy', - input: 'Enter here.', - - wantSubmitMark: 'Rate Now', - confirmTitle: 'Confirm', - rating: 'Rating', - feedbackSuccess: 'Submission successful. Thank you for your feedback!', - feedbackSubmitFailed: 'Submission failed. Please refresh the page and try again.', - moreInfo: 'We appreciate your feedback. For assistance, ', - moreInfo2: 'post your query', - moreInfo3: ' in the forum.', - - forum: 'Forum', - forumHelp: 'Get Help in the Forum', - forumTip: 'Collaborate to resolve issues.', - quickIssueTip: 'Quickly submit or track community issues.', -}; diff --git a/app/.vitepress/src/i18n/feedback/feedback-zh.ts b/app/.vitepress/src/i18n/feedback/feedback-zh.ts deleted file mode 100644 index 24bec6a7d20ad0c36f3af202532089b0ef8d47d9..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/feedback/feedback-zh.ts +++ /dev/null @@ -1,46 +0,0 @@ -export default { - title1: '您对', - title2: ' openEuler文档 ', - title3: '的整体满意度如何?', - grade1: '0-不满意', - grade2: '10-非常满意', - placeholder1: '请输入您不太满意的原因', - placeholder2: '改进哪些方面会让您更满意?', - placeholder3: '请输入您满意的原因', - more1: '感谢您的反馈', - submit: '提交', - cancel: '取消', - recommendTip1: '请输入您不太推荐的原因', - recommendTip2: '改进哪些方面会让您更愿意推荐?', - recommendTip3: '请输入您推荐的原因', - submitBusy: '提交过于频繁,请稍后再试', - feedbackFailed: '反馈失败', - issueBack: '问题反馈', - issueBackDecs: '获得技术团队的快速支持', - - bugCatching: '文档捉虫', - bugCatchingTitle: '文档捉虫', - bugContentTitle: '“有虫”文档片段', - bugContentPlaceholder: '点击输入将“有虫”文档复制、粘贴到此处', - bugDescription: '问题描述', - submitAs: '提交类型', - bugType: '问题类型', - bugDescriptionPlaceholder: '点击输入详细问题描述,以帮助我们快速定位问题', - bugPostPrivacyPolicy: '您理解并同意,您填写并提交的内容,即视为您已充分阅读并同意openEuler的', - privacyPolicy: '《隐私政策》', - input: '请输入', - - wantSubmitMark: '我要评分', - confirmTitle: '确定', - rating: '评分', - feedbackSuccess: '提交成功,感谢您的反馈!', - feedbackSubmitFailed: '提交失败,请刷新页面后重新提交!', - moreInfo: '感谢您的反馈,如需帮助,可论坛', - moreInfo2: '发帖求助', - moreInfo3: '', - - forum: '论坛', - forumHelp: '论坛求助', - forumTip: '发帖互助解决各类问题', - quickIssueTip: '快捷提交/查询社区Issues', -}; diff --git a/app/.vitepress/src/i18n/feedback/index.ts b/app/.vitepress/src/i18n/feedback/index.ts deleted file mode 100644 index 74a8767a27d3d815cf4a1569c2cadee832777e08..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/feedback/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import en from './feedback-en'; -import zh from './feedback-zh'; - -export default { - en, - zh, -}; diff --git a/app/.vitepress/src/i18n/footer/footer-en.ts b/app/.vitepress/src/i18n/footer/footer-en.ts deleted file mode 100644 index 8f5a4f868be80312bd449f84b24a67c9fe6f0bee..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/footer/footer-en.ts +++ /dev/null @@ -1,12 +0,0 @@ -export default { - atomText: 'openEuler, an open source OS incubated by the OpenAtom Foundation for digital infrastructure in server, cloud, edge, embedded scenarios, across Arm, x86, RISC-V, LoongArch, PowerPC, and SW-64 architectures.', - mail: 'contact@openeuler.io', - copyRight: 'Copyright © {0} openEuler. All rights reserved.', - license_1: 'Licensed under', - license_2: 'the MulanPSL2', - qrCode: 'WeChat Subscription', - qrAssistant: 'WeChat Assistant', - friendshipLink: 'Related Links', - filingText1: 'J. ICP B. No. 2020036654-1', - filingText2: 'J.G.W.A.B. No. 11030102011597', -}; diff --git a/app/.vitepress/src/i18n/footer/footer-zh.ts b/app/.vitepress/src/i18n/footer/footer-zh.ts deleted file mode 100644 index 09b5fbc9e653cffb77c7f773415a10ad4b77f3ed..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/footer/footer-zh.ts +++ /dev/null @@ -1,12 +0,0 @@ -export default { - atomText: 'openEuler是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持ARM、x86、RISC-V、loongArch、PowerPC、SW-64等多样性计算架构', - mail: 'contact@openeuler.io', - copyRight: '版权所有 © {0} openEuler 保留一切权利', - license_1: '遵循', - license_2: '木兰宽松许可证第2版(MulanPSL2)', - qrCode: 'openEuler公众号', - qrAssistant: 'openEuler小助手', - friendshipLink: '友情链接', - filingText1: '京ICP备2020036654号-1', - filingText2: '京公网安备 11030102011597 号', -}; diff --git a/app/.vitepress/src/i18n/footer/index.ts b/app/.vitepress/src/i18n/footer/index.ts deleted file mode 100644 index 950a6f9651894b5097ebb0cd32357659e3547a55..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/footer/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import zh from './footer-zh'; -import en from './footer-en'; - -export default { - zh, - en, -}; \ No newline at end of file diff --git a/app/.vitepress/src/i18n/header/header-en.ts b/app/.vitepress/src/i18n/header/header-en.ts deleted file mode 100644 index f0f7112c397080000e21b58ef9566fd41dbb0b70..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/header/header-en.ts +++ /dev/null @@ -1,470 +0,0 @@ -import { markRaw } from 'vue'; - -import Summit from '@/assets/category/header/summit.jpg'; -import SummitDark from '@/assets/category/header/summit-dark.jpg'; - -import IconOutLink from '~icons/app/icon-out-link.svg'; -import IconChevronRight from '~icons/app/icon-chevron-right.svg'; - -const TAG_TYPE = { - HOT: 'HOT', - NEW: 'NEW', -}; - -const OutLink = markRaw(IconOutLink); - -export default { - NAV_ROUTER: [ - { - NAME: 'Download', - ID: 'download', - CHILDREN: [ - { - NAME: 'Get openEuler', - CHILDREN: [ - { - NAME: 'openEuler 25.09', - DESCRIPTION: 'Experience server, cloud, edge, embedded innovations based on Linux kernel 6.6.', - TAG: TAG_TYPE.NEW, - URL: '/download/#openEuler 25.09', - }, - { - NAME: 'openEuler 24.03 LTS SP2', - DESCRIPTION: 'Enhanced 24.03 LTS SP2 on kernel 6.6. Better experience for users and devs.', - TAG: null, - URL: '/download/#openEuler 24.03 LTS SP2', - }, - { - NAME: 'openEuler 24.03 LTS SP1', - DESCRIPTION: 'Enhanced 24.03 LTS SP1 on kernel 6.6. Better experience for users and devs.', - TAG: null, - URL: '/download/#openEuler 24.03 LTS SP1', - }, - { - NAME: 'More', - DESCRIPTION: 'Get openEuler from public clouds or container images.', - TAG: null, - URL: '/download/#get-openeuler', - }, - ], - }, - { - NAME: 'Other Releases', - CHILDREN: [ - { - NAME: 'Commercial Releases', - DESCRIPTION: 'Commercial releases for x86, Arm, and RISC-V.', - URL: '/download/commercial-release/', - }, - ], - }, - { - NAME: 'Related Resources', - CHILDREN: [ - { - NAME: 'Mirrors', - DESCRIPTION: 'All mirror sites of openEuler.', - URL: '/mirror/list/', - }, - { - NAME: 'Repo', - DESCRIPTION: "Repo of openEuler's community releases.", - URL: 'https://repo.openeuler.openatom.cn/', - }, - ], - }, - ], - SHORTCUT: [ - { - NAME: 'Historical Releases', - URL: '/download/archive/', - }, - { - NAME: 'openEuler Lifecycle', - URL: '/other/lifecycle/', - }, - { - NAME: 'openEuler 25.09 Installation Guide', - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/en/docs/25.09/server/installation_upgrade/installation/installation_preparations.html`, - }, - { - NAME: 'openEuler 24.03 LTS SP2 Installation Guide', - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/en/docs/24.03_LTS_SP2/server/installation_upgrade/installation/installation_preparations.html`, - }, - { - NAME: 'Technical White Papers', - URL: '/showcase/technical-white-paper/', - }, - ], - }, - { - NAME: 'Develop', - ID: 'development', - CHILDREN: [ - { - NAME: 'Contribute', - CHILDREN: [ - { - NAME: 'SIGs', - DESCRIPTION: 'Explore diverse SIGs.', - URL: '/sig/sig-list/', - }, - { - NAME: 'CLA', - DESCRIPTION: 'Sign the CLA to protect your work—multiple options available!', - URL: 'https://clasign.osinfra.cn/sign/gitee_openeuler-1611298811283968340', - ICON: OutLink, - }, - { - NAME: 'Contribution Guide', - DESCRIPTION: 'See how to get involved and make an impact in our community.', - URL: '/community/contribution/', - }, - ], - }, - { - NAME: 'Build', - CHILDREN: [ - { - NAME: 'EulerMaker', - DESCRIPTION: 'An open, unified build service for streamlined development.', - URL: 'https://eulermaker.compass-ci.openeuler.openatom.cn/', - ANALYTICSNAME: 'eulermaker', - }, - { - NAME: 'openEuler User Repo', - DESCRIPTION: 'An easy-to-use package hosting and distribution platform.', - URL: 'https://eur.openeuler.openatom.cn/coprs/', - }, - { - NAME: 'Submit Package', - DESCRIPTION: 'Contribute software packages efficiently to the community.', - URL: `${import.meta.env.VITE_SERVICE_SOFTWARE_PKG_URL}/en/package`, - }, - ], - }, - { - NAME: 'Release', - CHILDREN: [ - { - NAME: 'OEPKGS', - DESCRIPTION: 'A third-party extension repository for openEuler.', - URL: 'https://oepkgs.net/en-CN', - ICON: OutLink, - }, - ], - }, - { - NAME: 'Analyze', - CHILDREN: [ - { - NAME: 'Pkgship', - DESCRIPTION: 'A tool to query OS package information and dependencies with ease.', - URL: import.meta.env.VITE_SERVICE_PKGMANAGE_URL, - ANALYTICSNAME: 'pkgship', - }, - ], - }, - { - NAME: 'Projects', - CHILDREN: [ - { - NAME: 'A-Tune', - DESCRIPTION: 'An AI-powered intelligent tuning engine.', - URL: '/other/projects/atune/', - }, - { - NAME: 'iSula', - DESCRIPTION: 'A container solution.', - URL: '/other/projects/isula/', - }, - { - NAME: 'secGear', - DESCRIPTION: 'A confidential computing framework for building secure applications.', - URL: '/other/projects/secgear/', - }, - { - NAME: 'All projects', - DESCRIPTION: '', - URL: '/projects', - ICON: IconChevronRight, - }, - ], - }, - ], - SHORTCUT: [], - }, - { - NAME: 'Document', - ID: 'document', - CHILDREN: [ - { - NAME: 'Document', - CHILDREN: [ - { - NAME: 'Document Center', - DESCRIPTION: 'Your go-to resource for different service scenarios and tool usage.', - TAG: TAG_TYPE.HOT, - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/en/`, - }, - { - NAME: 'Quick Start', - DESCRIPTION: 'Learn the community essentials in 10 minutes, build and grow quickly.', - TAG: TAG_TYPE.HOT, - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/en/docs/25.09/server/quickstart/quickstart/quick_start.html`, - }, - { - NAME: 'Installation Guide', - DESCRIPTION: 'Step-by-step instructions for installing openEuler.', - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/en/docs/25.09/server/installation_upgrade/installation/installation_preparations.html`, - }, - { - NAME: 'Frequently Asked Questions', - DESCRIPTION: 'Get answers to common questions and troubleshooting tips.', - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/en/docs/common/faq/general/general_faq.html`, - }, - { - NAME: 'Documentation Development Guide', - DESCRIPTION: 'Discover how you can contribute to document development.', - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/en/docs/common/contribute/directory_structure_introductory.html`, - }, - ], - }, - ], - SHORTCUT: [], - }, - { - NAME: 'Learn', - ID: 'learn', - CHILDREN: [ - { - NAME: 'Training', - CHILDREN: [ - { - NAME: 'Tutorials', - DESCRIPTION: 'Series of openEuler video tutorials to help you get started.', - URL: '/learn/mooc/', - }, - ], - }, - ], - SHORTCUT: [], - }, - { - NAME: 'Support', - ID: 'approve', - CHILDREN: [ - { - NAME: 'Compatibility', - CHILDREN: [ - { - NAME: 'Compatibility List', - DESCRIPTION: 'Check hardware and software compatibility with openEuler.', - URL: '/compatibility/', - }, - ], - }, - { - NAME: 'Migration', - CHILDREN: [ - { - NAME: 'Migrate to openEuler', - DESCRIPTION: 'Guides for migrating to openEuler.', - URL: '/migration/', - }, - ], - }, - { - NAME: 'Security', - CHILDREN: [ - { - NAME: 'Security Center', - DESCRIPTION: 'Track the latest vulnerabilities, security advisories, and more.', - URL: '/security/security-bulletins/', - }, - { - NAME: 'Bug Center', - DESCRIPTION: 'Discover bug fixes.', - URL: '/security/bug-bulletins/', - }, - ], - }, - ], - SHORTCUT: [ - { - NAME: 'Overall Introduction to the openEuler Hardware Compatibility Test', - URL: '/compatibility/hardware/', - }, - { - NAME: 'Get x2openEuler', - URL: '/migration/download/', - }, - { - NAME: 'Migration Practices', - URL: '/migration/user-cases/', - }, - { - NAME: 'FAQs', - URL: '/faq/', - }, - ], - }, - { - NAME: 'Community', - ID: 'community', - CHILDREN: [ - { - NAME: 'About', - CHILDREN: [ - { - NAME: 'Governance', - DESCRIPTION: 'Members of openEuler committees.', - URL: '/community/organization/', - }, - { - NAME: 'Code of Conduct', - DESCRIPTION: "openEuler's code of conduct.", - URL: '/community/conduct/', - }, - { - NAME: 'Members', - DESCRIPTION: 'Companies and organizations contributing to openEuler.', - URL: '/community/member/', - }, - { - NAME: 'Statistics', - DESCRIPTION: 'Find stats and see how the openEuler community thrives.', - URL: `${import.meta.env.VITE_SERVICE_DATASTAT_URL}/en/overview`, - }, - { - NAME: 'Contact Us', - DESCRIPTION: 'Email us or follow us on social media.', - URL: '/contact-us/', - }, - { - NAME: 'Success Stories', - DESCRIPTION: 'Explore how openEuler is used across various industries.', - URL: '/showcase/', - }, - { - NAME: 'White Papers', - DESCRIPTION: 'Insights into the tech details and applications of each release.', - URL: '/showcase/technical-white-paper/', - }, - ], - }, - { - NAME: 'Engage with Us', - CHILDREN: [ - { - NAME: 'Forum', - DESCRIPTION: 'Share knowledge, ask anything, and solve together.', - URL: `${import.meta.env.VITE_SERVICE_FORUM_URL}/?locale=en`, - }, - { - NAME: 'Mailing Lists', - DESCRIPTION: 'Discuss openEuler tech and progress on our mailing lists.', - URL: '/community/mailing-list/', - }, - { - NAME: 'QuickIssue', - DESCRIPTION: 'Submit and track community issues quickly and easily.', - URL: `${import.meta.env.VITE_SERVICE_QUICKISSUE_URL}/en/issues/`, - }, - ], - }, - ], - SHORTCUT: [], - }, - { - NAME: 'Stay Updated', - ID: 'update', - WITH_PICTURE: true, - CHILDREN: [ - { - NAME: 'Activities', - CHILDREN: [ - { - NAME: 'Community Calendar', - DESCRIPTION: "Stay informed with openEuler's key events, conferences, and releases.", - URL: '/interaction/event-list/', - }, - { - NAME: 'Events', - DESCRIPTION: 'Meet openEuler and connect with the community at every key event.', - URL: '/interaction/summit-list/summit2025/', - }, - { - NAME: 'Call for X Program', - DESCRIPTION: 'Become openEuler Valuable Professionals or contribute tech tutorials!', - URL: '/community/program/', - }, - ], - }, - { - NAME: 'News & Blogs', - CHILDREN: [ - { - NAME: 'News', - DESCRIPTION: 'Follow the latest developments, releases, and community updates.', - URL: '/interaction/news-list/', - }, - { - NAME: 'Blogs', - DESCRIPTION: 'Gain in-depth knowledge and fresh perspectives on openEuler.', - URL: '/interaction/blog-list/', - }, - { - NAME: 'Monthly Bulletins', - DESCRIPTION: "What's new in the openEuler community.", - URL: '/monthly-bulletins/', - }, - ], - }, - ], - SHORTCUT: [ - { - NAME: 'Operating System Confenrence & openEuler Summit 2025', - PICTURE: Summit, - PICTURE_PARK: SummitDark, - DESCRIPTION: - 'As AI transitions from exploration to real-world implementation, operating systems are crucial for unleashing massive AI computing power. Celebrating six years of open source excellence, openEuler has achieved holistic growth in business, technology, and its ecosystem. It now powers a diverse range of scenarios—from servers and cloud-native to edge computing and embedded systems—serving users across the globe and driving foundational software innovation.', - REMARK: 'November 14-15, 2025 | Beijing', - TYPE: 'PICTURE', - URL: '/interaction/summit-list/summit2025/', - }, - ], - }, - ], - USER_CENTER: 'User Center', - MESSAGE_CENTER: 'Message Center', - LOGOUT: 'Logout', - CODE: 'Code', - QUICKLINK: 'Quick Link', - SEARCH: { - BROWSEHISTORY: 'History', - CLEAN: 'Clean up', - TOPSEARCH: 'Top search', - CHANGE: 'Change', - PLEACHOLDER: 'Please enter...', - PLEACHOLDER_EXTEND: 'Please enter the content', - TEXT: 'Search', - }, - SOURCE_CODE: [ - { - NAME: 'Code Sources', - PATH: 'https://gitee.com/openeuler', - ICON: OutLink, - }, - { - NAME: 'Package Sources', - PATH: 'https://gitee.com/src-openeuler', - ICON: OutLink, - }, - { - NAME: 'GitHub Mirror', - PATH: 'https://github.com/openeuler-mirror', - ICON: OutLink, - }, - ], -}; diff --git a/app/.vitepress/src/i18n/header/header-zh.ts b/app/.vitepress/src/i18n/header/header-zh.ts deleted file mode 100644 index 13778911a3e992f9f0645267a8bb0298dbae8044..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/header/header-zh.ts +++ /dev/null @@ -1,632 +0,0 @@ -import { markRaw } from 'vue'; - -import Summit from '@/assets/category/header/summit.jpg'; -import SummitDark from '@/assets/category/header/summit-dark.jpg'; - -import Odd from '@/assets/category/header/odd.png'; - -import IconOutLink from '~icons/app/icon-out-link.svg'; -import IconChevronRight from '~icons/app/icon-chevron-right.svg'; - -const TAG_TYPE = { - HOT: 'HOT', - NEW: 'NEW', -}; - -const OutLink = markRaw(IconOutLink); - -export default { - NAV_ROUTER: [ - { - NAME: '下载', - ID: 'download', - CHILDREN: [ - { - NAME: '获取openEuler', - CHILDREN: [ - { - NAME: 'openEuler 25.09', - DESCRIPTION: - '基于6.6内核的创新版本,面向服务器、云、边缘计算和嵌入式场景,提供更多新特性和功能,给开发者和用户带来全新的体验,服务更多的领域和更多的用户。', - TAG: TAG_TYPE.NEW, - URL: '/download/#openEuler 25.09', - }, - { - NAME: 'openEuler 24.03 LTS SP2', - DESCRIPTION: - '基于6.6内核的LTS版本,面向服务器、云、边缘计算和嵌入式场景,提供更多新特性和功能,给开发者和用户带来全新的体验,服务更多的领域和更多的用户。', - TAG: null, - URL: '/download/#openEuler 24.03 LTS SP2', - }, - { - NAME: 'openEuler 24.03 LTS SP1', - DESCRIPTION: - '基于6.6内核的24.03 LTS版本增强扩展版本,面向服务器、云、边缘计算和嵌入式场景,持续提供更多新特性和功能扩展,给开发者和用户带来全新的体验,服务更多的领域和更多的用户。', - TAG: null, - URL: '/download/#openEuler 24.03 LTS SP1', - }, - { - NAME: '其他获取方式', - DESCRIPTION: '通过公有云、容器镜像等方式获取openEuler版本', - TAG: null, - URL: '/download/#get-openeuler', - }, - ], - }, - { - NAME: '其他版本', - CHILDREN: [ - { - NAME: '商业发行版', - DESCRIPTION: '基于openEuler发布的商业发行版。x86、AArch、LoongArch、sw 、RISC-V', - URL: '/download/commercial-release/', - }, - ], - }, - { - NAME: '获取其他资源', - CHILDREN: [ - { - NAME: '软件中心', - DESCRIPTION: '查询openEuler社区软件包', - URL: `${import.meta.env.VITE_SERVICE_SOFTWARE_URL}/zh`, - }, - { - NAME: '镜像仓列表', - DESCRIPTION: '查询openEuler所有镜像站点', - URL: '/mirror/list/', - }, - { - NAME: 'Repo源', - DESCRIPTION: '提供openEuler社区版本的repo文件', - URL: 'https://repo.openeuler.openatom.cn/', - }, - ], - }, - ], - SHORTCUT: [ - { - NAME: '查询所有版本', - URL: '/download?archive=true', - }, - { - NAME: '版本生命周期', - URL: '/other/lifecycle/', - }, - { - NAME: '25.09安装指南', - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/zh/docs/25.09/server/installation_upgrade/installation/installation_preparations.html`, - }, - { - NAME: '24.03 LTS SP2安装指南', - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/zh/docs/24.03_LTS_SP2/server/installation_upgrade/installation/installation_preparations.html`, - }, - { - NAME: '技术白皮书', - URL: '/showcase/technical-white-paper/', - }, - ], - }, - { - NAME: '开发', - ID: 'development', - CHILDREN: [ - { - NAME: '贡献', - CHILDREN: [ - { - NAME: 'SIG中心', - DESCRIPTION: '查询openEuler社区SIG组', - URL: '/sig/sig-list/', - }, - { - NAME: 'CLA签署', - DESCRIPTION: '参与贡献前,需签署贡献者许可协议(CLA)', - URL: 'https://clasign.osinfra.cn/sign/gitee_openeuler-1611298811283968340', - ICON: OutLink, - }, - { - NAME: '贡献攻略', - DESCRIPTION: '参与社区贡献的方式', - URL: '/community/contribution/', - }, - { - NAME: 'oEEP', - DESCRIPTION: '查看openEuler社区的演进提案', - URL: '/oEEP/?name=oEEP-0000 oEEP 索引', - }, - ], - }, - { - NAME: '构建', - CHILDREN: [ - { - NAME: 'EulerMaker', - DESCRIPTION: '开放式统一构建服务', - URL: 'https://eulermaker.compass-ci.openeuler.openatom.cn/', - ANALYTICSNAME: 'eulermaker', - }, - { - NAME: '用户软件仓(EUR)', - DESCRIPTION: '开发者易用的软件包托管分发平台', - URL: 'https://eur.openeuler.openatom.cn/coprs/', - }, - { - NAME: '软件包贡献', - DESCRIPTION: '简单高效地贡献软件包', - URL: `${import.meta.env.VITE_SERVICE_SOFTWARE_PKG_URL}/zh/package`, - }, - { - NAME: 'License工具门户', - DESCRIPTION: '检测License权利、义务、限制', - URL: import.meta.env.VITE_SERVICE_COMPLIANCE_URL, - ICON: OutLink, - ANALYTICSNAME: 'license', - }, - ], - }, - { - NAME: '发布', - CHILDREN: [ - { - NAME: 'EulerPublisher', - DESCRIPTION: 'openEuler云原生发布工具', - URL: 'https://gitee.com/openeuler/eulerpublisher', - ICON: OutLink, - }, - { - NAME: 'EulerLauncher', - DESCRIPTION: '跨平台openEuler虚拟机管理工具', - URL: 'https://gitee.com/openeuler/eulerlauncher', - ICON: OutLink, - }, - { - NAME: 'OEPKGS', - DESCRIPTION: 'OEPKGS软件托管平台', - URL: 'https://oepkgs.net/zh-CN', - ICON: OutLink, - }, - ], - }, - { - NAME: '分析', - CHILDREN: [ - { - NAME: 'oecp', - DESCRIPTION: '操作系统差异比较分析工具', - URL: 'https://gitee.com/openeuler/oecp', - ICON: OutLink, - }, - { - NAME: 'Pkgship', - DESCRIPTION: '管理操作系统软件包信息和依赖项的查询工具', - URL: import.meta.env.VITE_SERVICE_PKGMANAGE_URL, - ANALYTICSNAME: 'pkgship', - }, - ], - }, - { - NAME: '项目', - CHILDREN: [ - { - NAME: 'A-Tune', - DESCRIPTION: '基于AI开发的智能优化引擎', - URL: '/other/projects/atune/', - }, - { - NAME: 'iSula', - DESCRIPTION: '容器技术方案', - URL: '/other/projects/isula/', - }, - { - NAME: 'secGear', - DESCRIPTION: '开发安全应用的机密计算框架', - URL: '/other/projects/secgear/', - }, - { - NAME: 'NestOS', - DESCRIPTION: '基于欧拉开源操作系统的云底座操作系统', - URL: '/nestos', - }, - { - NAME: '全部项目', - DESCRIPTION: '', - URL: '/projects', - ICON: IconChevronRight, - }, - ], - }, - ], - SHORTCUT: [ - { - NAME: '企业签署CLA流程', - URL: '/blog/2022-11-25-cla/CLA%E7%AD%BE%E7%BD%B2%E6%B5%81%E7%A8%8B.html', - }, - { - NAME: 'CLA-FAQ', - ICON: OutLink, - URL: 'https://gitee.com/openeuler/infrastructure/blob/master/docs/cla-guide/faq/faq.md', - }, - { - NAME: '开发者日历', - URL: '/meeting/#calendar', - }, - ], - }, - { - NAME: '文档', - ID: 'document', - CHILDREN: [ - { - NAME: '文档', - CHILDREN: [ - { - NAME: '文档中心', - DESCRIPTION: '提供各业务场景及工具使用所需的文档手册', - TAG: TAG_TYPE.HOT, - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/zh/`, - }, - { - NAME: '新手入门', - DESCRIPTION: '10分钟玩转社区,快速构建与成长', - TAG: TAG_TYPE.HOT, - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/zh/docs/25.09/server/quickstart/quickstart/quick_start.html`, - }, - { - NAME: '安装指南', - DESCRIPTION: '指导用户顺利完成 openEuler 操作系统安装', - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/zh/docs/25.09/server/installation_upgrade/installation/installation_preparations.html`, - }, - { - NAME: '常见问题', - DESCRIPTION: '常见问题解决方法', - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/zh/docs/common/faq/general/general_faq.html`, - }, - { - NAME: '文档开发指南', - DESCRIPTION: '参与文档开发的方式', - URL: `${import.meta.env.VITE_SERVICE_DOCS_URL}/zh/docs/common/contribute/directory_structure_introductory.html`, - }, - ], - }, - ], - SHORTCUT: [], - }, - { - NAME: '学习', - ID: 'learn', - CHILDREN: [ - { - NAME: '课程', - CHILDREN: [ - { - NAME: '课程中心', - DESCRIPTION: '汇聚openEuler各类课程资源', - URL: '/learn/mooc/', - }, - ], - }, - { - NAME: '开发者成长', - CHILDREN: [ - { - NAME: '高校', - DESCRIPTION: '了解高校技术小组与实习赛事资讯', - URL: '/universities/', - }, - { - NAME: '人才培养', - DESCRIPTION: '帮助企业快速培养openEuler专业生态人才', - URL: '/talent-assessment/', - }, - { - NAME: '开源实习', - DESCRIPTION: '帮助在校学生在项目实践中提升能力,成为优秀的开源人才', - URL: '/internship/', - }, - ], - }, - ], - SHORTCUT: [ - { - NAME: '学习HCIA-openEuler 认证培训课程', - URL: '/learn/mooc/detail/', - }, - { - NAME: 'openEuler精品课程', - URL: 'https://c0605e03bb6b40dca9cd34ab5b3fb1f8.shixizhi.huawei.com/portal/1643780836745113602?pageId=1644269448177651714&activeIndex=-1&sxz-lang=zh_CN', - ICON: OutLink, - }, - { - NAME: '学习openEuler安全知识', - URL: 'https://space.bilibili.com/527064077/lists/2726214', - ICON: OutLink, - }, - { - NAME: '从入门到精通-openEuler操作系统迁移专题', - URL: 'https://c0605e03bb6b40dca9cd34ab5b3fb1f8.shixizhi.huawei.com/community/community.htm?communityId=1748285175854272513&schoolId=1643780836745113602&activeIndex=-1&subIndex=undefined&subIndex=undefined&sxz-lang=zh_CN', - }, - { - NAME: '活动与大赛', - URL: '/universities/#%E6%B4%BB%E5%8A%A8%E4%B8%8E%E5%A4%A7%E8%B5%9B', - }, - { - NAME: '高校技术小组', - URL: '/universities/#%E9%AB%98%E6%A0%A1%E6%8A%80%E6%9C%AF%E5%B0%8F%E7%BB%84', - }, - ], - }, - { - NAME: '支持', - ID: 'approve', - CHILDREN: [ - { - NAME: '兼容性专区', - CHILDREN: [ - { - NAME: '兼容性列表', - DESCRIPTION: '查看openEuler兼容性列表', - URL: '/compatibility/', - }, - { - NAME: '兼容性技术测评', - DESCRIPTION: '帮助企业快速申请兼容性技术测评', - URL: `${import.meta.env.VITE_SERVICE_CERTIFICATION_URL}/#/`, - }, - { - NAME: 'OSV技术测评', - DESCRIPTION: '查看OSV技术测评结果', - URL: '/approve/', - }, - ], - }, - { - NAME: '迁移与运维', - CHILDREN: [ - { - NAME: '迁移专区', - DESCRIPTION: '进行操作系统迁移的指南文档', - URL: '/migration/', - }, - { - NAME: '运维专区', - DESCRIPTION: 'openEuler运维全集和工具', - URL: '/om/', - }, - ], - }, - { - NAME: '安全公告', - CHILDREN: [ - { - NAME: '安全中心', - DESCRIPTION: '查看漏洞管理、安全公告等安全问题', - URL: '/security/security-bulletins/', - }, - { - NAME: '缺陷中心', - DESCRIPTION: '查看缺陷相关安全问题', - URL: '/security/bug-bulletins/', - }, - ], - }, - ], - SHORTCUT: [ - { - NAME: 'openEuler 硬件兼容性测试整体介绍', - URL: '/compatibility/hardware/', - }, - { - NAME: 'OSV技术测评整体介绍', - URL: '/approve/approve-step/', - }, - { - NAME: '迁移工具x2openEuler', - URL: '/migration/download/', - }, - { - NAME: '迁移实践', - URL: '/migration/user-cases/', - }, - { - NAME: 'FAQ', - URL: '/faq/', - }, - ], - }, - { - NAME: '社区', - ID: 'community', - CHILDREN: [ - { - NAME: '关于社区', - CHILDREN: [ - { - NAME: '组织架构', - DESCRIPTION: '了解openEuler的委员会成员', - URL: '/community/organization/', - }, - { - NAME: '社区章程', - DESCRIPTION: '了解openEuler的章程、条例、行为准则、License策略', - URL: '/community/charter/', - }, - { - NAME: '成员单位', - DESCRIPTION: '了解openEuler的捐赠单位', - URL: '/community/member/', - }, - { - NAME: '社区荣誉', - DESCRIPTION: '了解openEuler的荣誉奖项', - URL: '/community/honor/', - }, - { - NAME: '城市用户组', - DESCRIPTION: '区域用户交流圈', - URL: '/community/user-group/', - }, - { - NAME: '贡献看板', - DESCRIPTION: '查看openEuler社区数据', - URL: `${import.meta.env.VITE_SERVICE_DATASTAT_URL}/zh/overview`, - }, - { - NAME: '联系我们', - DESCRIPTION: '社区联系方式', - URL: '/contact-us/', - }, - { - NAME: '用户案例', - DESCRIPTION: '了解openEuler在各行业的最佳案例', - URL: '/showcase/', - }, - { - NAME: '白皮书', - DESCRIPTION: '了解openEuler各版本的技术详情及在行业的生态现状、业务场景的应用', - URL: '/showcase/technical-white-paper/', - }, - { - NAME: '市场研究报告', - DESCRIPTION: '了解openEuler在行业的市场研究情况', - URL: '/showcase/market-report/', - }, - ], - }, - { - NAME: '社区交流', - CHILDREN: [ - { - NAME: '论坛', - DESCRIPTION: '与开发者讨论openEuler', - URL: `${import.meta.env.VITE_SERVICE_FORUM_URL}/?locale=zh_CN`, - }, - { - NAME: '邮件列表', - DESCRIPTION: '订阅邮件列表,与SIG成员讨论openEuler的技术与进展', - URL: '/community/mailing-list/', - }, - { - NAME: '线上会议', - DESCRIPTION: '查询并参与SIG组例会', - URL: '/meeting/', - }, - { - NAME: 'QuickIssue', - DESCRIPTION: '简易快捷地查询、提交社区Issues', - URL: `${import.meta.env.VITE_SERVICE_QUICKISSUE_URL}/zh/issues/`, - }, - ], - }, - ], - SHORTCUT: [ - { - NAME: 'openEuler社区介绍PDF', - URL: `${import.meta.env.VITE_MAIN_DOMAIN_URL}/whitepaper/openEuler %E5%BC%80%E6%BA%90%E7%A4%BE%E5%8C%BA%E4%BB%8B%E7%BB%8D.pdf`, - }, - ], - }, - { - NAME: '动态', - ID: 'update', - WITH_PICTURE: true, - CHILDREN: [ - { - NAME: '活动', - CHILDREN: [ - { - NAME: '活动日历', - DESCRIPTION: '了解openEuler社区全年活动', - URL: '/interaction/event-list/', - }, - { - NAME: '峰会', - DESCRIPTION: '查看openEuler年度大会详情', - URL: '/interaction/summit-list/summit2025/', - }, - { - NAME: 'openEuler Call for X计划', - DESCRIPTION: '共享openEuler Call for X计划多元化资源', - URL: '/community/program/', - }, - ], - }, - { - NAME: '资讯', - CHILDREN: [ - { - NAME: '新闻', - DESCRIPTION: '查看openEuler社区动态', - URL: '/interaction/news-list/', - }, - { - NAME: '博客', - DESCRIPTION: '查看openEuler技术文章分享', - URL: '/interaction/blog-list/', - }, - { - NAME: '月刊与年报', - DESCRIPTION: '查看openEuler社区运作报告', - URL: '/monthly-bulletins/', - }, - ], - }, - ], - SHORTCUT: [ - { - NAME: '操作系统大会 & openEuler Summit 2025', - PICTURE: Summit, - PICTURE_PARK: SummitDark, - DESCRIPTION: - '随着AI技术从技术探索迈向场景深耕,操作系统作为AI核心生产力的使能平台,承担着释放大规模AI算力的重要责任。openEuler 开源六年,在商业、技术及生态上全面发展,覆盖服务器、云原生、边缘计算和嵌入式等全场景,服务全球多个国家和地区,在关键行业实现规模化应用,引领基础软件根技术持续创新。', - REMARK: '时间:2025/11/14 - 2025/11/15 | 北京', - TYPE: 'PICTURE', - URL: '/interaction/summit-list/summit2025/', - }, - { - NAME: 'openEuler Developer Day 2025', - PICTURE: Odd, - DESCRIPTION: 'openEuler Developer Day 2025 (简称 ODD 2025)是开放原子开源基金会孵化及运营的 openEuler 社区发起的开发者大会。', - REMARK: '时间:2025/04/11 | 杭州', - TYPE: 'PICTURE', - URL: '/interaction/summit-list/devday2025/', - }, - ], - }, - ], - USER_CENTER: '个人中心', - MESSAGE_CENTER: '消息中心', - LOGOUT: '退出登录', - CODE: '源码', - QUICKLINK: '快捷链接', - SEARCH: { - BROWSEHISTORY: '历史记录', - CLEAN: '清除', - TOPSEARCH: '热门搜索', - CHANGE: '换一批', - PLEACHOLDER: '搜索', - PLEACHOLDER_EXTEND: '请输入搜索内容', - TEXT: '搜索', - }, - SOURCE_CODE: [ - { - NAME: '代码仓', - PATH: 'https://gitee.com/openeuler', - ICON: OutLink, - }, - { - NAME: '软件包仓', - PATH: 'https://gitee.com/src-openeuler', - ICON: OutLink, - }, - { - NAME: 'Github镜像仓', - PATH: 'https://github.com/openeuler-mirror', - ICON: OutLink, - }, - { - NAME: 'LFS文件管理', - PATH: import.meta.env.VITE_SERVICE_ARTLFS_WEBSITE_URL, - }, - ], -}; diff --git a/app/.vitepress/src/i18n/header/index.ts b/app/.vitepress/src/i18n/header/index.ts deleted file mode 100644 index dcc252ae9413d884d3dfeed7ef567f26ef577697..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/header/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import zh from './header-zh'; -import en from './header-en'; - -export default { - zh, - en, -}; \ No newline at end of file diff --git a/app/.vitepress/src/i18n/home/home-en.ts b/app/.vitepress/src/i18n/home/home-en.ts deleted file mode 100644 index b8075ea7c9e038f7a7396996dab0ff9f88f9a9da..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/home/home-en.ts +++ /dev/null @@ -1,8 +0,0 @@ -export default { - docCenter: 'Document Center', - searchPlaceholder: 'Enter keywords to search.', - topSearch: 'Popular searches: ', - businessScenario: 'Scenarios', - tool: 'Tools', - selectScenarioOrTool: 'Select Scenario/Tool', -}; diff --git a/app/.vitepress/src/i18n/home/home-zh.ts b/app/.vitepress/src/i18n/home/home-zh.ts deleted file mode 100644 index af741805cfa9cf1d8314b74b42c98719f6016722..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/home/home-zh.ts +++ /dev/null @@ -1,8 +0,0 @@ -export default { - docCenter: '文档中心', - searchPlaceholder: '请输入关键词进行搜索', - topSearch: '热门搜索:', - businessScenario: '业务场景', - tool: '工具', - selectScenarioOrTool: '选择场景/工具', -}; diff --git a/app/.vitepress/src/i18n/home/index.ts b/app/.vitepress/src/i18n/home/index.ts deleted file mode 100644 index 666ce359cf40050f1c4420c87772fa3f0090aaaa..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/home/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import zh from './home-zh' -import en from './home-en' - -export default { - zh, - en, -}; diff --git a/app/.vitepress/src/i18n/index.ts b/app/.vitepress/src/i18n/index.ts deleted file mode 100644 index 65a5ba84fe6d72c589732faf8771835b23cd8581..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/index.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { createI18n } from 'vue-i18n'; -import { getCurrentLocale } from '@/utils/locale'; - -// 公共 -import common from './common'; -import header from './header'; -import footer from './footer'; -import cookie from './cookie'; -import response from './response'; - -import docs from './docs'; -import feedback from './feedback'; -import home from './home'; - -const messages = { - zh: { - // 公共 - common: common.zh, - header: header.zh, - footer: footer.zh, - cookie: cookie.zh, - response: response.zh, - - // 业务 - docs: docs.zh, - feedback: feedback.zh, - home: home.zh, - }, - en: { - // 公共 - common: common.en, - header: header.en, - footer: footer.en, - cookie: cookie.en, - response: response.en, - - // 业务 - docs: docs.en, - feedback: feedback.en, - home: home.en, - }, -}; - -const locale = getCurrentLocale(); -const i18n = createI18n({ - globalInjection: true, - locale, - legacy: false, - fallbackLocale: 'zh', - messages, -}); - -export default i18n; diff --git a/app/.vitepress/src/i18n/response/index.ts b/app/.vitepress/src/i18n/response/index.ts deleted file mode 100644 index b5384132f76364cc69a37a174186a336d3d7ae55..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/response/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import zh from './response-zh'; -import en from './response-en'; - -export default { - zh, - en, -}; diff --git a/app/.vitepress/src/i18n/response/response-en.ts b/app/.vitepress/src/i18n/response/response-en.ts deleted file mode 100644 index 9f4098597992e22df55543ad146b8c69e4d59431..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/response/response-en.ts +++ /dev/null @@ -1,16 +0,0 @@ -export default { - timeout: 'Request timeout', - statusCode400: 'Bad request (400)', - statusCode401: 'Session expired, Log in again. (401)', - statusCode403: 'Forbidden (403)', - statusCode404: 'Page not found (404)', - statusCode408: 'Request timeout (408)', - statusCode418: "This page isn't working (418)", - statusCode500: 'Internal server error (500)', - statusCode501: 'Not implemented (501)', - statusCode502: 'Bad gateway (502)', - statusCode503: 'Service unavailable (503)', - statusCode504: 'Gateway timeout (504)', - statusCode505: 'HTTP version not supported (505)', - defaultStatusCode: 'Request error. Status code: ', -}; diff --git a/app/.vitepress/src/i18n/response/response-zh.ts b/app/.vitepress/src/i18n/response/response-zh.ts deleted file mode 100644 index b812a15a8532faf333582a8cddd9c1103767cd57..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/i18n/response/response-zh.ts +++ /dev/null @@ -1,16 +0,0 @@ -export default { - timeout: '请求超时', - statusCode400: '请求错误(400)', - statusCode401: '登录过期,请重新登录(401)', - statusCode403: '拒绝访问(403)', - statusCode404: '请求错误(404)', - statusCode408: '请求超时(408)', - statusCode418: '您的请求疑似攻击行为(418)', - statusCode500: '服务器错误(500)', - statusCode501: '服务未实现(501)', - statusCode502: '网络错误(502)', - statusCode503: '服务不可用(503)', - statusCode504: '网络超时(504)', - statusCode505: 'HTTP版本不受支持(505)', - defaultStatusCode: '连接出错,状态码:', -}; diff --git a/app/.vitepress/src/layouts/LayoutDoc.vue b/app/.vitepress/src/layouts/LayoutDoc.vue deleted file mode 100644 index 6b4540e08c65d49093eecb8ec1d90e53609c7e82..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/layouts/LayoutDoc.vue +++ /dev/null @@ -1,695 +0,0 @@ - - - - - - - diff --git a/app/.vitepress/src/shared/analytics/cookie.ts b/app/.vitepress/src/shared/analytics/cookie.ts deleted file mode 100644 index b70637c4cb77f470d360c1eb582186ea05152b45..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/shared/analytics/cookie.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { COOKIE_KEY, disableHM, disableOA, enableHM, enableOA, isCookieAgreed } from './setup'; - -// 监听cookie set -if (typeof window !== 'undefined') { - if (isCookieAgreed()) { - enableHM(); - enableOA(); - } - const origDesc = Object.getOwnPropertyDescriptor(Document.prototype, 'cookie')!; - Object.defineProperty(Document.prototype, '_cookie', origDesc); - Object.defineProperty(Document.prototype, 'cookie', { - ...origDesc, - get() { - return this['_cookie']; - }, - set(val: string) { - try { - const detail = val.split(';')[0].split('='); - if (detail[0] === COOKIE_KEY) { - if (detail[1] === '1') { - enableOA(); - enableHM(); - } else { - disableOA(); - disableHM(); - } - } - } finally { - this['_cookie'] = val; - } - }, - }); -} diff --git a/app/.vitepress/src/shared/analytics/directives.ts b/app/.vitepress/src/shared/analytics/directives.ts deleted file mode 100644 index e5bb9aabc26f67b8df2feb0ef0115be230217ae9..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/shared/analytics/directives.ts +++ /dev/null @@ -1,183 +0,0 @@ -import { oaReport } from './setup'; -import { type Directive } from 'vue'; - -interface AnalyzeDataInternal { - event?: string; - service?: string; - properties?: Record; -} - -type AnalyzeData = - | AnalyzeDataInternal - | AnalyzeDataInternal['properties'] - | undefined; - -const fromBubble = {}; - -/** - * 判断变量类型是否为对象 - */ -const isObj = (val: any): val is Record => - typeof val === 'object' && val !== null; - -/** - * 判断事件是否来自子元素自定义指令的冒泡 - */ -const isFromBubble = (ev: Event): ev is CustomEvent => - ev instanceof CustomEvent && fromBubble === ev.detail?.fromBubble; - - -/** - * 将元素与所监听的事件和指令传值绑定 - * - * 因为如果指令传值是或者依赖了响应式变量,变量更新时binding.value不会随着更新,下次触发监听如果直接获取binding.value取到的是旧值,所以需要一个映射关系,在响应式依赖变更时再手动更新 - * - * 结构:dom元素 => { 监听的dom事件: 指令传来的值 } - */ -const bindingValueMap = new WeakMap>(); - -/** - * 获取指令传值,从map中获取,而不是直接取binding.value - */ -const getDirectiveBindingValue = ( - el: HTMLElement, - event: string, -) => { - const bindingVal = bindingValueMap.get(el)?.[event]; - if (!bindingVal) { - return; - } - return bindingVal; -}; - -const dispatchBubbleCustomEvent = ( - el: HTMLElement, - event: string, - data: any -) => { - el.dispatchEvent( - new CustomEvent(event, { - detail: { data, fromBubble }, - bubbles: true, - }) - ); -}; - -const handledEventSet = new WeakSet(); - -export const vAnalytics: Directive< - HTMLElement, - AnalyzeData | ((ev: Event) => AnalyzeData) | undefined -> = { - mounted(el, binding) { - const originalEvent = binding.arg || 'click'; - - const isBubble = binding.modifiers.bubble; - const listeningEvent = - isBubble || binding.modifiers.catchBubble - ? '_v-analytics_' + originalEvent - : originalEvent; - - if (isBubble && !binding.modifiers.noTrigger) { - // 如果指令被设置为冒泡类型,且在当前元素上触发了事件,则分发一个自定义事件 - // 事件名改为非html标准事件,避免影响冒泡路径上其他对标准事件的监听 - el.addEventListener(originalEvent, (ev) => { - if (handledEventSet.has(ev)) { // 判断该标准事件是否已被后代元素处理过 - return; - } - handledEventSet.add(ev); - const bindingValue = getDirectiveBindingValue(el, listeningEvent); - if (!bindingValue) return; - const currentData = typeof bindingValue === 'function' ? bindingValue(ev) : bindingValue; - if (!isObj(currentData)) { - return; - } - - const parentEl = (ev.currentTarget as HTMLElement).parentElement; - if (parentEl) { - dispatchBubbleCustomEvent(parentEl, listeningEvent, currentData); - } - }); - } - - el.addEventListener(listeningEvent, (ev: Event) => { - // 获取指令传值 - const bindingValue = getDirectiveBindingValue(el, listeningEvent); - if (!bindingValue) { - return; - } - if (isBubble) { - // 触发监听的事件来自后代元素上该指令产生的自定义事件 - // 向事件携带的数据中添加当前指令传入的数据 - if (isFromBubble(ev)) { - if (isObj(bindingValue)) { - Object.assign(ev.detail.data, bindingValue); - } - if (typeof bindingValue === 'function') { - const data = bindingValue(ev, ev.detail.data); - if (isObj(data)) { - Object.assign(ev.detail.data, data); - } - } - } - } else if (binding.modifiers.catchBubble) { - if (isFromBubble(ev)) { - let currentData: AnalyzeData; - if (typeof bindingValue === 'function') { - currentData = bindingValue(ev, ev.detail.data); - } else if (isObj(bindingValue)) { - // 合并从子元素冒泡上来的数据,并调用上报 - currentData = { - ...bindingValue, - properties: { - ...(bindingValue as AnalyzeDataInternal).properties, - ...ev.detail.data, - }, - }; - } - if (!isObj(currentData)) { - return; - } - oaReport( - currentData.event || originalEvent, - currentData.properties, - currentData.service - ); - } - } else { - // 普通地触发上报 - const currentData = typeof bindingValue === 'function' ? bindingValue(ev) : bindingValue; - if (!isObj(currentData)) { - return; - } - oaReport( - currentData.event || originalEvent, - currentData.properties, - currentData.service - ); - } - }); - // 以dom元素为键,{ event: binding.value }为值存入weakMap中 - const mapItem = bindingValueMap.get(el); - if (mapItem) { - mapItem[listeningEvent] = binding.value; - } else { - bindingValueMap.set(el, { [listeningEvent]: binding.value }); - } - }, - updated(el, binding) { - // 自定义指令 - const event = binding.arg || 'click'; - const listeningEvent = - binding.modifiers.bubble || binding.modifiers.catchBubble - ? '_v-analytics_' + event - : event; - // 更新元素上特定事件的指令传值 - const mapItem = bindingValueMap.get(el); - if (mapItem) { - mapItem[listeningEvent] = binding.value; - } else { - bindingValueMap.set(el, { [listeningEvent]: binding.value }); - } - }, -}; diff --git a/app/.vitepress/src/shared/analytics/history.ts b/app/.vitepress/src/shared/analytics/history.ts deleted file mode 100644 index 955d9e17b56959006975e89b658425ea7ad097b6..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/shared/analytics/history.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { oa, reportPV } from './setup' - -if (typeof window !== 'undefined') { - let referrer: string; - - ['replaceState', 'pushState'].forEach((method) => { - const native = History.prototype[method as 'replaceState' | 'pushState']; - History.prototype[method as 'replaceState' | 'pushState'] = function (data: any, unused: string, url?: string | URL | null) { - try { - if (oa.enabled) { - const beforePath = location.pathname; - native.call(this, data, unused, url); - const afterPath = location.pathname; - if (beforePath !== afterPath) { - reportPV(referrer); - } - } else { - native.call(this, data, unused, url); - } - } catch { - native.call(this, data, unused, url); - } finally { - referrer = location.href; - } - }; - }); - - window.addEventListener('popstate', () => { - const prevPath = new URL(referrer).pathname; - if (prevPath !== location.pathname) { - reportPV(referrer); - } - referrer = location.href; - }); -} diff --git a/app/.vitepress/src/shared/analytics/index.ts b/app/.vitepress/src/shared/analytics/index.ts deleted file mode 100644 index 53d0ac6c717afce7c95aa7d491af56ff2c037a6a..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/shared/analytics/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './setup'; -export * from './directives'; -import './history'; -import './cookie'; \ No newline at end of file diff --git a/app/.vitepress/src/shared/analytics/setup.ts b/app/.vitepress/src/shared/analytics/setup.ts deleted file mode 100644 index e7560328dba4914bf4e72b411810e9b3a7c0c414..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/shared/analytics/setup.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { OpenAnalytics, OpenEventKeys, getClientInfo } from '@opensig/open-analytics'; -import { type Awaitable } from 'vitepress'; -import { removeCustomCookie } from '@/utils/cookie'; -import { BAIDU_HM } from '@/config/data'; - -export const DEFAULT_SERVICE = 'docs'; -export const COOKIE_KEY = 'agreed-cookiepolicy'; -export const isCookieAgreed = () => document.cookie.match(/\bagreed-cookiepolicy=(.+?);?/)?.[1] === '1'; - -export const oa = new OpenAnalytics({ - appKey: 'openEuler', - request: (data) => { - if (!isCookieAgreed()) { - disableOA(); - disableHM(); - return; - } - fetch('/api-dsapi/query/track/openeuler', { body: JSON.stringify(data), method: 'POST', headers: { 'Content-Type': 'application/json' } }); - }, -}); - -export const enableOA = () => { - oa.setHeader(getClientInfo()); - oa.enableReporting(true); -}; - -export const enableHM = () => { - const hm = document.createElement('script'); - hm.src = BAIDU_HM; - hm.classList.add('analytics-script'); - const s = document.getElementsByTagName('HEAD')[0]; - s.appendChild(hm); -}; - -export const disableOA = () => { - oa.enableReporting(false); - ['oa-openEuler-client', 'oa-openEuler-events', 'oa-openEuler-session'].forEach((key) => { - localStorage.removeItem(key); - }); -}; - -export const disableHM = () => { - const hm = /^hm/i; - document.cookie - .split(';') - .map((c) => c.trim()) - .forEach((c) => { - const key = decodeURIComponent(c.split('=')[0]); - if (hm.test(key)) { - removeCustomCookie(key); - } - }); -}; - -export const reportPV = ($referrer?: string) => { - oaReport(OpenEventKeys.PV, ($referrer && { $referrer }) || null); -}; - -export const reportPerformance = () => { - oaReport(OpenEventKeys.LCP); - oaReport(OpenEventKeys.INP); - oaReport(OpenEventKeys.PageBasePerformance); -}; - -/** - * @param event 事件名 - * @param eventData 上报数据 - * @param $service service字段取值 - * @param options options - */ -export function oaReport>( - event: string, - eventData?: T | ((...opts: any[]) => Awaitable) | null, - $service = DEFAULT_SERVICE, - options?: { - immediate?: boolean; - eventOptions?: any; - } -) { - if (!oa.enabled) { - return; - } - return oa.report( - event, - async (...opt) => { - return { - $service, - ...(typeof eventData === 'function' ? await eventData(...opt) : eventData), - }; - }, - options - ); -} - -if (typeof window !== 'undefined') { - window.addEventListener( - 'load', - () => { - reportPV(); - reportPerformance(); - }, - { once: true } - ); -} diff --git a/app/.vitepress/src/shared/axios/handleError.ts b/app/.vitepress/src/shared/axios/handleError.ts deleted file mode 100644 index 78ce384b70a0bf609a2c8f16ee5bc086af8a441b..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/shared/axios/handleError.ts +++ /dev/null @@ -1,22 +0,0 @@ -import type { AxiosError } from 'axios'; -import i18n from '@/i18n'; - -const { t } = i18n.global; - -export default (err: AxiosError) => { - const { response } = err; - - if (response) { - const data = response.data as { code: string; data: any; msg: string }; - err.code = data.code != null ? data.code : String(response.status); - - let msg = t(`response.statusCode${response.status}`); - if (msg === `response.statusCode${response.status}`) { - msg = `${t('response.defaultStatusCode')}(${response.status})!`; - } - - err.message = msg; - } - - return err; -}; diff --git a/app/.vitepress/src/shared/axios/handleResponse.ts b/app/.vitepress/src/shared/axios/handleResponse.ts deleted file mode 100644 index c24d7db3efbb802d27e04945b80c51e285618e4f..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/shared/axios/handleResponse.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { AxiosResponse } from 'axios'; - -export default (response: AxiosResponse) => { - return response; -}; diff --git a/app/.vitepress/src/shared/axios/index.ts b/app/.vitepress/src/shared/axios/index.ts deleted file mode 100644 index d72e01913d9d1043f54a613ccd8d7c515a771c38..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/shared/axios/index.ts +++ /dev/null @@ -1,226 +0,0 @@ -import type { Ref } from 'vue'; - -import axios from 'axios'; -import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosRequestHeaders, AxiosResponse, AxiosStatic, Canceler } from 'axios'; - -import handleResponse from './handleResponse'; -import handleError from './handleError'; -import setConfig from './setConfig'; - -import { isBoolean, useLoading, useMessage, isNull, isUndefined } from '@opensig/opendesign'; -import type { LoadingPropsT } from '@opensig/opendesign/lib/loading/types'; -import { LOGIN_STATUS, clearUserAuth } from '@/shared/login'; -import { useLoginStore } from '@/stores/user'; - -import i18n from '@/i18n'; - -interface RequestConfig extends AxiosRequestConfig { - data?: D; - showLoading?: boolean | { opt?: Partial; wrap: Ref | HTMLElement | string }; // 加载时是否出现Loading框,默认为false - showError?: boolean; // 请求报错是否出现错误提示,默认为true - ignoreError?: number; // 忽略某个状态码错误提示 - ignoreDuplicates?: boolean; // false: 取消重复请求; true: 允许重复请求 - global?: boolean; // 是否为全局请求,全局请求在清除请求池时,不清除 -} - -interface RequestInstance extends AxiosInstance { - removeRequestInterceptor(): void; - removeResponseInterceptor(): void; - clearPendingPool(whiteList: Array): Array | null; - getUri(config?: RequestConfig): string; - request, D = any>(config: RequestConfig): Promise; - get, D = any>(url: string, config?: RequestConfig): Promise; - delete, D = any>(url: string, config?: RequestConfig): Promise; - head, D = any>(url: string, config?: RequestConfig): Promise; - options, D = any>(url: string, config?: RequestConfig): Promise; - post, D = any>(url: string, data?: D, config?: RequestConfig): Promise; - put, D = any>(url: string, data?: D, config?: RequestConfig): Promise; - patch, D = any>(url: string, data?: D, config?: RequestConfig): Promise; -} - -interface InternalRequestConfig extends RequestConfig { - headers: AxiosRequestHeaders; -} - -let loadingInstance: { toggle(show?: boolean): void } | null = null; -let loadingCount = 0; - -/** - * request是基于axios创建的实例,实例只有常见的数据请求方法,没有axios.isCancel/ axios.CancelToken等方法, - * 也就是没有**取消请求**和**批量请求**的方法。 - * 所以如果需要在实例中调用取消某个请求的方法(例如取消上传),请用intactRequest。 - */ -const intactRequest: AxiosStatic = setConfig(axios); -const request: RequestInstance = intactRequest.create() as RequestInstance; - -// 请求中的api -const pendingPool: Map = new Map(); - -const getLoadingInstance = (showLoading: boolean | { opt?: Partial; wrap: Ref | HTMLElement | string }) => { - if (isBoolean(showLoading)) { - return useLoading(); - } else { - const { opt, wrap = 'body' } = showLoading; - if (opt) { - return useLoading(opt, wrap); - } else { - return useLoading(); - } - } -}; - -/** - * 请求拦截 - */ -const requestInterceptorId = request.interceptors.request.use( - (config: InternalRequestConfig) => { - const { showLoading } = config; - - if (loadingCount === 0 && config.showLoading) { - if (showLoading) { - loadingInstance = getLoadingInstance(showLoading); - - loadingInstance.toggle(true); - loadingCount++; - } - } - // 存储请求信息 - // 定义取消请求 - if (!config.ignoreDuplicates && !config.cancelToken) { - config.cancelToken = new axios.CancelToken((cancelFn) => { - if (!config?.url) { - return; - } - - // 如果已请求,则取消重复请求 - if (!pendingPool.has(config.url)) { - // 存储到请求池 - pendingPool.set(config.url, { - method: config.method, - cancelFn, - global: config.global, - }); - } - }); - } - if (config.params) { - Object.keys(config?.params).forEach((key) => { - if (config.params[key] === '' || isNull(config.params[key]) || isUndefined(config.params[key])) { - delete config.params[key]; - } - }); - } - return config; - }, - (err: AxiosError) => { - Promise.reject(err); - } -); - -/** - * 响应拦截 - */ -const responseInterceptorId = request.interceptors.response.use( - (response: AxiosResponse) => { - if (loadingInstance) { - loadingCount--; - } - if (loadingCount === 0 && loadingInstance) { - loadingInstance.toggle(false); - loadingInstance = null; - } - const { config } = response; - - // 请求完成,移除请求池 - if (config.url) { - pendingPool.delete(config.url); - } - - return Promise.resolve(handleResponse(response)); - }, - (err: AxiosError) => { - if (loadingInstance) { - loadingInstance.toggle(false); - loadingCount = 0; - } - - const config = err.config as InternalRequestConfig; - - // 非取消请求发生异常,同样将请求移除请求池 - if (!axios.isCancel(err) && config?.url) { - pendingPool.delete(config.url); - } - - if (err.response) { - if (err.stack && err.stack.includes('timeout')) { - err.message = i18n.global.t('response.timeout'); - } - err = handleError(err); - } - // 没有response(没有状态码)的情况 - else { - // 被取消的请求 - if (axios.isCancel(err)) { - throw new axios.Cancel(err.message || `请求'${config?.url}'被取消`); - } - } - - if (config && config.showError !== false && config.ignoreError !== err.response?.status) { - const msg = useMessage(null); - msg.show({ - content: err.message, - status: 'danger', - }); - } - - if (err.response?.status === 401) { - clearUserAuth(); - useLoginStore().setLoginStatus(LOGIN_STATUS.FAILED); - } - - return Promise.reject(err); - } -); -// 移除全局的请求拦截器 -function removeRequestInterceptor() { - request.interceptors.request.eject(requestInterceptorId); -} - -// 移除全局的响应拦截器 -function removeResponseInterceptor() { - request.interceptors.response.eject(responseInterceptorId); -} - -/** - * 清除所有pending状态的请求 - * @param {Array} whiteList 白名单,里面的请求不会被取消 - * 返回值 被取消了的api请求 - * 可以在路由变化时取消当前所有非全局的pending状态的请求 - */ -function clearPendingPool(whiteList: Array = []) { - if (!pendingPool.size) { - return null; - } - - const pendingUrlList: Array = Array.from(pendingPool.keys()).filter((url: string) => !whiteList.includes(url)); - if (!pendingUrlList.length) { - return null; - } - - pendingUrlList.forEach((pendingUrl) => { - // 清除掉所有非全局的pending状态下的请求 - if (!pendingPool.get(pendingUrl)?.global) { - pendingPool.get(pendingUrl)?.cancelFn(); - pendingPool.delete(pendingUrl); - } - }); - - return pendingUrlList; -} - -request.removeRequestInterceptor = removeRequestInterceptor; -request.removeResponseInterceptor = removeResponseInterceptor; -request.clearPendingPool = clearPendingPool; - -export { intactRequest, request }; -export type { AxiosResponse, RequestConfig, RequestInstance }; diff --git a/app/.vitepress/src/shared/axios/setConfig.ts b/app/.vitepress/src/shared/axios/setConfig.ts deleted file mode 100644 index 18ca43ffea683ae87e34b4da57a59dab2d71e979..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/shared/axios/setConfig.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { AxiosStatic } from 'axios'; -const XSRF_COOKIE_NAME = import.meta.env.VITE_XSRF_COOKIE_NAME; -const XSRF_HEADER_NAME = import.meta.env.VITE_XSRF_HEADER_NAME; - -/** - * @param {axios} axios实例 - * @param {config} 自定义配置对象,可覆盖掉默认的自定义配置 - */ -export default (axios: AxiosStatic, config = {}) => { - const defaultConfig = { - timeout: 20000, - headers: { - 'Content-Type': 'application/json;charset=UTF-8', - }, - xsrfCookieName: XSRF_COOKIE_NAME, - xsrfHeaderName: XSRF_HEADER_NAME, - }; - Object.assign(axios.defaults, defaultConfig, config); - return axios; -}; diff --git a/app/.vitepress/src/shared/cookie.ts b/app/.vitepress/src/shared/cookie.ts deleted file mode 100644 index 88c138c191a1c079aec667288c170a330614efdc..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/shared/cookie.ts +++ /dev/null @@ -1,30 +0,0 @@ -import Cookies from 'js-cookie'; - -/** - * 获取指定key的cookie值 - * @param key - * @returns - */ -export const getCustomCookie = (key: string) => { - return Cookies.get(key); -}; - -/** - * 设置cookie - * @param key cookie的key - * @param value cookie的值 - * @param day cookie的过期时间 默认180天 - * @param domain domain地址 - */ -export const setCustomCookie = (key: string, value: string, day = 180, domain: string = location.hostname) => { - Cookies.set(key, value, { expires: day, path: '/', domain: domain }); -}; - -/** - * 删除cookie - * @param key cookie的key - * @param domain domain地址 - */ -export const removeCustomCookie = (key: string, domain: string = location.hostname) => { - Cookies.remove(key, { path: '/', domain: domain }); -}; diff --git a/app/.vitepress/src/shared/login.ts b/app/.vitepress/src/shared/login.ts deleted file mode 100644 index 8121775190edd139329304a22f216f9f5bdd8a56..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/shared/login.ts +++ /dev/null @@ -1,79 +0,0 @@ -import Cookies from 'js-cookie'; -import { useLangStore } from '@/stores/common'; -import { useLoginStore, useUserInfoStore } from '@/stores/user'; -import { queryUserInfo } from '@/api/api-user'; -import { oa } from './analytics'; - -const LOGIN_URL = import.meta.env.VITE_LOGIN_URL; -const XSRF_COOKIE_NAME = import.meta.env.VITE_XSRF_COOKIE_NAME; - -// 登录状态 -export enum LOGIN_STATUS { - FAILED = -1, // 登录失败 - NOT = 0, // 未登录 - DOING = 1, // 登录中 - DONE = 2, // 登录成功 -} -export type LoginStatusT = typeof LOGIN_STATUS.FAILED | LOGIN_STATUS.NOT | LOGIN_STATUS.DOING | LOGIN_STATUS.DONE; - -export const LOGIN_KEYS = { - CSRF_TOKEN: XSRF_COOKIE_NAME, - USER_INFO: '_U_I_', -}; - -/** - * 从cookie中获取csrfToken - * @returns csrfToken - */ -export const getCsrfToken = () => Cookies.get(LOGIN_KEYS.CSRF_TOKEN) || ''; - -// 退出登录 -export function logout() { - location.href = `${LOGIN_URL}/logout?redirect_uri=${encodeURIComponent(location.href)}`; -} - -/** - * 跳转登录页 - */ -export function doLogin() { - location.href = `${LOGIN_URL}/login?redirect_uri=${encodeURIComponent(location.href)}&lang=${useLangStore().lang}`; -} - -// 清除用户认证凭据 -export function clearUserAuth() { - // 清除内存中用户信息 - useUserInfoStore().$reset(); - // 清除cookie - if (import.meta.env.DEV) { - Cookies.remove(LOGIN_KEYS.CSRF_TOKEN); - } else { - Cookies.remove(LOGIN_KEYS.CSRF_TOKEN, { domain: import.meta.env.VITE_COOKIE_DOMAIN, path: '/', secure: true }); - } -} - -/** - * 尝试登录 - * @returns 登录结果 - */ -export async function tryLogin() { - const userInfoStore = useUserInfoStore(); - const loginStore = useLoginStore(); - const csrfToken = getCsrfToken(); - if (!csrfToken) { - userInfoStore.$reset(); - loginStore.setLoginStatus(LOGIN_STATUS.NOT); - loginStore.setLoginStateChecked(true); - return; - } - - try { - loginStore.setLoginStatus(LOGIN_STATUS.DOING); - userInfoStore.$patch(await queryUserInfo()); - loginStore.setLoginStatus(LOGIN_STATUS.DONE); - oa.setUserId(userInfoStore.username); - } catch { - loginStore.setLoginStatus(LOGIN_STATUS.FAILED); - } finally { - loginStore.setLoginStateChecked(true); - } -} diff --git a/app/.vitepress/src/stores/common.ts b/app/.vitepress/src/stores/common.ts deleted file mode 100644 index 47be6329b7e35c9c8e3aff3d5b1bdf361c46999d..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/stores/common.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { defineStore } from 'pinia'; -import { getCustomCookie } from '@/utils/cookie'; - -// 语言 -export const useLangStore = defineStore('lang', { - state: () => { - return { - lang: '', - }; - }, - actions: { - setLangStore(val: string) { - this.lang = val; - }, - }, -}); - -export const useAppearance = defineStore('appearance', { - state: () => ({ - theme: 'light' as 'light' | 'dark', - iconMenuShow: true, - }), -}); - -/** - * 搜索状态 - */ -export const useSearchingStore = defineStore('isSearching', { - state: () => { - return { - isSearching: false, - keyword: '', - lastSearchValue: '', - isLoading: false, - currentPage: 1, - version: '25.09', // 文档当前版本 - }; - }, - actions: { - setIsSearching(value: boolean) { - this.isSearching = value; - }, - setKeyword(value: string) { - this.keyword = value; - }, - setLastSearchValue(value: string) { - this.lastSearchValue = value; - }, - setIsLoading(value: boolean) { - this.isLoading = value; - }, - setCurrentPage(value: number) { - this.currentPage = value; - }, - clearSearch() { - this.isLoading = false; - this.isSearching = false; - this.lastSearchValue = ''; - }, - }, -}); - -// cookie状态 -export const COOKIE_AGREED_STATUS = { - NOT_SIGNED: '0', // 未签署 - ALL_AGREED: '1', // 同意所有cookie - NECCESSARY_AGREED: '2', // 仅同意必要cookie -}; - -// cookie key -export const COOKIE_KEY = 'agreed-cookiepolicy'; - -/** - * cookie版本 - */ -export const useCookieStore = defineStore('cookie', { - state: () => ({ - status: '0', - isNoticeVisible: false, - }), - getters: { - isAllAgreed: (state) => state.status === '1', - }, - actions: { - getUserCookieStatus() { - const cookieVal = getCustomCookie(COOKIE_KEY) ?? '0'; - const cookieStatusVal = cookieVal[0]; - if (cookieStatusVal === COOKIE_AGREED_STATUS.ALL_AGREED) { - this.status = COOKIE_AGREED_STATUS.ALL_AGREED; - return COOKIE_AGREED_STATUS.ALL_AGREED; - } else if (cookieStatusVal === COOKIE_AGREED_STATUS.NECCESSARY_AGREED) { - this.status = COOKIE_AGREED_STATUS.NECCESSARY_AGREED; - return COOKIE_AGREED_STATUS.NECCESSARY_AGREED; - } else { - this.status = COOKIE_AGREED_STATUS.NOT_SIGNED; - return COOKIE_AGREED_STATUS.NOT_SIGNED; - } - }, - }, -}); diff --git a/app/.vitepress/src/stores/download.ts b/app/.vitepress/src/stores/download.ts deleted file mode 100644 index 5e3556d187aabd5301b8b7bfe18847e47d6766e9..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/stores/download.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { defineStore } from 'pinia'; - -/** - * vitepress 无法监听 History.replaceState和pushState,使用 pinia 监听 scenario变化 - */ -export const useDownload = defineStore('download', { - state: () => ({ - scenario: '', - version: '', - }), - actions: { - setScenario(val: string) { - this.scenario = val; - }, - setVersion(val: string) { - this.version = val; - }, - }, -}); diff --git a/app/.vitepress/src/stores/node.ts b/app/.vitepress/src/stores/node.ts deleted file mode 100644 index 298773f944e33cbc30cf24eade3cb4a75ad48d84..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/stores/node.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { computed } from 'vue'; -import { useData } from 'vitepress'; -import { defineStore } from 'pinia'; -import { isClient } from '@opensig/opendesign'; - -import { TOC_CONFIG, TOC_EN_CONFIG } from '@/config/toc'; -import { DocMenuTree, type DocMenuNodeT } from '@/utils/tree'; - -export const useNodeStore = defineStore('node', () => { - const rootTree = new DocMenuTree([...TOC_CONFIG, ...TOC_EN_CONFIG]); - const { hash, page } = useData(); - - // 页面路径 - const pathname = computed(() => { - return `/${page.value.filePath.replace('.md', '.html')}`; - }); - - // 页面节点 - const pageNode = computed(() => { - if (isClient && window.location.search) { - const node = rootTree.getNode(rootTree.root, 'href', `${pathname.value}${decodeURIComponent(window.location.search)}`); - if (node) { - return node; - } - } - - return rootTree.getNode(rootTree.root, 'href', pathname.value); - }); - - // 当前节点 - const currentNode = computed(() => { - if (pageNode.value && hash.value) { - const node = rootTree.getNode(rootTree.root, 'href', `${pageNode.value.href}${decodeURIComponent(hash.value)}`); - if (node) { - return node; - } - } - - return hash.value ? rootTree.getNode(rootTree.root, 'href', `${pathname.value}${decodeURIComponent(hash.value)}`) || pageNode.value : pageNode.value; - }); - - // 手册节点 - const manualNode = computed(() => { - let node: DocMenuNodeT | null = pageNode.value; - while (node && !node.isManual) { - node = node.parent; - } - - return node; - }); - - // 模块节点 - const moduleNode = computed(() => { - const node = rootTree.root.children.find((item) => item.href && pathname.value.includes(item.href.replace('index.html', ''))); - if (node && pathname.value.toLocaleLowerCase().includes('/tools/')) { - return node.children.find((item) => item.href && pathname.value.includes(item.href.replace('index.html', ''))); - } - - return node; - }); - - // 所有前驱节点 - const prevNodes = computed(() => { - return currentNode.value ? rootTree.getPrevNodes(currentNode.value, 1) : []; - }); - - return { - currentNode, // 当前节点 - pageNode, // 页面节点 - manualNode, // 手册节点 - moduleNode, // 模块节点 - prevNodes, // 所有前驱节点 - }; -}); diff --git a/app/.vitepress/src/stores/user.ts b/app/.vitepress/src/stores/user.ts deleted file mode 100644 index be34e06eac2d021b1da2987faa855cd4bc9f47ce..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/stores/user.ts +++ /dev/null @@ -1,66 +0,0 @@ -import type { Identity } from '@/@types/type-user'; -import { LOGIN_STATUS, type LoginStatusT } from '@/shared/login'; -import { defineStore } from 'pinia'; - -/** - * 用户基本信息 - */ -export const useUserInfoStore = defineStore('userInfo', { - state: () => { - return { - identities: [] as Identity[], - photo: '' as string, - username: '' as string, - upstreamPermission: null as boolean | null, - // 协作平台admin权限 - platformAdminPermission: null as boolean | null, - // 协作平台maintainer权限 - platformMaintainerPermission: null as boolean | null, - }; - }, - getters: { - // 获取giteeID - getGiteeId(status): string { - const id = status.identities.find((id) => id.identity === 'gitee'); - return id ? id.login_name : ''; - }, - }, -}); - -/** - * 登录状态 - */ -export const useLoginStore = defineStore('login', { - state: () => { - return { - loginStatus: LOGIN_STATUS.NOT, - loginStateChecked: false, - }; - }, - actions: { - setLoginStatus(status: LoginStatusT) { - this.loginStatus = status; - }, - setLoginStateChecked(checked: boolean) { - this.loginStateChecked = checked; - }, - }, - getters: { - // 登录失败 - isLoginFailed(): boolean { - return this.loginStatus === LOGIN_STATUS.FAILED; - }, - // 未登录 - isLoginNot(): boolean { - return this.loginStatus === LOGIN_STATUS.NOT; - }, - // 登录中 - isLoggingIn(): boolean { - return this.loginStatus === LOGIN_STATUS.DOING; - }, - // 登录成功 - isLogined(): boolean { - return this.loginStatus === LOGIN_STATUS.DONE; - }, - }, -}); diff --git a/app/.vitepress/src/stores/view.ts b/app/.vitepress/src/stores/view.ts deleted file mode 100644 index 5eb0cc70fb52800d63916f98a6ba2621ff5b46fe..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/stores/view.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { computed, ref } from 'vue'; -import { useData, useRoute } from 'vitepress'; -import { defineStore } from 'pinia'; - -export const useViewStore = defineStore('view', () => { - const route = useRoute(); - const { frontmatter, page } = useData(); - - // 容器是否在滚动 - const isScrolling = ref(false); - - // 是否为主页页面 - const isHomeView = computed(() => { - return page.value.filePath === 'zh/index.md' || page.value.filePath === 'en/index.md'; - }); - - // 是否为通用文章页面 - const isCustomView = computed(() => { - return frontmatter.value.layout === 'page'; - }); - - // 是否为模块总览页面 - const isOverview = computed(() => { - return !!frontmatter.value.overview; - }); - - // 是否为 common 内容 (贡献指南、FAQ等页面) - const isCommonView = computed(() => { - return route.path.includes('/docs/common/'); - }); - - return { - isScrolling, - isHomeView, - isCustomView, - isOverview, - isCommonView, - }; -}); diff --git a/app/.vitepress/src/utils/common.ts b/app/.vitepress/src/utils/common.ts deleted file mode 100644 index e921977e6682072b0227d23fdb2d84e90970db91..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/utils/common.ts +++ /dev/null @@ -1,155 +0,0 @@ -import { isClient } from '@opensig/opendesign'; -import type { DocMenuNodeT } from './tree'; - -/** - * safe window open - */ -export const windowOpen = (url?: string | URL | undefined, target?: string | undefined, features?: string | undefined) => { - const opener = window.open(url, target, features); - if (opener) { - opener.opener = null; - } -}; - -/** - * 时间戳转 xxxx/xx/xx 格式时间 - * @param {number} timestamp 待转换时间戳 - * @returns {string} 返回格式化时间,如 2024/01/01 - */ -export const changeTimeStamp = (timestamp: number) => { - const date = new Date(timestamp * 1000); - - const year = date.getFullYear(); - const month = ('0' + (date.getMonth() + 1)).slice(-2); - const day = ('0' + date.getDate()).slice(-2); - - return `${year}/${month}/${day}`; -}; - -/** - * URL参数转对象 - * @param {string} url 地址 - * @returns {(string|undefined)} 转换成功返回参数对象,失败返回 undefined - */ -export function getUrlParams(url: string) { - const arrObj = url.split('?'); - if (arrObj.length > 1) { - const arrPara = arrObj[1].split('&'); - const list = {} as any; - for (let i = 0; i < arrPara.length; i++) { - const item = arrPara[i].split('='); - const key = item[0]; - const value = item[1]; - list[key] = value; - } - return list; - } -} - -/** - * 滚动至顶部 - * @param {number} top 滑动到的顶部 - * @param {boolean} smooth 是否平滑滑动 - */ -export const scrollToTop = (top: number = 0, smooth: boolean = true) => { - if (isClient) { - const dom = document.querySelector('#app > .o-scroller > .o-scroller-container'); - dom?.scrollTo({ - top, - behavior: smooth ? 'smooth' : 'instant', - }); - } -}; - -/** - * 获取url搜索参数 - * @param {string} url 完整 url - * @returns {Object} url 中的搜索参数 - */ -export function getSearchUrlParams(url: string) { - const search = new URL(url).search; - const params = new URLSearchParams(search); - return params; -} - -/** - * 判断 key 是否存在于目标对象上 - * @param {(string|number|symbol)} key 待判断 key - * @param {object} obj 目标对象 - * @returns {boolean} 存在返回 true,不存在返回 false - */ -export const isValidKey = (key: string | number | symbol, obj: object): key is keyof typeof obj => { - return Object.prototype.hasOwnProperty.call(obj, key); -}; - -/** - * 获取指定时区偏移量的年份 - * @param {number} offset - 时区偏移量(单位:小时)。例如,UTC+8 时区,传入 8。 - * @returns {number} - 指定时区偏移量对应的年份 - */ -export function getYearByOffset(offset = 8) { - // 获取当前时间的 UTC 时间 - const now = new Date(); - const utcTime = new Date(now.getTime() + now.getTimezoneOffset() * 60000); - - // 设置偏移 - utcTime.setHours(utcTime.getHours() + offset); - - return utcTime.getFullYear(); -} - -/** - * 获取gitee源地址 - */ -export function getGiteeUrl(node: DocMenuNodeT | null) { - // 为空返回空字符串 - if (!node) { - return ''; - } - - // 页面内容来源为 sig 仓库 - if (node.upstream) { - return node.upstream; - } - - // 页面内容来源为文档仓 - let pathname = window.location.pathname; - if (pathname.endsWith('.html')) { - pathname = pathname.replace('.html', '.md'); - } else if (pathname.endsWith('/')) { - pathname = `${pathname}index.md`; - } else { - pathname = `${pathname}.md`; - } - - const [_, lang, __, branch, ...others] = pathname.split('/'); - const map: Record = { - common: 'stable-common', - '25.09': 'stable-25.09', - '25.03': 'stable-25.03', - '24.03_LTS_SP1': 'stable-24.03_LTS_SP1', - '24.03_LTS_SP2': 'stable-24.03_LTS_SP2', - '22.03_LTS_SP4': 'stable-22.03_LTS_SP4', - }; - - return `https://gitee.com/openeuler/docs/blob/${map[branch]}/docs/${lang}/${others.join('/')}`; -} - -/** - * 从url中获取版本 - * @param {string} url url - * @returns {string} 版本 - */ -export function getVersionFromUrl(url: string) { - const arr = url.split('/'); - return arr[url.startsWith('/') ? 3 : 2] || ''; -} - -/** - * 获取转义后的dom id - */ -export function getDomId(str: string) { - // eslint-disable-next-line - const regex = /[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g - return str.toLowerCase().replace(regex, '').replace(/ /g, '-'); -} diff --git a/app/.vitepress/src/utils/cookie.ts b/app/.vitepress/src/utils/cookie.ts deleted file mode 100644 index 88c138c191a1c079aec667288c170a330614efdc..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/utils/cookie.ts +++ /dev/null @@ -1,30 +0,0 @@ -import Cookies from 'js-cookie'; - -/** - * 获取指定key的cookie值 - * @param key - * @returns - */ -export const getCustomCookie = (key: string) => { - return Cookies.get(key); -}; - -/** - * 设置cookie - * @param key cookie的key - * @param value cookie的值 - * @param day cookie的过期时间 默认180天 - * @param domain domain地址 - */ -export const setCustomCookie = (key: string, value: string, day = 180, domain: string = location.hostname) => { - Cookies.set(key, value, { expires: day, path: '/', domain: domain }); -}; - -/** - * 删除cookie - * @param key cookie的key - * @param domain domain地址 - */ -export const removeCustomCookie = (key: string, domain: string = location.hostname) => { - Cookies.remove(key, { path: '/', domain: domain }); -}; diff --git a/app/.vitepress/src/utils/element.ts b/app/.vitepress/src/utils/element.ts deleted file mode 100644 index e8e4d765e86cd3f19fc3b0e9c05c3183d01c915e..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/utils/element.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { isWindow } from '@opensig/opendesign'; - -export function getOffsetTop(el: HTMLElement, container: HTMLElement | Window) { - const { top } = el.getBoundingClientRect(); - if (isWindow(container)) { - return top - document.documentElement.clientTop; - } - - return top - container.getBoundingClientRect().top; -} - -export function isDocument(val: unknown): val is Document { - return val instanceof Document || val?.constructor.name === 'HTMLDocument'; -} - -export const isElementVisible = (el: HTMLElement, parent: HTMLElement, min = 0) => { - const parentRect = parent.getBoundingClientRect(); - const childRect = el.getBoundingClientRect(); - const visibleTop = Math.max(0, childRect.top - parentRect.top); - const visibleBottom = Math.min(parentRect.bottom, childRect.bottom) - parentRect.top; - const visibleHeight = visibleBottom - visibleTop; - return visibleHeight > min; -}; - -export const getScrollRemainingBottom = (container: HTMLElement) => { - const scrollTop = container.scrollTop; - const scrollHeight = container.scrollHeight; - const clientHeight = container.clientHeight; - const distance = scrollHeight - (scrollTop + clientHeight); - - return distance > 0 ? distance : 0; -}; - -/** - * 判断两个元素是否重叠 - * @param a - 第一个元素 - * @param b - 第二个元素 - * @returns 是否重叠 - */ -export function isOverlap(a: Element, b: Element): boolean { - // 如果当前环境没有 DOM,直接返回 false - if (typeof document === 'undefined') { - return false; - } - - const rect1 = a.getBoundingClientRect(); - const rect2 = b.getBoundingClientRect(); - return !(rect1.right <= rect2.left || rect2.right <= rect1.left || rect1.bottom <= rect2.top || rect2.bottom <= rect1.top); -} diff --git a/app/.vitepress/src/utils/locale.ts b/app/.vitepress/src/utils/locale.ts deleted file mode 100644 index d006e8da9a40a47f4158dce3d0f10dbc458875c2..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/utils/locale.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { isClient } from '@opensig/opendesign'; - -/** - * 获取当前的语言环境,目前只支持 zh 和 en - * @returns {string} 若当前是 zh 环境则返回 zh,否则返回 en - */ -export function getCurrentLocale() { - if (isClient) { - const { pathname } = window.location; - if (pathname.startsWith('/zh/')) { - return 'zh'; - } else if (pathname.startsWith('/en/')) { - return 'en'; - } else { - if (localStorage.getItem('locale')) { - return localStorage.getItem('locale') === 'zh' ? 'zh' : 'en'; - } else { - return navigator.language.toLowerCase().startsWith('zh') ? 'zh' : 'en'; - } - } - } - - return 'zh'; -} diff --git a/app/.vitepress/src/utils/scroll-to.ts b/app/.vitepress/src/utils/scroll-to.ts deleted file mode 100644 index b5e4f69ebe33c5f36abda3c7192c3107a79b1e67..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/utils/scroll-to.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { isFunction, isWindow, throttleRAF } from '@opensig/opendesign'; -import { getOffsetTop, isDocument } from '@/utils/element'; - -export type ScrollTarget = HTMLElement | Window | Document; - -export interface ScrollTopOptions { - container?: ScrollTarget; - duration?: number; -} - -export function getScroll(el: ScrollTarget) { - const rlt = { - scrollLeft: 0, - scrollTop: 0, - }; - - if (!el) { - return rlt; - } - - if (isWindow(el)) { - rlt.scrollLeft = window.scrollX; - rlt.scrollTop = window.scrollY; - } else if (isDocument(el)) { - rlt.scrollLeft = el.documentElement.scrollLeft; - rlt.scrollTop = el.documentElement.scrollTop; - } else { - rlt.scrollLeft = el.scrollLeft; - rlt.scrollTop = el.scrollTop; - } - - return rlt; -} - -export function easeInOutCubic(current: number, start: number, end: number, duration: number): number { - const elapsed = end - start; - let time = current / (duration / 2); - - if (time < 1) { - return (elapsed / 2) * time * time * time + start; - } - - time -= 2; - return (elapsed / 2) * (time * time * time + 2) + start; -} - -const cancelScrollRAFMap = new WeakMap void) | null>(); - -export function scrollTo(y: number, opts: ScrollTopOptions) { - const { container = window, duration = 450 } = opts; - const { scrollTop } = getScroll(container); - const startTime = Date.now(); - - if (isFunction(cancelScrollRAFMap.get(container))) { - cancelScrollRAFMap.get(container)!(); - cancelScrollRAFMap.delete(container); - } - - return new Promise((resolve) => { - const frameFn = () => { - const timeStamp = Date.now(); - const time = timeStamp - startTime; - const nextScrollTop = easeInOutCubic(time > duration ? duration : time, scrollTop, y, duration); - - if (isWindow(container)) { - window.scrollTo({ - left: window.scrollX, - top: nextScrollTop, - behavior: 'instant', - }); - } else if (isDocument(container)) { - container.documentElement.scrollTop = nextScrollTop; - } else { - container.scrollTop = nextScrollTop; - } - - if (time < duration) { - const fn = throttleRAF(frameFn); - cancelScrollRAFMap.set(container, () => { - fn.cancel(); - resolve('cancel'); - }); - fn(); - } else { - throttleRAF(() => { - cancelScrollRAFMap.delete(container); - resolve('done'); - })(); - } - }; - - throttleRAF(frameFn)(); - }); -} - -export async function scrollIntoView(target: HTMLElement, scrollContainer: HTMLElement, targetOffset = 100, duration = 450) { - const { scrollTop } = getScroll(scrollContainer); - const offsetTop = getOffsetTop(target, scrollContainer); - const y = scrollTop + offsetTop - targetOffset; - - return scrollTo(y, { - container: scrollContainer, - duration, - }); -} diff --git a/app/.vitepress/src/utils/tree.ts b/app/.vitepress/src/utils/tree.ts deleted file mode 100644 index d8c57f1c0c13a610e1c631c924bad33d0be2b4f7..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/utils/tree.ts +++ /dev/null @@ -1,126 +0,0 @@ -import type { DocMenuT } from '../@types/type-doc-menu'; - -export interface DocMenuNodeT { - id: string; - label: string; - depth: number; - href?: string; - parent: DocMenuNodeT | null; - description: string | null; - type: string; - isManual: boolean; - upstream: string; - path: string; - children: Array; -} - -export class DocMenuTree { - root: DocMenuNodeT; - constructor(data: Array, base: string = '/') { - this.root = { - id: '', - label: '', - depth: 0, - href: base, - description: null, - parent: null, - type: 'root', - isManual: false, - upstream: '', - path: '', - children: [], - }; - - this.buildTree(this.root, data); - } - - /** - * 迭代构造树 - * @param {DocMenuNodeT} parent 父节点 - * @param {Array} data 数据 - */ - buildTree(parent: DocMenuNodeT, data: Array) { - for (let i = 0, len = data.length; i < len; i++) { - const curDepth = parent.depth + 1; - const info = data[i]; - const node: DocMenuNodeT = { - id: info.id, - label: info.label, - depth: curDepth, - href: info.href, - parent, - description: info.description || null, - type: info.type || '', - isManual: info.isManual || false, - upstream: info.upstream || '', - path: info.path || '', - children: [], - }; - - parent.children.push(node); - - if (info.sections && info.sections.length) { - this.buildTree(node, info.sections); - } - } - } - - /** - * BFS 广度优先查找第一个符合的节点 - * @param {DocMenuNodeT} node 父节点 - * @param {string} key key - * @param {string} val value - * @returns {(DocMenuNodeT|null)} 查找到节点则返回该节点,未找到返回 null - */ - getNode(node: DocMenuNodeT, key: keyof DocMenuNodeT, val: any): DocMenuNodeT | null { - if (node[key] === val) { - return node; - } - - const children: Array = node.children; - for (let i = 0, len = children.length; i < len; i++) { - const rlt = this.getNode(children[i], key, val); - if (rlt) { - return rlt; - } - } - - return null; - } - - /** - * 获取前驱节点(不包含目标节点) - * @param {DocMenuNodeT} node 节点 - * @param {number} stopDepth 停止深度,到达此深度后不再往上收集。默认为0,即根节点。 - * @returns {DocMenuNodeT[]} 返回前驱节点 - */ - getPrevNodes(node: DocMenuNodeT, stopDepth = 0) { - if (!node || stopDepth < 0 || node.depth <= stopDepth) { - return []; - } - - const nodes = []; - let prev = node.parent; - while (prev && prev.depth >= stopDepth) { - nodes.push(prev); - prev = prev.parent; - } - - return nodes; - } -} - -export function getNodeHrefSafely(node: DocMenuNodeT): string { - if (node.href && (node.href.includes('.html') || node.href.startsWith('http'))) { - return node.href; - } - - for (const child of node.children) { - const href = getNodeHrefSafely(child); - if (href) { - return href; - } - } - - return ''; -} diff --git a/app/.vitepress/src/views/docs/TheDocsArticle.vue b/app/.vitepress/src/views/docs/TheDocsArticle.vue deleted file mode 100644 index 436ce8102dedc60cf247f348998776733a878d95..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/views/docs/TheDocsArticle.vue +++ /dev/null @@ -1,168 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/views/docs/TheDocsNode.vue b/app/.vitepress/src/views/docs/TheDocsNode.vue deleted file mode 100644 index 714e9497c7bcb4c2e69a9a11d05fe9de648b7d9e..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/views/docs/TheDocsNode.vue +++ /dev/null @@ -1,271 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/views/home/TheHome.vue b/app/.vitepress/src/views/home/TheHome.vue deleted file mode 100644 index 6d196dd7b0320db0dae0ce8d62ef1a97f1cc4ada..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/views/home/TheHome.vue +++ /dev/null @@ -1,410 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/views/home/components/HomeBannerCard.vue b/app/.vitepress/src/views/home/components/HomeBannerCard.vue deleted file mode 100644 index d611e369e3b2aabc42f2b02affed524bc5d79373..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/views/home/components/HomeBannerCard.vue +++ /dev/null @@ -1,96 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/views/home/components/HomeSectionCard.vue b/app/.vitepress/src/views/home/components/HomeSectionCard.vue deleted file mode 100644 index 75395d7b5af24e0c659e3107ffffbffe65028f69..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/views/home/components/HomeSectionCard.vue +++ /dev/null @@ -1,125 +0,0 @@ - - - - - diff --git a/app/.vitepress/src/views/search/TheSearchResult.vue b/app/.vitepress/src/views/search/TheSearchResult.vue deleted file mode 100644 index a44c6d23de5325a86635de3ad519bf61a7e68bb3..0000000000000000000000000000000000000000 --- a/app/.vitepress/src/views/search/TheSearchResult.vue +++ /dev/null @@ -1,348 +0,0 @@ - - - - diff --git a/app/.vitepress/theme/index.ts b/app/.vitepress/theme/index.ts deleted file mode 100644 index b4d0cbd6e833d867481ec06b405efd620c76583a..0000000000000000000000000000000000000000 --- a/app/.vitepress/theme/index.ts +++ /dev/null @@ -1,38 +0,0 @@ -import type { App } from 'vue'; -import { createPinia } from 'pinia'; - -import Layout from '@/App.vue'; -import NotFound from '@/NotFound.vue'; - -import '@/assets/style/base.scss'; -import 'element-plus/theme-chalk/src/index.scss'; -import '@opensig/opendesign/es/index.scss'; -import '@/assets/style/theme/default-light.token.css'; -import '@/assets/style/theme/dark.token.css'; -import '@/assets/style/markdown.scss'; -import '@/assets/style/theme/index.scss'; -import '@/assets/style/global.scss'; -import '@/assets/style/element-plus/index.scss'; - -import VueDOMPurifyHTML from 'vue-dompurify-html'; -import MarkdownTitle from '@/components/markdown/MarkdownTitle.vue'; -import MarkdownImage from '@/components/markdown/MarkdownImage.vue'; - -import '@/shared/analytics'; - -export default { - Layout, - NotFound, - enhanceApp({ app }: { app: App }) { - app.use(createPinia()); - app.use(VueDOMPurifyHTML, { - default: { - ADD_ATTR: ['target'], - }, - }); - - // 注册组件 - app.component('MarkdownTitle', MarkdownTitle); - app.component('MarkdownImage', MarkdownImage); - }, -}; diff --git a/app/en/index.md b/app/en/index.md deleted file mode 100644 index c73b4fd4e9b0b4fa60536a0c2ae144426958bca5..0000000000000000000000000000000000000000 --- a/app/en/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Document Center ---- - - - - diff --git a/app/vite.config.ts b/app/vite.config.ts deleted file mode 100644 index 47af4a0db439325bd72bd356c21d110c0e6342bb..0000000000000000000000000000000000000000 --- a/app/vite.config.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { fileURLToPath, URL } from 'node:url'; - -import { defineConfig } from 'vitepress'; -import Icons from 'unplugin-icons/vite'; -import { FileSystemIconLoader } from 'unplugin-icons/loaders'; - -import replaceUrlPlugin from './.vitepress/plugins/replace-url-plugin'; - -export default defineConfig({ - plugins: [ - Icons({ - compiler: 'vue3', - customCollections: { - app: FileSystemIconLoader(fileURLToPath(new URL('./.vitepress/src/assets/svg-icons', import.meta.url))), - home: FileSystemIconLoader(fileURLToPath(new URL('./.vitepress/src/assets/category/home/svg-icons', import.meta.url))), - footer: FileSystemIconLoader(fileURLToPath(new URL('./.vitepress/src/assets/category/footer/svg-icons', import.meta.url))), - feedback: FileSystemIconLoader(fileURLToPath(new URL('./.vitepress/src/assets/category/feedback/svg-icons', import.meta.url))), - }, - }), - replaceUrlPlugin(), - ], - assetsInclude: ['**/*.PNG'], - build: { - outDir: fileURLToPath(new URL('./.vitepress/dist', import.meta.url)), - cssCodeSplit: true, - }, - publicDir: fileURLToPath(new URL('./.vitepress/public', import.meta.url)), - resolve: { - alias: { - '@': fileURLToPath(new URL('./.vitepress/src', import.meta.url)), - }, - }, - css: { - preprocessorOptions: { - scss: { - api: 'modern', - charset: false, - additionalData: ` - @use "@/assets/style/mixin/screen.scss" as *; - @use "@/assets/style/mixin/font.scss" as *; - @use "@/assets/style/mixin/common.scss" as *; - `, - }, - }, - }, - ssr: { - noExternal: ['@agconnect/api', '@agconnect/instance', '@hw-hmscore/analytics-web'], - }, - server: {}, -}); diff --git a/app/zh/index.md b/app/zh/index.md deleted file mode 100644 index 5b7ea04bf8f9ffa34487844e56087caa81367444..0000000000000000000000000000000000000000 --- a/app/zh/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 文档中心 ---- - - - - diff --git a/common.py b/common.py new file mode 100644 index 0000000000000000000000000000000000000000..9e8c2a50e6a6a0125acfa21cde296c04958402b1 --- /dev/null +++ b/common.py @@ -0,0 +1,59 @@ +import os +import subprocess + + +def get_pr_files(base_dirs=None): + """ + 获取 PR 修改过的 Markdown 文件列表 + + Args: + base_dirs (list|str|None): 可以是: + - None: 使用默认 ['docs/zh/', 'docs/en/'] + - 字符串: 如 "doc/zh/,doc/en/" (兼容旧调用) + - 列表: 如 ['doc/zh/', 'doc/en/'] (推荐新方式) + + Returns: + list: 符合条件的文件路径列表 + """ + # 参数标准化处理 + if base_dirs is None: + base_dirs = ['docs/zh/', 'docs/en/'] + elif isinstance(base_dirs, str): + base_dirs = [d.strip() for d in base_dirs.split(',') if d.strip()] + + PR_LIST_FILE = 'pr_list' + DIFF_INFO_FILE = 'diff_info' + res = [] + + if os.path.exists(PR_LIST_FILE): + with open(PR_LIST_FILE, 'r') as f: + res = [line.strip() for line in f if line.strip()] + else: + subprocess.call(f'git show --numstat > {DIFF_INFO_FILE}', shell=True) + with open(DIFF_INFO_FILE, 'r') as f: + for line in f: + line = line.strip() + if not line: continue + + parts = line.split('\t') + if len(parts) < 3 or not parts[0].isdigit(): + continue + + path = parts[2].strip() + added = int(parts[0]) # 新增行数 + deleted = int(parts[1]) # 删除行数 + if added == 0 and deleted >= 0: + continue + if '=>' in path: # 处理重命名 + path = path.split('{')[0] + path.split('=>')[1].replace('}', '').replace('{', '').strip() + + if path.endswith('.md'): + for base in base_dirs: + if path.startswith(base): + res.append(path) + break + + with open(PR_LIST_FILE, 'w') as f: + f.write('\n'.join(res)) + + return res diff --git a/deploy/entrypoint.sh b/deploy/entrypoint.sh deleted file mode 100644 index c0ccd9e42256ccb96c56194422e84f05c16d4575..0000000000000000000000000000000000000000 --- a/deploy/entrypoint.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# 使用 ifconfig 获取主机的 IP 地址(假设是 eth0 接口) -LOCAL_IP=$(ifconfig eth0 | grep inet | awk '{ print $2 }' | head -n 1) - -# 使用 awk 替换 nginx.conf.template 中的环境变量 -echo "Replacing LOCAL_IP in nginx.conf" -awk -v ip="$LOCAL_IP" '{gsub(/\${LOCAL_IP}/, ip); print}' /etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf -bash /etc/nginx/monitor.sh $DET_URL $DST_PATH & -/usr/share/nginx/sbin/nginx -g 'daemon off;' \ No newline at end of file diff --git a/deploy/monitor.sh b/deploy/monitor.sh deleted file mode 100644 index d84c1bc8aa3a6504483d3d8879244e142708b2e9..0000000000000000000000000000000000000000 --- a/deploy/monitor.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash -# this script is for website monitoring, -# when website is up, delete all cert file. - -HOST=$1 -DST_PATH=$2 - -delete_file() { - if [ -d $DST_PATH ]; then - echo "found $DST_PATH" > /dev/stdout - rm -rf $DST_PATH/* - else - echo "$DST_PATH not found" > /dev/stdout - fi -} - -while true; -do - sleep 20 - RET=$(curl -k -s -w "%{http_code}\n" -o /dev/null $HOST) - if [ $RET == "200" ]; then - echo "website is up!!!" > /dev/stdout - delete_file - if [ $? -eq 0 ]; then - echo "successful delete file, exit" > /dev/stdout - break - else - echo "failed to delete file" > /dev/stdout - fi - else - echo "waiting for website up, http_status: $RET" > /dev/stdout - fi -done \ No newline at end of file diff --git a/deploy/nginx/nginx.conf b/deploy/nginx/nginx.conf deleted file mode 100644 index bd1fc65f304810799cef7c84ab4e9049b60be11b..0000000000000000000000000000000000000000 --- a/deploy/nginx/nginx.conf +++ /dev/null @@ -1,135 +0,0 @@ -user $NGINX_USER; - -error_log /dev/stdout info; - -pid /var/run/nginx.pid; - -worker_processes auto; -worker_rlimit_nofile 65535; -events { - use epoll; - worker_connections 65535; -} - -http { - include /etc/nginx/mime.types; - - log_format main '[$time_local] remote_addr: $http_x_real_ip, request: "$request", ' - 'status: $status, body_bytes_sent: $body_bytes_sent, http_referer: "$http_referer", ' - 'http_user_agent: "$http_user_agent"'; - - access_log /dev/stdout main; - - server_tokens off; - - autoindex off; - - port_in_redirect off; - absolute_redirect off; - - client_header_buffer_size 1k; - large_client_header_buffers 4 8k; - client_body_buffer_size 10K; - client_max_body_size 10k; - - client_header_timeout 8; - client_body_timeout 8; - client_body_in_file_only off; - - keepalive_timeout 5 5; - send_timeout 8; - - proxy_hide_header X-Powered-By; - proxy_request_buffering off; - - limit_conn_zone $binary_remote_addr zone=limitperip:10m; - limit_req_zone $binary_remote_addr zone=ratelimit:10m rate=1000r/s; - underscores_in_headers on; - - gzip on; - gzip_min_length 1k; - gzip_buffers 4 16k; - gzip_comp_level 5; - gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/javascript application/x-httpd-php application/json; - gzip_vary on; - - server { - listen ${LOCAL_IP}:8080 ssl; - server_name openeuler-docs.test.osinfra.cn; - charset utf-8; - - limit_conn limitperip 10; - ssl_session_tickets off; - ssl_session_timeout 10s; - ssl_session_cache shared:SSL:10m; - - ssl_certificate "cert/server.crt"; - ssl_certificate_key "cert/server.key"; - ssl_password_file "cert/abc.txt"; - ssl_dhparam "cert/dhparam.pem"; - ssl_ecdh_curve auto; - ssl_protocols TLSv1.2 TLSv1.3; - ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384"; - ssl_prefer_server_ciphers on; - ssl_stapling on; - ssl_stapling_verify on; - resolver 8.8.8.8 8.8.4.4 valid=60s; - resolver_timeout 5s; - - if ($request_method !~ ^(GET|HEAD|POST|PUT|DELETE)$) { - return 444; - } - - location ~ /\. { - deny all; - return 404; - } - - merge_slashes off; - - location / { - limit_req zone=ratelimit burst=5 nodelay; - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Host $host; - - #[rewrite_template] - - add_header X-XSS-Protection "1; mode=block"; - add_header X-Frame-Options DENY; - add_header X-Content-Type-Options nosniff; - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; - add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval' https://hm.baidu.com/; object-src 'none'; frame-src 'none'"; - add_header Cache-Control "no-cache,no-store,must-revalidate"; - add_header Pragma no-cache; - add_header Expires 0; - - location /assets { - add_header X-XSS-Protection "1; mode=block"; - add_header X-Frame-Options DENY; - add_header X-Content-Type-Options nosniff; - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; - add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval' hm.baidu.com; object-src 'none'; frame-src 'none'"; - add_header Cache-Control "public,max-age=1209600"; - } - - root /usr/share/nginx/www; - index index.html; - } - - error_page 401 402 403 405 406 407 413 414 /error.html; - error_page 500 501 502 503 504 505 /error.html; - error_page 404 /404.html; - - location = /error.html { - root /usr/share/nginx/www; - } - - location = /404.html { - root /usr/share/nginx/www; - } - - location = / { - return 301 /zh/; - } - } -} \ No newline at end of file diff --git a/deploy/nginx/nginx.portal.conf b/deploy/nginx/nginx.portal.conf deleted file mode 100644 index d81ff31e39706c638d817cbbaca7490f05b2f905..0000000000000000000000000000000000000000 --- a/deploy/nginx/nginx.portal.conf +++ /dev/null @@ -1,568 +0,0 @@ -user $NGINX_USER; - -error_log /dev/stdout info; - -pid /var/run/nginx.pid; - -worker_processes auto; -worker_rlimit_nofile 65535; -events { - use epoll; - worker_connections 65535; -} - -http { - include /etc/nginx/mime.types; - - log_format main '[$time_local] remote_addr: $http_x_real_ip, request: "$request", ' - 'status: $status, body_bytes_sent: $body_bytes_sent, http_referer: "$http_referer", ' - 'http_user_agent: "$http_user_agent"'; - - access_log /dev/stdout main; - - server_tokens off; - - autoindex off; - - port_in_redirect off; - absolute_redirect off; - - client_header_buffer_size 1k; - large_client_header_buffers 4 8k; - client_body_buffer_size 10K; - client_max_body_size 10k; - - client_header_timeout 8; - client_body_timeout 8; - client_body_in_file_only off; - - keepalive_timeout 5 5; - send_timeout 8; - - proxy_hide_header X-Powered-By; - proxy_request_buffering off; - - limit_conn_zone $binary_remote_addr zone=limitperip:10m; - limit_req_zone $binary_remote_addr zone=ratelimit:10m rate=1000r/s; - underscores_in_headers on; - - gzip on; - gzip_min_length 1k; - gzip_buffers 4 16k; - gzip_comp_level 5; - gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/javascript application/x-httpd-php application/json; - gzip_vary on; - - server { - listen ${LOCAL_IP}:8080 ssl; - server_name openeuler-docs.test.osinfra.cn; - charset utf-8; - - limit_conn limitperip 10; - ssl_session_tickets off; - ssl_session_timeout 10s; - ssl_session_cache shared:SSL:10m; - - ssl_certificate "cert/server.crt"; - ssl_certificate_key "cert/server.key"; - ssl_password_file "cert/abc.txt"; - ssl_dhparam "cert/dhparam.pem"; - ssl_ecdh_curve auto; - ssl_protocols TLSv1.2 TLSv1.3; - ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384"; - ssl_prefer_server_ciphers on; - ssl_stapling on; - ssl_stapling_verify on; - resolver 8.8.8.8 8.8.4.4 valid=60s; - resolver_timeout 5s; - - if ($request_method !~ ^(GET|HEAD|POST|PUT|DELETE)$) { - return 444; - } - - location ~ /\. { - deny all; - return 404; - } - - merge_slashes off; - - location / { - limit_req zone=ratelimit burst=5 nodelay; - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Host $host; - add_header X-XSS-Protection "1; mode=block"; - add_header X-Frame-Options DENY; - add_header X-Content-Type-Options nosniff; - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; - add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval' https://hm.baidu.com/; object-src 'none'; frame-src 'none'"; - add_header Cache-Control "no-cache,no-store,must-revalidate"; - add_header Pragma no-cache; - add_header Expires 0; - - location /assets { - add_header X-XSS-Protection "1; mode=block"; - add_header X-Frame-Options DENY; - add_header X-Content-Type-Options nosniff; - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; - add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval' hm.baidu.com; object-src 'none'; frame-src 'none'"; - add_header Cache-Control "public,max-age=1209600"; - } - - root /usr/share/nginx/www; - index index.html; - } - - error_page 401 402 403 405 406 407 413 414 /error.html; - error_page 500 501 502 503 504 505 /error.html; - error_page 404 /404.html; - - location = /error.html { - root /usr/share/nginx/www; - } - - location = /404.html { - root /usr/share/nginx/www; - } - - # 搜索 - location ^~ /api-search/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - - proxy_pass https://doc-search.openeuler.org/; - } - - # 登录 - location ^~ /api-id/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - add_header X-XSS-Protection "1; mode=block"; - add_header X-Frame-Options DENY; - add_header X-Content-Type-Options nosniff; - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; - add_header Content-Security-Policy "script-src 'self'; object-src 'none'; frame-src 'none'"; - add_header Cache-Control "no-cache,no-store,must-revalidate"; - add_header Pragma no-cache; - add_header Expires 0; - - proxy_pass https://omapi.osinfra.cn/; - } - - location ^~ /omapi/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - add_header X-XSS-Protection "1; mode=block"; - add_header X-Frame-Options DENY; - add_header X-Content-Type-Options nosniff; - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; - add_header Content-Security-Policy "script-src 'self'; object-src 'none'; frame-src 'none'"; - add_header Cache-Control "no-cache,no-store,must-revalidate"; - add_header Pragma no-cache; - add_header Expires 0; - - proxy_pass https://omapi.osinfra.cn/; - } - - # datastat数据 - location /api-dsapi/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - - proxy_pass https://dsapi.osinfra.cn/; - } - - #消息中心 - location /api-message/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - - proxy_pass https://message-center.openeuler.org/server/; - } - - # ============ 25.09 ============ - - location /assets/25.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-25-09.openeuler-website-docs:8080; - } - - location /zh/docs/25.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-25-09.openeuler-website-docs:8080; - } - - location /en/docs/25.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-25-09.openeuler-website-docs:8080; - } - - # ============ 25.03 ============ - - location /assets/25.03/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-25-03.openeuler-website-docs:8080; - } - - location /zh/docs/25.03/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-25-03.openeuler-website-docs:8080; - } - - location /en/docs/25.03/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-25-03.openeuler-website-docs:8080; - } - - # ============ 24.03_LTS_SP1 ============ - - location /assets/24.03_LTS_SP1/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-24-03-lts-sp1.openeuler-website-docs:8080; - } - - location /zh/docs/24.03_LTS_SP1/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-24-03-lts-sp1.openeuler-website-docs:8080; - } - - location /en/docs/24.03_LTS_SP1/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-24-03-lts-sp1.openeuler-website-docs:8080; - } - - # ============ 24.03_LTS_SP2 ============ - - location /assets/24.03_LTS_SP2/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-24-03-lts-sp2.openeuler-website-docs:8080; - } - - location /zh/docs/24.03_LTS_SP2/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-24-03-lts-sp2.openeuler-website-docs:8080; - } - - location /en/docs/24.03_LTS_SP2/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-24-03-lts-sp2.openeuler-website-docs:8080; - } - - # ============ 22.03_LTS_SP4 ============ - - location /assets/22.03_LTS_SP4/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-03-lts-sp4.openeuler-website-docs:8080; - } - - location /zh/docs/22.03_LTS_SP4/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-03-lts-sp4.openeuler-website-docs:8080; - } - - location /en/docs/22.03_LTS_SP4/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-03-lts-sp4.openeuler-website-docs:8080; - } - - # ============ 24.03_LTS ============ - - location ^~ /docs/24.03_LTS/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-24-03-lts.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/24.03_LTS/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-24-03-lts.openeuler-website-docs:8080; - } - - # ============ 22.03_LTS_SP3 ============ - - location ^~ /docs/22.03_LTS_SP3/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-03-lts-sp3.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/22.03_LTS_SP3/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-03-lts-sp3.openeuler-website-docs:8080; - } - - # ============ 20.03_LTS_SP4 ============ - - location ^~ /docs/20.03_LTS_SP4/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-20-03-lts-sp4.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/20.03_LTS_SP4/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-20-03-lts-sp4.openeuler-website-docs:8080; - } - - # ============ 22.03_LTS_SP1 ============ - - location ^~ /docs/22.03_LTS_SP1/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-03-lts-sp1.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/22.03_LTS_SP1/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-03-lts-sp1.openeuler-website-docs:8080; - } - - # ============ 24.09 ============ - - location ^~ /docs/24.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-24-09.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/24.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-24-09.openeuler-website-docs:8080; - } - - # ============ 23.09 ============ - - location ^~ /docs/23.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-23-09.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/23.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-23-09.openeuler-website-docs:8080; - } - - # ============ 22.03_LTS_SP2 ============ - - location ^~ /docs/22.03_LTS_SP2/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-03-lts-sp2.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/22.03_LTS_SP2/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-03-lts-sp2.openeuler-website-docs:8080; - } - - # ============ 23.03 ============ - - location ^~ /docs/23.03/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-23-03.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/23.03/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-23-03.openeuler-website-docs:8080; - } - - # ============ 22.09 ============ - - location ^~ /docs/22.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-09.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/22.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-09.openeuler-website-docs:8080; - } - - # ============ 22.03_LTS ============ - - location ^~ /docs/22.03_LTS/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-03-lts.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/22.03_LTS/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-22-03-lts.openeuler-website-docs:8080; - } - - # ============ 20.03_LTS_SP3 ============ - - location ^~ /docs/20.03_LTS_SP3/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-20-03-lts-sp3.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/20.03_LTS_SP3/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-20-03-lts-sp3.openeuler-website-docs:8080; - } - - # ============ 21.09 ============ - - location ^~ /docs/21.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-21-09.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/21.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-21-09.openeuler-website-docs:8080; - } - - # ============ 20.03_LTS_SP2 ============ - - location ^~ /docs/20.03_LTS_SP2/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-20-03-lts-sp2.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/20.03_LTS_SP2/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-20-03-lts-sp2.openeuler-website-docs:8080; - } - - # ============ 21.03 ============ - - location ^~ /docs/21.03/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-21-03.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/21.03/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_ssl_protocols TLSv1.2 TLSv1.3; - proxy_ssl_verify off; - - proxy_pass https://openeuler-docs-website-stable2-21-03.openeuler-website-docs:8080; - } - - # ============ 20.03_LTS_SP1 ============ - - location ^~ /docs/20.03_LTS_SP1/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-20-03-lts-sp1.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/20.03_LTS_SP1/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-20-03-lts-sp1.openeuler-website-docs:8080; - } - - # ============ 20.09 ============ - - location ^~ /docs/20.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-20-09.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/20.09/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-20-09.openeuler-website-docs:8080; - } - - # ============ 20.03_LTS ============ - - location ^~ /docs/20.03_LTS/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-20-03-lts.openeuler-website-docs:8080/; - } - - location ~ ^/(zh|en)/docs/20.03_LTS/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_set_header Connection ""; - - proxy_pass https://openeuler-docs-website-stable2-20-03-lts.openeuler-website-docs:8080; - } - } -} \ No newline at end of file diff --git a/docs-ci.js b/docs-ci.js new file mode 100644 index 0000000000000000000000000000000000000000..f93e27fc6a69a2617daf54d99dbd5dd23c41304a --- /dev/null +++ b/docs-ci.js @@ -0,0 +1,358 @@ +/** + * 文档 pr 门禁检查脚本 + * + * 该脚本用于对 pr 变更的文档内容进行检查。 + * + * 命令行参数说明: + * --repoPath 必需,仓库存储路径 + * --checkDirs 必需,文档目录前缀,只有有该目录前缀的 md 文档才进行检查,多个用逗号分隔,默认为 'docs/zh,docs/en' + * --targetOwnerRepo 必需,目标仓库信息,格式为 "owner/repo" + * --targetBranch 必需,目标分支名 + * --detailUrl 可选,详细结果页面链接 + * --outputCount 可选,输出到 output.md 的错误数量限制,默认20条 + * --remoteCiConfigUrl 可选,远程CI配置文件URL + * --remoteMdlintConfigUrl 可选,远程markdownlint配置文件URL + * --remoteCodespellConfigUrl 可选,远程codespell白名单 + * --remoteWhiteListUrlsConfigUrl 可选,远程白名单URL有效性检查白名单 + * + * 支持的检查项: + * - markdownlint: Markdown格式规范检查 + * - link-validity-check: 链接有效性检查 + * - resource-existence-check: 资源文件存在性检查 + * - codespell-check: 英文单词拼写检查 + * - tag-closed-check: HTML标签闭合检查 + * - file-naming-check: 文件命名规范检查 + * - file-naming-consistency-check: 中英文文件命名一致性检查 + * - toc-check: _toc.yaml 检查 + * + * 输出结果: + * 脚本执行完成后会在当前目录生成 output.md 文件,包含检查结果详情。 + * + * 使用示例: + * node docs-ci.js \ + --repoPath="Your Repo Path" \ + --checkDirs="docs/zh,docs/en" \ + --targetOwnerRepo="owner/repo" \ + --targetBranch="branch" \ + --detailUrl="Your Detail Url" \ + --outputCount="20" \ + --remoteCiConfigUrl="Your config url" \ + --remoteMdlintConfigUrl="Your config url" \ + --remoteCodespellConfigUrl="Your config url" \ + --remoteWhiteListUrlsConfigUrl="Your config url" + */ +"use strict";var aR=Object.create;var Cd=Object.defineProperty;var uR=Object.getOwnPropertyDescriptor;var cR=Object.getOwnPropertyNames;var lR=Object.getPrototypeOf,fR=Object.prototype.hasOwnProperty;var W=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Is=(e,t)=>{for(var n in t)Cd(e,n,{get:t[n],enumerable:!0})},dR=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of cR(t))!fR.call(e,i)&&i!==n&&Cd(e,i,{get:()=>t[i],enumerable:!(r=uR(t,i))||r.enumerable});return e};var B=(e,t,n)=>(n=e!=null?aR(lR(e)):{},dR(t||!e||!e.__esModule?Cd(n,"default",{value:e,enumerable:!0}):n,e));var gy=W((pse,my)=>{"use strict";var cy="-",VN=/^xn--/,KN=/[^\0-\x7F]/,XN=/[\x2E\u3002\uFF0E\uFF61]/g,JN={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Ch=35,$t=Math.floor,Eh=String.fromCharCode;function Bn(e){throw new RangeError(JN[e])}function YN(e,t){let n=[],r=e.length;for(;r--;)n[r]=t(e[r]);return n}function ly(e,t){let n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(XN,".");let i=e.split("."),s=YN(i,t).join(".");return r+s}function fy(e){let t=[],n=0,r=e.length;for(;n=55296&&i<=56319&&nString.fromCodePoint(...e),QN=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:36},uy=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},dy=function(e,t,n){let r=0;for(e=n?$t(e/700):e>>1,e+=$t(e/t);e>Ch*26>>1;r+=36)e=$t(e/Ch);return $t(r+(Ch+1)*e/(e+38))},hy=function(e){let t=[],n=e.length,r=0,i=128,s=72,o=e.lastIndexOf(cy);o<0&&(o=0);for(let a=0;a=128&&Bn("not-basic"),t.push(e.charCodeAt(a));for(let a=o>0?o+1:0;a=n&&Bn("invalid-input");let h=QN(e.charCodeAt(a++));h>=36&&Bn("invalid-input"),h>$t((2147483647-r)/l)&&Bn("overflow"),r+=h*l;let f=d<=s?1:d>=s+26?26:d-s;if(h$t(2147483647/p)&&Bn("overflow"),l*=p}let c=t.length+1;s=dy(r-u,c,u==0),$t(r/c)>2147483647-i&&Bn("overflow"),i+=$t(r/c),r%=c,t.splice(r++,0,i)}return String.fromCodePoint(...t)},py=function(e){let t=[];e=fy(e);let n=e.length,r=128,i=0,s=72;for(let u of e)u<128&&t.push(Eh(u));let o=t.length,a=o;for(o&&t.push(cy);a=r&&l$t((2147483647-i)/c)&&Bn("overflow"),i+=(u-r)*c,r=u;for(let l of e)if(l2147483647&&Bn("overflow"),l===r){let d=i;for(let h=36;;h+=36){let f=h<=s?1:h>=s+26?26:h-s;if(d{var Ey=!1,yi={false:"push",true:"unshift",after:"push",before:"unshift"},Du={isPermalinkSymbol:!0};function wh(e,t,n,r){var i;if(!Ey){var s="Using deprecated markdown-it-anchor permalink option, see https://github.com/valeriangalliat/markdown-it-anchor#permalinks";typeof process=="object"&&process&&process.emitWarning?process.emitWarning(s):console.warn(s),Ey=!0}var o=[Object.assign(new n.Token("link_open","a",1),{attrs:[].concat(t.permalinkClass?[["class",t.permalinkClass]]:[],[["href",t.permalinkHref(e,n)]],Object.entries(t.permalinkAttrs(e,n)))}),Object.assign(new n.Token("html_block","",0),{content:t.permalinkSymbol,meta:Du}),new n.Token("link_close","a",-1)];t.permalinkSpace&&n.tokens[r+1].children[yi[t.permalinkBefore]](Object.assign(new n.Token("text","",0),{content:" "})),(i=n.tokens[r+1].children)[yi[t.permalinkBefore]].apply(i,o)}function wy(e){return"#"+e}function Ay(e){return{}}var c8={class:"header-anchor",symbol:"#",renderHref:wy,renderAttrs:Ay};function Ms(e){function t(n){return n=Object.assign({},t.defaults,n),function(r,i,s,o){return e(r,n,i,s,o)}}return t.defaults=Object.assign({},c8),t.renderPermalinkImpl=e,t}function Ah(e){var t=[],n=e.filter(function(r){if(r[0]!=="class")return!0;t.push(r[1])});return t.length>0&&n.unshift(["class",t.join(" ")]),n}var Su=Ms(function(e,t,n,r,i){var s,o=[Object.assign(new r.Token("link_open","a",1),{attrs:Ah([].concat(t.class?[["class",t.class]]:[],[["href",t.renderHref(e,r)]],t.ariaHidden?[["aria-hidden","true"]]:[],Object.entries(t.renderAttrs(e,r))))}),Object.assign(new r.Token("html_inline","",0),{content:t.symbol,meta:Du}),new r.Token("link_close","a",-1)];if(t.space){var a=typeof t.space=="string"?t.space:" ";r.tokens[i+1].children[yi[t.placement]](Object.assign(new r.Token(typeof t.space=="string"?"html_inline":"text","",0),{content:a}))}(s=r.tokens[i+1].children)[yi[t.placement]].apply(s,o)});Object.assign(Su.defaults,{space:!0,placement:"after",ariaHidden:!1});var Tr=Ms(Su.renderPermalinkImpl);Tr.defaults=Object.assign({},Su.defaults,{ariaHidden:!0});var ky=Ms(function(e,t,n,r,i){var s=[Object.assign(new r.Token("link_open","a",1),{attrs:Ah([].concat(t.class?[["class",t.class]]:[],[["href",t.renderHref(e,r)]],Object.entries(t.renderAttrs(e,r))))})].concat(t.safariReaderFix?[new r.Token("span_open","span",1)]:[],r.tokens[i+1].children,t.safariReaderFix?[new r.Token("span_close","span",-1)]:[],[new r.Token("link_close","a",-1)]);r.tokens[i+1]=Object.assign(new r.Token("inline","",0),{children:s})});Object.assign(ky.defaults,{safariReaderFix:!1});var Dy=Ms(function(e,t,n,r,i){var s;if(!["visually-hidden","aria-label","aria-describedby","aria-labelledby"].includes(t.style))throw new Error("`permalink.linkAfterHeader` called with unknown style option `"+t.style+"`");if(!["aria-describedby","aria-labelledby"].includes(t.style)&&!t.assistiveText)throw new Error("`permalink.linkAfterHeader` called without the `assistiveText` option in `"+t.style+"` style");if(t.style==="visually-hidden"&&!t.visuallyHiddenClass)throw new Error("`permalink.linkAfterHeader` called without the `visuallyHiddenClass` option in `visually-hidden` style");var o=r.tokens[i+1].children.filter(function(d){return d.type==="text"||d.type==="code_inline"}).reduce(function(d,h){return d+h.content},""),a=[],u=[];if(t.class&&u.push(["class",t.class]),u.push(["href",t.renderHref(e,r)]),u.push.apply(u,Object.entries(t.renderAttrs(e,r))),t.style==="visually-hidden"){if(a.push(Object.assign(new r.Token("span_open","span",1),{attrs:[["class",t.visuallyHiddenClass]]}),Object.assign(new r.Token("text","",0),{content:t.assistiveText(o)}),new r.Token("span_close","span",-1)),t.space){var c=typeof t.space=="string"?t.space:" ";a[yi[t.placement]](Object.assign(new r.Token(typeof t.space=="string"?"html_inline":"text","",0),{content:c}))}a[yi[t.placement]](Object.assign(new r.Token("span_open","span",1),{attrs:[["aria-hidden","true"]]}),Object.assign(new r.Token("html_inline","",0),{content:t.symbol,meta:Du}),new r.Token("span_close","span",-1))}else a.push(Object.assign(new r.Token("html_inline","",0),{content:t.symbol,meta:Du}));t.style==="aria-label"?u.push(["aria-label",t.assistiveText(o)]):["aria-describedby","aria-labelledby"].includes(t.style)&&u.push([t.style,e]);var l=[Object.assign(new r.Token("link_open","a",1),{attrs:Ah(u)})].concat(a,[new r.Token("link_close","a",-1)]);(s=r.tokens).splice.apply(s,[i+3,0].concat(l)),t.wrapper&&(r.tokens.splice(i,0,Object.assign(new r.Token("html_block","",0),{content:t.wrapper[0]+` +`})),r.tokens.splice(i+3+l.length+1,0,Object.assign(new r.Token("html_block","",0),{content:t.wrapper[1]+` +`})))});function Sy(e,t,n,r){var i=e,s=r;if(n&&Object.prototype.hasOwnProperty.call(t,i))throw new Error("User defined `id` attribute `"+e+"` is not unique. Please fix it in your Markdown to continue.");for(;Object.prototype.hasOwnProperty.call(t,i);)i=e+"-"+s,s+=1;return t[i]=!0,i}function bi(e,t){t=Object.assign({},bi.defaults,t),e.core.ruler.push("anchor",function(n){for(var r,i={},s=n.tokens,o=Array.isArray(t.level)?(r=t.level,function(d){return r.includes(d)}):function(d){return function(h){return h>=d}}(t.level),a=0;a{"use strict";var vh=Symbol.for("yaml.alias"),Iy=Symbol.for("yaml.document"),Au=Symbol.for("yaml.map"),_y=Symbol.for("yaml.pair"),Fh=Symbol.for("yaml.scalar"),ku=Symbol.for("yaml.seq"),dn=Symbol.for("yaml.node.type"),d8=e=>!!e&&typeof e=="object"&&e[dn]===vh,h8=e=>!!e&&typeof e=="object"&&e[dn]===Iy,p8=e=>!!e&&typeof e=="object"&&e[dn]===Au,m8=e=>!!e&&typeof e=="object"&&e[dn]===_y,Ly=e=>!!e&&typeof e=="object"&&e[dn]===Fh,g8=e=>!!e&&typeof e=="object"&&e[dn]===ku;function Ry(e){if(e&&typeof e=="object")switch(e[dn]){case Au:case ku:return!0}return!1}function x8(e){if(e&&typeof e=="object")switch(e[dn]){case vh:case Au:case Fh:case ku:return!0}return!1}var b8=e=>(Ly(e)||Ry(e))&&!!e.anchor;Ge.ALIAS=vh;Ge.DOC=Iy;Ge.MAP=Au;Ge.NODE_TYPE=dn;Ge.PAIR=_y;Ge.SCALAR=Fh;Ge.SEQ=ku;Ge.hasAnchor=b8;Ge.isAlias=d8;Ge.isCollection=Ry;Ge.isDocument=h8;Ge.isMap=p8;Ge.isNode=x8;Ge.isPair=m8;Ge.isScalar=Ly;Ge.isSeq=g8});var Ps=W(Th=>{"use strict";var Pe=Ce(),at=Symbol("break visit"),Ny=Symbol("skip children"),Ht=Symbol("remove node");function vu(e,t){let n=By(t);Pe.isDocument(e)?Ci(null,e.contents,n,Object.freeze([e]))===Ht&&(e.contents=null):Ci(null,e,n,Object.freeze([]))}vu.BREAK=at;vu.SKIP=Ny;vu.REMOVE=Ht;function Ci(e,t,n,r){let i=My(e,t,n,r);if(Pe.isNode(i)||Pe.isPair(i))return Py(e,r,i),Ci(e,i,n,r);if(typeof i!="symbol"){if(Pe.isCollection(t)){r=Object.freeze(r.concat(t));for(let s=0;s{"use strict";var Oy=Ce(),y8=Ps(),C8={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},E8=e=>e.replace(/[!,[\]{}]/g,t=>C8[t]),Os=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:e.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},e.defaultTags),this.atNextDocument=!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case"%TAG":{if(r.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),r.length<2))return!1;let[s,o]=r;return this.tags[s]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,r.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;let[s]=r;if(s==="1.1"||s==="1.2")return this.yaml.version=s,!0;{let o=/^\d+\.\d+$/.test(s);return n(6,`Unsupported YAML version ${s}`,o),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(t,n){if(t==="!")return"!";if(t[0]!=="!")return n(`Not a valid tag: ${t}`),null;if(t[1]==="<"){let o=t.slice(2,-1);return o==="!"||o==="!!"?(n(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&n("Verbatim tags must end with a >"),o)}let[,r,i]=t.match(/^(.*!)([^!]*)$/s);i||n(`The ${t} tag has no suffix`);let s=this.tags[r];if(s)try{return s+decodeURIComponent(i)}catch(o){return n(String(o)),null}return r==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(let[n,r]of Object.entries(this.tags))if(t.startsWith(r))return n+E8(t.substring(r.length));return t[0]==="!"?t:`!<${t}>`}toString(t){let n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],r=Object.entries(this.tags),i;if(t&&r.length>0&&Oy.isNode(t.contents)){let s={};y8.visit(t.contents,(o,a)=>{Oy.isNode(a)&&a.tag&&(s[a.tag]=!0)}),i=Object.keys(s)}else i=[];for(let[s,o]of r)s==="!!"&&o==="tag:yaml.org,2002:"||(!t||i.some(a=>a.startsWith(o)))&&n.push(`%TAG ${s} ${o}`);return n.join(` +`)}};Os.defaultYaml={explicit:!1,version:"1.2"};Os.defaultTags={"!!":"tag:yaml.org,2002:"};Uy.Directives=Os});var Tu=W(Us=>{"use strict";var zy=Ce(),D8=Ps();function S8(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let n=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(n)}return!0}function qy(e){let t=new Set;return D8.visit(e,{Value(n,r){r.anchor&&t.add(r.anchor)}}),t}function jy(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function w8(e,t){let n=[],r=new Map,i=null;return{onAnchor:s=>{n.push(s),i??(i=qy(e));let o=jy(t,i);return i.add(o),o},setAnchors:()=>{for(let s of n){let o=r.get(s);if(typeof o=="object"&&o.anchor&&(zy.isScalar(o.node)||zy.isCollection(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=s,a}}},sourceObjects:r}}Us.anchorIsValid=S8;Us.anchorNames=qy;Us.createNodeAnchors=w8;Us.findNewAnchor=jy});var _h=W(Wy=>{"use strict";function zs(e,t,n,r){if(r&&typeof r=="object")if(Array.isArray(r))for(let i=0,s=r.length;i{"use strict";var A8=Ce();function $y(e,t,n){if(Array.isArray(e))return e.map((r,i)=>$y(r,String(i),n));if(e&&typeof e.toJSON=="function"){if(!n||!A8.hasAnchor(e))return e.toJSON(t,n);let r={aliasCount:0,count:1,res:void 0};n.anchors.set(e,r),n.onCreate=s=>{r.res=s,delete n.onCreate};let i=e.toJSON(t,n);return n.onCreate&&n.onCreate(i),i}return typeof e=="bigint"&&!n?.keep?Number(e):e}Hy.toJS=$y});var Iu=W(Vy=>{"use strict";var k8=_h(),Gy=Ce(),v8=Mn(),Lh=class{constructor(t){Object.defineProperty(this,Gy.NODE_TYPE,{value:t})}clone(){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:n,maxAliasCount:r,onAnchor:i,reviver:s}={}){if(!Gy.isDocument(t))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:t,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},a=v8.toJS(this,"",o);if(typeof i=="function")for(let{count:u,res:c}of o.anchors.values())i(c,u);return typeof s=="function"?k8.applyReviver(s,{"":a},"",a):a}};Vy.NodeBase=Lh});var qs=W(Ky=>{"use strict";var F8=Tu(),T8=Ps(),Di=Ce(),I8=Iu(),_8=Mn(),Rh=class extends I8.NodeBase{constructor(t){super(Di.ALIAS),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,n){let r;n?.aliasResolveCache?r=n.aliasResolveCache:(r=[],T8.visit(t,{Node:(s,o)=>{(Di.isAlias(o)||Di.hasAnchor(o))&&r.push(o)}}),n&&(n.aliasResolveCache=r));let i;for(let s of r){if(s===this)break;s.anchor===this.source&&(i=s)}return i}toJSON(t,n){if(!n)return{source:this.source};let{anchors:r,doc:i,maxAliasCount:s}=n,o=this.resolve(i,n);if(!o){let u=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(u)}let a=r.get(o);if(a||(_8.toJS(o,null,n),a=r.get(o)),!a||a.res===void 0){let u="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(u)}if(s>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=_u(i,o,r)),a.count*a.aliasCount>s)){let u="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(u)}return a.res}toString(t,n,r){let i=`*${this.source}`;if(t){if(F8.anchorIsValid(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){let s=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(s)}if(t.implicitKey)return`${i} `}return i}};function _u(e,t,n){if(Di.isAlias(t)){let r=t.resolve(e),i=n&&r&&n.get(r);return i?i.count*i.aliasCount:0}else if(Di.isCollection(t)){let r=0;for(let i of t.items){let s=_u(e,i,n);s>r&&(r=s)}return r}else if(Di.isPair(t)){let r=_u(e,t.key,n),i=_u(e,t.value,n);return Math.max(r,i)}return 1}Ky.Alias=Rh});var Ne=W(Nh=>{"use strict";var L8=Ce(),R8=Iu(),N8=Mn(),B8=e=>!e||typeof e!="function"&&typeof e!="object",Pn=class extends R8.NodeBase{constructor(t){super(L8.SCALAR),this.value=t}toJSON(t,n){return n?.keep?this.value:N8.toJS(this.value,t,n)}toString(){return String(this.value)}};Pn.BLOCK_FOLDED="BLOCK_FOLDED";Pn.BLOCK_LITERAL="BLOCK_LITERAL";Pn.PLAIN="PLAIN";Pn.QUOTE_DOUBLE="QUOTE_DOUBLE";Pn.QUOTE_SINGLE="QUOTE_SINGLE";Nh.Scalar=Pn;Nh.isScalarValue=B8});var js=W(Jy=>{"use strict";var M8=qs(),Ir=Ce(),Xy=Ne(),P8="tag:yaml.org,2002:";function O8(e,t,n){if(t){let r=n.filter(s=>s.tag===t),i=r.find(s=>!s.format)??r[0];if(!i)throw new Error(`Tag ${t} not found`);return i}return n.find(r=>r.identify?.(e)&&!r.format)}function U8(e,t,n){if(Ir.isDocument(e)&&(e=e.contents),Ir.isNode(e))return e;if(Ir.isPair(e)){let d=n.schema[Ir.MAP].createNode?.(n.schema,null,n);return d.items.push(e),d}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:r,onAnchor:i,onTagObj:s,schema:o,sourceObjects:a}=n,u;if(r&&e&&typeof e=="object"){if(u=a.get(e),u)return u.anchor??(u.anchor=i(e)),new M8.Alias(u.anchor);u={anchor:null,node:null},a.set(e,u)}t?.startsWith("!!")&&(t=P8+t.slice(2));let c=O8(e,t,o.tags);if(!c){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new Xy.Scalar(e);return u&&(u.node=d),d}c=e instanceof Map?o[Ir.MAP]:Symbol.iterator in Object(e)?o[Ir.SEQ]:o[Ir.MAP]}s&&(s(c),delete n.onTagObj);let l=c?.createNode?c.createNode(n.schema,e,n):typeof c?.nodeClass?.from=="function"?c.nodeClass.from(n.schema,e,n):new Xy.Scalar(e);return t?l.tag=t:c.default||(l.tag=c.tag),u&&(u.node=l),l}Jy.createNode=U8});var Ru=W(Lu=>{"use strict";var z8=js(),Gt=Ce(),q8=Iu();function Bh(e,t,n){let r=n;for(let i=t.length-1;i>=0;--i){let s=t[i];if(typeof s=="number"&&Number.isInteger(s)&&s>=0){let o=[];o[s]=r,r=o}else r=new Map([[s,r]])}return z8.createNode(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}var Yy=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,Mh=class extends q8.NodeBase{constructor(t,n){super(t),Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(t){let n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(n.schema=t),n.items=n.items.map(r=>Gt.isNode(r)||Gt.isPair(r)?r.clone(t):r),this.range&&(n.range=this.range.slice()),n}addIn(t,n){if(Yy(t))this.add(n);else{let[r,...i]=t,s=this.get(r,!0);if(Gt.isCollection(s))s.addIn(i,n);else if(s===void 0&&this.schema)this.set(r,Bh(this.schema,i,n));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${i}`)}}deleteIn(t){let[n,...r]=t;if(r.length===0)return this.delete(n);let i=this.get(n,!0);if(Gt.isCollection(i))return i.deleteIn(r);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}getIn(t,n){let[r,...i]=t,s=this.get(r,!0);return i.length===0?!n&&Gt.isScalar(s)?s.value:s:Gt.isCollection(s)?s.getIn(i,n):void 0}hasAllNullValues(t){return this.items.every(n=>{if(!Gt.isPair(n))return!1;let r=n.value;return r==null||t&&Gt.isScalar(r)&&r.value==null&&!r.commentBefore&&!r.comment&&!r.tag})}hasIn(t){let[n,...r]=t;if(r.length===0)return this.has(n);let i=this.get(n,!0);return Gt.isCollection(i)?i.hasIn(r):!1}setIn(t,n){let[r,...i]=t;if(i.length===0)this.set(r,n);else{let s=this.get(r,!0);if(Gt.isCollection(s))s.setIn(i,n);else if(s===void 0&&this.schema)this.set(r,Bh(this.schema,i,n));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${i}`)}}};Lu.Collection=Mh;Lu.collectionFromPath=Bh;Lu.isEmptyPath=Yy});var Ws=W(Nu=>{"use strict";var j8=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function Ph(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var W8=(e,t,n)=>e.endsWith(` +`)?Ph(n,t):n.includes(` +`)?` +`+Ph(n,t):(e.endsWith(" ")?"":" ")+n;Nu.indentComment=Ph;Nu.lineComment=W8;Nu.stringifyComment=j8});var Qy=W($s=>{"use strict";var $8="flow",Oh="block",Bu="quoted";function H8(e,t,n="flow",{indentAtStart:r,lineWidth:i=80,minContentWidth:s=20,onFold:o,onOverflow:a}={}){if(!i||i<0)return e;ii-Math.max(2,s)?c.push(0):d=i-r);let h,f,p=!1,m=-1,g=-1,x=-1;n===Oh&&(m=Zy(e,m,t.length),m!==-1&&(d=m+u));for(let y;y=e[m+=1];){if(n===Bu&&y==="\\"){switch(g=m,e[m+1]){case"x":m+=3;break;case"u":m+=5;break;case"U":m+=9;break;default:m+=1}x=m}if(y===` +`)n===Oh&&(m=Zy(e,m,t.length)),d=m+t.length+u,h=void 0;else{if(y===" "&&f&&f!==" "&&f!==` +`&&f!==" "){let D=e[m+1];D&&D!==" "&&D!==` +`&&D!==" "&&(h=m)}if(m>=d)if(h)c.push(h),d=h+u,h=void 0;else if(n===Bu){for(;f===" "||f===" ";)f=y,y=e[m+=1],p=!0;let D=m>x+1?m-2:g-1;if(l[D])return e;c.push(D),l[D]=!0,d=D+u,h=void 0}else p=!0}f=y}if(p&&a&&a(),c.length===0)return e;o&&o();let b=e.slice(0,c[0]);for(let y=0;y{"use strict";var Nt=Ne(),On=Qy(),Pu=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),Ou=e=>/^(%|---|\.\.\.)/m.test(e);function G8(e,t,n){if(!t||t<0)return!1;let r=t-n,i=e.length;if(i<=r)return!1;for(let s=0,o=0;sr)return!0;if(o=s+1,i-o<=r)return!1}return!0}function Hs(e,t){let n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;let{implicitKey:r}=t,i=t.options.doubleQuotedMinMultiLineLength,s=t.indent||(Ou(e)?" ":""),o="",a=0;for(let u=0,c=n[u];c;c=n[++u])if(c===" "&&n[u+1]==="\\"&&n[u+2]==="n"&&(o+=n.slice(a,u)+"\\ ",u+=1,a=u,c="\\"),c==="\\")switch(n[u+1]){case"u":{o+=n.slice(a,u);let l=n.substr(u+2,4);switch(l){case"0000":o+="\\0";break;case"0007":o+="\\a";break;case"000b":o+="\\v";break;case"001b":o+="\\e";break;case"0085":o+="\\N";break;case"00a0":o+="\\_";break;case"2028":o+="\\L";break;case"2029":o+="\\P";break;default:l.substr(0,2)==="00"?o+="\\x"+l.substr(2):o+=n.substr(u,6)}u+=5,a=u+1}break;case"n":if(r||n[u+2]==='"'||n.length +`;let d,h;for(h=n.length;h>0;--h){let w=n[h-1];if(w!==` +`&&w!==" "&&w!==" ")break}let f=n.substring(h),p=f.indexOf(` +`);p===-1?d="-":n===f||p!==f.length-1?(d="+",s&&s()):d="",f&&(n=n.slice(0,-f.length),f[f.length-1]===` +`&&(f=f.slice(0,-1)),f=f.replace(zh,`$&${c}`));let m=!1,g,x=-1;for(g=0;g{C=!0});let v=On.foldFlowLines(`${b}${w}${f}`,c,On.FOLD_BLOCK,T);if(!C)return`>${D} +${c}${v}`}return n=n.replace(/\n+/g,`$&${c}`),`|${D} +${c}${b}${n}${f}`}function V8(e,t,n,r){let{type:i,value:s}=e,{actualString:o,implicitKey:a,indent:u,indentStep:c,inFlow:l}=t;if(a&&s.includes(` +`)||l&&/[[\]{},]/.test(s))return Si(s,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return a||l||!s.includes(` +`)?Si(s,t):Mu(e,t,n,r);if(!a&&!l&&i!==Nt.Scalar.PLAIN&&s.includes(` +`))return Mu(e,t,n,r);if(Ou(s)){if(u==="")return t.forceBlockIndent=!0,Mu(e,t,n,r);if(a&&u===c)return Si(s,t)}let d=s.replace(/\n+/g,`$& +${u}`);if(o){let h=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:p}=t.doc.schema;if(p.some(h)||f?.some(h))return Si(s,t)}return a?d:On.foldFlowLines(d,u,On.FOLD_FLOW,Pu(t,!1))}function K8(e,t,n,r){let{implicitKey:i,inFlow:s}=t,o=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)}),{type:a}=e;a!==Nt.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=Nt.Scalar.QUOTE_DOUBLE);let u=l=>{switch(l){case Nt.Scalar.BLOCK_FOLDED:case Nt.Scalar.BLOCK_LITERAL:return i||s?Si(o.value,t):Mu(o,t,n,r);case Nt.Scalar.QUOTE_DOUBLE:return Hs(o.value,t);case Nt.Scalar.QUOTE_SINGLE:return Uh(o.value,t);case Nt.Scalar.PLAIN:return V8(o,t,n,r);default:return null}},c=u(a);if(c===null){let{defaultKeyType:l,defaultStringType:d}=t.options,h=i&&l||d;if(c=u(h),c===null)throw new Error(`Unsupported default string type ${h}`)}return c}eC.stringifyString=K8});var Vs=W(qh=>{"use strict";var X8=Tu(),Un=Ce(),J8=Ws(),Y8=Gs();function Z8(e,t){let n=Object.assign({blockQuote:!0,commentString:J8.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t),r;switch(n.collectionStyle){case"block":r=!1;break;case"flow":r=!0;break;default:r=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:typeof n.indent=="number"?" ".repeat(n.indent):" ",inFlow:r,options:n}}function Q8(e,t){if(t.tag){let i=e.filter(s=>s.tag===t.tag);if(i.length>0)return i.find(s=>s.format===t.format)??i[0]}let n,r;if(Un.isScalar(t)){r=t.value;let i=e.filter(s=>s.identify?.(r));if(i.length>1){let s=i.filter(o=>o.test);s.length>0&&(i=s)}n=i.find(s=>s.format===t.format)??i.find(s=>!s.format)}else r=t,n=e.find(i=>i.nodeClass&&r instanceof i.nodeClass);if(!n){let i=r?.constructor?.name??(r===null?"null":typeof r);throw new Error(`Tag not resolved for ${i} value`)}return n}function eB(e,t,{anchors:n,doc:r}){if(!r.directives)return"";let i=[],s=(Un.isScalar(e)||Un.isCollection(e))&&e.anchor;s&&X8.anchorIsValid(s)&&(n.add(s),i.push(`&${s}`));let o=e.tag??(t.default?null:t.tag);return o&&i.push(r.directives.tagString(o)),i.join(" ")}function tB(e,t,n,r){if(Un.isPair(e))return e.toString(t,n,r);if(Un.isAlias(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let i,s=Un.isNode(e)?e:t.doc.createNode(e,{onTagObj:u=>i=u});i??(i=Q8(t.doc.schema.tags,s));let o=eB(s,i,t);o.length>0&&(t.indentAtStart=(t.indentAtStart??0)+o.length+1);let a=typeof i.stringify=="function"?i.stringify(s,t,n,r):Un.isScalar(s)?Y8.stringifyString(s,t,n,r):s.toString(t,n,r);return o?Un.isScalar(s)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o} +${t.indent}${a}`:a}qh.createStringifyContext=Z8;qh.stringify=tB});var iC=W(rC=>{"use strict";var hn=Ce(),tC=Ne(),nC=Vs(),Ks=Ws();function nB({key:e,value:t},n,r,i){let{allNullValues:s,doc:o,indent:a,indentStep:u,options:{commentString:c,indentSeq:l,simpleKeys:d}}=n,h=hn.isNode(e)&&e.comment||null;if(d){if(h)throw new Error("With simple keys, key nodes cannot have comments");if(hn.isCollection(e)||!hn.isNode(e)&&typeof e=="object"){let T="With simple keys, collection cannot be used as a key value";throw new Error(T)}}let f=!d&&(!e||h&&t==null&&!n.inFlow||hn.isCollection(e)||(hn.isScalar(e)?e.type===tC.Scalar.BLOCK_FOLDED||e.type===tC.Scalar.BLOCK_LITERAL:typeof e=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!f&&(d||!s),indent:a+u});let p=!1,m=!1,g=nC.stringify(e,n,()=>p=!0,()=>m=!0);if(!f&&!n.inFlow&&g.length>1024){if(d)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");f=!0}if(n.inFlow){if(s||t==null)return p&&r&&r(),g===""?"?":f?`? ${g}`:g}else if(s&&!d||t==null&&f)return g=`? ${g}`,h&&!p?g+=Ks.lineComment(g,n.indent,c(h)):m&&i&&i(),g;p&&(h=null),f?(h&&(g+=Ks.lineComment(g,n.indent,c(h))),g=`? ${g} +${a}:`):(g=`${g}:`,h&&(g+=Ks.lineComment(g,n.indent,c(h))));let x,b,y;hn.isNode(t)?(x=!!t.spaceBefore,b=t.commentBefore,y=t.comment):(x=!1,b=null,y=null,t&&typeof t=="object"&&(t=o.createNode(t))),n.implicitKey=!1,!f&&!h&&hn.isScalar(t)&&(n.indentAtStart=g.length+1),m=!1,!l&&u.length>=2&&!n.inFlow&&!f&&hn.isSeq(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let D=!1,w=nC.stringify(t,n,()=>D=!0,()=>m=!0),C=" ";if(h||x||b){if(C=x?` +`:"",b){let T=c(b);C+=` +${Ks.indentComment(T,n.indent)}`}w===""&&!n.inFlow?C===` +`&&(C=` + +`):C+=` +${n.indent}`}else if(!f&&hn.isCollection(t)){let T=w[0],v=w.indexOf(` +`),k=v!==-1,A=n.inFlow??t.flow??t.items.length===0;if(k||!A){let L=!1;if(k&&(T==="&"||T==="!")){let _=w.indexOf(" ");T==="&"&&_!==-1&&_{"use strict";var sC=require("process");function rB(e,...t){e==="debug"&&console.log(...t)}function iB(e,t){(e==="debug"||e==="warn")&&(typeof sC.emitWarning=="function"?sC.emitWarning(t):console.warn(t))}jh.debug=rB;jh.warn=iB});var ju=W(qu=>{"use strict";var Xs=Ce(),oC=Ne(),Uu="<<",zu={identify:e=>e===Uu||typeof e=="symbol"&&e.description===Uu,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new oC.Scalar(Symbol(Uu)),{addToJSMap:aC}),stringify:()=>Uu},sB=(e,t)=>(zu.identify(t)||Xs.isScalar(t)&&(!t.type||t.type===oC.Scalar.PLAIN)&&zu.identify(t.value))&&e?.doc.schema.tags.some(n=>n.tag===zu.tag&&n.default);function aC(e,t,n){if(n=e&&Xs.isAlias(n)?n.resolve(e.doc):n,Xs.isSeq(n))for(let r of n.items)$h(e,t,r);else if(Array.isArray(n))for(let r of n)$h(e,t,r);else $h(e,t,n)}function $h(e,t,n){let r=e&&Xs.isAlias(n)?n.resolve(e.doc):n;if(!Xs.isMap(r))throw new Error("Merge sources must be maps or map aliases");let i=r.toJSON(null,e,Map);for(let[s,o]of i)t instanceof Map?t.has(s)||t.set(s,o):t instanceof Set?t.add(s):Object.prototype.hasOwnProperty.call(t,s)||Object.defineProperty(t,s,{value:o,writable:!0,enumerable:!0,configurable:!0});return t}qu.addMergeToJSMap=aC;qu.isMergeKey=sB;qu.merge=zu});var Gh=W(lC=>{"use strict";var oB=Wh(),uC=ju(),aB=Vs(),cC=Ce(),Hh=Mn();function uB(e,t,{key:n,value:r}){if(cC.isNode(n)&&n.addToJSMap)n.addToJSMap(e,t,r);else if(uC.isMergeKey(e,n))uC.addMergeToJSMap(e,t,r);else{let i=Hh.toJS(n,"",e);if(t instanceof Map)t.set(i,Hh.toJS(r,i,e));else if(t instanceof Set)t.add(i);else{let s=cB(n,i,e),o=Hh.toJS(r,s,e);s in t?Object.defineProperty(t,s,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[s]=o}}return t}function cB(e,t,n){if(t===null)return"";if(typeof t!="object")return String(t);if(cC.isNode(e)&&n?.doc){let r=aB.createStringifyContext(n.doc,{});r.anchors=new Set;for(let s of n.anchors.keys())r.anchors.add(s.anchor);r.inFlow=!0,r.inStringifyKey=!0;let i=e.toString(r);if(!n.mapKeyWarned){let s=JSON.stringify(i);s.length>40&&(s=s.substring(0,36)+'..."'),oB.warn(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${s}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return i}return JSON.stringify(t)}lC.addPairToJSMap=uB});var zn=W(Vh=>{"use strict";var fC=js(),lB=iC(),fB=Gh(),Wu=Ce();function dB(e,t,n){let r=fC.createNode(e,void 0,n),i=fC.createNode(t,void 0,n);return new $u(r,i)}var $u=class e{constructor(t,n=null){Object.defineProperty(this,Wu.NODE_TYPE,{value:Wu.PAIR}),this.key=t,this.value=n}clone(t){let{key:n,value:r}=this;return Wu.isNode(n)&&(n=n.clone(t)),Wu.isNode(r)&&(r=r.clone(t)),new e(n,r)}toJSON(t,n){let r=n?.mapAsMap?new Map:{};return fB.addPairToJSMap(n,r,this)}toString(t,n,r){return t?.doc?lB.stringifyPair(this,t,n,r):JSON.stringify(this)}};Vh.Pair=$u;Vh.createPair=dB});var Kh=W(hC=>{"use strict";var _r=Ce(),dC=Vs(),Hu=Ws();function hB(e,t,n){return(t.inFlow??e.flow?mB:pB)(e,t,n)}function pB({comment:e,items:t},n,{blockItemPrefix:r,flowChars:i,itemIndent:s,onChompKeep:o,onComment:a}){let{indent:u,options:{commentString:c}}=n,l=Object.assign({},n,{indent:s,type:null}),d=!1,h=[];for(let p=0;pg=null,()=>d=!0);g&&(x+=Hu.lineComment(x,s,c(g))),d&&g&&(d=!1),h.push(r+x)}let f;if(h.length===0)f=i.start+i.end;else{f=h[0];for(let p=1;pg=null);pl||x.includes(` +`))&&(c=!0),d.push(x),l=d.length}let{start:h,end:f}=n;if(d.length===0)return h+f;if(!c){let p=d.reduce((m,g)=>m+g.length+2,2);c=t.options.lineWidth>0&&p>t.options.lineWidth}if(c){let p=h;for(let m of d)p+=m?` +${s}${i}${m}`:` +`;return`${p} +${i}${f}`}else return`${h}${o}${d.join(" ")}${o}${f}`}function Gu({indent:e,options:{commentString:t}},n,r,i){if(r&&i&&(r=r.replace(/^\n+/,"")),r){let s=Hu.indentComment(t(r),e);n.push(s.trimStart())}}hC.stringifyCollection=hB});var jn=W(Jh=>{"use strict";var gB=Kh(),xB=Gh(),bB=Ru(),qn=Ce(),Vu=zn(),yB=Ne();function Js(e,t){let n=qn.isScalar(t)?t.value:t;for(let r of e)if(qn.isPair(r)&&(r.key===t||r.key===n||qn.isScalar(r.key)&&r.key.value===n))return r}var Xh=class extends bB.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(qn.MAP,t),this.items=[]}static from(t,n,r){let{keepUndefined:i,replacer:s}=r,o=new this(t),a=(u,c)=>{if(typeof s=="function")c=s.call(n,u,c);else if(Array.isArray(s)&&!s.includes(u))return;(c!==void 0||i)&&o.items.push(Vu.createPair(u,c,r))};if(n instanceof Map)for(let[u,c]of n)a(u,c);else if(n&&typeof n=="object")for(let u of Object.keys(n))a(u,n[u]);return typeof t.sortMapEntries=="function"&&o.items.sort(t.sortMapEntries),o}add(t,n){let r;qn.isPair(t)?r=t:!t||typeof t!="object"||!("key"in t)?r=new Vu.Pair(t,t?.value):r=new Vu.Pair(t.key,t.value);let i=Js(this.items,r.key),s=this.schema?.sortMapEntries;if(i){if(!n)throw new Error(`Key ${r.key} already set`);qn.isScalar(i.value)&&yB.isScalarValue(r.value)?i.value.value=r.value:i.value=r.value}else if(s){let o=this.items.findIndex(a=>s(r,a)<0);o===-1?this.items.push(r):this.items.splice(o,0,r)}else this.items.push(r)}delete(t){let n=Js(this.items,t);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(t,n){let i=Js(this.items,t)?.value;return(!n&&qn.isScalar(i)?i.value:i)??void 0}has(t){return!!Js(this.items,t)}set(t,n){this.add(new Vu.Pair(t,n),!0)}toJSON(t,n,r){let i=r?new r:n?.mapAsMap?new Map:{};n?.onCreate&&n.onCreate(i);for(let s of this.items)xB.addPairToJSMap(n,i,s);return i}toString(t,n,r){if(!t)return JSON.stringify(this);for(let i of this.items)if(!qn.isPair(i))throw new Error(`Map items must all be pairs; found ${JSON.stringify(i)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),gB.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:r,onComment:n})}};Jh.YAMLMap=Xh;Jh.findPair=Js});var wi=W(mC=>{"use strict";var CB=Ce(),pC=jn(),EB={collection:"map",default:!0,nodeClass:pC.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return CB.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,n)=>pC.YAMLMap.from(e,t,n)};mC.map=EB});var Wn=W(gC=>{"use strict";var DB=js(),SB=Kh(),wB=Ru(),Xu=Ce(),AB=Ne(),kB=Mn(),Yh=class extends wB.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Xu.SEQ,t),this.items=[]}add(t){this.items.push(t)}delete(t){let n=Ku(t);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(t,n){let r=Ku(t);if(typeof r!="number")return;let i=this.items[r];return!n&&Xu.isScalar(i)?i.value:i}has(t){let n=Ku(t);return typeof n=="number"&&n=0?t:null}gC.YAMLSeq=Yh});var Ai=W(bC=>{"use strict";var vB=Ce(),xC=Wn(),FB={collection:"seq",default:!0,nodeClass:xC.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return vB.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,n)=>xC.YAMLSeq.from(e,t,n)};bC.seq=FB});var Ys=W(yC=>{"use strict";var TB=Gs(),IB={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,n,r){return t=Object.assign({actualString:!0},t),TB.stringifyString(e,t,n,r)}};yC.string=IB});var Ju=W(DC=>{"use strict";var CC=Ne(),EC={identify:e=>e==null,createNode:()=>new CC.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new CC.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&EC.test.test(e)?e:t.options.nullStr};DC.nullTag=EC});var Zh=W(wC=>{"use strict";var _B=Ne(),SC={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new _B.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},n){if(e&&SC.test.test(e)){let r=e[0]==="t"||e[0]==="T";if(t===r)return e}return t?n.options.trueStr:n.options.falseStr}};wC.boolTag=SC});var ki=W(AC=>{"use strict";function LB({format:e,minFractionDigits:t,tag:n,value:r}){if(typeof r=="bigint")return String(r);let i=typeof r=="number"?r:Number(r);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let s=JSON.stringify(r);if(!e&&t&&(!n||n==="tag:yaml.org,2002:float")&&/^\d/.test(s)){let o=s.indexOf(".");o<0&&(o=s.length,s+=".");let a=t-(s.length-o-1);for(;a-- >0;)s+="0"}return s}AC.stringifyNumber=LB});var ep=W(Yu=>{"use strict";var RB=Ne(),Qh=ki(),NB={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Qh.stringifyNumber},BB={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():Qh.stringifyNumber(e)}},MB={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new RB.Scalar(parseFloat(e)),n=e.indexOf(".");return n!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-n-1),t},stringify:Qh.stringifyNumber};Yu.float=MB;Yu.floatExp=BB;Yu.floatNaN=NB});var np=W(Qu=>{"use strict";var kC=ki(),Zu=e=>typeof e=="bigint"||Number.isInteger(e),tp=(e,t,n,{intAsBigInt:r})=>r?BigInt(e):parseInt(e.substring(t),n);function vC(e,t,n){let{value:r}=e;return Zu(r)&&r>=0?n+r.toString(t):kC.stringifyNumber(e)}var PB={identify:e=>Zu(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,n)=>tp(e,2,8,n),stringify:e=>vC(e,8,"0o")},OB={identify:Zu,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>tp(e,0,10,n),stringify:kC.stringifyNumber},UB={identify:e=>Zu(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>tp(e,2,16,n),stringify:e=>vC(e,16,"0x")};Qu.int=OB;Qu.intHex=UB;Qu.intOct=PB});var TC=W(FC=>{"use strict";var zB=wi(),qB=Ju(),jB=Ai(),WB=Ys(),$B=Zh(),rp=ep(),ip=np(),HB=[zB.map,jB.seq,WB.string,qB.nullTag,$B.boolTag,ip.intOct,ip.int,ip.intHex,rp.floatNaN,rp.floatExp,rp.float];FC.schema=HB});var LC=W(_C=>{"use strict";var GB=Ne(),VB=wi(),KB=Ai();function IC(e){return typeof e=="bigint"||Number.isInteger(e)}var ec=({value:e})=>JSON.stringify(e),XB=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:ec},{identify:e=>e==null,createNode:()=>new GB.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:ec},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:ec},{identify:IC,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>IC(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:ec}],JB={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},YB=[VB.map,KB.seq].concat(XB,JB);_C.schema=YB});var op=W(RC=>{"use strict";var Zs=require("buffer"),sp=Ne(),ZB=Gs(),QB={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof Zs.Buffer=="function")return Zs.Buffer.from(e,"base64");if(typeof atob=="function"){let n=atob(e.replace(/[\n\r]/g,"")),r=new Uint8Array(n.length);for(let i=0;i{"use strict";var tc=Ce(),ap=zn(),eM=Ne(),tM=Wn();function NC(e,t){if(tc.isSeq(e))for(let n=0;n1&&t("Each pair must have its own sequence indicator");let i=r.items[0]||new ap.Pair(new eM.Scalar(null));if(r.commentBefore&&(i.key.commentBefore=i.key.commentBefore?`${r.commentBefore} +${i.key.commentBefore}`:r.commentBefore),r.comment){let s=i.value??i.key;s.comment=s.comment?`${r.comment} +${s.comment}`:r.comment}r=i}e.items[n]=tc.isPair(r)?r:new ap.Pair(r)}}else t("Expected a sequence for this tag");return e}function BC(e,t,n){let{replacer:r}=n,i=new tM.YAMLSeq(e);i.tag="tag:yaml.org,2002:pairs";let s=0;if(t&&Symbol.iterator in Object(t))for(let o of t){typeof r=="function"&&(o=r.call(t,String(s++),o));let a,u;if(Array.isArray(o))if(o.length===2)a=o[0],u=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let c=Object.keys(o);if(c.length===1)a=c[0],u=o[a];else throw new TypeError(`Expected tuple with one key, not ${c.length} keys`)}else a=o;i.items.push(ap.createPair(a,u,n))}return i}var nM={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:NC,createNode:BC};nc.createPairs=BC;nc.pairs=nM;nc.resolvePairs=NC});var lp=W(cp=>{"use strict";var MC=Ce(),up=Mn(),Qs=jn(),rM=Wn(),PC=rc(),Lr=class e extends rM.YAMLSeq{constructor(){super(),this.add=Qs.YAMLMap.prototype.add.bind(this),this.delete=Qs.YAMLMap.prototype.delete.bind(this),this.get=Qs.YAMLMap.prototype.get.bind(this),this.has=Qs.YAMLMap.prototype.has.bind(this),this.set=Qs.YAMLMap.prototype.set.bind(this),this.tag=e.tag}toJSON(t,n){if(!n)return super.toJSON(t);let r=new Map;n?.onCreate&&n.onCreate(r);for(let i of this.items){let s,o;if(MC.isPair(i)?(s=up.toJS(i.key,"",n),o=up.toJS(i.value,s,n)):s=up.toJS(i,"",n),r.has(s))throw new Error("Ordered maps must not include duplicate keys");r.set(s,o)}return r}static from(t,n,r){let i=PC.createPairs(t,n,r),s=new this;return s.items=i.items,s}};Lr.tag="tag:yaml.org,2002:omap";var iM={collection:"seq",identify:e=>e instanceof Map,nodeClass:Lr,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let n=PC.resolvePairs(e,t),r=[];for(let{key:i}of n.items)MC.isScalar(i)&&(r.includes(i.value)?t(`Ordered maps must not include duplicate keys: ${i.value}`):r.push(i.value));return Object.assign(new Lr,n)},createNode:(e,t,n)=>Lr.from(e,t,n)};cp.YAMLOMap=Lr;cp.omap=iM});var jC=W(fp=>{"use strict";var OC=Ne();function UC({value:e,source:t},n){return t&&(e?zC:qC).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}var zC={identify:e=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new OC.Scalar(!0),stringify:UC},qC={identify:e=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new OC.Scalar(!1),stringify:UC};fp.falseTag=qC;fp.trueTag=zC});var WC=W(ic=>{"use strict";var sM=Ne(),dp=ki(),oM={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:dp.stringifyNumber},aM={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():dp.stringifyNumber(e)}},uM={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new sM.Scalar(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(n!==-1){let r=e.substring(n+1).replace(/_/g,"");r[r.length-1]==="0"&&(t.minFractionDigits=r.length)}return t},stringify:dp.stringifyNumber};ic.float=uM;ic.floatExp=aM;ic.floatNaN=oM});var HC=W(to=>{"use strict";var $C=ki(),eo=e=>typeof e=="bigint"||Number.isInteger(e);function sc(e,t,n,{intAsBigInt:r}){let i=e[0];if((i==="-"||i==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),r){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let o=BigInt(e);return i==="-"?BigInt(-1)*o:o}let s=parseInt(e,n);return i==="-"?-1*s:s}function hp(e,t,n){let{value:r}=e;if(eo(r)){let i=r.toString(t);return r<0?"-"+n+i.substr(1):n+i}return $C.stringifyNumber(e)}var cM={identify:eo,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>sc(e,2,2,n),stringify:e=>hp(e,2,"0b")},lM={identify:eo,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>sc(e,1,8,n),stringify:e=>hp(e,8,"0")},fM={identify:eo,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>sc(e,0,10,n),stringify:$C.stringifyNumber},dM={identify:eo,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>sc(e,2,16,n),stringify:e=>hp(e,16,"0x")};to.int=fM;to.intBin=cM;to.intHex=dM;to.intOct=lM});var mp=W(pp=>{"use strict";var uc=Ce(),oc=zn(),ac=jn(),Rr=class e extends ac.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let n;uc.isPair(t)?n=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?n=new oc.Pair(t.key,null):n=new oc.Pair(t,null),ac.findPair(this.items,n.key)||this.items.push(n)}get(t,n){let r=ac.findPair(this.items,t);return!n&&uc.isPair(r)?uc.isScalar(r.key)?r.key.value:r.key:r}set(t,n){if(typeof n!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);let r=ac.findPair(this.items,t);r&&!n?this.items.splice(this.items.indexOf(r),1):!r&&n&&this.items.push(new oc.Pair(t))}toJSON(t,n){return super.toJSON(t,n,Set)}toString(t,n,r){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),n,r);throw new Error("Set items must all have null values")}static from(t,n,r){let{replacer:i}=r,s=new this(t);if(n&&Symbol.iterator in Object(n))for(let o of n)typeof i=="function"&&(o=i.call(n,o,o)),s.items.push(oc.createPair(o,null,r));return s}};Rr.tag="tag:yaml.org,2002:set";var hM={collection:"map",identify:e=>e instanceof Set,nodeClass:Rr,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>Rr.from(e,t,n),resolve(e,t){if(uc.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new Rr,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};pp.YAMLSet=Rr;pp.set=hM});var xp=W(cc=>{"use strict";var pM=ki();function gp(e,t){let n=e[0],r=n==="-"||n==="+"?e.substring(1):e,i=o=>t?BigInt(o):Number(o),s=r.replace(/_/g,"").split(":").reduce((o,a)=>o*i(60)+i(a),i(0));return n==="-"?i(-1)*s:s}function GC(e){let{value:t}=e,n=o=>o;if(typeof t=="bigint")n=o=>BigInt(o);else if(isNaN(t)||!isFinite(t))return pM.stringifyNumber(e);let r="";t<0&&(r="-",t*=n(-1));let i=n(60),s=[t%i];return t<60?s.unshift(0):(t=(t-s[0])/i,s.unshift(t%i),t>=60&&(t=(t-s[0])/i,s.unshift(t))),r+s.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var mM={identify:e=>typeof e=="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:n})=>gp(e,n),stringify:GC},gM={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>gp(e,!1),stringify:GC},VC={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){let t=e.match(VC.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,n,r,i,s,o,a]=t.map(Number),u=t[7]?Number((t[7]+"00").substr(1,3)):0,c=Date.UTC(n,r-1,i,s||0,o||0,a||0,u),l=t[8];if(l&&l!=="Z"){let d=gp(l,!1);Math.abs(d)<30&&(d*=60),c-=6e4*d}return new Date(c)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};cc.floatTime=gM;cc.intTime=mM;cc.timestamp=VC});var JC=W(XC=>{"use strict";var xM=wi(),bM=Ju(),yM=Ai(),CM=Ys(),EM=op(),KC=jC(),bp=WC(),lc=HC(),DM=ju(),SM=lp(),wM=rc(),AM=mp(),yp=xp(),kM=[xM.map,yM.seq,CM.string,bM.nullTag,KC.trueTag,KC.falseTag,lc.intBin,lc.intOct,lc.int,lc.intHex,bp.floatNaN,bp.floatExp,bp.float,EM.binary,DM.merge,SM.omap,wM.pairs,AM.set,yp.intTime,yp.floatTime,yp.timestamp];XC.schema=kM});var oE=W(Dp=>{"use strict";var eE=wi(),vM=Ju(),tE=Ai(),FM=Ys(),TM=Zh(),Cp=ep(),Ep=np(),IM=TC(),_M=LC(),nE=op(),no=ju(),rE=lp(),iE=rc(),YC=JC(),sE=mp(),fc=xp(),ZC=new Map([["core",IM.schema],["failsafe",[eE.map,tE.seq,FM.string]],["json",_M.schema],["yaml11",YC.schema],["yaml-1.1",YC.schema]]),QC={binary:nE.binary,bool:TM.boolTag,float:Cp.float,floatExp:Cp.floatExp,floatNaN:Cp.floatNaN,floatTime:fc.floatTime,int:Ep.int,intHex:Ep.intHex,intOct:Ep.intOct,intTime:fc.intTime,map:eE.map,merge:no.merge,null:vM.nullTag,omap:rE.omap,pairs:iE.pairs,seq:tE.seq,set:sE.set,timestamp:fc.timestamp},LM={"tag:yaml.org,2002:binary":nE.binary,"tag:yaml.org,2002:merge":no.merge,"tag:yaml.org,2002:omap":rE.omap,"tag:yaml.org,2002:pairs":iE.pairs,"tag:yaml.org,2002:set":sE.set,"tag:yaml.org,2002:timestamp":fc.timestamp};function RM(e,t,n){let r=ZC.get(t);if(r&&!e)return n&&!r.includes(no.merge)?r.concat(no.merge):r.slice();let i=r;if(!i)if(Array.isArray(e))i=[];else{let s=Array.from(ZC.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${s} or define customTags array`)}if(Array.isArray(e))for(let s of e)i=i.concat(s);else typeof e=="function"&&(i=e(i.slice()));return n&&(i=i.concat(no.merge)),i.reduce((s,o)=>{let a=typeof o=="string"?QC[o]:o;if(!a){let u=JSON.stringify(o),c=Object.keys(QC).map(l=>JSON.stringify(l)).join(", ");throw new Error(`Unknown custom tag ${u}; use one of ${c}`)}return s.includes(a)||s.push(a),s},[])}Dp.coreKnownTags=LM;Dp.getTags=RM});var Ap=W(aE=>{"use strict";var Sp=Ce(),NM=wi(),BM=Ai(),MM=Ys(),dc=oE(),PM=(e,t)=>e.keyt.key?1:0,wp=class e{constructor({compat:t,customTags:n,merge:r,resolveKnownTags:i,schema:s,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(t)?dc.getTags(t,"compat"):t?dc.getTags(null,t):null,this.name=typeof s=="string"&&s||"core",this.knownTags=i?dc.coreKnownTags:{},this.tags=dc.getTags(n,this.name,r),this.toStringOptions=a??null,Object.defineProperty(this,Sp.MAP,{value:NM.map}),Object.defineProperty(this,Sp.SCALAR,{value:MM.string}),Object.defineProperty(this,Sp.SEQ,{value:BM.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?PM:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};aE.Schema=wp});var cE=W(uE=>{"use strict";var OM=Ce(),kp=Vs(),ro=Ws();function UM(e,t){let n=[],r=t.directives===!0;if(t.directives!==!1&&e.directives){let u=e.directives.toString(e);u?(n.push(u),r=!0):e.directives.docStart&&(r=!0)}r&&n.push("---");let i=kp.createStringifyContext(e,t),{commentString:s}=i.options;if(e.commentBefore){n.length!==1&&n.unshift("");let u=s(e.commentBefore);n.unshift(ro.indentComment(u,""))}let o=!1,a=null;if(e.contents){if(OM.isNode(e.contents)){if(e.contents.spaceBefore&&r&&n.push(""),e.contents.commentBefore){let l=s(e.contents.commentBefore);n.push(ro.indentComment(l,""))}i.forceBlockIndent=!!e.comment,a=e.contents.comment}let u=a?void 0:()=>o=!0,c=kp.stringify(e.contents,i,()=>a=null,u);a&&(c+=ro.lineComment(c,"",s(a))),(c[0]==="|"||c[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${c}`:n.push(c)}else n.push(kp.stringify(e.contents,i));if(e.directives?.docEnd)if(e.comment){let u=s(e.comment);u.includes(` +`)?(n.push("..."),n.push(ro.indentComment(u,""))):n.push(`... ${u}`)}else n.push("...");else{let u=e.comment;u&&o&&(u=u.replace(/^\n+/,"")),u&&((!o||a)&&n[n.length-1]!==""&&n.push(""),n.push(ro.indentComment(s(u),"")))}return n.join(` +`)+` +`}uE.stringifyDocument=UM});var io=W(lE=>{"use strict";var zM=qs(),vi=Ru(),Et=Ce(),qM=zn(),jM=Mn(),WM=Ap(),$M=cE(),vp=Tu(),HM=_h(),GM=js(),Fp=Ih(),Tp=class e{constructor(t,n,r){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Et.NODE_TYPE,{value:Et.DOC});let i=null;typeof n=="function"||Array.isArray(n)?i=n:r===void 0&&n&&(r=n,n=void 0);let s=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},r);this.options=s;let{version:o}=s;r?._directives?(this.directives=r._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new Fp.Directives({version:o}),this.setSchema(o,r),this.contents=t===void 0?null:this.createNode(t,i,r)}clone(){let t=Object.create(e.prototype,{[Et.NODE_TYPE]:{value:Et.DOC}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=Et.isNode(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){Fi(this.contents)&&this.contents.add(t)}addIn(t,n){Fi(this.contents)&&this.contents.addIn(t,n)}createAlias(t,n){if(!t.anchor){let r=vp.anchorNames(this);t.anchor=!n||r.has(n)?vp.findNewAnchor(n||"a",r):n}return new zM.Alias(t.anchor)}createNode(t,n,r){let i;if(typeof n=="function")t=n.call({"":t},"",t),i=n;else if(Array.isArray(n)){let g=b=>typeof b=="number"||b instanceof String||b instanceof Number,x=n.filter(g).map(String);x.length>0&&(n=n.concat(x)),i=n}else r===void 0&&n&&(r=n,n=void 0);let{aliasDuplicateObjects:s,anchorPrefix:o,flow:a,keepUndefined:u,onTagObj:c,tag:l}=r??{},{onAnchor:d,setAnchors:h,sourceObjects:f}=vp.createNodeAnchors(this,o||"a"),p={aliasDuplicateObjects:s??!0,keepUndefined:u??!1,onAnchor:d,onTagObj:c,replacer:i,schema:this.schema,sourceObjects:f},m=GM.createNode(t,l,p);return a&&Et.isCollection(m)&&(m.flow=!0),h(),m}createPair(t,n,r={}){let i=this.createNode(t,null,r),s=this.createNode(n,null,r);return new qM.Pair(i,s)}delete(t){return Fi(this.contents)?this.contents.delete(t):!1}deleteIn(t){return vi.isEmptyPath(t)?this.contents==null?!1:(this.contents=null,!0):Fi(this.contents)?this.contents.deleteIn(t):!1}get(t,n){return Et.isCollection(this.contents)?this.contents.get(t,n):void 0}getIn(t,n){return vi.isEmptyPath(t)?!n&&Et.isScalar(this.contents)?this.contents.value:this.contents:Et.isCollection(this.contents)?this.contents.getIn(t,n):void 0}has(t){return Et.isCollection(this.contents)?this.contents.has(t):!1}hasIn(t){return vi.isEmptyPath(t)?this.contents!==void 0:Et.isCollection(this.contents)?this.contents.hasIn(t):!1}set(t,n){this.contents==null?this.contents=vi.collectionFromPath(this.schema,[t],n):Fi(this.contents)&&this.contents.set(t,n)}setIn(t,n){vi.isEmptyPath(t)?this.contents=n:this.contents==null?this.contents=vi.collectionFromPath(this.schema,Array.from(t),n):Fi(this.contents)&&this.contents.setIn(t,n)}setSchema(t,n={}){typeof t=="number"&&(t=String(t));let r;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Fp.Directives({version:"1.1"}),r={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new Fp.Directives({version:t}),r={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,r=null;break;default:{let i=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${i}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(r)this.schema=new WM.Schema(Object.assign(r,n));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:n,mapAsMap:r,maxAliasCount:i,onAnchor:s,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!t,mapAsMap:r===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},u=jM.toJS(this.contents,n??"",a);if(typeof s=="function")for(let{count:c,res:l}of a.anchors.values())s(l,c);return typeof o=="function"?HM.applyReviver(o,{"":u},"",u):u}toJSON(t,n){return this.toJS({json:!0,jsonArg:t,mapAsMap:!1,onAnchor:n})}toString(t={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in t&&(!Number.isInteger(t.indent)||Number(t.indent)<=0)){let n=JSON.stringify(t.indent);throw new Error(`"indent" option must be a positive integer, not ${n}`)}return $M.stringifyDocument(this,t)}};function Fi(e){if(Et.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}lE.Document=Tp});var ao=W(oo=>{"use strict";var so=class extends Error{constructor(t,n,r,i){super(),this.name=t,this.code=r,this.message=i,this.pos=n}},Ip=class extends so{constructor(t,n,r){super("YAMLParseError",t,n,r)}},_p=class extends so{constructor(t,n,r){super("YAMLWarning",t,n,r)}},VM=(e,t)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(a=>t.linePos(a));let{line:r,col:i}=n.linePos[0];n.message+=` at line ${r}, column ${i}`;let s=i-1,o=e.substring(t.lineStarts[r-1],t.lineStarts[r]).replace(/[\n\r]+$/,"");if(s>=60&&o.length>80){let a=Math.min(s-39,o.length-79);o="\u2026"+o.substring(a),s-=a-1}if(o.length>80&&(o=o.substring(0,79)+"\u2026"),r>1&&/^ *$/.test(o.substring(0,s))){let a=e.substring(t.lineStarts[r-2],t.lineStarts[r-1]);a.length>80&&(a=a.substring(0,79)+`\u2026 +`),o=a+o}if(/[^ ]/.test(o)){let a=1,u=n.linePos[1];u&&u.line===r&&u.col>i&&(a=Math.max(1,Math.min(u.col-i,80-s)));let c=" ".repeat(s)+"^".repeat(a);n.message+=`: + +${o} +${c} +`}};oo.YAMLError=so;oo.YAMLParseError=Ip;oo.YAMLWarning=_p;oo.prettifyError=VM});var uo=W(fE=>{"use strict";function KM(e,{flow:t,indicator:n,next:r,offset:i,onError:s,parentIndent:o,startOnNewline:a}){let u=!1,c=a,l=a,d="",h="",f=!1,p=!1,m=null,g=null,x=null,b=null,y=null,D=null,w=null;for(let v of e)switch(p&&(v.type!=="space"&&v.type!=="newline"&&v.type!=="comma"&&s(v.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),p=!1),m&&(c&&v.type!=="comment"&&v.type!=="newline"&&s(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),m=null),v.type){case"space":!t&&(n!=="doc-start"||r?.type!=="flow-collection")&&v.source.includes(" ")&&(m=v),l=!0;break;case"comment":{l||s(v,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let k=v.source.substring(1)||" ";d?d+=h+k:d=k,h="",c=!1;break}case"newline":c?d?d+=v.source:(!D||n!=="seq-item-ind")&&(u=!0):h+=v.source,c=!0,f=!0,(g||x)&&(b=v),l=!0;break;case"anchor":g&&s(v,"MULTIPLE_ANCHORS","A node can have at most one anchor"),v.source.endsWith(":")&&s(v.offset+v.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),g=v,w??(w=v.offset),c=!1,l=!1,p=!0;break;case"tag":{x&&s(v,"MULTIPLE_TAGS","A node can have at most one tag"),x=v,w??(w=v.offset),c=!1,l=!1,p=!0;break}case n:(g||x)&&s(v,"BAD_PROP_ORDER",`Anchors and tags must be after the ${v.source} indicator`),D&&s(v,"UNEXPECTED_TOKEN",`Unexpected ${v.source} in ${t??"collection"}`),D=v,c=n==="seq-item-ind"||n==="explicit-key-ind",l=!1;break;case"comma":if(t){y&&s(v,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),y=v,c=!1,l=!1;break}default:s(v,"UNEXPECTED_TOKEN",`Unexpected ${v.type} token`),c=!1,l=!1}let C=e[e.length-1],T=C?C.offset+C.source.length:i;return p&&r&&r.type!=="space"&&r.type!=="newline"&&r.type!=="comma"&&(r.type!=="scalar"||r.source!=="")&&s(r.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m&&(c&&m.indent<=o||r?.type==="block-map"||r?.type==="block-seq")&&s(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:y,found:D,spaceBefore:u,comment:d,hasNewline:f,anchor:g,tag:x,newlineAfterProp:b,end:T,start:w??T}}fE.resolveProps=KM});var hc=W(dE=>{"use strict";function Lp(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(` +`))return!0;if(e.end){for(let t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of e.items){for(let n of t.start)if(n.type==="newline")return!0;if(t.sep){for(let n of t.sep)if(n.type==="newline")return!0}if(Lp(t.key)||Lp(t.value))return!0}return!1;default:return!0}}dE.containsNewline=Lp});var Rp=W(hE=>{"use strict";var XM=hc();function JM(e,t,n){if(t?.type==="flow-collection"){let r=t.end[0];r.indent===e&&(r.source==="]"||r.source==="}")&&XM.containsNewline(t)&&n(r,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}hE.flowIndentCheck=JM});var Np=W(mE=>{"use strict";var pE=Ce();function YM(e,t,n){let{uniqueKeys:r}=e.options;if(r===!1)return!1;let i=typeof r=="function"?r:(s,o)=>s===o||pE.isScalar(s)&&pE.isScalar(o)&&s.value===o.value;return t.some(s=>i(s.key,n))}mE.mapIncludes=YM});var EE=W(CE=>{"use strict";var gE=zn(),ZM=jn(),xE=uo(),QM=hc(),bE=Rp(),eP=Np(),yE="All mapping items must start at the same column";function tP({composeNode:e,composeEmptyNode:t},n,r,i,s){let o=s?.nodeClass??ZM.YAMLMap,a=new o(n.schema);n.atRoot&&(n.atRoot=!1);let u=r.offset,c=null;for(let l of r.items){let{start:d,key:h,sep:f,value:p}=l,m=xE.resolveProps(d,{indicator:"explicit-key-ind",next:h??f?.[0],offset:u,onError:i,parentIndent:r.indent,startOnNewline:!0}),g=!m.found;if(g){if(h&&(h.type==="block-seq"?i(u,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in h&&h.indent!==r.indent&&i(u,"BAD_INDENT",yE)),!m.anchor&&!m.tag&&!f){c=m.end,m.comment&&(a.comment?a.comment+=` +`+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||QM.containsNewline(h))&&i(h??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==r.indent&&i(u,"BAD_INDENT",yE);n.atKey=!0;let x=m.end,b=h?e(n,h,m,i):t(n,x,d,null,m,i);n.schema.compat&&bE.flowIndentCheck(r.indent,h,i),n.atKey=!1,eP.mapIncludes(n,a.items,b)&&i(x,"DUPLICATE_KEY","Map keys must be unique");let y=xE.resolveProps(f??[],{indicator:"map-value-ind",next:p,offset:b.range[2],onError:i,parentIndent:r.indent,startOnNewline:!h||h.type==="block-scalar"});if(u=y.end,y.found){g&&(p?.type==="block-map"&&!y.hasNewline&&i(u,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&m.start{"use strict";var nP=Wn(),rP=uo(),iP=Rp();function sP({composeNode:e,composeEmptyNode:t},n,r,i,s){let o=s?.nodeClass??nP.YAMLSeq,a=new o(n.schema);n.atRoot&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let u=r.offset,c=null;for(let{start:l,value:d}of r.items){let h=rP.resolveProps(l,{indicator:"seq-item-ind",next:d,offset:u,onError:i,parentIndent:r.indent,startOnNewline:!0});if(!h.found)if(h.anchor||h.tag||d)d&&d.type==="block-seq"?i(h.end,"BAD_INDENT","All sequence items must start at the same column"):i(u,"MISSING_CHAR","Sequence item without - indicator");else{c=h.end,h.comment&&(a.comment=h.comment);continue}let f=d?e(n,d,h,i):t(n,h.end,l,null,h,i);n.schema.compat&&iP.flowIndentCheck(r.indent,d,i),u=f.range[2],a.items.push(f)}return a.range=[r.offset,u,c??u],a}DE.resolveBlockSeq=sP});var Ti=W(wE=>{"use strict";function oP(e,t,n,r){let i="";if(e){let s=!1,o="";for(let a of e){let{source:u,type:c}=a;switch(c){case"space":s=!0;break;case"comment":{n&&!s&&r(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let l=u.substring(1)||" ";i?i+=o+l:i=l,o="";break}case"newline":i&&(o+=u),s=!0;break;default:r(a,"UNEXPECTED_TOKEN",`Unexpected ${c} at node end`)}t+=u.length}}return{comment:i,offset:t}}wE.resolveEnd=oP});var FE=W(vE=>{"use strict";var aP=Ce(),uP=zn(),AE=jn(),cP=Wn(),lP=Ti(),kE=uo(),fP=hc(),dP=Np(),Bp="Block collections are not allowed within flow collections",Mp=e=>e&&(e.type==="block-map"||e.type==="block-seq");function hP({composeNode:e,composeEmptyNode:t},n,r,i,s){let o=r.start.source==="{",a=o?"flow map":"flow sequence",u=s?.nodeClass??(o?AE.YAMLMap:cP.YAMLSeq),c=new u(n.schema);c.flow=!0;let l=n.atRoot;l&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let d=r.offset+r.start.source.length;for(let g=0;g0){let g=lP.resolveEnd(p,m,n.options.strict,i);g.comment&&(c.comment?c.comment+=` +`+g.comment:c.comment=g.comment),c.range=[r.offset,m,g.offset]}else c.range=[r.offset,m,m];return c}vE.resolveFlowCollection=hP});var IE=W(TE=>{"use strict";var pP=Ce(),mP=Ne(),gP=jn(),xP=Wn(),bP=EE(),yP=SE(),CP=FE();function Pp(e,t,n,r,i,s){let o=n.type==="block-map"?bP.resolveBlockMap(e,t,n,r,s):n.type==="block-seq"?yP.resolveBlockSeq(e,t,n,r,s):CP.resolveFlowCollection(e,t,n,r,s),a=o.constructor;return i==="!"||i===a.tagName?(o.tag=a.tagName,o):(i&&(o.tag=i),o)}function EP(e,t,n,r,i){let s=r.tag,o=s?t.directives.tagName(s.source,h=>i(s,"TAG_RESOLVE_FAILED",h)):null;if(n.type==="block-seq"){let{anchor:h,newlineAfterProp:f}=r,p=h&&s?h.offset>s.offset?h:s:h??s;p&&(!f||f.offseth.tag===o&&h.collection===a);if(!u){let h=t.schema.knownTags[o];if(h&&h.collection===a)t.schema.tags.push(Object.assign({},h,{default:!1})),u=h;else return h?i(s,"BAD_COLLECTION_TYPE",`${h.tag} used for ${a} collection, but expects ${h.collection??"scalar"}`,!0):i(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),Pp(e,t,n,i,o)}let c=Pp(e,t,n,i,o,u),l=u.resolve?.(c,h=>i(s,"TAG_RESOLVE_FAILED",h),t.options)??c,d=pP.isNode(l)?l:new mP.Scalar(l);return d.range=c.range,d.tag=o,u?.format&&(d.format=u.format),d}TE.composeCollection=EP});var Up=W(_E=>{"use strict";var Op=Ne();function DP(e,t,n){let r=t.offset,i=SP(t,e.options.strict,n);if(!i)return{value:"",type:null,comment:"",range:[r,r,r]};let s=i.mode===">"?Op.Scalar.BLOCK_FOLDED:Op.Scalar.BLOCK_LITERAL,o=t.source?wP(t.source):[],a=o.length;for(let m=o.length-1;m>=0;--m){let g=o[m][1];if(g===""||g==="\r")a=m;else break}if(a===0){let m=i.chomp==="+"&&o.length>0?` +`.repeat(Math.max(1,o.length-1)):"",g=r+i.length;return t.source&&(g+=t.source.length),{value:m,type:s,comment:i.comment,range:[r,g,g]}}let u=t.indent+i.indent,c=t.offset+i.length,l=0;for(let m=0;mu&&(u=g.length);else{g.length=a;--m)o[m][0].length>u&&(a=m+1);let d="",h="",f=!1;for(let m=0;mu||x[0]===" "?(h===" "?h=` +`:!f&&h===` +`&&(h=` + +`),d+=h+g.slice(u)+x,h=` +`,f=!0):x===""?h===` +`?d+=` +`:h=` +`:(d+=h+x,h=" ",f=!1)}switch(i.chomp){case"-":break;case"+":for(let m=a;m{"use strict";var zp=Ne(),AP=Ti();function kP(e,t,n){let{offset:r,type:i,source:s,end:o}=e,a,u,c=(h,f,p)=>n(r+h,f,p);switch(i){case"scalar":a=zp.Scalar.PLAIN,u=vP(s,c);break;case"single-quoted-scalar":a=zp.Scalar.QUOTE_SINGLE,u=FP(s,c);break;case"double-quoted-scalar":a=zp.Scalar.QUOTE_DOUBLE,u=TP(s,c);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[r,r+s.length,r+s.length]}}let l=r+s.length,d=AP.resolveEnd(o,l,t,n);return{value:u,type:a,comment:d.comment,range:[r,l,d.offset]}}function vP(e,t){let n="";switch(e[0]){case" ":n="a tab character";break;case",":n="flow indicator character ,";break;case"%":n="directive indicator character %";break;case"|":case">":{n=`block scalar indicator ${e[0]}`;break}case"@":case"`":{n=`reserved character ${e[0]}`;break}}return n&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${n}`),LE(e)}function FP(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),LE(e.slice(1,-1)).replace(/''/g,"'")}function LE(e){let t,n;try{t=new RegExp(`(.*?)(?s?e.slice(s,r+1):i)}else n+=i}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),n}function IP(e,t){let n="",r=e[t+1];for(;(r===" "||r===" "||r===` +`||r==="\r")&&!(r==="\r"&&e[t+2]!==` +`);)r===` +`&&(n+=` +`),t+=1,r=e[t+1];return n||(n=" "),{fold:n,offset:t}}var _P={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:` +`,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function LP(e,t,n,r){let i=e.substr(t,n),o=i.length===n&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;if(isNaN(o)){let a=e.substr(t-2,n+2);return r(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}return String.fromCodePoint(o)}RE.resolveFlowScalar=kP});var ME=W(BE=>{"use strict";var Nr=Ce(),NE=Ne(),RP=Up(),NP=qp();function BP(e,t,n,r){let{value:i,type:s,comment:o,range:a}=t.type==="block-scalar"?RP.resolveBlockScalar(e,t,r):NP.resolveFlowScalar(t,e.options.strict,r),u=n?e.directives.tagName(n.source,d=>r(n,"TAG_RESOLVE_FAILED",d)):null,c;e.options.stringKeys&&e.atKey?c=e.schema[Nr.SCALAR]:u?c=MP(e.schema,i,u,n,r):t.type==="scalar"?c=PP(e,i,t,r):c=e.schema[Nr.SCALAR];let l;try{let d=c.resolve(i,h=>r(n??t,"TAG_RESOLVE_FAILED",h),e.options);l=Nr.isScalar(d)?d:new NE.Scalar(d)}catch(d){let h=d instanceof Error?d.message:String(d);r(n??t,"TAG_RESOLVE_FAILED",h),l=new NE.Scalar(i)}return l.range=a,l.source=i,s&&(l.type=s),u&&(l.tag=u),c.format&&(l.format=c.format),o&&(l.comment=o),l}function MP(e,t,n,r,i){if(n==="!")return e[Nr.SCALAR];let s=[];for(let a of e.tags)if(!a.collection&&a.tag===n)if(a.default&&a.test)s.push(a);else return a;for(let a of s)if(a.test?.test(t))return a;let o=e.knownTags[n];return o&&!o.collection?(e.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,n!=="tag:yaml.org,2002:str"),e[Nr.SCALAR])}function PP({atKey:e,directives:t,schema:n},r,i,s){let o=n.tags.find(a=>(a.default===!0||e&&a.default==="key")&&a.test?.test(r))||n[Nr.SCALAR];if(n.compat){let a=n.compat.find(u=>u.default&&u.test?.test(r))??n[Nr.SCALAR];if(o.tag!==a.tag){let u=t.tagString(o.tag),c=t.tagString(a.tag),l=`Value may be parsed as either ${u} or ${c}`;s(i,"TAG_RESOLVE_FAILED",l,!0)}}return o}BE.composeScalar=BP});var OE=W(PE=>{"use strict";function OP(e,t,n){if(t){n??(n=t.length);for(let r=n-1;r>=0;--r){let i=t[r];switch(i.type){case"space":case"comment":case"newline":e-=i.source.length;continue}for(i=t[++r];i?.type==="space";)e+=i.source.length,i=t[++r];break}}return e}PE.emptyScalarPosition=OP});var qE=W(Wp=>{"use strict";var UP=qs(),zP=Ce(),qP=IE(),UE=ME(),jP=Ti(),WP=OE(),$P={composeNode:zE,composeEmptyNode:jp};function zE(e,t,n,r){let i=e.atKey,{spaceBefore:s,comment:o,anchor:a,tag:u}=n,c,l=!0;switch(t.type){case"alias":c=HP(e,t,r),(a||u)&&r(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":c=UE.composeScalar(e,t,u,r),a&&(c.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":c=qP.composeCollection($P,e,t,n,r),a&&(c.anchor=a.source.substring(1));break;default:{let d=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;r(t,"UNEXPECTED_TOKEN",d),c=jp(e,t.offset,void 0,null,n,r),l=!1}}return a&&c.anchor===""&&r(a,"BAD_ALIAS","Anchor cannot be an empty string"),i&&e.options.stringKeys&&(!zP.isScalar(c)||typeof c.value!="string"||c.tag&&c.tag!=="tag:yaml.org,2002:str")&&r(u??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),s&&(c.spaceBefore=!0),o&&(t.type==="scalar"&&t.source===""?c.comment=o:c.commentBefore=o),e.options.keepSourceTokens&&l&&(c.srcToken=t),c}function jp(e,t,n,r,{spaceBefore:i,comment:s,anchor:o,tag:a,end:u},c){let l={type:"scalar",offset:WP.emptyScalarPosition(t,n,r),indent:-1,source:""},d=UE.composeScalar(e,l,a,c);return o&&(d.anchor=o.source.substring(1),d.anchor===""&&c(o,"BAD_ALIAS","Anchor cannot be an empty string")),i&&(d.spaceBefore=!0),s&&(d.comment=s,d.range[2]=u),d}function HP({options:e},{offset:t,source:n,end:r},i){let s=new UP.Alias(n.substring(1));s.source===""&&i(t,"BAD_ALIAS","Alias cannot be an empty string"),s.source.endsWith(":")&&i(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=t+n.length,a=jP.resolveEnd(r,o,e.strict,i);return s.range=[t,o,a.offset],a.comment&&(s.comment=a.comment),s}Wp.composeEmptyNode=jp;Wp.composeNode=zE});var $E=W(WE=>{"use strict";var GP=io(),jE=qE(),VP=Ti(),KP=uo();function XP(e,t,{offset:n,start:r,value:i,end:s},o){let a=Object.assign({_directives:t},e),u=new GP.Document(void 0,a),c={atKey:!1,atRoot:!0,directives:u.directives,options:u.options,schema:u.schema},l=KP.resolveProps(r,{indicator:"doc-start",next:i??s?.[0],offset:n,onError:o,parentIndent:0,startOnNewline:!0});l.found&&(u.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!l.hasNewline&&o(l.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),u.contents=i?jE.composeNode(c,i,l,o):jE.composeEmptyNode(c,l.end,r,null,l,o);let d=u.contents.range[2],h=VP.resolveEnd(s,d,!1,o);return h.comment&&(u.comment=h.comment),u.range=[n,d,h.offset],u}WE.composeDoc=XP});var Hp=W(VE=>{"use strict";var JP=require("process"),YP=Ih(),ZP=io(),co=ao(),HE=Ce(),QP=$E(),e5=Ti();function lo(e){if(typeof e=="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];let{offset:t,source:n}=e;return[t,t+(typeof n=="string"?n.length:1)]}function GE(e){let t="",n=!1,r=!1;for(let i=0;i{let o=lo(n);s?this.warnings.push(new co.YAMLWarning(o,r,i)):this.errors.push(new co.YAMLParseError(o,r,i))},this.directives=new YP.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,n){let{comment:r,afterEmptyLine:i}=GE(this.prelude);if(r){let s=t.contents;if(n)t.comment=t.comment?`${t.comment} +${r}`:r;else if(i||t.directives.docStart||!s)t.commentBefore=r;else if(HE.isCollection(s)&&!s.flow&&s.items.length>0){let o=s.items[0];HE.isPair(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${r} +${a}`:r}else{let o=s.commentBefore;s.commentBefore=o?`${r} +${o}`:r}}n?(Array.prototype.push.apply(t.errors,this.errors),Array.prototype.push.apply(t.warnings,this.warnings)):(t.errors=this.errors,t.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:GE(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(t,n=!1,r=-1){for(let i of t)yield*this.next(i);yield*this.end(n,r)}*next(t){switch(JP.env.LOG_STREAM&&console.dir(t,{depth:null}),t.type){case"directive":this.directives.add(t.source,(n,r,i)=>{let s=lo(t);s[0]+=n,this.onError(s,"BAD_DIRECTIVE",r,i)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let n=QP.composeDoc(this.options,this.directives,t,this.onError);this.atDirectives&&!n.directives.docStart&&this.onError(t,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(n,!1),this.doc&&(yield this.doc),this.doc=n,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(t.source);break;case"error":{let n=t.source?`${t.message}: ${JSON.stringify(t.source)}`:t.message,r=new co.YAMLParseError(lo(t),"UNEXPECTED_TOKEN",n);this.atDirectives||!this.doc?this.errors.push(r):this.doc.errors.push(r);break}case"doc-end":{if(!this.doc){let r="Unexpected doc-end without preceding document";this.errors.push(new co.YAMLParseError(lo(t),"UNEXPECTED_TOKEN",r));break}this.doc.directives.docEnd=!0;let n=e5.resolveEnd(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){let r=this.doc.comment;this.doc.comment=r?`${r} +${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new co.YAMLParseError(lo(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){let r=Object.assign({_directives:this.directives},this.options),i=new ZP.Document(void 0,r);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),i.range=[0,n,n],this.decorate(i,!1),yield i}}};VE.Composer=$p});var JE=W(pc=>{"use strict";var t5=Up(),n5=qp(),r5=ao(),KE=Gs();function i5(e,t=!0,n){if(e){let r=(i,s,o)=>{let a=typeof i=="number"?i:Array.isArray(i)?i[0]:i.offset;if(n)n(a,s,o);else throw new r5.YAMLParseError([a,a+1],s,o)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return n5.resolveFlowScalar(e,t,r);case"block-scalar":return t5.resolveBlockScalar({options:{strict:t}},e,r)}}return null}function s5(e,t){let{implicitKey:n=!1,indent:r,inFlow:i=!1,offset:s=-1,type:o="PLAIN"}=t,a=KE.stringifyString({type:o,value:e},{implicitKey:n,indent:r>0?" ".repeat(r):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}}),u=t.end??[{type:"newline",offset:-1,indent:r,source:` +`}];switch(a[0]){case"|":case">":{let c=a.indexOf(` +`),l=a.substring(0,c),d=a.substring(c+1)+` +`,h=[{type:"block-scalar-header",offset:s,indent:r,source:l}];return XE(h,u)||h.push({type:"newline",offset:-1,indent:r,source:` +`}),{type:"block-scalar",offset:s,indent:r,props:h,source:d}}case'"':return{type:"double-quoted-scalar",offset:s,indent:r,source:a,end:u};case"'":return{type:"single-quoted-scalar",offset:s,indent:r,source:a,end:u};default:return{type:"scalar",offset:s,indent:r,source:a,end:u}}}function o5(e,t,n={}){let{afterKey:r=!1,implicitKey:i=!1,inFlow:s=!1,type:o}=n,a="indent"in e?e.indent:null;if(r&&typeof a=="number"&&(a+=2),!o)switch(e.type){case"single-quoted-scalar":o="QUOTE_SINGLE";break;case"double-quoted-scalar":o="QUOTE_DOUBLE";break;case"block-scalar":{let c=e.props[0];if(c.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o=c.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:o="PLAIN"}let u=KE.stringifyString({type:o,value:t},{implicitKey:i||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:s,options:{blockQuote:!0,lineWidth:-1}});switch(u[0]){case"|":case">":a5(e,u);break;case'"':Gp(e,u,"double-quoted-scalar");break;case"'":Gp(e,u,"single-quoted-scalar");break;default:Gp(e,u,"scalar")}}function a5(e,t){let n=t.indexOf(` +`),r=t.substring(0,n),i=t.substring(n+1)+` +`;if(e.type==="block-scalar"){let s=e.props[0];if(s.type!=="block-scalar-header")throw new Error("Invalid block scalar header");s.source=r,e.source=i}else{let{offset:s}=e,o="indent"in e?e.indent:-1,a=[{type:"block-scalar-header",offset:s,indent:o,source:r}];XE(a,"end"in e?e.end:void 0)||a.push({type:"newline",offset:-1,indent:o,source:` +`});for(let u of Object.keys(e))u!=="type"&&u!=="offset"&&delete e[u];Object.assign(e,{type:"block-scalar",indent:o,props:a,source:i})}}function XE(e,t){if(t)for(let n of t)switch(n.type){case"space":case"comment":e.push(n);break;case"newline":return e.push(n),!0}return!1}function Gp(e,t,n){switch(e.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":e.type=n,e.source=t;break;case"block-scalar":{let r=e.props.slice(1),i=t.length;e.props[0].type==="block-scalar-header"&&(i-=e.props[0].source.length);for(let s of r)s.offset+=i;delete e.props,Object.assign(e,{type:n,source:t,end:r});break}case"block-map":case"block-seq":{let i={type:"newline",offset:e.offset+t.length,indent:e.indent,source:` +`};delete e.items,Object.assign(e,{type:n,source:t,end:[i]});break}default:{let r="indent"in e?e.indent:-1,i="end"in e&&Array.isArray(e.end)?e.end.filter(s=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.keys(e))s!=="type"&&s!=="offset"&&delete e[s];Object.assign(e,{type:n,indent:r,source:t,end:i})}}}pc.createScalarToken=s5;pc.resolveAsScalar=i5;pc.setScalarValue=o5});var ZE=W(YE=>{"use strict";var u5=e=>"type"in e?gc(e):mc(e);function gc(e){switch(e.type){case"block-scalar":{let t="";for(let n of e.props)t+=gc(n);return t+e.source}case"block-map":case"block-seq":{let t="";for(let n of e.items)t+=mc(n);return t}case"flow-collection":{let t=e.start.source;for(let n of e.items)t+=mc(n);for(let n of e.end)t+=n.source;return t}case"document":{let t=mc(e);if(e.end)for(let n of e.end)t+=n.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(let n of e.end)t+=n.source;return t}}}function mc({start:e,key:t,sep:n,value:r}){let i="";for(let s of e)i+=s.source;if(t&&(i+=gc(t)),n)for(let s of n)i+=s.source;return r&&(i+=gc(r)),i}YE.stringify=u5});var nD=W(tD=>{"use strict";var Vp=Symbol("break visit"),c5=Symbol("skip children"),QE=Symbol("remove item");function Br(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),eD(Object.freeze([]),e,t)}Br.BREAK=Vp;Br.SKIP=c5;Br.REMOVE=QE;Br.itemAtPath=(e,t)=>{let n=e;for(let[r,i]of t){let s=n?.[r];if(s&&"items"in s)n=s.items[i];else return}return n};Br.parentCollection=(e,t)=>{let n=Br.itemAtPath(e,t.slice(0,-1)),r=t[t.length-1][0],i=n?.[r];if(i&&"items"in i)return i;throw new Error("Parent collection not found")};function eD(e,t,n){let r=n(t,e);if(typeof r=="symbol")return r;for(let i of["key","value"]){let s=t[i];if(s&&"items"in s){for(let o=0;o{"use strict";var Kp=JE(),l5=ZE(),f5=nD(),Xp="\uFEFF",Jp="",Yp="",Zp="",d5=e=>!!e&&"items"in e,h5=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function p5(e){switch(e){case Xp:return"";case Jp:return"";case Yp:return"";case Zp:return"";default:return JSON.stringify(e)}}function m5(e){switch(e){case Xp:return"byte-order-mark";case Jp:return"doc-mode";case Yp:return"flow-error-end";case Zp:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case` +`:case`\r +`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}ut.createScalarToken=Kp.createScalarToken;ut.resolveAsScalar=Kp.resolveAsScalar;ut.setScalarValue=Kp.setScalarValue;ut.stringify=l5.stringify;ut.visit=f5.visit;ut.BOM=Xp;ut.DOCUMENT=Jp;ut.FLOW_END=Yp;ut.SCALAR=Zp;ut.isCollection=d5;ut.isScalar=h5;ut.prettyToken=p5;ut.tokenType=m5});var tm=W(iD=>{"use strict";var fo=xc();function Bt(e){switch(e){case void 0:case" ":case` +`:case"\r":case" ":return!0;default:return!1}}var rD=new Set("0123456789ABCDEFabcdef"),g5=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),bc=new Set(",[]{}"),x5=new Set(` ,[]{} +\r `),Qp=e=>!e||x5.has(e),em=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,n=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!n;let r=this.next??"stream";for(;r&&(n||this.hasChars(1));)r=yield*this.parseNext(r)}atLineEnd(){let t=this.pos,n=this.buffer[t];for(;n===" "||n===" ";)n=this.buffer[++t];return!n||n==="#"||n===` +`?!0:n==="\r"?this.buffer[t+1]===` +`:!1}charAt(t){return this.buffer[this.pos+t]}continueScalar(t){let n=this.buffer[t];if(this.indentNext>0){let r=0;for(;n===" ";)n=this.buffer[++r+t];if(n==="\r"){let i=this.buffer[r+t+1];if(i===` +`||!i&&!this.atEnd)return t+r+1}return n===` +`||r>=this.indentNext||!n&&!this.atEnd?t+r:-1}if(n==="-"||n==="."){let r=this.buffer.substr(t,3);if((r==="---"||r==="...")&&Bt(this.buffer[t+3]))return-1}return t}getLine(){let t=this.lineEndPos;return(typeof t!="number"||t!==-1&&tthis.indentValue&&!Bt(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[t,n]=this.peek(2);if(!n&&!this.atEnd)return this.setNext("block-start");if((t==="-"||t==="?"||t===":")&&Bt(n)){let r=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=r,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let t=this.getLine();if(t===null)return this.setNext("doc");let n=yield*this.pushIndicators();switch(t[n]){case"#":yield*this.pushCount(t.length-n);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Qp),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return n+=yield*this.parseBlockScalarHeader(),n+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-n),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,n,r=-1;do t=yield*this.pushNewline(),t>0?(n=yield*this.pushSpaces(!1),this.indentValue=r=n):n=0,n+=yield*this.pushSpaces(!0);while(t+n>0);let i=this.getLine();if(i===null)return this.setNext("flow");if((r!==-1&&r"0"&&n<="9")this.blockScalarIndent=Number(n)-1;else if(n!=="-")break}return yield*this.pushUntil(n=>Bt(n)||n==="#")}*parseBlockScalar(){let t=this.pos-1,n=0,r;e:for(let s=this.pos;r=this.buffer[s];++s)switch(r){case" ":n+=1;break;case` +`:t=s,n=0;break;case"\r":{let o=this.buffer[s+1];if(!o&&!this.atEnd)return this.setNext("block-scalar");if(o===` +`)break}default:break e}if(!r&&!this.atEnd)return this.setNext("block-scalar");if(n>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=n:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let s=this.continueScalar(t+1);if(s===-1)break;t=this.buffer.indexOf(` +`,s)}while(t!==-1);if(t===-1){if(!this.atEnd)return this.setNext("block-scalar");t=this.buffer.length}}let i=t+1;for(r=this.buffer[i];r===" ";)r=this.buffer[++i];if(r===" "){for(;r===" "||r===" "||r==="\r"||r===` +`;)r=this.buffer[++i];t=i-1}else if(!this.blockScalarKeep)do{let s=t-1,o=this.buffer[s];o==="\r"&&(o=this.buffer[--s]);let a=s;for(;o===" ";)o=this.buffer[--s];if(o===` +`&&s>=this.pos&&s+1+n>a)t=s;else break}while(!0);return yield fo.SCALAR,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let t=this.flowLevel>0,n=this.pos-1,r=this.pos-1,i;for(;i=this.buffer[++r];)if(i===":"){let s=this.buffer[r+1];if(Bt(s)||t&&bc.has(s))break;n=r}else if(Bt(i)){let s=this.buffer[r+1];if(i==="\r"&&(s===` +`?(r+=1,i=` +`,s=this.buffer[r+1]):n=r),s==="#"||t&&bc.has(s))break;if(i===` +`){let o=this.continueScalar(r+1);if(o===-1)break;r=Math.max(r,o-2)}}else{if(t&&bc.has(i))break;n=r}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield fo.SCALAR,yield*this.pushToIndex(n+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,n){let r=this.buffer.slice(this.pos,t);return r?(yield r,this.pos+=r.length,r.length):(n&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(Qp))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let t=this.flowLevel>0,n=this.charAt(1);if(Bt(n)||t&&bc.has(n))return t?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,n=this.buffer[t];for(;!Bt(n)&&n!==">";)n=this.buffer[++t];return yield*this.pushToIndex(n===">"?t+1:t,!1)}else{let t=this.pos+1,n=this.buffer[t];for(;n;)if(g5.has(n))n=this.buffer[++t];else if(n==="%"&&rD.has(this.buffer[t+1])&&rD.has(this.buffer[t+2]))n=this.buffer[t+=3];else break;return yield*this.pushToIndex(t,!1)}}*pushNewline(){let t=this.buffer[this.pos];return t===` +`?yield*this.pushCount(1):t==="\r"&&this.charAt(1)===` +`?yield*this.pushCount(2):0}*pushSpaces(t){let n=this.pos-1,r;do r=this.buffer[++n];while(r===" "||t&&r===" ");let i=n-this.pos;return i>0&&(yield this.buffer.substr(this.pos,i),this.pos=n),i}*pushUntil(t){let n=this.pos,r=this.buffer[n];for(;!t(r);)r=this.buffer[++n];return yield*this.pushToIndex(n,!1)}};iD.Lexer=em});var rm=W(sD=>{"use strict";var nm=class{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let n=0,r=this.lineStarts.length;for(;n>1;this.lineStarts[s]{"use strict";var b5=require("process"),oD=xc(),y5=tm();function $n(e,t){for(let n=0;n=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;e[++t]?.type==="space";);return e.splice(t,e.length)}function uD(e){if(e.start.type==="flow-seq-start")for(let t of e.items)t.sep&&!t.value&&!$n(t.start,"explicit-key-ind")&&!$n(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,cD(t.value)?t.value.end?Array.prototype.push.apply(t.value.end,t.sep):t.value.end=t.sep:Array.prototype.push.apply(t.start,t.sep),delete t.sep)}var im=class{constructor(t){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new y5.Lexer,this.onNewLine=t}*parse(t,n=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let r of this.lexer.lex(t,n))yield*this.next(r);n||(yield*this.end())}*next(t){if(this.source=t,b5.env.LOG_TOKENS&&console.log("|",oD.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let n=oD.tokenType(t);if(n)if(n==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=n,yield*this.step(),n){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+t.length);break;case"space":this.atNewLine&&t[0]===" "&&(this.indent+=t.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=t.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=t.length}else{let r=`Not a YAML token: ${t}`;yield*this.pop({type:"error",offset:this.offset,message:r,source:t}),this.offset+=t.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let t=this.peek(1);if(this.type==="doc-end"&&(!t||t.type!=="doc-end")){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!t)return yield*this.stream();switch(t.type){case"document":return yield*this.document(t);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(t);case"block-scalar":return yield*this.blockScalar(t);case"block-map":return yield*this.blockMap(t);case"block-seq":return yield*this.blockSequence(t);case"flow-collection":return yield*this.flowCollection(t);case"doc-end":return yield*this.documentEnd(t)}yield*this.pop()}peek(t){return this.stack[this.stack.length-t]}*pop(t){let n=t??this.stack.pop();if(!n)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield n;else{let r=this.peek(1);switch(n.type==="block-scalar"?n.indent="indent"in r?r.indent:0:n.type==="flow-collection"&&r.type==="document"&&(n.indent=0),n.type==="flow-collection"&&uD(n),r.type){case"document":r.value=n;break;case"block-scalar":r.props.push(n);break;case"block-map":{let i=r.items[r.items.length-1];if(i.value){r.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(i.sep)i.value=n;else{Object.assign(i,{key:n,sep:[]}),this.onKeyLine=!i.explicitKey;return}break}case"block-seq":{let i=r.items[r.items.length-1];i.value?r.items.push({start:[],value:n}):i.value=n;break}case"flow-collection":{let i=r.items[r.items.length-1];!i||i.value?r.items.push({start:[],key:n,sep:[]}):i.sep?i.value=n:Object.assign(i,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((r.type==="document"||r.type==="block-map"||r.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){let i=n.items[n.items.length-1];i&&!i.sep&&!i.value&&i.start.length>0&&aD(i.start)===-1&&(n.indent===0||i.start.every(s=>s.type!=="comment"||s.indent=t.indent){let r=!this.onKeyLine&&this.indent===t.indent,i=r&&(n.sep||n.explicitKey)&&this.type!=="seq-item-ind",s=[];if(i&&n.sep&&!n.value){let o=[];for(let a=0;at.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(s=n.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":i||n.value?(s.push(this.sourceToken),t.items.push({start:s}),this.onKeyLine=!0):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"explicit-key-ind":!n.sep&&!n.explicitKey?(n.start.push(this.sourceToken),n.explicitKey=!0):i||n.value?(s.push(this.sourceToken),t.items.push({start:s,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(n.explicitKey)if(n.sep)if(n.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if($n(n.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]});else if(cD(n.key)&&!$n(n.sep,"newline")){let o=Ii(n.start),a=n.key,u=n.sep;u.push(this.sourceToken),delete n.key,delete n.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:a,sep:u}]})}else s.length>0?n.sep=n.sep.concat(s,this.sourceToken):n.sep.push(this.sourceToken);else if($n(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{let o=Ii(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||i?t.items.push({start:s,key:null,sep:[this.sourceToken]}):$n(n.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let o=this.flowScalar(this.type);i||n.value?(t.items.push({start:s,key:o,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(o):(Object.assign(n,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(t);if(o){if(o.type==="block-seq"){if(!n.explicitKey&&n.sep&&!$n(n.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else r&&t.items.push({start:s});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){let n=t.items[t.items.length-1];switch(this.type){case"newline":if(n.value){let r="end"in n.value?n.value.end:void 0;(Array.isArray(r)?r[r.length-1]:void 0)?.type==="comment"?r?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(n.start,t.indent)){let i=t.items[t.items.length-2]?.value?.end;if(Array.isArray(i)){Array.prototype.push.apply(i,n.start),i.push(this.sourceToken),t.items.pop();return}}n.start.push(this.sourceToken)}return;case"anchor":case"tag":if(n.value||this.indent<=t.indent)break;n.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;n.value||$n(n.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>t.indent){let r=this.startBlockValue(t);if(r){this.stack.push(r);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){let n=t.items[t.items.length-1];if(this.type==="flow-error-end"){let r;do yield*this.pop(),r=this.peek(1);while(r&&r.type==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!n||n.sep?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return;case"map-value-ind":!n||n.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!n||n.value?t.items.push({start:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);!n||n.value?t.items.push({start:[],key:i,sep:[]}):n.sep?this.stack.push(i):Object.assign(n,{key:i,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}let r=this.startBlockValue(t);r?this.stack.push(r):(yield*this.pop(),yield*this.step())}else{let r=this.peek(2);if(r.type==="block-map"&&(this.type==="map-value-ind"&&r.indent===t.indent||this.type==="newline"&&!r.items[r.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&r.type!=="flow-collection"){let i=yc(r),s=Ii(i);uD(t);let o=t.end.splice(1,t.end.length);o.push(this.sourceToken);let a={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:s,key:t,sep:o}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let n=this.source.indexOf(` +`)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf(` +`,n)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let n=yc(t),r=Ii(n);return r.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let n=yc(t),r=Ii(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,n){return this.type!=="comment"||this.indent<=n?!1:t.every(r=>r.type==="newline"||r.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};lD.Parser=im});var mD=W(po=>{"use strict";var fD=Hp(),C5=io(),ho=ao(),E5=Wh(),D5=Ce(),S5=rm(),dD=sm();function hD(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new S5.LineCounter||null,prettyErrors:t}}function w5(e,t={}){let{lineCounter:n,prettyErrors:r}=hD(t),i=new dD.Parser(n?.addNewLine),s=new fD.Composer(t),o=Array.from(s.compose(i.parse(e)));if(r&&n)for(let a of o)a.errors.forEach(ho.prettifyError(e,n)),a.warnings.forEach(ho.prettifyError(e,n));return o.length>0?o:Object.assign([],{empty:!0},s.streamInfo())}function pD(e,t={}){let{lineCounter:n,prettyErrors:r}=hD(t),i=new dD.Parser(n?.addNewLine),s=new fD.Composer(t),o=null;for(let a of s.compose(i.parse(e),!0,e.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new ho.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return r&&n&&(o.errors.forEach(ho.prettifyError(e,n)),o.warnings.forEach(ho.prettifyError(e,n))),o}function A5(e,t,n){let r;typeof t=="function"?r=t:n===void 0&&t&&typeof t=="object"&&(n=t);let i=pD(e,n);if(!i)return null;if(i.warnings.forEach(s=>E5.warn(i.options.logLevel,s)),i.errors.length>0){if(i.options.logLevel!=="silent")throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:r},n))}function k5(e,t,n){let r=null;if(typeof t=="function"||Array.isArray(t)?r=t:n===void 0&&t&&(n=t),typeof n=="string"&&(n=n.length),typeof n=="number"){let i=Math.round(n);n=i<1?void 0:i>8?{indent:8}:{indent:i}}if(e===void 0){let{keepUndefined:i}=n??t??{};if(!i)return}return D5.isDocument(e)&&!r?e.toString(n):new C5.Document(e,r,n).toString(n)}po.parse=A5;po.parseAllDocuments=w5;po.parseDocument=pD;po.stringify=k5});var Ec=W(Se=>{"use strict";var v5=Hp(),F5=io(),T5=Ap(),om=ao(),I5=qs(),Hn=Ce(),_5=zn(),L5=Ne(),R5=jn(),N5=Wn(),B5=xc(),M5=tm(),P5=rm(),O5=sm(),Cc=mD(),gD=Ps();Se.Composer=v5.Composer;Se.Document=F5.Document;Se.Schema=T5.Schema;Se.YAMLError=om.YAMLError;Se.YAMLParseError=om.YAMLParseError;Se.YAMLWarning=om.YAMLWarning;Se.Alias=I5.Alias;Se.isAlias=Hn.isAlias;Se.isCollection=Hn.isCollection;Se.isDocument=Hn.isDocument;Se.isMap=Hn.isMap;Se.isNode=Hn.isNode;Se.isPair=Hn.isPair;Se.isScalar=Hn.isScalar;Se.isSeq=Hn.isSeq;Se.Pair=_5.Pair;Se.Scalar=L5.Scalar;Se.YAMLMap=R5.YAMLMap;Se.YAMLSeq=N5.YAMLSeq;Se.CST=B5;Se.Lexer=M5.Lexer;Se.LineCounter=P5.LineCounter;Se.Parser=O5.Parser;Se.parse=Cc.parse;Se.parseAllDocuments=Cc.parseAllDocuments;Se.parseDocument=Cc.parseDocument;Se.stringify=Cc.stringify;Se.visit=gD.visit;Se.visitAsync=gD.visitAsync});var Ac=W((Bae,go)=>{"use strict";go.exports.flatTokensSymbol=Symbol("flat-tokens");go.exports.htmlFlowSymbol=Symbol("html-flow");go.exports.newLineRe=/\r\n?|\n/g;go.exports.nextLinesRe=/[\r\n][\s\S]*$/});var de=W((Mae,RD)=>{"use strict";var{flatTokensSymbol:q5,htmlFlowSymbol:j5}=Ac();function _D(e){return!!e[j5]}function W5(e){let{text:t,type:n}=e;if(n==="htmlFlow"&&t.startsWith("")){let r=t.slice(4,-3);return!r.startsWith(">")&&!r.startsWith("->")&&!r.endsWith("-")}return!1}function $5(e,t,n){for(let r=t;r<=n;r++)e.add(r)}function LD(e,t,n){let r=[],i=[{array:e,index:0}];for(;i.length>0;){let s=i[i.length-1],{array:o,index:a}=s;if(a0){let l=n?n(u):c;i.push({array:l,index:0})}}else i.pop()}return r}function lm(e,t,n){let r=s=>t.includes(s.type)&&(n||!_D(s)),i=e[q5];return i?i.filter(r):LD(e,r)}function H5(e,t,n=1){return lm(e,["blockQuotePrefix","linePrefix"]).filter(r=>r.startLine===t).map(r=>r.text).join("").trimEnd().concat(` +`).repeat(n)}function fm(e,t){let n=Array.isArray(e)?e:[e];for(let r of t){let i=s=>Array.isArray(r)?r.includes(s.type):r===s.type;n=n.flatMap(s=>s.children.filter(i))}return n}function G5(e){let t=1,n=e.children.find(i=>["atxHeadingSequence","setextHeadingLine"].includes(i.type)),{text:r}=n;return r[0]==="#"?t=Math.min(r.length,6):r[0]==="-"&&(t=2),t}function V5(e){return e.type==="setextHeading"?"setext":e.children.filter(n=>n.type==="atxHeadingSequence").length===1?"atx":"atx_closed"}function K5(e){return fm(e,[["atxHeadingText","setextHeadingText"]]).flatMap(n=>n.children.filter(r=>r.type!=="htmlText")).map(n=>n.text).join("").replace(/[\r\n]+/g," ")||""}function X5(e){let t=/^<([^!>][^/\s>]*)/;if(e.type==="htmlText"){let n=t.exec(e.text);if(n){let r=n[1],i=r.startsWith("/");return{close:i,name:i?r.slice(1):r}}}return null}function J5(e,t){let n=e;for(;(n=n.parent)&&!t.includes(n.type););return n}var Y5=/^#tab\//;function Z5(e){if(e?.type==="atxHeading"){let t=fm(e,["atxHeadingText"]);if(t.length===1&&t[0].children.length===1&&t[0].children[0].type==="link"){let n=lm(t[0].children[0].children,["resourceDestinationString"]);return n.length===1&&Y5.test(n[0].text)}}return!1}var Q5=new Set(["blockQuoteMarker","blockQuotePrefix","blockQuotePrefixWhitespace","lineEnding","lineEndingBlank","linePrefix","listItemIndent","undefinedReference","undefinedReferenceCollapsed","undefinedReferenceFull","undefinedReferenceShortcut"]);RD.exports={addRangeToSet:$5,filterByPredicate:LD,filterByTypes:lm,getBlockQuotePrefixText:H5,getDescendantsByType:fm,getHeadingLevel:G5,getHeadingStyle:V5,getHeadingText:K5,getHtmlTagInfo:X5,getParentOfType:J5,inHtmlFlow:_D,isDocfxTab:Z5,isHtmlFlowComment:W5,nonContentTokens:Q5}});var ne=W((Pae,Ae)=>{"use strict";var _i=de(),{newLineRe:dm,nextLinesRe:eO}=Ac();Ae.exports.newLineRe=dm;Ae.exports.nextLinesRe=eO;Ae.exports.frontMatterRe=/((^---[^\S\r\n\u2028\u2029]*$[\s\S]+?^---\s*)|(^\+\+\+[^\S\r\n\u2028\u2029]*$[\s\S]+?^(\+\+\+|\.\.\.)\s*)|(^\{[^\S\r\n\u2028\u2029]*$[\s\S]+?^\}\s*))(\r\n|\r|\n|$)/m;var tO=/()/gi;Ae.exports.inlineCommentStartRe=tO;Ae.exports.endOfLineHtmlEntityRe=/&(?:#\d+|#[xX][\da-fA-F]+|[a-zA-Z]{2,31}|blk\d{2}|emsp1[34]|frac\d{2}|sup\d|there4);$/;Ae.exports.endOfLineGemojiCodeRe=/:(?:[abmovx]|[-+]1|100|1234|(?:1st|2nd|3rd)_place_medal|8ball|clock\d{1,4}|e-mail|non-potable_water|o2|t-rex|u5272|u5408|u55b6|u6307|u6708|u6709|u6e80|u7121|u7533|u7981|u7a7a|[a-z]{2,15}2?|[a-z]{1,14}(?:_[a-z\d]{1,16})+):$/;var MD=".,;:!?\u3002\uFF0C\uFF1B\uFF1A\uFF01\uFF1F";Ae.exports.allPunctuation=MD;Ae.exports.allPunctuationNoQuestion=MD.replace(/[??]/gu,"");function nO(e){return typeof e=="number"}Ae.exports.isNumber=nO;function rO(e){return typeof e=="string"}Ae.exports.isString=rO;function iO(e){return e.length===0}Ae.exports.isEmptyString=iO;function sO(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}Ae.exports.isObject=sO;function PD(e){return!!e&&Object.getPrototypeOf(e)===URL.prototype}Ae.exports.isUrl=PD;function oO(e){return Array.isArray(e)?[...e]:e}Ae.exports.cloneIfArray=oO;function aO(e){return PD(e)?new URL(e):e}Ae.exports.cloneIfUrl=aO;Ae.exports.getHtmlAttributeRe=function(t){return new RegExp(`\\s${t}\\s*=\\s*['"]?([^'"\\s>]*)`,"iu")};function uO(e){let t="",r=i=>{for(;;){let s=i.indexOf(t),o=i.indexOf(n);if(o!==-1&&(s===-1||o/g,"").trim()}Ae.exports.isBlankLine=uO;var kc="",OD=".",cO=/^ *\|/,lO=/[^\r\n]/g,fO=/[^ \r\n]/g,dO=/ +[\r\n]/g,hO=e=>e.replace(lO,OD);Ae.exports.clearHtmlCommentText=function(t){let n=0;for(;(n=t.indexOf(kc,n))!==-1;){let r=t.indexOf(ND,n+2);if(r===-1)break;if(r>n+kc.length){let i=t.slice(n+kc.length,r),s=t.lastIndexOf(` +`,n)+1,o=t.slice(s,n),a=o.trim().length===0,c=cO.test(o)&&i.includes(` +`);if(a||!(c||i.startsWith(">")||i.startsWith("->")||i.endsWith("-")||i.includes("--"))){let d=i.replace(fO,OD).replace(dO,hO);t=t.slice(0,n+kc.length)+d+t.slice(r)}}n=r+ND.length}return t};Ae.exports.escapeForRegExp=function(t){return t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")};function UD(e,t,n){return e.length<=30||(t&&n?e=e.slice(0,15)+"..."+e.slice(-15):n?e="..."+e.slice(-30):e=e.slice(0,30)+"..."),e}Ae.exports.ellipsify=UD;function hm(e,t,n,r,i,s){e({lineNumber:t,detail:n,context:r,range:i,fixInfo:s})}Ae.exports.addError=hm;function pO(e,t,n,r,i,s,o,a){n!==r&&hm(e,t,"Expected: "+n+"; Actual: "+r+(i?"; "+i:""),s,o,a)}Ae.exports.addErrorDetailIf=pO;function mO(e,t,n,r,i,s,o){n=UD(n.replace(dm,` +`),r,i),hm(e,t,void 0,n,s,o)}Ae.exports.addErrorContext=mO;var BD=(e,t,n,r)=>ei.test(s))};function gO(e){let t=l=>l.toLowerCase().trim().replace(/\s+/g," "),n=l=>l?.children.filter(d=>d.type!=="blockQuotePrefix").map(d=>d.text).join(""),r=new Map,i=new Map,s=(l,d,h)=>{let f=[l.startLine-1,l.startColumn-1,l.text.length],p=t(d),m=h?i:r,g=m.get(p)||[];g.push(f),m.set(p,g)},o=new Map,a=[],u=[],c=_i.filterByTypes(e,["definition","gfmFootnoteDefinition","definitionLabelString","gfmFootnoteDefinitionLabelString","gfmFootnoteCall","image","link","undefinedReferenceCollapsed","undefinedReferenceFull","undefinedReferenceShortcut"]);for(let l of c){let d="";switch(l.type){case"definition":case"gfmFootnoteDefinition":for(let h=l.startLine;h<=l.endLine;h++)a.push(h-1);break;case"gfmFootnoteDefinitionLabelString":d="^";case"definitionLabelString":{let h=t(`${d}${l.text}`);if(o.has(h))u.push([h,l.startLine-1]);else{let f=_i.getParentOfType(l,["definition"]),p=f&&_i.getDescendantsByType(f,["definitionDestination","definitionDestinationRaw","definitionDestinationString"])[0]?.text;o.set(h,[l.startLine-1,p])}}break;case"gfmFootnoteCall":case"image":case"link":{let h=l.children.length===1,f=l.children.length===2&&!l.children.some(x=>x.type==="resource"),[p]=_i.getDescendantsByType(l,["label","labelText"]),[m]=_i.getDescendantsByType(l,["reference","referenceString"]),g=n(p);if(!h&&!f){let[x,b]=l.children.filter(y=>["gfmFootnoteCallMarker","gfmFootnoteCallString"].includes(y.type));x&&b&&(g=`${x.text}${b.text}`,h=!0)}(h||f)&&s(l,n(m)||g,h)}break;case"undefinedReferenceCollapsed":case"undefinedReferenceFull":case"undefinedReferenceShortcut":{let f=_i.getDescendantsByType(l,["undefinedReference"])[0].children.map(m=>m.text).join(""),p=l.type==="undefinedReferenceShortcut";s(l,f,p)}break}}return{references:r,shortcuts:i,definitions:o,duplicateDefinitions:u,definitionLineIndices:a}}Ae.exports.getReferenceLinkImageData=gO;function xO(e,t){let n=0,r=0,i=0,s=e.match(dm)||[];for(let a of s)switch(a){case"\r":n++;break;case` +`:r++;break;case`\r +`:i++;break}let o=null;return!n&&!r&&!i?o=t&&t.EOL||` +`:r>=i&&r>=n?o=` +`:i>=n?o=`\r +`:o="\r",o}Ae.exports.getPreferredLineEnding=xO;function bO(e,t){let n=t&&t.homedir&&t.homedir();return n?e.replace(/^~($|\/|\\)/,`${n}$1`):e}Ae.exports.expandTildePath=bO});var mm=W((zae,XD)=>{"use strict";var{newLineRe:GD}=ne();function VD(e,t){let n=/`+/g,r=null,i=[];for(;(r=n.exec(e))!==null;)i.push([r[0].length,r.index]);let s=[];for(;(r=GD.exec(e))!==null;)s.push(r.index);let o=0,a=0,u=0;for(let c=0;ca.type==="code_inline")&&VD(i.content,a=>{s.push(a.split(GD).length-1)});let o=i.lineNumber;for(let a of i.children)a.lineNumber=o,a.line=t[o-1],a.type==="softbreak"||a.type==="hardbreak"?o++:a.type==="code_inline"&&(o+=s.shift())}KD(i)}Object.freeze(e)}function CO(e,t,n){let r=e.parse(t,{});return yO(r,n),r}XD.exports={forEachInlineCodeSpan:VD,getMarkdownItTokens:CO}});var YD=W((qae,JD)=>{"use strict";function EO(){return mm()}JD.exports={requireMarkdownItCjs:EO}});var eS=W((jae,QD)=>{"use strict";var DO=typeof __non_webpack_require__>"u"?require:__non_webpack_require__,ZD=(e,t,n=[])=>{let r=e.paths?.("")||[],i=[...n,...r];return e(t,{paths:i})},SO=(e,t)=>ZD(DO.resolve,e,t);QD.exports={resolveModule:SO,resolveModuleCustomResolve:ZD}});var zv=W(j0=>{"use strict";Object.defineProperty(j0,"__esModule",{value:!0});j0.requireResolve=eH;function eH(e,t){try{return require.resolve(e,t?{paths:t}:void 0)}catch{return}}});var Hv=W((Nxe,$v)=>{var{hasOwnProperty:W0}=Object.prototype,$0=(e,t={})=>{typeof t=="string"&&(t={section:t}),t.align=t.align===!0,t.newline=t.newline===!0,t.sort=t.sort===!0,t.whitespace=t.whitespace===!0||t.align===!0,t.platform=t.platform||typeof process<"u"&&process.platform,t.bracketedArray=t.bracketedArray!==!1;let n=t.platform==="win32"?`\r +`:` +`,r=t.whitespace?" = ":"=",i=[],s=t.sort?Object.keys(e).sort():Object.keys(e),o=0;t.align&&(o=Sn(s.filter(c=>e[c]===null||Array.isArray(e[c])||typeof e[c]!="object").map(c=>Array.isArray(e[c])?`${c}[]`:c).concat([""]).reduce((c,l)=>Sn(c).length>=Sn(l).length?c:l)).length);let a="",u=t.bracketedArray?"[]":"";for(let c of s){let l=e[c];if(l&&Array.isArray(l))for(let d of l)a+=Sn(`${c}${u}`).padEnd(o," ")+r+Sn(d)+n;else l&&typeof l=="object"?i.push(c):a+=Sn(c).padEnd(o," ")+r+Sn(l)+n}t.section&&a.length&&(a="["+Sn(t.section)+"]"+(t.newline?n+n:n)+a);for(let c of i){let l=jv(c,".").join("\\."),d=(t.section?t.section+".":"")+l,h=$0(e[c],{...t,section:d});a.length&&h.length&&(a+=n),a+=h}return a};function jv(e,t){var n=0,r=0,i=0,s=[];do if(i=e.indexOf(t,n),i!==-1){if(n=i+t.length,i>0&&e[i-1]==="\\")continue;s.push(e.slice(r,i)),r=i+t.length}while(i!==-1);return s.push(e.slice(r)),s}var qv=(e,t={})=>{t.bracketedArray=t.bracketedArray!==!1;let n=Object.create(null),r=n,i=null,s=/^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i,o=e.split(/[\r\n]+/g),a={};for(let c of o){if(!c||c.match(/^\s*[;#]/)||c.match(/^\s*$/))continue;let l=c.match(s);if(!l)continue;if(l[1]!==void 0){if(i=Wl(l[1]),i==="__proto__"){r=Object.create(null);continue}r=n[i]=n[i]||Object.create(null);continue}let d=Wl(l[2]),h;t.bracketedArray?h=d.length>2&&d.slice(-2)==="[]":(a[d]=(a?.[d]||0)+1,h=a[d]>1);let f=h?d.slice(0,-2):d;if(f==="__proto__")continue;let p=l[3]?Wl(l[4]):!0,m=p==="true"||p==="false"||p==="null"?JSON.parse(p):p;h&&(W0.call(r,f)?Array.isArray(r[f])||(r[f]=[r[f]]):r[f]=[]),Array.isArray(r[f])?r[f].push(m):r[f]=m}let u=[];for(let c of Object.keys(n)){if(!W0.call(n,c)||typeof n[c]!="object"||Array.isArray(n[c]))continue;let l=jv(c,".");r=n;let d=l.pop(),h=d.replace(/\\\./g,".");for(let f of l)f!=="__proto__"&&((!W0.call(r,f)||typeof r[f]!="object")&&(r[f]=Object.create(null)),r=r[f]);r===n&&h===d||(r[h]=n[c],u.push(c))}for(let c of u)delete n[c];return n},Wv=e=>e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"),Sn=e=>typeof e!="string"||e.match(/[=\r\n]/)||e.match(/^\[/)||e.length>1&&Wv(e)||e!==e.trim()?JSON.stringify(e):e.split(";").join("\\;").split("#").join("\\#"),Wl=(e,t)=>{if(e=(e||"").trim(),Wv(e)){e.charAt(0)==="'"&&(e=e.slice(1,-1));try{e=JSON.parse(e)}catch{}}else{let n=!1,r="";for(let i=0,s=e.length;i{"use strict";var RF=require("path"),NF=require("module"),gG=require("fs"),BF=(e,t,n)=>{if(typeof e!="string")throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof e}\``);if(typeof t!="string")throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof t}\``);try{e=gG.realpathSync(e)}catch(s){if(s.code==="ENOENT")e=RF.resolve(e);else{if(n)return;throw s}}let r=RF.join(e,"noop.js"),i=()=>NF._resolveFilename(t,{id:r,filename:r,paths:NF._nodeModulePaths(e)});if(n)try{return i()}catch{return}return i()};ag.exports=(e,t)=>BF(e,t);ag.exports.silent=(e,t)=>BF(e,t,!0)});var ya=W((gye,iT)=>{"use strict";var tn="\\\\/",eT=`[^${tn}]`,Tn="\\.",fX="\\+",dX="\\?",Df="\\/",hX="(?=.)",tT="[^/]",Rg=`(?:${Df}|$)`,nT=`(?:^|${Df})`,Ng=`${Tn}{1,2}${Rg}`,pX=`(?!${Tn})`,mX=`(?!${nT}${Ng})`,gX=`(?!${Tn}{0,1}${Rg})`,xX=`(?!${Ng})`,bX=`[^.${Df}]`,yX=`${tT}*?`,CX="/",rT={DOT_LITERAL:Tn,PLUS_LITERAL:fX,QMARK_LITERAL:dX,SLASH_LITERAL:Df,ONE_CHAR:hX,QMARK:tT,END_ANCHOR:Rg,DOTS_SLASH:Ng,NO_DOT:pX,NO_DOTS:mX,NO_DOT_SLASH:gX,NO_DOTS_SLASH:xX,QMARK_NO_DOT:bX,STAR:yX,START_ANCHOR:nT,SEP:CX},EX={...rT,SLASH_LITERAL:`[${tn}]`,QMARK:eT,STAR:`${eT}*?`,DOTS_SLASH:`${Tn}{1,2}(?:[${tn}]|$)`,NO_DOT:`(?!${Tn})`,NO_DOTS:`(?!(?:^|[${tn}])${Tn}{1,2}(?:[${tn}]|$))`,NO_DOT_SLASH:`(?!${Tn}{0,1}(?:[${tn}]|$))`,NO_DOTS_SLASH:`(?!${Tn}{1,2}(?:[${tn}]|$))`,QMARK_NO_DOT:`[^.${tn}]`,START_ANCHOR:`(?:^|[${tn}])`,END_ANCHOR:`(?:[${tn}]|$)`,SEP:"\\"},DX={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};iT.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:DX,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===!0?EX:rT}}});var Ca=W(ft=>{"use strict";var{REGEX_BACKSLASH:SX,REGEX_REMOVE_BACKSLASH:wX,REGEX_SPECIAL_CHARS:AX,REGEX_SPECIAL_CHARS_GLOBAL:kX}=ya();ft.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);ft.hasRegexChars=e=>AX.test(e);ft.isRegexChar=e=>e.length===1&&ft.hasRegexChars(e);ft.escapeRegex=e=>e.replace(kX,"\\$1");ft.toPosixSlashes=e=>e.replace(SX,"/");ft.isWindows=()=>{if(typeof navigator<"u"&&navigator.platform){let e=navigator.platform.toLowerCase();return e==="win32"||e==="windows"}return typeof process<"u"&&process.platform?process.platform==="win32":!1};ft.removeBackslashes=e=>e.replace(wX,t=>t==="\\"?"":t);ft.escapeLast=(e,t,n)=>{let r=e.lastIndexOf(t,n);return r===-1?e:e[r-1]==="\\"?ft.escapeLast(e,t,r-1):`${e.slice(0,r)}\\${e.slice(r)}`};ft.removePrefix=(e,t={})=>{let n=e;return n.startsWith("./")&&(n=n.slice(2),t.prefix="./"),n};ft.wrapOutput=(e,t={},n={})=>{let r=n.contains?"":"^",i=n.contains?"":"$",s=`${r}(?:${e})${i}`;return t.negated===!0&&(s=`(?:^(?!${s}).*$)`),s};ft.basename=(e,{windows:t}={})=>{let n=e.split(t?/[\\/]/:"/"),r=n[n.length-1];return r===""?n[n.length-2]:r}});var dT=W((bye,fT)=>{"use strict";var sT=Ca(),{CHAR_ASTERISK:Bg,CHAR_AT:vX,CHAR_BACKWARD_SLASH:Ea,CHAR_COMMA:FX,CHAR_DOT:Mg,CHAR_EXCLAMATION_MARK:Pg,CHAR_FORWARD_SLASH:lT,CHAR_LEFT_CURLY_BRACE:Og,CHAR_LEFT_PARENTHESES:Ug,CHAR_LEFT_SQUARE_BRACKET:TX,CHAR_PLUS:IX,CHAR_QUESTION_MARK:oT,CHAR_RIGHT_CURLY_BRACE:_X,CHAR_RIGHT_PARENTHESES:aT,CHAR_RIGHT_SQUARE_BRACKET:LX}=ya(),uT=e=>e===lT||e===Ea,cT=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)},RX=(e,t)=>{let n=t||{},r=e.length-1,i=n.parts===!0||n.scanToEnd===!0,s=[],o=[],a=[],u=e,c=-1,l=0,d=0,h=!1,f=!1,p=!1,m=!1,g=!1,x=!1,b=!1,y=!1,D=!1,w=!1,C=0,T,v,k={value:"",depth:0,isGlob:!1},A=()=>c>=r,L=()=>u.charCodeAt(c+1),_=()=>(T=v,u.charCodeAt(++c));for(;c0&&(F=u.slice(0,l),u=u.slice(l),d-=l),R&&p===!0&&d>0?(R=u.slice(0,d),E=u.slice(d)):p===!0?(R="",E=u):R=u,R&&R!==""&&R!=="/"&&R!==u&&uT(R.charCodeAt(R.length-1))&&(R=R.slice(0,-1)),n.unescape===!0&&(E&&(E=sT.removeBackslashes(E)),R&&b===!0&&(R=sT.removeBackslashes(R)));let N={prefix:F,input:e,start:l,base:R,glob:E,isBrace:h,isBracket:f,isGlob:p,isExtglob:m,isGlobstar:g,negated:y,negatedExtglob:D};if(n.tokens===!0&&(N.maxDepth=0,uT(v)||o.push(k),N.tokens=o),n.parts===!0||n.tokens===!0){let M;for(let U=0;U{"use strict";var Sf=ya(),nn=Ca(),{MAX_LENGTH:wf,POSIX_REGEX_SOURCE:NX,REGEX_NON_SPECIAL_CHARS:BX,REGEX_SPECIAL_CHARS_BACKREF:MX,REPLACEMENTS:hT}=Sf,PX=(e,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...e,t);e.sort();let n=`[${e.join("-")}]`;try{new RegExp(n)}catch{return e.map(i=>nn.escapeRegex(i)).join("..")}return n},fs=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,zg=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=hT[e]||e;let n={...t},r=typeof n.maxLength=="number"?Math.min(wf,n.maxLength):wf,i=e.length;if(i>r)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);let s={type:"bos",value:"",output:n.prepend||""},o=[s],a=n.capture?"":"?:",u=Sf.globChars(n.windows),c=Sf.extglobChars(u),{DOT_LITERAL:l,PLUS_LITERAL:d,SLASH_LITERAL:h,ONE_CHAR:f,DOTS_SLASH:p,NO_DOT:m,NO_DOT_SLASH:g,NO_DOTS_SLASH:x,QMARK:b,QMARK_NO_DOT:y,STAR:D,START_ANCHOR:w}=u,C=V=>`(${a}(?:(?!${w}${V.dot?p:l}).)*?)`,T=n.dot?"":m,v=n.dot?b:y,k=n.bash===!0?C(n):D;n.capture&&(k=`(${k})`),typeof n.noext=="boolean"&&(n.noextglob=n.noext);let A={input:e,index:-1,start:0,dot:n.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};e=nn.removePrefix(e,A),i=e.length;let L=[],_=[],R=[],F=s,E,N=()=>A.index===i-1,M=A.peek=(V=1)=>e[A.index+V],U=A.advance=()=>e[++A.index]||"",z=()=>e.slice(A.index+1),S=(V="",he=0)=>{A.consumed+=V,A.index+=he},q=V=>{A.output+=V.output!=null?V.output:V.value,S(V.value)},j=()=>{let V=1;for(;M()==="!"&&(M(2)!=="("||M(3)==="?");)U(),A.start++,V++;return V%2===0?!1:(A.negated=!0,A.start++,!0)},I=V=>{A[V]++,R.push(V)},Q=V=>{A[V]--,R.pop()},Y=V=>{if(F.type==="globstar"){let he=A.braces>0&&(V.type==="comma"||V.type==="brace"),$=V.extglob===!0||L.length&&(V.type==="pipe"||V.type==="paren");V.type!=="slash"&&V.type!=="paren"&&!he&&!$&&(A.output=A.output.slice(0,-F.output.length),F.type="star",F.value="*",F.output=k,A.output+=F.output)}if(L.length&&V.type!=="paren"&&(L[L.length-1].inner+=V.value),(V.value||V.output)&&q(V),F&&F.type==="text"&&V.type==="text"){F.output=(F.output||F.value)+V.value,F.value+=V.value;return}V.prev=F,o.push(V),F=V},De=(V,he)=>{let $={...c[he],conditions:1,inner:""};$.prev=F,$.parens=A.parens,$.output=A.output;let K=(n.capture?"(":"")+$.open;I("parens"),Y({type:V,value:he,output:A.output?"":f}),Y({type:"paren",extglob:!0,value:U(),output:K}),L.push($)},ke=V=>{let he=V.close+(n.capture?")":""),$;if(V.type==="negate"){let K=k;if(V.inner&&V.inner.length>1&&V.inner.includes("/")&&(K=C(n)),(K!==k||N()||/^\)+$/.test(z()))&&(he=V.close=`)$))${K}`),V.inner.includes("*")&&($=z())&&/^\.[^\\/.]+$/.test($)){let le=zg($,{...t,fastpaths:!1}).output;he=V.close=`)${le})${K})`}V.prev.type==="bos"&&(A.negatedExtglob=!0)}Y({type:"paren",extglob:!0,value:E,output:he}),Q("parens")};if(n.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let V=!1,he=e.replace(MX,($,K,le,oe,J,ye)=>oe==="\\"?(V=!0,$):oe==="?"?K?K+oe+(J?b.repeat(J.length):""):ye===0?v+(J?b.repeat(J.length):""):b.repeat(le.length):oe==="."?l.repeat(le.length):oe==="*"?K?K+oe+(J?k:""):k:K?$:`\\${$}`);return V===!0&&(n.unescape===!0?he=he.replace(/\\/g,""):he=he.replace(/\\+/g,$=>$.length%2===0?"\\\\":$?"\\":"")),he===e&&n.contains===!0?(A.output=e,A):(A.output=nn.wrapOutput(he,A,t),A)}for(;!N();){if(E=U(),E==="\0")continue;if(E==="\\"){let $=M();if($==="/"&&n.bash!==!0||$==="."||$===";")continue;if(!$){E+="\\",Y({type:"text",value:E});continue}let K=/^\\+/.exec(z()),le=0;if(K&&K[0].length>2&&(le=K[0].length,A.index+=le,le%2!==0&&(E+="\\")),n.unescape===!0?E=U():E+=U(),A.brackets===0){Y({type:"text",value:E});continue}}if(A.brackets>0&&(E!=="]"||F.value==="["||F.value==="[^")){if(n.posix!==!1&&E===":"){let $=F.value.slice(1);if($.includes("[")&&(F.posix=!0,$.includes(":"))){let K=F.value.lastIndexOf("["),le=F.value.slice(0,K),oe=F.value.slice(K+2),J=NX[oe];if(J){F.value=le+J,A.backtrack=!0,U(),!s.output&&o.indexOf(F)===1&&(s.output=f);continue}}}(E==="["&&M()!==":"||E==="-"&&M()==="]")&&(E=`\\${E}`),E==="]"&&(F.value==="["||F.value==="[^")&&(E=`\\${E}`),n.posix===!0&&E==="!"&&F.value==="["&&(E="^"),F.value+=E,q({value:E});continue}if(A.quotes===1&&E!=='"'){E=nn.escapeRegex(E),F.value+=E,q({value:E});continue}if(E==='"'){A.quotes=A.quotes===1?0:1,n.keepQuotes===!0&&Y({type:"text",value:E});continue}if(E==="("){I("parens"),Y({type:"paren",value:E});continue}if(E===")"){if(A.parens===0&&n.strictBrackets===!0)throw new SyntaxError(fs("opening","("));let $=L[L.length-1];if($&&A.parens===$.parens+1){ke(L.pop());continue}Y({type:"paren",value:E,output:A.parens?")":"\\)"}),Q("parens");continue}if(E==="["){if(n.nobracket===!0||!z().includes("]")){if(n.nobracket!==!0&&n.strictBrackets===!0)throw new SyntaxError(fs("closing","]"));E=`\\${E}`}else I("brackets");Y({type:"bracket",value:E});continue}if(E==="]"){if(n.nobracket===!0||F&&F.type==="bracket"&&F.value.length===1){Y({type:"text",value:E,output:`\\${E}`});continue}if(A.brackets===0){if(n.strictBrackets===!0)throw new SyntaxError(fs("opening","["));Y({type:"text",value:E,output:`\\${E}`});continue}Q("brackets");let $=F.value.slice(1);if(F.posix!==!0&&$[0]==="^"&&!$.includes("/")&&(E=`/${E}`),F.value+=E,q({value:E}),n.literalBrackets===!1||nn.hasRegexChars($))continue;let K=nn.escapeRegex(F.value);if(A.output=A.output.slice(0,-F.value.length),n.literalBrackets===!0){A.output+=K,F.value=K;continue}F.value=`(${a}${K}|${F.value})`,A.output+=F.value;continue}if(E==="{"&&n.nobrace!==!0){I("braces");let $={type:"brace",value:E,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};_.push($),Y($);continue}if(E==="}"){let $=_[_.length-1];if(n.nobrace===!0||!$){Y({type:"text",value:E,output:E});continue}let K=")";if($.dots===!0){let le=o.slice(),oe=[];for(let J=le.length-1;J>=0&&(o.pop(),le[J].type!=="brace");J--)le[J].type!=="dots"&&oe.unshift(le[J].value);K=PX(oe,n),A.backtrack=!0}if($.comma!==!0&&$.dots!==!0){let le=A.output.slice(0,$.outputIndex),oe=A.tokens.slice($.tokensIndex);$.value=$.output="\\{",E=K="\\}",A.output=le;for(let J of oe)A.output+=J.output||J.value}Y({type:"brace",value:E,output:K}),Q("braces"),_.pop();continue}if(E==="|"){L.length>0&&L[L.length-1].conditions++,Y({type:"text",value:E});continue}if(E===","){let $=E,K=_[_.length-1];K&&R[R.length-1]==="braces"&&(K.comma=!0,$="|"),Y({type:"comma",value:E,output:$});continue}if(E==="/"){if(F.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),F=s;continue}Y({type:"slash",value:E,output:h});continue}if(E==="."){if(A.braces>0&&F.type==="dot"){F.value==="."&&(F.output=l);let $=_[_.length-1];F.type="dots",F.output+=E,F.value+=E,$.dots=!0;continue}if(A.braces+A.parens===0&&F.type!=="bos"&&F.type!=="slash"){Y({type:"text",value:E,output:l});continue}Y({type:"dot",value:E,output:l});continue}if(E==="?"){if(!(F&&F.value==="(")&&n.noextglob!==!0&&M()==="("&&M(2)!=="?"){De("qmark",E);continue}if(F&&F.type==="paren"){let K=M(),le=E;(F.value==="("&&!/[!=<:]/.test(K)||K==="<"&&!/<([!=]|\w+>)/.test(z()))&&(le=`\\${E}`),Y({type:"text",value:E,output:le});continue}if(n.dot!==!0&&(F.type==="slash"||F.type==="bos")){Y({type:"qmark",value:E,output:y});continue}Y({type:"qmark",value:E,output:b});continue}if(E==="!"){if(n.noextglob!==!0&&M()==="("&&(M(2)!=="?"||!/[!=<:]/.test(M(3)))){De("negate",E);continue}if(n.nonegate!==!0&&A.index===0){j();continue}}if(E==="+"){if(n.noextglob!==!0&&M()==="("&&M(2)!=="?"){De("plus",E);continue}if(F&&F.value==="("||n.regex===!1){Y({type:"plus",value:E,output:d});continue}if(F&&(F.type==="bracket"||F.type==="paren"||F.type==="brace")||A.parens>0){Y({type:"plus",value:E});continue}Y({type:"plus",value:d});continue}if(E==="@"){if(n.noextglob!==!0&&M()==="("&&M(2)!=="?"){Y({type:"at",extglob:!0,value:E,output:""});continue}Y({type:"text",value:E});continue}if(E!=="*"){(E==="$"||E==="^")&&(E=`\\${E}`);let $=BX.exec(z());$&&(E+=$[0],A.index+=$[0].length),Y({type:"text",value:E});continue}if(F&&(F.type==="globstar"||F.star===!0)){F.type="star",F.star=!0,F.value+=E,F.output=k,A.backtrack=!0,A.globstar=!0,S(E);continue}let V=z();if(n.noextglob!==!0&&/^\([^?]/.test(V)){De("star",E);continue}if(F.type==="star"){if(n.noglobstar===!0){S(E);continue}let $=F.prev,K=$.prev,le=$.type==="slash"||$.type==="bos",oe=K&&(K.type==="star"||K.type==="globstar");if(n.bash===!0&&(!le||V[0]&&V[0]!=="/")){Y({type:"star",value:E,output:""});continue}let J=A.braces>0&&($.type==="comma"||$.type==="brace"),ye=L.length&&($.type==="pipe"||$.type==="paren");if(!le&&$.type!=="paren"&&!J&&!ye){Y({type:"star",value:E,output:""});continue}for(;V.slice(0,3)==="/**";){let ge=e[A.index+4];if(ge&&ge!=="/")break;V=V.slice(3),S("/**",3)}if($.type==="bos"&&N()){F.type="globstar",F.value+=E,F.output=C(n),A.output=F.output,A.globstar=!0,S(E);continue}if($.type==="slash"&&$.prev.type!=="bos"&&!oe&&N()){A.output=A.output.slice(0,-($.output+F.output).length),$.output=`(?:${$.output}`,F.type="globstar",F.output=C(n)+(n.strictSlashes?")":"|$)"),F.value+=E,A.globstar=!0,A.output+=$.output+F.output,S(E);continue}if($.type==="slash"&&$.prev.type!=="bos"&&V[0]==="/"){let ge=V[1]!==void 0?"|$":"";A.output=A.output.slice(0,-($.output+F.output).length),$.output=`(?:${$.output}`,F.type="globstar",F.output=`${C(n)}${h}|${h}${ge})`,F.value+=E,A.output+=$.output+F.output,A.globstar=!0,S(E+U()),Y({type:"slash",value:"/",output:""});continue}if($.type==="bos"&&V[0]==="/"){F.type="globstar",F.value+=E,F.output=`(?:^|${h}|${C(n)}${h})`,A.output=F.output,A.globstar=!0,S(E+U()),Y({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-F.output.length),F.type="globstar",F.output=C(n),F.value+=E,A.output+=F.output,A.globstar=!0,S(E);continue}let he={type:"star",value:E,output:k};if(n.bash===!0){he.output=".*?",(F.type==="bos"||F.type==="slash")&&(he.output=T+he.output),Y(he);continue}if(F&&(F.type==="bracket"||F.type==="paren")&&n.regex===!0){he.output=E,Y(he);continue}(A.index===A.start||F.type==="slash"||F.type==="dot")&&(F.type==="dot"?(A.output+=g,F.output+=g):n.dot===!0?(A.output+=x,F.output+=x):(A.output+=T,F.output+=T),M()!=="*"&&(A.output+=f,F.output+=f)),Y(he)}for(;A.brackets>0;){if(n.strictBrackets===!0)throw new SyntaxError(fs("closing","]"));A.output=nn.escapeLast(A.output,"["),Q("brackets")}for(;A.parens>0;){if(n.strictBrackets===!0)throw new SyntaxError(fs("closing",")"));A.output=nn.escapeLast(A.output,"("),Q("parens")}for(;A.braces>0;){if(n.strictBrackets===!0)throw new SyntaxError(fs("closing","}"));A.output=nn.escapeLast(A.output,"{"),Q("braces")}if(n.strictSlashes!==!0&&(F.type==="star"||F.type==="bracket")&&Y({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let V of A.tokens)A.output+=V.output!=null?V.output:V.value,V.suffix&&(A.output+=V.suffix)}return A};zg.fastpaths=(e,t)=>{let n={...t},r=typeof n.maxLength=="number"?Math.min(wf,n.maxLength):wf,i=e.length;if(i>r)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);e=hT[e]||e;let{DOT_LITERAL:s,SLASH_LITERAL:o,ONE_CHAR:a,DOTS_SLASH:u,NO_DOT:c,NO_DOTS:l,NO_DOTS_SLASH:d,STAR:h,START_ANCHOR:f}=Sf.globChars(n.windows),p=n.dot?l:c,m=n.dot?d:c,g=n.capture?"":"?:",x={negated:!1,prefix:""},b=n.bash===!0?".*?":h;n.capture&&(b=`(${b})`);let y=T=>T.noglobstar===!0?b:`(${g}(?:(?!${f}${T.dot?u:s}).)*?)`,D=T=>{switch(T){case"*":return`${p}${a}${b}`;case".*":return`${s}${a}${b}`;case"*.*":return`${p}${b}${s}${a}${b}`;case"*/*":return`${p}${b}${o}${a}${m}${b}`;case"**":return p+y(n);case"**/*":return`(?:${p}${y(n)}${o})?${m}${a}${b}`;case"**/*.*":return`(?:${p}${y(n)}${o})?${m}${b}${s}${a}${b}`;case"**/.*":return`(?:${p}${y(n)}${o})?${s}${a}${b}`;default:{let v=/^(.*?)\.(\w+)$/.exec(T);if(!v)return;let k=D(v[1]);return k?k+s+v[2]:void 0}}},w=nn.removePrefix(e,x),C=D(w);return C&&n.strictSlashes!==!0&&(C+=`${o}?`),C};pT.exports=zg});var bT=W((Cye,xT)=>{"use strict";var OX=dT(),qg=mT(),gT=Ca(),UX=ya(),zX=e=>e&&typeof e=="object"&&!Array.isArray(e),Re=(e,t,n=!1)=>{if(Array.isArray(e)){let l=e.map(h=>Re(h,t,n));return h=>{for(let f of l){let p=f(h);if(p)return p}return!1}}let r=zX(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!r)throw new TypeError("Expected pattern to be a non-empty string");let i=t||{},s=i.windows,o=r?Re.compileRe(e,t):Re.makeRe(e,t,!1,!0),a=o.state;delete o.state;let u=()=>!1;if(i.ignore){let l={...t,ignore:null,onMatch:null,onResult:null};u=Re(i.ignore,l,n)}let c=(l,d=!1)=>{let{isMatch:h,match:f,output:p}=Re.test(l,o,t,{glob:e,posix:s}),m={glob:e,state:a,regex:o,posix:s,input:l,output:p,match:f,isMatch:h};return typeof i.onResult=="function"&&i.onResult(m),h===!1?(m.isMatch=!1,d?m:!1):u(l)?(typeof i.onIgnore=="function"&&i.onIgnore(m),m.isMatch=!1,d?m:!1):(typeof i.onMatch=="function"&&i.onMatch(m),d?m:!0)};return n&&(c.state=a),c};Re.test=(e,t,n,{glob:r,posix:i}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return{isMatch:!1,output:""};let s=n||{},o=s.format||(i?gT.toPosixSlashes:null),a=e===r,u=a&&o?o(e):e;return a===!1&&(u=o?o(e):e,a=u===r),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Re.matchBase(e,t,n,i):a=t.exec(u)),{isMatch:!!a,match:a,output:u}};Re.matchBase=(e,t,n)=>(t instanceof RegExp?t:Re.makeRe(t,n)).test(gT.basename(e));Re.isMatch=(e,t,n)=>Re(t,n)(e);Re.parse=(e,t)=>Array.isArray(e)?e.map(n=>Re.parse(n,t)):qg(e,{...t,fastpaths:!1});Re.scan=(e,t)=>OX(e,t);Re.compileRe=(e,t,n=!1,r=!1)=>{if(n===!0)return e.output;let i=t||{},s=i.contains?"":"^",o=i.contains?"":"$",a=`${s}(?:${e.output})${o}`;e&&e.negated===!0&&(a=`^(?!${a}).*$`);let u=Re.toRegex(a,t);return r===!0&&(u.state=e),u};Re.makeRe=(e,t={},n=!1,r=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let i={negated:!1,fastpaths:!0};return t.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(i.output=qg.fastpaths(e,t)),i.output||(i=qg(e,t)),Re.compileRe(i,t,n,r)};Re.toRegex=(e,t)=>{try{let n=t||{};return new RegExp(e,n.flags||(n.nocase?"i":""))}catch(n){if(t&&t.debug===!0)throw n;return/$^/}};Re.constants=UX;xT.exports=Re});var DT=W((Eye,ET)=>{"use strict";var yT=bT(),qX=Ca();function CT(e,t,n=!1){return t&&(t.windows===null||t.windows===void 0)&&(t={...t,windows:qX.isWindows()}),yT(e,t,n)}Object.assign(CT,yT);ET.exports=CT});var JT=W((ka,ex)=>{(function(t,n){typeof ka=="object"&&typeof ex=="object"?ex.exports=n():typeof define=="function"&&define.amd?define([],n):typeof ka=="object"?ka.esprima=n():t.esprima=n()})(ka,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),i=n(3),s=n(8),o=n(15);function a(h,f,p){var m=null,g=function(v,k){p&&p(v,k),m&&m.visit(v,k)},x=typeof p=="function"?g:null,b=!1;if(f){b=typeof f.comment=="boolean"&&f.comment;var y=typeof f.attachComment=="boolean"&&f.attachComment;(b||y)&&(m=new r.CommentHandler,m.attach=y,f.comment=!0,x=g)}var D=!1;f&&typeof f.sourceType=="string"&&(D=f.sourceType==="module");var w;f&&typeof f.jsx=="boolean"&&f.jsx?w=new i.JSXParser(h,f,x):w=new s.Parser(h,f,x);var C=D?w.parseModule():w.parseScript(),T=C;return b&&m&&(T.comments=m.comments),w.config.tokens&&(T.tokens=w.tokens),w.config.tolerant&&(T.errors=w.errorHandler.errors),T}t.parse=a;function u(h,f,p){var m=f||{};return m.sourceType="module",a(h,m,p)}t.parseModule=u;function c(h,f,p){var m=f||{};return m.sourceType="script",a(h,m,p)}t.parseScript=c;function l(h,f,p){var m=new o.Tokenizer(h,f),g;g=[];try{for(;;){var x=m.getNextToken();if(!x)break;p&&(x=p(x)),g.push(x)}}catch(b){m.errorHandler.tolerate(b)}return m.errorHandler.tolerant&&(g.errors=m.errors()),g}t.tokenize=l;var d=n(2);t.Syntax=d.Syntax,t.version="4.0.1"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),i=function(){function s(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return s.prototype.insertInnerComments=function(o,a){if(o.type===r.Syntax.BlockStatement&&o.body.length===0){for(var u=[],c=this.leading.length-1;c>=0;--c){var l=this.leading[c];a.end.offset>=l.start&&(u.unshift(l.comment),this.leading.splice(c,1),this.trailing.splice(c,1))}u.length&&(o.innerComments=u)}},s.prototype.findTrailingComments=function(o){var a=[];if(this.trailing.length>0){for(var u=this.trailing.length-1;u>=0;--u){var c=this.trailing[u];c.start>=o.end.offset&&a.unshift(c.comment)}return this.trailing.length=0,a}var l=this.stack[this.stack.length-1];if(l&&l.node.trailingComments){var d=l.node.trailingComments[0];d&&d.range[0]>=o.end.offset&&(a=l.node.trailingComments,delete l.node.trailingComments)}return a},s.prototype.findLeadingComments=function(o){for(var a=[],u;this.stack.length>0;){var c=this.stack[this.stack.length-1];if(c&&c.start>=o.start.offset)u=c.node,this.stack.pop();else break}if(u){for(var l=u.leadingComments?u.leadingComments.length:0,d=l-1;d>=0;--d){var h=u.leadingComments[d];h.range[1]<=o.start.offset&&(a.unshift(h),u.leadingComments.splice(d,1))}return u.leadingComments&&u.leadingComments.length===0&&delete u.leadingComments,a}for(var d=this.leading.length-1;d>=0;--d){var c=this.leading[d];c.start<=o.start.offset&&(a.unshift(c.comment),this.leading.splice(d,1))}return a},s.prototype.visitNode=function(o,a){if(!(o.type===r.Syntax.Program&&o.body.length>0)){this.insertInnerComments(o,a);var u=this.findTrailingComments(a),c=this.findLeadingComments(a);c.length>0&&(o.leadingComments=c),u.length>0&&(o.trailingComments=u),this.stack.push({node:o,start:a.start.offset})}},s.prototype.visitComment=function(o,a){var u=o.type[0]==="L"?"Line":"Block",c={type:u,value:o.value};if(o.range&&(c.range=o.range),o.loc&&(c.loc=o.loc),this.comments.push(c),this.attach){var l={comment:{type:u,value:o.value,range:[a.start.offset,a.end.offset]},start:a.start.offset};o.loc&&(l.comment.loc=o.loc),o.type=u,this.leading.push(l),this.trailing.push(l)}},s.prototype.visit=function(o,a){o.type==="LineComment"?this.visitComment(o,a):o.type==="BlockComment"?this.visitComment(o,a):this.attach&&this.visitNode(o,a)},s}();t.CommentHandler=i},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,t,n){"use strict";var r=this&&this.__extends||function(){var f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(p,m){p.__proto__=m}||function(p,m){for(var g in m)m.hasOwnProperty(g)&&(p[g]=m[g])};return function(p,m){f(p,m);function g(){this.constructor=p}p.prototype=m===null?Object.create(m):(g.prototype=m.prototype,new g)}}();Object.defineProperty(t,"__esModule",{value:!0});var i=n(4),s=n(5),o=n(6),a=n(7),u=n(8),c=n(13),l=n(14);c.TokenName[100]="JSXIdentifier",c.TokenName[101]="JSXText";function d(f){var p;switch(f.type){case o.JSXSyntax.JSXIdentifier:var m=f;p=m.name;break;case o.JSXSyntax.JSXNamespacedName:var g=f;p=d(g.namespace)+":"+d(g.name);break;case o.JSXSyntax.JSXMemberExpression:var x=f;p=d(x.object)+"."+d(x.property);break;default:break}return p}var h=function(f){r(p,f);function p(m,g,x){return f.call(this,m,g,x)||this}return p.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():f.prototype.parsePrimaryExpression.call(this)},p.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},p.prototype.finishJSX=function(){this.nextToken()},p.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()},p.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},p.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},p.prototype.scanXHTMLEntity=function(m){for(var g="&",x=!0,b=!1,y=!1,D=!1;!this.scanner.eof()&&x&&!b;){var w=this.scanner.source[this.scanner.index];if(w===m)break;if(b=w===";",g+=w,++this.scanner.index,!b)switch(g.length){case 2:y=w==="#";break;case 3:y&&(D=w==="x",x=D||i.Character.isDecimalDigit(w.charCodeAt(0)),y=y&&!D);break;default:x=x&&!(y&&!i.Character.isDecimalDigit(w.charCodeAt(0))),x=x&&!(D&&!i.Character.isHexDigit(w.charCodeAt(0)));break}}if(x&&b&&g.length>2){var C=g.substr(1,g.length-2);y&&C.length>1?g=String.fromCharCode(parseInt(C.substr(1),10)):D&&C.length>2?g=String.fromCharCode(parseInt("0"+C.substr(1),16)):!y&&!D&&l.XHTMLEntities[C]&&(g=l.XHTMLEntities[C])}return g},p.prototype.lexJSX=function(){var m=this.scanner.source.charCodeAt(this.scanner.index);if(m===60||m===62||m===47||m===58||m===61||m===123||m===125){var g=this.scanner.source[this.scanner.index++];return{type:7,value:g,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index}}if(m===34||m===39){for(var x=this.scanner.index,b=this.scanner.source[this.scanner.index++],y="";!this.scanner.eof();){var D=this.scanner.source[this.scanner.index++];if(D===b)break;D==="&"?y+=this.scanXHTMLEntity(b):y+=D}return{type:8,value:y,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:x,end:this.scanner.index}}if(m===46){var w=this.scanner.source.charCodeAt(this.scanner.index+1),C=this.scanner.source.charCodeAt(this.scanner.index+2),g=w===46&&C===46?"...":".",x=this.scanner.index;return this.scanner.index+=g.length,{type:7,value:g,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:x,end:this.scanner.index}}if(m===96)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(i.Character.isIdentifierStart(m)&&m!==92){var x=this.scanner.index;for(++this.scanner.index;!this.scanner.eof();){var D=this.scanner.source.charCodeAt(this.scanner.index);if(i.Character.isIdentifierPart(D)&&D!==92)++this.scanner.index;else if(D===45)++this.scanner.index;else break}var T=this.scanner.source.slice(x,this.scanner.index);return{type:100,value:T,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:x,end:this.scanner.index}}return this.scanner.lex()},p.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var m=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(m)),m},p.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var m=this.scanner.index,g="";!this.scanner.eof();){var x=this.scanner.source[this.scanner.index];if(x==="{"||x==="<")break;++this.scanner.index,g+=x,i.Character.isLineTerminator(x.charCodeAt(0))&&(++this.scanner.lineNumber,x==="\r"&&this.scanner.source[this.scanner.index]===` +`&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var b={type:101,value:g,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:m,end:this.scanner.index};return g.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(b)),b},p.prototype.peekJSXToken=function(){var m=this.scanner.saveState();this.scanner.scanComments();var g=this.lexJSX();return this.scanner.restoreState(m),g},p.prototype.expectJSX=function(m){var g=this.nextJSXToken();(g.type!==7||g.value!==m)&&this.throwUnexpectedToken(g)},p.prototype.matchJSX=function(m){var g=this.peekJSXToken();return g.type===7&&g.value===m},p.prototype.parseJSXIdentifier=function(){var m=this.createJSXNode(),g=this.nextJSXToken();return g.type!==100&&this.throwUnexpectedToken(g),this.finalize(m,new s.JSXIdentifier(g.value))},p.prototype.parseJSXElementName=function(){var m=this.createJSXNode(),g=this.parseJSXIdentifier();if(this.matchJSX(":")){var x=g;this.expectJSX(":");var b=this.parseJSXIdentifier();g=this.finalize(m,new s.JSXNamespacedName(x,b))}else if(this.matchJSX("."))for(;this.matchJSX(".");){var y=g;this.expectJSX(".");var D=this.parseJSXIdentifier();g=this.finalize(m,new s.JSXMemberExpression(y,D))}return g},p.prototype.parseJSXAttributeName=function(){var m=this.createJSXNode(),g,x=this.parseJSXIdentifier();if(this.matchJSX(":")){var b=x;this.expectJSX(":");var y=this.parseJSXIdentifier();g=this.finalize(m,new s.JSXNamespacedName(b,y))}else g=x;return g},p.prototype.parseJSXStringLiteralAttribute=function(){var m=this.createJSXNode(),g=this.nextJSXToken();g.type!==8&&this.throwUnexpectedToken(g);var x=this.getTokenRaw(g);return this.finalize(m,new a.Literal(g.value,x))},p.prototype.parseJSXExpressionAttribute=function(){var m=this.createJSXNode();this.expectJSX("{"),this.finishJSX(),this.match("}")&&this.tolerateError("JSX attributes must only be assigned a non-empty expression");var g=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(m,new s.JSXExpressionContainer(g))},p.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},p.prototype.parseJSXNameValueAttribute=function(){var m=this.createJSXNode(),g=this.parseJSXAttributeName(),x=null;return this.matchJSX("=")&&(this.expectJSX("="),x=this.parseJSXAttributeValue()),this.finalize(m,new s.JSXAttribute(g,x))},p.prototype.parseJSXSpreadAttribute=function(){var m=this.createJSXNode();this.expectJSX("{"),this.expectJSX("..."),this.finishJSX();var g=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(m,new s.JSXSpreadAttribute(g))},p.prototype.parseJSXAttributes=function(){for(var m=[];!this.matchJSX("/")&&!this.matchJSX(">");){var g=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();m.push(g)}return m},p.prototype.parseJSXOpeningElement=function(){var m=this.createJSXNode();this.expectJSX("<");var g=this.parseJSXElementName(),x=this.parseJSXAttributes(),b=this.matchJSX("/");return b&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(m,new s.JSXOpeningElement(g,b,x))},p.prototype.parseJSXBoundaryElement=function(){var m=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX("/")){this.expectJSX("/");var g=this.parseJSXElementName();return this.expectJSX(">"),this.finalize(m,new s.JSXClosingElement(g))}var x=this.parseJSXElementName(),b=this.parseJSXAttributes(),y=this.matchJSX("/");return y&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(m,new s.JSXOpeningElement(x,y,b))},p.prototype.parseJSXEmptyExpression=function(){var m=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(m,new s.JSXEmptyExpression)},p.prototype.parseJSXExpressionContainer=function(){var m=this.createJSXNode();this.expectJSX("{");var g;return this.matchJSX("}")?(g=this.parseJSXEmptyExpression(),this.expectJSX("}")):(this.finishJSX(),g=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(m,new s.JSXExpressionContainer(g))},p.prototype.parseJSXChildren=function(){for(var m=[];!this.scanner.eof();){var g=this.createJSXChildNode(),x=this.nextJSXText();if(x.start0){var D=this.finalize(m.node,new s.JSXElement(m.opening,m.children,m.closing));m=g[g.length-1],m.children.push(D),g.pop()}else break}}return m},p.prototype.parseJSXElement=function(){var m=this.createJSXNode(),g=this.parseJSXOpeningElement(),x=[],b=null;if(!g.selfClosing){var y=this.parseComplexJSXElement({node:m,opening:g,closing:b,children:x});x=y.children,b=y.closing}return this.finalize(m,new s.JSXElement(g,x,b))},p.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var m=this.parseJSXElement();return this.finishJSX(),m},p.prototype.isStartOfExpression=function(){return f.prototype.isStartOfExpression.call(this)||this.match("<")},p}(u.Parser);t.JSXParser=h},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};t.Character={fromCodePoint:function(r){return r<65536?String.fromCharCode(r):String.fromCharCode(55296+(r-65536>>10))+String.fromCharCode(56320+(r-65536&1023))},isWhiteSpace:function(r){return r===32||r===9||r===11||r===12||r===160||r>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(r)>=0},isLineTerminator:function(r){return r===10||r===13||r===8232||r===8233},isIdentifierStart:function(r){return r===36||r===95||r>=65&&r<=90||r>=97&&r<=122||r===92||r>=128&&n.NonAsciiIdentifierStart.test(t.Character.fromCodePoint(r))},isIdentifierPart:function(r){return r===36||r===95||r>=65&&r<=90||r>=97&&r<=122||r>=48&&r<=57||r===92||r>=128&&n.NonAsciiIdentifierPart.test(t.Character.fromCodePoint(r))},isDecimalDigit:function(r){return r>=48&&r<=57},isHexDigit:function(r){return r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102},isOctalDigit:function(r){return r>=48&&r<=55}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(6),i=function(){function m(g){this.type=r.JSXSyntax.JSXClosingElement,this.name=g}return m}();t.JSXClosingElement=i;var s=function(){function m(g,x,b){this.type=r.JSXSyntax.JSXElement,this.openingElement=g,this.children=x,this.closingElement=b}return m}();t.JSXElement=s;var o=function(){function m(){this.type=r.JSXSyntax.JSXEmptyExpression}return m}();t.JSXEmptyExpression=o;var a=function(){function m(g){this.type=r.JSXSyntax.JSXExpressionContainer,this.expression=g}return m}();t.JSXExpressionContainer=a;var u=function(){function m(g){this.type=r.JSXSyntax.JSXIdentifier,this.name=g}return m}();t.JSXIdentifier=u;var c=function(){function m(g,x){this.type=r.JSXSyntax.JSXMemberExpression,this.object=g,this.property=x}return m}();t.JSXMemberExpression=c;var l=function(){function m(g,x){this.type=r.JSXSyntax.JSXAttribute,this.name=g,this.value=x}return m}();t.JSXAttribute=l;var d=function(){function m(g,x){this.type=r.JSXSyntax.JSXNamespacedName,this.namespace=g,this.name=x}return m}();t.JSXNamespacedName=d;var h=function(){function m(g,x,b){this.type=r.JSXSyntax.JSXOpeningElement,this.name=g,this.selfClosing=x,this.attributes=b}return m}();t.JSXOpeningElement=h;var f=function(){function m(g){this.type=r.JSXSyntax.JSXSpreadAttribute,this.argument=g}return m}();t.JSXSpreadAttribute=f;var p=function(){function m(g,x){this.type=r.JSXSyntax.JSXText,this.value=g,this.raw=x}return m}();t.JSXText=p},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),i=function(){function P(O){this.type=r.Syntax.ArrayExpression,this.elements=O}return P}();t.ArrayExpression=i;var s=function(){function P(O){this.type=r.Syntax.ArrayPattern,this.elements=O}return P}();t.ArrayPattern=s;var o=function(){function P(O,X,fe){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=O,this.body=X,this.generator=!1,this.expression=fe,this.async=!1}return P}();t.ArrowFunctionExpression=o;var a=function(){function P(O,X,fe){this.type=r.Syntax.AssignmentExpression,this.operator=O,this.left=X,this.right=fe}return P}();t.AssignmentExpression=a;var u=function(){function P(O,X){this.type=r.Syntax.AssignmentPattern,this.left=O,this.right=X}return P}();t.AssignmentPattern=u;var c=function(){function P(O,X,fe){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=O,this.body=X,this.generator=!1,this.expression=fe,this.async=!0}return P}();t.AsyncArrowFunctionExpression=c;var l=function(){function P(O,X,fe){this.type=r.Syntax.FunctionDeclaration,this.id=O,this.params=X,this.body=fe,this.generator=!1,this.expression=!1,this.async=!0}return P}();t.AsyncFunctionDeclaration=l;var d=function(){function P(O,X,fe){this.type=r.Syntax.FunctionExpression,this.id=O,this.params=X,this.body=fe,this.generator=!1,this.expression=!1,this.async=!0}return P}();t.AsyncFunctionExpression=d;var h=function(){function P(O){this.type=r.Syntax.AwaitExpression,this.argument=O}return P}();t.AwaitExpression=h;var f=function(){function P(O,X,fe){var ht=O==="||"||O==="&&";this.type=ht?r.Syntax.LogicalExpression:r.Syntax.BinaryExpression,this.operator=O,this.left=X,this.right=fe}return P}();t.BinaryExpression=f;var p=function(){function P(O){this.type=r.Syntax.BlockStatement,this.body=O}return P}();t.BlockStatement=p;var m=function(){function P(O){this.type=r.Syntax.BreakStatement,this.label=O}return P}();t.BreakStatement=m;var g=function(){function P(O,X){this.type=r.Syntax.CallExpression,this.callee=O,this.arguments=X}return P}();t.CallExpression=g;var x=function(){function P(O,X){this.type=r.Syntax.CatchClause,this.param=O,this.body=X}return P}();t.CatchClause=x;var b=function(){function P(O){this.type=r.Syntax.ClassBody,this.body=O}return P}();t.ClassBody=b;var y=function(){function P(O,X,fe){this.type=r.Syntax.ClassDeclaration,this.id=O,this.superClass=X,this.body=fe}return P}();t.ClassDeclaration=y;var D=function(){function P(O,X,fe){this.type=r.Syntax.ClassExpression,this.id=O,this.superClass=X,this.body=fe}return P}();t.ClassExpression=D;var w=function(){function P(O,X){this.type=r.Syntax.MemberExpression,this.computed=!0,this.object=O,this.property=X}return P}();t.ComputedMemberExpression=w;var C=function(){function P(O,X,fe){this.type=r.Syntax.ConditionalExpression,this.test=O,this.consequent=X,this.alternate=fe}return P}();t.ConditionalExpression=C;var T=function(){function P(O){this.type=r.Syntax.ContinueStatement,this.label=O}return P}();t.ContinueStatement=T;var v=function(){function P(){this.type=r.Syntax.DebuggerStatement}return P}();t.DebuggerStatement=v;var k=function(){function P(O,X){this.type=r.Syntax.ExpressionStatement,this.expression=O,this.directive=X}return P}();t.Directive=k;var A=function(){function P(O,X){this.type=r.Syntax.DoWhileStatement,this.body=O,this.test=X}return P}();t.DoWhileStatement=A;var L=function(){function P(){this.type=r.Syntax.EmptyStatement}return P}();t.EmptyStatement=L;var _=function(){function P(O){this.type=r.Syntax.ExportAllDeclaration,this.source=O}return P}();t.ExportAllDeclaration=_;var R=function(){function P(O){this.type=r.Syntax.ExportDefaultDeclaration,this.declaration=O}return P}();t.ExportDefaultDeclaration=R;var F=function(){function P(O,X,fe){this.type=r.Syntax.ExportNamedDeclaration,this.declaration=O,this.specifiers=X,this.source=fe}return P}();t.ExportNamedDeclaration=F;var E=function(){function P(O,X){this.type=r.Syntax.ExportSpecifier,this.exported=X,this.local=O}return P}();t.ExportSpecifier=E;var N=function(){function P(O){this.type=r.Syntax.ExpressionStatement,this.expression=O}return P}();t.ExpressionStatement=N;var M=function(){function P(O,X,fe){this.type=r.Syntax.ForInStatement,this.left=O,this.right=X,this.body=fe,this.each=!1}return P}();t.ForInStatement=M;var U=function(){function P(O,X,fe){this.type=r.Syntax.ForOfStatement,this.left=O,this.right=X,this.body=fe}return P}();t.ForOfStatement=U;var z=function(){function P(O,X,fe,ht){this.type=r.Syntax.ForStatement,this.init=O,this.test=X,this.update=fe,this.body=ht}return P}();t.ForStatement=z;var S=function(){function P(O,X,fe,ht){this.type=r.Syntax.FunctionDeclaration,this.id=O,this.params=X,this.body=fe,this.generator=ht,this.expression=!1,this.async=!1}return P}();t.FunctionDeclaration=S;var q=function(){function P(O,X,fe,ht){this.type=r.Syntax.FunctionExpression,this.id=O,this.params=X,this.body=fe,this.generator=ht,this.expression=!1,this.async=!1}return P}();t.FunctionExpression=q;var j=function(){function P(O){this.type=r.Syntax.Identifier,this.name=O}return P}();t.Identifier=j;var I=function(){function P(O,X,fe){this.type=r.Syntax.IfStatement,this.test=O,this.consequent=X,this.alternate=fe}return P}();t.IfStatement=I;var Q=function(){function P(O,X){this.type=r.Syntax.ImportDeclaration,this.specifiers=O,this.source=X}return P}();t.ImportDeclaration=Q;var Y=function(){function P(O){this.type=r.Syntax.ImportDefaultSpecifier,this.local=O}return P}();t.ImportDefaultSpecifier=Y;var De=function(){function P(O){this.type=r.Syntax.ImportNamespaceSpecifier,this.local=O}return P}();t.ImportNamespaceSpecifier=De;var ke=function(){function P(O,X){this.type=r.Syntax.ImportSpecifier,this.local=O,this.imported=X}return P}();t.ImportSpecifier=ke;var V=function(){function P(O,X){this.type=r.Syntax.LabeledStatement,this.label=O,this.body=X}return P}();t.LabeledStatement=V;var he=function(){function P(O,X){this.type=r.Syntax.Literal,this.value=O,this.raw=X}return P}();t.Literal=he;var $=function(){function P(O,X){this.type=r.Syntax.MetaProperty,this.meta=O,this.property=X}return P}();t.MetaProperty=$;var K=function(){function P(O,X,fe,ht,yd){this.type=r.Syntax.MethodDefinition,this.key=O,this.computed=X,this.value=fe,this.kind=ht,this.static=yd}return P}();t.MethodDefinition=K;var le=function(){function P(O){this.type=r.Syntax.Program,this.body=O,this.sourceType="module"}return P}();t.Module=le;var oe=function(){function P(O,X){this.type=r.Syntax.NewExpression,this.callee=O,this.arguments=X}return P}();t.NewExpression=oe;var J=function(){function P(O){this.type=r.Syntax.ObjectExpression,this.properties=O}return P}();t.ObjectExpression=J;var ye=function(){function P(O){this.type=r.Syntax.ObjectPattern,this.properties=O}return P}();t.ObjectPattern=ye;var ge=function(){function P(O,X,fe,ht,yd,oR){this.type=r.Syntax.Property,this.key=X,this.computed=fe,this.value=ht,this.kind=O,this.method=yd,this.shorthand=oR}return P}();t.Property=ge;var qe=function(){function P(O,X,fe,ht){this.type=r.Syntax.Literal,this.value=O,this.raw=X,this.regex={pattern:fe,flags:ht}}return P}();t.RegexLiteral=qe;var me=function(){function P(O){this.type=r.Syntax.RestElement,this.argument=O}return P}();t.RestElement=me;var Lt=function(){function P(O){this.type=r.Syntax.ReturnStatement,this.argument=O}return P}();t.ReturnStatement=Lt;var Sr=function(){function P(O){this.type=r.Syntax.Program,this.body=O,this.sourceType="script"}return P}();t.Script=Sr;var Ln=function(){function P(O){this.type=r.Syntax.SequenceExpression,this.expressions=O}return P}();t.SequenceExpression=Ln;var nu=function(){function P(O){this.type=r.Syntax.SpreadElement,this.argument=O}return P}();t.SpreadElement=nu;var ru=function(){function P(O,X){this.type=r.Syntax.MemberExpression,this.computed=!1,this.object=O,this.property=X}return P}();t.StaticMemberExpression=ru;var $4=function(){function P(){this.type=r.Syntax.Super}return P}();t.Super=$4;var H4=function(){function P(O,X){this.type=r.Syntax.SwitchCase,this.test=O,this.consequent=X}return P}();t.SwitchCase=H4;var G4=function(){function P(O,X){this.type=r.Syntax.SwitchStatement,this.discriminant=O,this.cases=X}return P}();t.SwitchStatement=G4;var V4=function(){function P(O,X){this.type=r.Syntax.TaggedTemplateExpression,this.tag=O,this.quasi=X}return P}();t.TaggedTemplateExpression=V4;var K4=function(){function P(O,X){this.type=r.Syntax.TemplateElement,this.value=O,this.tail=X}return P}();t.TemplateElement=K4;var X4=function(){function P(O,X){this.type=r.Syntax.TemplateLiteral,this.quasis=O,this.expressions=X}return P}();t.TemplateLiteral=X4;var J4=function(){function P(){this.type=r.Syntax.ThisExpression}return P}();t.ThisExpression=J4;var Y4=function(){function P(O){this.type=r.Syntax.ThrowStatement,this.argument=O}return P}();t.ThrowStatement=Y4;var Z4=function(){function P(O,X,fe){this.type=r.Syntax.TryStatement,this.block=O,this.handler=X,this.finalizer=fe}return P}();t.TryStatement=Z4;var Q4=function(){function P(O,X){this.type=r.Syntax.UnaryExpression,this.operator=O,this.argument=X,this.prefix=!0}return P}();t.UnaryExpression=Q4;var eR=function(){function P(O,X,fe){this.type=r.Syntax.UpdateExpression,this.operator=O,this.argument=X,this.prefix=fe}return P}();t.UpdateExpression=eR;var tR=function(){function P(O,X){this.type=r.Syntax.VariableDeclaration,this.declarations=O,this.kind=X}return P}();t.VariableDeclaration=tR;var nR=function(){function P(O,X){this.type=r.Syntax.VariableDeclarator,this.id=O,this.init=X}return P}();t.VariableDeclarator=nR;var rR=function(){function P(O,X){this.type=r.Syntax.WhileStatement,this.test=O,this.body=X}return P}();t.WhileStatement=rR;var iR=function(){function P(O,X){this.type=r.Syntax.WithStatement,this.object=O,this.body=X}return P}();t.WithStatement=iR;var sR=function(){function P(O,X){this.type=r.Syntax.YieldExpression,this.argument=O,this.delegate=X}return P}();t.YieldExpression=sR},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),i=n(10),s=n(11),o=n(7),a=n(12),u=n(2),c=n(13),l="ArrowParameterPlaceHolder",d=function(){function h(f,p,m){p===void 0&&(p={}),this.config={range:typeof p.range=="boolean"&&p.range,loc:typeof p.loc=="boolean"&&p.loc,source:null,tokens:typeof p.tokens=="boolean"&&p.tokens,comment:typeof p.comment=="boolean"&&p.comment,tolerant:typeof p.tolerant=="boolean"&&p.tolerant},this.config.loc&&p.source&&p.source!==null&&(this.config.source=String(p.source)),this.delegate=m,this.errorHandler=new i.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new a.Scanner(f,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11},this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return h.prototype.throwError=function(f){for(var p=[],m=1;m0&&this.delegate)for(var p=0;p>="||f===">>>="||f==="&="||f==="^="||f==="|="},h.prototype.isolateCoverGrammar=function(f){var p=this.context.isBindingElement,m=this.context.isAssignmentTarget,g=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var x=f.call(this);return this.context.firstCoverInitializedNameError!==null&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=p,this.context.isAssignmentTarget=m,this.context.firstCoverInitializedNameError=g,x},h.prototype.inheritCoverGrammar=function(f){var p=this.context.isBindingElement,m=this.context.isAssignmentTarget,g=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var x=f.call(this);return this.context.isBindingElement=this.context.isBindingElement&&p,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&m,this.context.firstCoverInitializedNameError=g||this.context.firstCoverInitializedNameError,x},h.prototype.consumeSemicolon=function(){this.match(";")?this.nextToken():this.hasLineTerminator||(this.lookahead.type!==2&&!this.match("}")&&this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},h.prototype.parsePrimaryExpression=function(){var f=this.createNode(),p,m,g;switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&this.lookahead.value==="await"&&this.tolerateUnexpectedToken(this.lookahead),p=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(f,new o.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,s.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,m=this.nextToken(),g=this.getTokenRaw(m),p=this.finalize(f,new o.Literal(m.value,g));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,m=this.nextToken(),g=this.getTokenRaw(m),p=this.finalize(f,new o.Literal(m.value==="true",g));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,m=this.nextToken(),g=this.getTokenRaw(m),p=this.finalize(f,new o.Literal(null,g));break;case 10:p=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=!1,p=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":p=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":p=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,m=this.nextRegexToken(),g=this.getTokenRaw(m),p=this.finalize(f,new o.RegexLiteral(m.regex,g,m.pattern,m.flags));break;default:p=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")?p=this.parseIdentifierName():!this.context.strict&&this.matchKeyword("let")?p=this.finalize(f,new o.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword("function")?p=this.parseFunctionExpression():this.matchKeyword("this")?(this.nextToken(),p=this.finalize(f,new o.ThisExpression)):this.matchKeyword("class")?p=this.parseClassExpression():p=this.throwUnexpectedToken(this.nextToken()));break;default:p=this.throwUnexpectedToken(this.nextToken())}return p},h.prototype.parseSpreadElement=function(){var f=this.createNode();this.expect("...");var p=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(f,new o.SpreadElement(p))},h.prototype.parseArrayInitializer=function(){var f=this.createNode(),p=[];for(this.expect("[");!this.match("]");)if(this.match(","))this.nextToken(),p.push(null);else if(this.match("...")){var m=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),p.push(m)}else p.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(f,new o.ArrayExpression(p))},h.prototype.parsePropertyMethod=function(f){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var p=this.context.strict,m=this.context.allowStrictDirective;this.context.allowStrictDirective=f.simple;var g=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&f.firstRestricted&&this.tolerateUnexpectedToken(f.firstRestricted,f.message),this.context.strict&&f.stricted&&this.tolerateUnexpectedToken(f.stricted,f.message),this.context.strict=p,this.context.allowStrictDirective=m,g},h.prototype.parsePropertyMethodFunction=function(){var f=!1,p=this.createNode(),m=this.context.allowYield;this.context.allowYield=!0;var g=this.parseFormalParameters(),x=this.parsePropertyMethod(g);return this.context.allowYield=m,this.finalize(p,new o.FunctionExpression(null,g.params,x,f))},h.prototype.parsePropertyMethodAsyncFunction=function(){var f=this.createNode(),p=this.context.allowYield,m=this.context.await;this.context.allowYield=!1,this.context.await=!0;var g=this.parseFormalParameters(),x=this.parsePropertyMethod(g);return this.context.allowYield=p,this.context.await=m,this.finalize(f,new o.AsyncFunctionExpression(null,g.params,x))},h.prototype.parseObjectPropertyKey=function(){var f=this.createNode(),p=this.nextToken(),m;switch(p.type){case 8:case 6:this.context.strict&&p.octal&&this.tolerateUnexpectedToken(p,s.Messages.StrictOctalLiteral);var g=this.getTokenRaw(p);m=this.finalize(f,new o.Literal(p.value,g));break;case 3:case 1:case 5:case 4:m=this.finalize(f,new o.Identifier(p.value));break;case 7:p.value==="["?(m=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):m=this.throwUnexpectedToken(p);break;default:m=this.throwUnexpectedToken(p)}return m},h.prototype.isPropertyKey=function(f,p){return f.type===u.Syntax.Identifier&&f.name===p||f.type===u.Syntax.Literal&&f.value===p},h.prototype.parseObjectProperty=function(f){var p=this.createNode(),m=this.lookahead,g,x=null,b=null,y=!1,D=!1,w=!1,C=!1;if(m.type===3){var T=m.value;this.nextToken(),y=this.match("["),C=!this.hasLineTerminator&&T==="async"&&!this.match(":")&&!this.match("(")&&!this.match("*")&&!this.match(","),x=C?this.parseObjectPropertyKey():this.finalize(p,new o.Identifier(T))}else this.match("*")?this.nextToken():(y=this.match("["),x=this.parseObjectPropertyKey());var v=this.qualifiedPropertyName(this.lookahead);if(m.type===3&&!C&&m.value==="get"&&v)g="get",y=this.match("["),x=this.parseObjectPropertyKey(),this.context.allowYield=!1,b=this.parseGetterMethod();else if(m.type===3&&!C&&m.value==="set"&&v)g="set",y=this.match("["),x=this.parseObjectPropertyKey(),b=this.parseSetterMethod();else if(m.type===7&&m.value==="*"&&v)g="init",y=this.match("["),x=this.parseObjectPropertyKey(),b=this.parseGeneratorMethod(),D=!0;else if(x||this.throwUnexpectedToken(this.lookahead),g="init",this.match(":")&&!C)!y&&this.isPropertyKey(x,"__proto__")&&(f.value&&this.tolerateError(s.Messages.DuplicateProtoProperty),f.value=!0),this.nextToken(),b=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match("("))b=C?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),D=!0;else if(m.type===3){var T=this.finalize(p,new o.Identifier(m.value));if(this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),w=!0;var k=this.isolateCoverGrammar(this.parseAssignmentExpression);b=this.finalize(p,new o.AssignmentPattern(T,k))}else w=!0,b=T}else this.throwUnexpectedToken(this.nextToken());return this.finalize(p,new o.Property(g,x,y,b,D,w))},h.prototype.parseObjectInitializer=function(){var f=this.createNode();this.expect("{");for(var p=[],m={value:!1};!this.match("}");)p.push(this.parseObjectProperty(m)),this.match("}")||this.expectCommaSeparator();return this.expect("}"),this.finalize(f,new o.ObjectExpression(p))},h.prototype.parseTemplateHead=function(){r.assert(this.lookahead.head,"Template literal must start with a template head");var f=this.createNode(),p=this.nextToken(),m=p.value,g=p.cooked;return this.finalize(f,new o.TemplateElement({raw:m,cooked:g},p.tail))},h.prototype.parseTemplateElement=function(){this.lookahead.type!==10&&this.throwUnexpectedToken();var f=this.createNode(),p=this.nextToken(),m=p.value,g=p.cooked;return this.finalize(f,new o.TemplateElement({raw:m,cooked:g},p.tail))},h.prototype.parseTemplateLiteral=function(){var f=this.createNode(),p=[],m=[],g=this.parseTemplateHead();for(m.push(g);!g.tail;)p.push(this.parseExpression()),g=this.parseTemplateElement(),m.push(g);return this.finalize(f,new o.TemplateLiteral(m,p))},h.prototype.reinterpretExpressionAsPattern=function(f){switch(f.type){case u.Syntax.Identifier:case u.Syntax.MemberExpression:case u.Syntax.RestElement:case u.Syntax.AssignmentPattern:break;case u.Syntax.SpreadElement:f.type=u.Syntax.RestElement,this.reinterpretExpressionAsPattern(f.argument);break;case u.Syntax.ArrayExpression:f.type=u.Syntax.ArrayPattern;for(var p=0;p")||this.expect("=>"),f={type:l,params:[],async:!1};else{var p=this.lookahead,m=[];if(this.match("..."))f=this.parseRestElement(m),this.expect(")"),this.match("=>")||this.expect("=>"),f={type:l,params:[f],async:!1};else{var g=!1;if(this.context.isBindingElement=!0,f=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(",")){var x=[];for(this.context.isAssignmentTarget=!1,x.push(f);this.lookahead.type!==2&&this.match(",");){if(this.nextToken(),this.match(")")){this.nextToken();for(var b=0;b")||this.expect("=>"),this.context.isBindingElement=!1;for(var b=0;b")&&(f.type===u.Syntax.Identifier&&f.name==="yield"&&(g=!0,f={type:l,params:[f],async:!1}),!g)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),f.type===u.Syntax.SequenceExpression)for(var b=0;b")){for(var D=0;D0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var x=[f,this.lookahead],b=p,y=this.isolateCoverGrammar(this.parseExponentiationExpression),D=[b,m.value,y],w=[g];g=this.binaryPrecedence(this.lookahead),!(g<=0);){for(;D.length>2&&g<=w[w.length-1];){y=D.pop();var C=D.pop();w.pop(),b=D.pop(),x.pop();var T=this.startNode(x[x.length-1]);D.push(this.finalize(T,new o.BinaryExpression(C,b,y)))}D.push(this.nextToken().value),w.push(g),x.push(this.lookahead),D.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var v=D.length-1;p=D[v];for(var k=x.pop();v>1;){var A=x.pop(),L=k&&k.lineStart,T=this.startNode(A,L),C=D[v-1];p=this.finalize(T,new o.BinaryExpression(C,D[v-2],p)),v-=2,k=A}}return p},h.prototype.parseConditionalExpression=function(){var f=this.lookahead,p=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var m=this.context.allowIn;this.context.allowIn=!0;var g=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=m,this.expect(":");var x=this.isolateCoverGrammar(this.parseAssignmentExpression);p=this.finalize(this.startNode(f),new o.ConditionalExpression(p,g,x)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return p},h.prototype.checkPatternParam=function(f,p){switch(p.type){case u.Syntax.Identifier:this.validateParam(f,p,p.name);break;case u.Syntax.RestElement:this.checkPatternParam(f,p.argument);break;case u.Syntax.AssignmentPattern:this.checkPatternParam(f,p.left);break;case u.Syntax.ArrayPattern:for(var m=0;m")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var x=f.async,b=this.reinterpretAsCoverFormalsList(f);if(b){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var y=this.context.strict,D=this.context.allowStrictDirective;this.context.allowStrictDirective=b.simple;var w=this.context.allowYield,C=this.context.await;this.context.allowYield=!0,this.context.await=x;var T=this.startNode(p);this.expect("=>");var v=void 0;if(this.match("{")){var k=this.context.allowIn;this.context.allowIn=!0,v=this.parseFunctionSourceElements(),this.context.allowIn=k}else v=this.isolateCoverGrammar(this.parseAssignmentExpression);var A=v.type!==u.Syntax.BlockStatement;this.context.strict&&b.firstRestricted&&this.throwUnexpectedToken(b.firstRestricted,b.message),this.context.strict&&b.stricted&&this.tolerateUnexpectedToken(b.stricted,b.message),f=x?this.finalize(T,new o.AsyncArrowFunctionExpression(b.params,v,A)):this.finalize(T,new o.ArrowFunctionExpression(b.params,v,A)),this.context.strict=y,this.context.allowStrictDirective=D,this.context.allowYield=w,this.context.await=C}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(s.Messages.InvalidLHSInAssignment),this.context.strict&&f.type===u.Syntax.Identifier){var L=f;this.scanner.isRestrictedWord(L.name)&&this.tolerateUnexpectedToken(m,s.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(L.name)&&this.tolerateUnexpectedToken(m,s.Messages.StrictReservedWord)}this.match("=")?this.reinterpretExpressionAsPattern(f):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1),m=this.nextToken();var _=m.value,R=this.isolateCoverGrammar(this.parseAssignmentExpression);f=this.finalize(this.startNode(p),new o.AssignmentExpression(_,f,R)),this.context.firstCoverInitializedNameError=null}}return f},h.prototype.parseExpression=function(){var f=this.lookahead,p=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var m=[];for(m.push(p);this.lookahead.type!==2&&this.match(",");)this.nextToken(),m.push(this.isolateCoverGrammar(this.parseAssignmentExpression));p=this.finalize(this.startNode(f),new o.SequenceExpression(m))}return p},h.prototype.parseStatementListItem=function(){var f;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,this.lookahead.type===4)switch(this.lookahead.value){case"export":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,s.Messages.IllegalExportDeclaration),f=this.parseExportDeclaration();break;case"import":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,s.Messages.IllegalImportDeclaration),f=this.parseImportDeclaration();break;case"const":f=this.parseLexicalDeclaration({inFor:!1});break;case"function":f=this.parseFunctionDeclaration();break;case"class":f=this.parseClassDeclaration();break;case"let":f=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:f=this.parseStatement();break}else f=this.parseStatement();return f},h.prototype.parseBlock=function(){var f=this.createNode();this.expect("{");for(var p=[];!this.match("}");)p.push(this.parseStatementListItem());return this.expect("}"),this.finalize(f,new o.BlockStatement(p))},h.prototype.parseLexicalBinding=function(f,p){var m=this.createNode(),g=[],x=this.parsePattern(g,f);this.context.strict&&x.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(x.name)&&this.tolerateError(s.Messages.StrictVarName);var b=null;return f==="const"?!this.matchKeyword("in")&&!this.matchContextualKeyword("of")&&(this.match("=")?(this.nextToken(),b=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(s.Messages.DeclarationMissingInitializer,"const")):(!p.inFor&&x.type!==u.Syntax.Identifier||this.match("="))&&(this.expect("="),b=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(m,new o.VariableDeclarator(x,b))},h.prototype.parseBindingList=function(f,p){for(var m=[this.parseLexicalBinding(f,p)];this.match(",");)this.nextToken(),m.push(this.parseLexicalBinding(f,p));return m},h.prototype.isLexicalDeclaration=function(){var f=this.scanner.saveState();this.scanner.scanComments();var p=this.scanner.lex();return this.scanner.restoreState(f),p.type===3||p.type===7&&p.value==="["||p.type===7&&p.value==="{"||p.type===4&&p.value==="let"||p.type===4&&p.value==="yield"},h.prototype.parseLexicalDeclaration=function(f){var p=this.createNode(),m=this.nextToken().value;r.assert(m==="let"||m==="const","Lexical declaration must be either let or const");var g=this.parseBindingList(m,f);return this.consumeSemicolon(),this.finalize(p,new o.VariableDeclaration(g,m))},h.prototype.parseBindingRestElement=function(f,p){var m=this.createNode();this.expect("...");var g=this.parsePattern(f,p);return this.finalize(m,new o.RestElement(g))},h.prototype.parseArrayPattern=function(f,p){var m=this.createNode();this.expect("[");for(var g=[];!this.match("]");)if(this.match(","))this.nextToken(),g.push(null);else{if(this.match("...")){g.push(this.parseBindingRestElement(f,p));break}else g.push(this.parsePatternWithDefault(f,p));this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(m,new o.ArrayPattern(g))},h.prototype.parsePropertyPattern=function(f,p){var m=this.createNode(),g=!1,x=!1,b=!1,y,D;if(this.lookahead.type===3){var w=this.lookahead;y=this.parseVariableIdentifier();var C=this.finalize(m,new o.Identifier(w.value));if(this.match("=")){f.push(w),x=!0,this.nextToken();var T=this.parseAssignmentExpression();D=this.finalize(this.startNode(w),new o.AssignmentPattern(C,T))}else this.match(":")?(this.expect(":"),D=this.parsePatternWithDefault(f,p)):(f.push(w),x=!0,D=C)}else g=this.match("["),y=this.parseObjectPropertyKey(),this.expect(":"),D=this.parsePatternWithDefault(f,p);return this.finalize(m,new o.Property("init",y,g,D,b,x))},h.prototype.parseObjectPattern=function(f,p){var m=this.createNode(),g=[];for(this.expect("{");!this.match("}");)g.push(this.parsePropertyPattern(f,p)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(m,new o.ObjectPattern(g))},h.prototype.parsePattern=function(f,p){var m;return this.match("[")?m=this.parseArrayPattern(f,p):this.match("{")?m=this.parseObjectPattern(f,p):(this.matchKeyword("let")&&(p==="const"||p==="let")&&this.tolerateUnexpectedToken(this.lookahead,s.Messages.LetInLexicalBinding),f.push(this.lookahead),m=this.parseVariableIdentifier(p)),m},h.prototype.parsePatternWithDefault=function(f,p){var m=this.lookahead,g=this.parsePattern(f,p);if(this.match("=")){this.nextToken();var x=this.context.allowYield;this.context.allowYield=!0;var b=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=x,g=this.finalize(this.startNode(m),new o.AssignmentPattern(g,b))}return g},h.prototype.parseVariableIdentifier=function(f){var p=this.createNode(),m=this.nextToken();return m.type===4&&m.value==="yield"?this.context.strict?this.tolerateUnexpectedToken(m,s.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(m):m.type!==3?this.context.strict&&m.type===4&&this.scanner.isStrictModeReservedWord(m.value)?this.tolerateUnexpectedToken(m,s.Messages.StrictReservedWord):(this.context.strict||m.value!=="let"||f!=="var")&&this.throwUnexpectedToken(m):(this.context.isModule||this.context.await)&&m.type===3&&m.value==="await"&&this.tolerateUnexpectedToken(m),this.finalize(p,new o.Identifier(m.value))},h.prototype.parseVariableDeclaration=function(f){var p=this.createNode(),m=[],g=this.parsePattern(m,"var");this.context.strict&&g.type===u.Syntax.Identifier&&this.scanner.isRestrictedWord(g.name)&&this.tolerateError(s.Messages.StrictVarName);var x=null;return this.match("=")?(this.nextToken(),x=this.isolateCoverGrammar(this.parseAssignmentExpression)):g.type!==u.Syntax.Identifier&&!f.inFor&&this.expect("="),this.finalize(p,new o.VariableDeclarator(g,x))},h.prototype.parseVariableDeclarationList=function(f){var p={inFor:f.inFor},m=[];for(m.push(this.parseVariableDeclaration(p));this.match(",");)this.nextToken(),m.push(this.parseVariableDeclaration(p));return m},h.prototype.parseVariableStatement=function(){var f=this.createNode();this.expectKeyword("var");var p=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(f,new o.VariableDeclaration(p,"var"))},h.prototype.parseEmptyStatement=function(){var f=this.createNode();return this.expect(";"),this.finalize(f,new o.EmptyStatement)},h.prototype.parseExpressionStatement=function(){var f=this.createNode(),p=this.parseExpression();return this.consumeSemicolon(),this.finalize(f,new o.ExpressionStatement(p))},h.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(s.Messages.StrictFunction),this.parseStatement()},h.prototype.parseIfStatement=function(){var f=this.createNode(),p,m=null;this.expectKeyword("if"),this.expect("(");var g=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),p=this.finalize(this.createNode(),new o.EmptyStatement)):(this.expect(")"),p=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),m=this.parseIfClause())),this.finalize(f,new o.IfStatement(g,p,m))},h.prototype.parseDoWhileStatement=function(){var f=this.createNode();this.expectKeyword("do");var p=this.context.inIteration;this.context.inIteration=!0;var m=this.parseStatement();this.context.inIteration=p,this.expectKeyword("while"),this.expect("(");var g=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(f,new o.DoWhileStatement(m,g))},h.prototype.parseWhileStatement=function(){var f=this.createNode(),p;this.expectKeyword("while"),this.expect("(");var m=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),p=this.finalize(this.createNode(),new o.EmptyStatement);else{this.expect(")");var g=this.context.inIteration;this.context.inIteration=!0,p=this.parseStatement(),this.context.inIteration=g}return this.finalize(f,new o.WhileStatement(m,p))},h.prototype.parseForStatement=function(){var f=null,p=null,m=null,g=!0,x,b,y=this.createNode();if(this.expectKeyword("for"),this.expect("("),this.match(";"))this.nextToken();else if(this.matchKeyword("var")){f=this.createNode(),this.nextToken();var D=this.context.allowIn;this.context.allowIn=!1;var w=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=D,w.length===1&&this.matchKeyword("in")){var C=w[0];C.init&&(C.id.type===u.Syntax.ArrayPattern||C.id.type===u.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(s.Messages.ForInOfLoopInitializer,"for-in"),f=this.finalize(f,new o.VariableDeclaration(w,"var")),this.nextToken(),x=f,b=this.parseExpression(),f=null}else w.length===1&&w[0].init===null&&this.matchContextualKeyword("of")?(f=this.finalize(f,new o.VariableDeclaration(w,"var")),this.nextToken(),x=f,b=this.parseAssignmentExpression(),f=null,g=!1):(f=this.finalize(f,new o.VariableDeclaration(w,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){f=this.createNode();var T=this.nextToken().value;if(!this.context.strict&&this.lookahead.value==="in")f=this.finalize(f,new o.Identifier(T)),this.nextToken(),x=f,b=this.parseExpression(),f=null;else{var D=this.context.allowIn;this.context.allowIn=!1;var w=this.parseBindingList(T,{inFor:!0});this.context.allowIn=D,w.length===1&&w[0].init===null&&this.matchKeyword("in")?(f=this.finalize(f,new o.VariableDeclaration(w,T)),this.nextToken(),x=f,b=this.parseExpression(),f=null):w.length===1&&w[0].init===null&&this.matchContextualKeyword("of")?(f=this.finalize(f,new o.VariableDeclaration(w,T)),this.nextToken(),x=f,b=this.parseAssignmentExpression(),f=null,g=!1):(this.consumeSemicolon(),f=this.finalize(f,new o.VariableDeclaration(w,T)))}}else{var v=this.lookahead,D=this.context.allowIn;if(this.context.allowIn=!1,f=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=D,this.matchKeyword("in"))(!this.context.isAssignmentTarget||f.type===u.Syntax.AssignmentExpression)&&this.tolerateError(s.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(f),x=f,b=this.parseExpression(),f=null;else if(this.matchContextualKeyword("of"))(!this.context.isAssignmentTarget||f.type===u.Syntax.AssignmentExpression)&&this.tolerateError(s.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(f),x=f,b=this.parseAssignmentExpression(),f=null,g=!1;else{if(this.match(",")){for(var k=[f];this.match(",");)this.nextToken(),k.push(this.isolateCoverGrammar(this.parseAssignmentExpression));f=this.finalize(this.startNode(v),new o.SequenceExpression(k))}this.expect(";")}}typeof x>"u"&&(this.match(";")||(p=this.parseExpression()),this.expect(";"),this.match(")")||(m=this.parseExpression()));var A;if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),A=this.finalize(this.createNode(),new o.EmptyStatement);else{this.expect(")");var L=this.context.inIteration;this.context.inIteration=!0,A=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=L}return typeof x>"u"?this.finalize(y,new o.ForStatement(f,p,m,A)):g?this.finalize(y,new o.ForInStatement(x,b,A)):this.finalize(y,new o.ForOfStatement(x,b,A))},h.prototype.parseContinueStatement=function(){var f=this.createNode();this.expectKeyword("continue");var p=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var m=this.parseVariableIdentifier();p=m;var g="$"+m.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,g)||this.throwError(s.Messages.UnknownLabel,m.name)}return this.consumeSemicolon(),p===null&&!this.context.inIteration&&this.throwError(s.Messages.IllegalContinue),this.finalize(f,new o.ContinueStatement(p))},h.prototype.parseBreakStatement=function(){var f=this.createNode();this.expectKeyword("break");var p=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var m=this.parseVariableIdentifier(),g="$"+m.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,g)||this.throwError(s.Messages.UnknownLabel,m.name),p=m}return this.consumeSemicolon(),p===null&&!this.context.inIteration&&!this.context.inSwitch&&this.throwError(s.Messages.IllegalBreak),this.finalize(f,new o.BreakStatement(p))},h.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(s.Messages.IllegalReturn);var f=this.createNode();this.expectKeyword("return");var p=!this.match(";")&&!this.match("}")&&!this.hasLineTerminator&&this.lookahead.type!==2||this.lookahead.type===8||this.lookahead.type===10,m=p?this.parseExpression():null;return this.consumeSemicolon(),this.finalize(f,new o.ReturnStatement(m))},h.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(s.Messages.StrictModeWith);var f=this.createNode(),p;this.expectKeyword("with"),this.expect("(");var m=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),p=this.finalize(this.createNode(),new o.EmptyStatement)):(this.expect(")"),p=this.parseStatement()),this.finalize(f,new o.WithStatement(m,p))},h.prototype.parseSwitchCase=function(){var f=this.createNode(),p;this.matchKeyword("default")?(this.nextToken(),p=null):(this.expectKeyword("case"),p=this.parseExpression()),this.expect(":");for(var m=[];!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)m.push(this.parseStatementListItem());return this.finalize(f,new o.SwitchCase(p,m))},h.prototype.parseSwitchStatement=function(){var f=this.createNode();this.expectKeyword("switch"),this.expect("(");var p=this.parseExpression();this.expect(")");var m=this.context.inSwitch;this.context.inSwitch=!0;var g=[],x=!1;for(this.expect("{");!this.match("}");){var b=this.parseSwitchCase();b.test===null&&(x&&this.throwError(s.Messages.MultipleDefaultsInSwitch),x=!0),g.push(b)}return this.expect("}"),this.context.inSwitch=m,this.finalize(f,new o.SwitchStatement(p,g))},h.prototype.parseLabelledStatement=function(){var f=this.createNode(),p=this.parseExpression(),m;if(p.type===u.Syntax.Identifier&&this.match(":")){this.nextToken();var g=p,x="$"+g.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,x)&&this.throwError(s.Messages.Redeclaration,"Label",g.name),this.context.labelSet[x]=!0;var b=void 0;if(this.matchKeyword("class"))this.tolerateUnexpectedToken(this.lookahead),b=this.parseClassDeclaration();else if(this.matchKeyword("function")){var y=this.lookahead,D=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(y,s.Messages.StrictFunction):D.generator&&this.tolerateUnexpectedToken(y,s.Messages.GeneratorInLegacyContext),b=D}else b=this.parseStatement();delete this.context.labelSet[x],m=new o.LabeledStatement(g,b)}else this.consumeSemicolon(),m=new o.ExpressionStatement(p);return this.finalize(f,m)},h.prototype.parseThrowStatement=function(){var f=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(s.Messages.NewlineAfterThrow);var p=this.parseExpression();return this.consumeSemicolon(),this.finalize(f,new o.ThrowStatement(p))},h.prototype.parseCatchClause=function(){var f=this.createNode();this.expectKeyword("catch"),this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);for(var p=[],m=this.parsePattern(p),g={},x=0;x0&&this.tolerateError(s.Messages.BadGetterArity);var x=this.parsePropertyMethod(g);return this.context.allowYield=m,this.finalize(f,new o.FunctionExpression(null,g.params,x,p))},h.prototype.parseSetterMethod=function(){var f=this.createNode(),p=!1,m=this.context.allowYield;this.context.allowYield=!p;var g=this.parseFormalParameters();g.params.length!==1?this.tolerateError(s.Messages.BadSetterArity):g.params[0]instanceof o.RestElement&&this.tolerateError(s.Messages.BadSetterRestParameter);var x=this.parsePropertyMethod(g);return this.context.allowYield=m,this.finalize(f,new o.FunctionExpression(null,g.params,x,p))},h.prototype.parseGeneratorMethod=function(){var f=this.createNode(),p=!0,m=this.context.allowYield;this.context.allowYield=!0;var g=this.parseFormalParameters();this.context.allowYield=!1;var x=this.parsePropertyMethod(g);return this.context.allowYield=m,this.finalize(f,new o.FunctionExpression(null,g.params,x,p))},h.prototype.isStartOfExpression=function(){var f=!0,p=this.lookahead.value;switch(this.lookahead.type){case 7:f=p==="["||p==="("||p==="{"||p==="+"||p==="-"||p==="!"||p==="~"||p==="++"||p==="--"||p==="/"||p==="/=";break;case 4:f=p==="class"||p==="delete"||p==="function"||p==="let"||p==="new"||p==="super"||p==="this"||p==="typeof"||p==="void"||p==="yield";break;default:break}return f},h.prototype.parseYieldExpression=function(){var f=this.createNode();this.expectKeyword("yield");var p=null,m=!1;if(!this.hasLineTerminator){var g=this.context.allowYield;this.context.allowYield=!1,m=this.match("*"),m?(this.nextToken(),p=this.parseAssignmentExpression()):this.isStartOfExpression()&&(p=this.parseAssignmentExpression()),this.context.allowYield=g}return this.finalize(f,new o.YieldExpression(p,m))},h.prototype.parseClassElement=function(f){var p=this.lookahead,m=this.createNode(),g="",x=null,b=null,y=!1,D=!1,w=!1,C=!1;if(this.match("*"))this.nextToken();else{y=this.match("["),x=this.parseObjectPropertyKey();var T=x;if(T.name==="static"&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))&&(p=this.lookahead,w=!0,y=this.match("["),this.match("*")?this.nextToken():x=this.parseObjectPropertyKey()),p.type===3&&!this.hasLineTerminator&&p.value==="async"){var v=this.lookahead.value;v!==":"&&v!=="("&&v!=="*"&&(C=!0,p=this.lookahead,x=this.parseObjectPropertyKey(),p.type===3&&p.value==="constructor"&&this.tolerateUnexpectedToken(p,s.Messages.ConstructorIsAsync))}}var k=this.qualifiedPropertyName(this.lookahead);return p.type===3?p.value==="get"&&k?(g="get",y=this.match("["),x=this.parseObjectPropertyKey(),this.context.allowYield=!1,b=this.parseGetterMethod()):p.value==="set"&&k&&(g="set",y=this.match("["),x=this.parseObjectPropertyKey(),b=this.parseSetterMethod()):p.type===7&&p.value==="*"&&k&&(g="init",y=this.match("["),x=this.parseObjectPropertyKey(),b=this.parseGeneratorMethod(),D=!0),!g&&x&&this.match("(")&&(g="init",b=C?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),D=!0),g||this.throwUnexpectedToken(this.lookahead),g==="init"&&(g="method"),y||(w&&this.isPropertyKey(x,"prototype")&&this.throwUnexpectedToken(p,s.Messages.StaticPrototype),!w&&this.isPropertyKey(x,"constructor")&&((g!=="method"||!D||b&&b.generator)&&this.throwUnexpectedToken(p,s.Messages.ConstructorSpecialMethod),f.value?this.throwUnexpectedToken(p,s.Messages.DuplicateConstructor):f.value=!0,g="constructor")),this.finalize(m,new o.MethodDefinition(x,y,b,g,w))},h.prototype.parseClassElementList=function(){var f=[],p={value:!1};for(this.expect("{");!this.match("}");)this.match(";")?this.nextToken():f.push(this.parseClassElement(p));return this.expect("}"),f},h.prototype.parseClassBody=function(){var f=this.createNode(),p=this.parseClassElementList();return this.finalize(f,new o.ClassBody(p))},h.prototype.parseClassDeclaration=function(f){var p=this.createNode(),m=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var g=f&&this.lookahead.type!==3?null:this.parseVariableIdentifier(),x=null;this.matchKeyword("extends")&&(this.nextToken(),x=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var b=this.parseClassBody();return this.context.strict=m,this.finalize(p,new o.ClassDeclaration(g,x,b))},h.prototype.parseClassExpression=function(){var f=this.createNode(),p=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var m=this.lookahead.type===3?this.parseVariableIdentifier():null,g=null;this.matchKeyword("extends")&&(this.nextToken(),g=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var x=this.parseClassBody();return this.context.strict=p,this.finalize(f,new o.ClassExpression(m,g,x))},h.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;for(var f=this.createNode(),p=this.parseDirectivePrologues();this.lookahead.type!==2;)p.push(this.parseStatementListItem());return this.finalize(f,new o.Module(p))},h.prototype.parseScript=function(){for(var f=this.createNode(),p=this.parseDirectivePrologues();this.lookahead.type!==2;)p.push(this.parseStatementListItem());return this.finalize(f,new o.Script(p))},h.prototype.parseModuleSpecifier=function(){var f=this.createNode();this.lookahead.type!==8&&this.throwError(s.Messages.InvalidModuleSpecifier);var p=this.nextToken(),m=this.getTokenRaw(p);return this.finalize(f,new o.Literal(p.value,m))},h.prototype.parseImportSpecifier=function(){var f=this.createNode(),p,m;return this.lookahead.type===3?(p=this.parseVariableIdentifier(),m=p,this.matchContextualKeyword("as")&&(this.nextToken(),m=this.parseVariableIdentifier())):(p=this.parseIdentifierName(),m=p,this.matchContextualKeyword("as")?(this.nextToken(),m=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(f,new o.ImportSpecifier(m,p))},h.prototype.parseNamedImports=function(){this.expect("{");for(var f=[];!this.match("}");)f.push(this.parseImportSpecifier()),this.match("}")||this.expect(",");return this.expect("}"),f},h.prototype.parseImportDefaultSpecifier=function(){var f=this.createNode(),p=this.parseIdentifierName();return this.finalize(f,new o.ImportDefaultSpecifier(p))},h.prototype.parseImportNamespaceSpecifier=function(){var f=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(s.Messages.NoAsAfterImportNamespace),this.nextToken();var p=this.parseIdentifierName();return this.finalize(f,new o.ImportNamespaceSpecifier(p))},h.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(s.Messages.IllegalImportDeclaration);var f=this.createNode();this.expectKeyword("import");var p,m=[];if(this.lookahead.type===8)p=this.parseModuleSpecifier();else{if(this.match("{")?m=m.concat(this.parseNamedImports()):this.match("*")?m.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(m.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?m.push(this.parseImportNamespaceSpecifier()):this.match("{")?m=m.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){var g=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(g,this.lookahead.value)}this.nextToken(),p=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(f,new o.ImportDeclaration(m,p))},h.prototype.parseExportSpecifier=function(){var f=this.createNode(),p=this.parseIdentifierName(),m=p;return this.matchContextualKeyword("as")&&(this.nextToken(),m=this.parseIdentifierName()),this.finalize(f,new o.ExportSpecifier(p,m))},h.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(s.Messages.IllegalExportDeclaration);var f=this.createNode();this.expectKeyword("export");var p;if(this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){var m=this.parseFunctionDeclaration(!0);p=this.finalize(f,new o.ExportDefaultDeclaration(m))}else if(this.matchKeyword("class")){var m=this.parseClassDeclaration(!0);p=this.finalize(f,new o.ExportDefaultDeclaration(m))}else if(this.matchContextualKeyword("async")){var m=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression();p=this.finalize(f,new o.ExportDefaultDeclaration(m))}else{this.matchContextualKeyword("from")&&this.throwError(s.Messages.UnexpectedToken,this.lookahead.value);var m=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression();this.consumeSemicolon(),p=this.finalize(f,new o.ExportDefaultDeclaration(m))}else if(this.match("*")){if(this.nextToken(),!this.matchContextualKeyword("from")){var g=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(g,this.lookahead.value)}this.nextToken();var x=this.parseModuleSpecifier();this.consumeSemicolon(),p=this.finalize(f,new o.ExportAllDeclaration(x))}else if(this.lookahead.type===4){var m=void 0;switch(this.lookahead.value){case"let":case"const":m=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":m=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}p=this.finalize(f,new o.ExportNamedDeclaration(m,[],null))}else if(this.matchAsyncFunction()){var m=this.parseFunctionDeclaration();p=this.finalize(f,new o.ExportNamedDeclaration(m,[],null))}else{var b=[],y=null,D=!1;for(this.expect("{");!this.match("}");)D=D||this.matchKeyword("default"),b.push(this.parseExportSpecifier()),this.match("}")||this.expect(",");if(this.expect("}"),this.matchContextualKeyword("from"))this.nextToken(),y=this.parseModuleSpecifier(),this.consumeSemicolon();else if(D){var g=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(g,this.lookahead.value)}else this.consumeSemicolon();p=this.finalize(f,new o.ExportNamedDeclaration(null,b,y))}return p},h}();t.Parser=d},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});function n(r,i){if(!r)throw new Error("ASSERT: "+i)}t.assert=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function r(){this.errors=[],this.tolerant=!1}return r.prototype.recordError=function(i){this.errors.push(i)},r.prototype.tolerate=function(i){if(this.tolerant)this.recordError(i);else throw i},r.prototype.constructError=function(i,s){var o=new Error(i);try{throw o}catch(a){Object.create&&Object.defineProperty&&(o=Object.create(a),Object.defineProperty(o,"column",{value:s}))}return o},r.prototype.createError=function(i,s,o,a){var u="Line "+s+": "+a,c=this.constructError(u,o);return c.index=i,c.lineNumber=s,c.description=a,c},r.prototype.throwError=function(i,s,o,a){throw this.createError(i,s,o,a)},r.prototype.tolerateError=function(i,s,o,a){var u=this.createError(i,s,o,a);if(this.tolerant)this.recordError(u);else throw u},r}();t.ErrorHandler=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),i=n(4),s=n(11);function o(c){return"0123456789abcdef".indexOf(c.toLowerCase())}function a(c){return"01234567".indexOf(c)}var u=function(){function c(l,d){this.source=l,this.errorHandler=d,this.trackComment=!1,this.isModule=!1,this.length=l.length,this.index=0,this.lineNumber=l.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return c.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},c.prototype.restoreState=function(l){this.index=l.index,this.lineNumber=l.lineNumber,this.lineStart=l.lineStart},c.prototype.eof=function(){return this.index>=this.length},c.prototype.throwUnexpectedToken=function(l){return l===void 0&&(l=s.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,l)},c.prototype.tolerateUnexpectedToken=function(l){l===void 0&&(l=s.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,l)},c.prototype.skipSingleLineComment=function(l){var d=[],h,f;for(this.trackComment&&(d=[],h=this.index-l,f={start:{line:this.lineNumber,column:this.index-this.lineStart-l},end:{}});!this.eof();){var p=this.source.charCodeAt(this.index);if(++this.index,i.Character.isLineTerminator(p)){if(this.trackComment){f.end={line:this.lineNumber,column:this.index-this.lineStart-1};var m={multiLine:!1,slice:[h+l,this.index-1],range:[h,this.index-1],loc:f};d.push(m)}return p===13&&this.source.charCodeAt(this.index)===10&&++this.index,++this.lineNumber,this.lineStart=this.index,d}}if(this.trackComment){f.end={line:this.lineNumber,column:this.index-this.lineStart};var m={multiLine:!1,slice:[h+l,this.index],range:[h,this.index],loc:f};d.push(m)}return d},c.prototype.skipMultiLineComment=function(){var l=[],d,h;for(this.trackComment&&(l=[],d=this.index-2,h={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var f=this.source.charCodeAt(this.index);if(i.Character.isLineTerminator(f))f===13&&this.source.charCodeAt(this.index+1)===10&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(f===42){if(this.source.charCodeAt(this.index+1)===47){if(this.index+=2,this.trackComment){h.end={line:this.lineNumber,column:this.index-this.lineStart};var p={multiLine:!0,slice:[d+2,this.index-2],range:[d,this.index],loc:h};l.push(p)}return l}++this.index}else++this.index}if(this.trackComment){h.end={line:this.lineNumber,column:this.index-this.lineStart};var p={multiLine:!0,slice:[d+2,this.index],range:[d,this.index],loc:h};l.push(p)}return this.tolerateUnexpectedToken(),l},c.prototype.scanComments=function(){var l;this.trackComment&&(l=[]);for(var d=this.index===0;!this.eof();){var h=this.source.charCodeAt(this.index);if(i.Character.isWhiteSpace(h))++this.index;else if(i.Character.isLineTerminator(h))++this.index,h===13&&this.source.charCodeAt(this.index)===10&&++this.index,++this.lineNumber,this.lineStart=this.index,d=!0;else if(h===47)if(h=this.source.charCodeAt(this.index+1),h===47){this.index+=2;var f=this.skipSingleLineComment(2);this.trackComment&&(l=l.concat(f)),d=!0}else if(h===42){this.index+=2;var f=this.skipMultiLineComment();this.trackComment&&(l=l.concat(f))}else break;else if(d&&h===45)if(this.source.charCodeAt(this.index+1)===45&&this.source.charCodeAt(this.index+2)===62){this.index+=3;var f=this.skipSingleLineComment(3);this.trackComment&&(l=l.concat(f))}else break;else if(h===60&&!this.isModule)if(this.source.slice(this.index+1,this.index+4)==="!--"){this.index+=4;var f=this.skipSingleLineComment(4);this.trackComment&&(l=l.concat(f))}else break;else break}return l},c.prototype.isFutureReservedWord=function(l){switch(l){case"enum":case"export":case"import":case"super":return!0;default:return!1}},c.prototype.isStrictModeReservedWord=function(l){switch(l){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}},c.prototype.isRestrictedWord=function(l){return l==="eval"||l==="arguments"},c.prototype.isKeyword=function(l){switch(l.length){case 2:return l==="if"||l==="in"||l==="do";case 3:return l==="var"||l==="for"||l==="new"||l==="try"||l==="let";case 4:return l==="this"||l==="else"||l==="case"||l==="void"||l==="with"||l==="enum";case 5:return l==="while"||l==="break"||l==="catch"||l==="throw"||l==="const"||l==="yield"||l==="class"||l==="super";case 6:return l==="return"||l==="typeof"||l==="delete"||l==="switch"||l==="export"||l==="import";case 7:return l==="default"||l==="finally"||l==="extends";case 8:return l==="function"||l==="continue"||l==="debugger";case 10:return l==="instanceof";default:return!1}},c.prototype.codePointAt=function(l){var d=this.source.charCodeAt(l);if(d>=55296&&d<=56319){var h=this.source.charCodeAt(l+1);if(h>=56320&&h<=57343){var f=d;d=(f-55296)*1024+h-56320+65536}}return d},c.prototype.scanHexEscape=function(l){for(var d=l==="u"?4:2,h=0,f=0;f1114111||l!=="}")&&this.throwUnexpectedToken(),i.Character.fromCodePoint(d)},c.prototype.getIdentifier=function(){for(var l=this.index++;!this.eof();){var d=this.source.charCodeAt(this.index);if(d===92)return this.index=l,this.getComplexIdentifier();if(d>=55296&&d<57343)return this.index=l,this.getComplexIdentifier();if(i.Character.isIdentifierPart(d))++this.index;else break}return this.source.slice(l,this.index)},c.prototype.getComplexIdentifier=function(){var l=this.codePointAt(this.index),d=i.Character.fromCodePoint(l);this.index+=d.length;var h;for(l===92&&(this.source.charCodeAt(this.index)!==117&&this.throwUnexpectedToken(),++this.index,this.source[this.index]==="{"?(++this.index,h=this.scanUnicodeCodePointEscape()):(h=this.scanHexEscape("u"),(h===null||h==="\\"||!i.Character.isIdentifierStart(h.charCodeAt(0)))&&this.throwUnexpectedToken()),d=h);!this.eof()&&(l=this.codePointAt(this.index),!!i.Character.isIdentifierPart(l));)h=i.Character.fromCodePoint(l),d+=h,this.index+=h.length,l===92&&(d=d.substr(0,d.length-1),this.source.charCodeAt(this.index)!==117&&this.throwUnexpectedToken(),++this.index,this.source[this.index]==="{"?(++this.index,h=this.scanUnicodeCodePointEscape()):(h=this.scanHexEscape("u"),(h===null||h==="\\"||!i.Character.isIdentifierPart(h.charCodeAt(0)))&&this.throwUnexpectedToken()),d+=h);return d},c.prototype.octalToDecimal=function(l){var d=l!=="0",h=a(l);return!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(d=!0,h=h*8+a(this.source[this.index++]),"0123".indexOf(l)>=0&&!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(h=h*8+a(this.source[this.index++]))),{code:h,octal:d}},c.prototype.scanIdentifier=function(){var l,d=this.index,h=this.source.charCodeAt(d)===92?this.getComplexIdentifier():this.getIdentifier();if(h.length===1?l=3:this.isKeyword(h)?l=4:h==="null"?l=5:h==="true"||h==="false"?l=1:l=3,l!==3&&d+h.length!==this.index){var f=this.index;this.index=d,this.tolerateUnexpectedToken(s.Messages.InvalidEscapedReservedWord),this.index=f}return{type:l,value:h,lineNumber:this.lineNumber,lineStart:this.lineStart,start:d,end:this.index}},c.prototype.scanPunctuator=function(){var l=this.index,d=this.source[this.index];switch(d){case"(":case"{":d==="{"&&this.curlyStack.push("{"),++this.index;break;case".":++this.index,this.source[this.index]==="."&&this.source[this.index+1]==="."&&(this.index+=2,d="...");break;case"}":++this.index,this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:d=this.source.substr(this.index,4),d===">>>="?this.index+=4:(d=d.substr(0,3),d==="==="||d==="!=="||d===">>>"||d==="<<="||d===">>="||d==="**="?this.index+=3:(d=d.substr(0,2),d==="&&"||d==="||"||d==="=="||d==="!="||d==="+="||d==="-="||d==="*="||d==="/="||d==="++"||d==="--"||d==="<<"||d===">>"||d==="&="||d==="|="||d==="^="||d==="%="||d==="<="||d===">="||d==="=>"||d==="**"?this.index+=2:(d=this.source[this.index],"<>=!+-*%&|^/".indexOf(d)>=0&&++this.index)))}return this.index===l&&this.throwUnexpectedToken(),{type:7,value:d,lineNumber:this.lineNumber,lineStart:this.lineStart,start:l,end:this.index}},c.prototype.scanHexLiteral=function(l){for(var d="";!this.eof()&&i.Character.isHexDigit(this.source.charCodeAt(this.index));)d+=this.source[this.index++];return d.length===0&&this.throwUnexpectedToken(),i.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt("0x"+d,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:l,end:this.index}},c.prototype.scanBinaryLiteral=function(l){for(var d="",h;!this.eof()&&(h=this.source[this.index],!(h!=="0"&&h!=="1"));)d+=this.source[this.index++];return d.length===0&&this.throwUnexpectedToken(),this.eof()||(h=this.source.charCodeAt(this.index),(i.Character.isIdentifierStart(h)||i.Character.isDecimalDigit(h))&&this.throwUnexpectedToken()),{type:6,value:parseInt(d,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:l,end:this.index}},c.prototype.scanOctalLiteral=function(l,d){var h="",f=!1;for(i.Character.isOctalDigit(l.charCodeAt(0))?(f=!0,h="0"+this.source[this.index++]):++this.index;!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index));)h+=this.source[this.index++];return!f&&h.length===0&&this.throwUnexpectedToken(),(i.Character.isIdentifierStart(this.source.charCodeAt(this.index))||i.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(h,8),octal:f,lineNumber:this.lineNumber,lineStart:this.lineStart,start:d,end:this.index}},c.prototype.isImplicitOctalLiteral=function(){for(var l=this.index+1;l=0&&(f=f.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,function(m,g,x){var b=parseInt(g||x,16);return b>1114111&&p.throwUnexpectedToken(s.Messages.InvalidRegExp),b<=65535?String.fromCharCode(b):h}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,h));try{RegExp(f)}catch{this.throwUnexpectedToken(s.Messages.InvalidRegExp)}try{return new RegExp(l,d)}catch{return null}},c.prototype.scanRegExpBody=function(){var l=this.source[this.index];r.assert(l==="/","Regular expression literal must start with a slash");for(var d=this.source[this.index++],h=!1,f=!1;!this.eof();)if(l=this.source[this.index++],d+=l,l==="\\")l=this.source[this.index++],i.Character.isLineTerminator(l.charCodeAt(0))&&this.throwUnexpectedToken(s.Messages.UnterminatedRegExp),d+=l;else if(i.Character.isLineTerminator(l.charCodeAt(0)))this.throwUnexpectedToken(s.Messages.UnterminatedRegExp);else if(h)l==="]"&&(h=!1);else if(l==="/"){f=!0;break}else l==="["&&(h=!0);return f||this.throwUnexpectedToken(s.Messages.UnterminatedRegExp),d.substr(1,d.length-2)},c.prototype.scanRegExpFlags=function(){for(var l="",d="";!this.eof();){var h=this.source[this.index];if(!i.Character.isIdentifierPart(h.charCodeAt(0)))break;if(++this.index,h==="\\"&&!this.eof())if(h=this.source[this.index],h==="u"){++this.index;var f=this.index,p=this.scanHexEscape("u");if(p!==null)for(d+=p,l+="\\u";f=55296&&l<57343&&i.Character.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()},c}();t.Scanner=u},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenName={},t.TokenName[1]="Boolean",t.TokenName[2]="",t.TokenName[3]="Identifier",t.TokenName[4]="Keyword",t.TokenName[5]="Null",t.TokenName[6]="Numeric",t.TokenName[7]="Punctuator",t.TokenName[8]="String",t.TokenName[9]="RegularExpression",t.TokenName[10]="Template"},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.XHTMLEntities={quot:'"',amp:"&",apos:"'",gt:">",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",lang:"\u27E8",rang:"\u27E9"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(10),i=n(12),s=n(13),o=function(){function u(){this.values=[],this.curly=this.paren=-1}return u.prototype.beforeFunctionExpression=function(c){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(c)>=0},u.prototype.isRegexStart=function(){var c=this.values[this.values.length-1],l=c!==null;switch(c){case"this":case"]":l=!1;break;case")":var d=this.values[this.paren-1];l=d==="if"||d==="while"||d==="for"||d==="with";break;case"}":if(l=!1,this.values[this.curly-3]==="function"){var h=this.values[this.curly-4];l=h?!this.beforeFunctionExpression(h):!1}else if(this.values[this.curly-4]==="function"){var h=this.values[this.curly-5];l=h?!this.beforeFunctionExpression(h):!0}break;default:break}return l},u.prototype.push=function(c){c.type===7||c.type===4?(c.value==="{"?this.curly=this.values.length:c.value==="("&&(this.paren=this.values.length),this.values.push(c.value)):this.values.push(null)},u}(),a=function(){function u(c,l){this.errorHandler=new r.ErrorHandler,this.errorHandler.tolerant=l?typeof l.tolerant=="boolean"&&l.tolerant:!1,this.scanner=new i.Scanner(c,this.errorHandler),this.scanner.trackComment=l?typeof l.comment=="boolean"&&l.comment:!1,this.trackRange=l?typeof l.range=="boolean"&&l.range:!1,this.trackLoc=l?typeof l.loc=="boolean"&&l.loc:!1,this.buffer=[],this.reader=new o}return u.prototype.errors=function(){return this.errorHandler.errors},u.prototype.getNextToken=function(){if(this.buffer.length===0){var c=this.scanner.scanComments();if(this.scanner.trackComment)for(var l=0;l{function CJ(e){return Array.isArray?Array.isArray(e):_f(e)==="[object Array]"}Ze.isArray=CJ;function EJ(e){return typeof e=="boolean"}Ze.isBoolean=EJ;function DJ(e){return e===null}Ze.isNull=DJ;function SJ(e){return e==null}Ze.isNullOrUndefined=SJ;function wJ(e){return typeof e=="number"}Ze.isNumber=wJ;function AJ(e){return typeof e=="string"}Ze.isString=AJ;function kJ(e){return typeof e=="symbol"}Ze.isSymbol=kJ;function vJ(e){return e===void 0}Ze.isUndefined=vJ;function FJ(e){return _f(e)==="[object RegExp]"}Ze.isRegExp=FJ;function TJ(e){return typeof e=="object"&&e!==null}Ze.isObject=TJ;function IJ(e){return _f(e)==="[object Date]"}Ze.isDate=IJ;function _J(e){return _f(e)==="[object Error]"||e instanceof Error}Ze.isError=_J;function LJ(e){return typeof e=="function"}Ze.isFunction=LJ;function RJ(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e>"u"}Ze.isPrimitive=RJ;Ze.isBuffer=require("buffer").Buffer.isBuffer;function _f(e){return Object.prototype.toString.call(e)}});var iI=W((pCe,rI)=>{var YT=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9],te,ZT=e=>e<1e5?e<100?e<10?0:1:e<1e4?e<1e3?2:3:4:e<1e7?e<1e6?5:6:e<1e9?e<1e8?7:8:9;function QT(e,t){if(e===t)return 0;if(~~e===e&&~~t===t){if(e===0||t===0)return e=0)return-1;if(e>=0)return 1;e=-e,t=-t}let i=ZT(e),s=ZT(t),o=0;return is&&(t*=YT[i-s-1],e/=10,o=1),e===t?o:e=32;)t|=e&1,e>>=1;return e+t}function eI(e,t,n,r){let i=t+1;if(i===n)return 1;if(r(e[i++],e[t])<0){for(;i=0;)i++;return i-t}function tI(e,t,n){for(n--;t>>1;i(s,e[l])<0?u=l:a=l+1}let c=r-a;switch(c){case 3:e[a+3]=e[a+2],te[a+3]=te[a+2];case 2:e[a+2]=e[a+1],te[a+2]=te[a+1];case 1:e[a+1]=e[a],te[a+1]=te[a];break;default:for(;c>0;)e[a+c]=e[a+c-1],te[a+c]=te[a+c-1],c--}e[a]=s,te[a]=o}}function tx(e,t,n,r,i,s){let o=0,a=0,u=1;if(s(e,t[n+i])>0){for(a=r-i;u0;)o=u,u=(u<<1)+1,u<=0&&(u=a);u>a&&(u=a),o+=i,u+=i}else{for(a=i+1;ua&&(u=a);let c=o;o=i-u,u=i-c}for(o++;o>>1);s(e,t[n+c])>0?o=c+1:u=c}return u}function nx(e,t,n,r,i,s){let o=0,a=0,u=1;if(s(e,t[n+i])<0){for(a=i+1;ua&&(u=a);let c=o;o=i-u,u=i-c}else{for(a=r-i;u=0;)o=u,u=(u<<1)+1,u<=0&&(u=a);u>a&&(u=a),o+=i,u+=i}for(o++;o>>1);s(e,t[n+c])<0?u=c:o=c+1}return u}var rx=class{constructor(t,n){this.array=t,this.compare=n;let{length:r}=t;this.length=r,this.minGallop=7,this.tmpStorageLength=r<2*256?r>>>1:256,this.tmp=new Array(this.tmpStorageLength),this.tmpIndex=new Array(this.tmpStorageLength),this.stackLength=r<120?5:r<1542?10:r<119151?19:40,this.runStart=new Array(this.stackLength),this.runLength=new Array(this.stackLength),this.stackSize=0}pushRun(t,n){this.runStart[this.stackSize]=t,this.runLength[this.stackSize]=n,this.stackSize+=1}mergeRuns(){for(;this.stackSize>1;){let t=this.stackSize-2;if(t>=1&&this.runLength[t-1]<=this.runLength[t]+this.runLength[t+1]||t>=2&&this.runLength[t-2]<=this.runLength[t]+this.runLength[t-1])this.runLength[t-1]this.runLength[t+1])break;this.mergeAt(t)}}forceMergeRuns(){for(;this.stackSize>1;){let t=this.stackSize-2;t>0&&this.runLength[t-1]=7||m>=7);if(g)break;f<0&&(f=0),f+=2}if(this.minGallop=f,f<1&&(this.minGallop=1),n===1){for(c=0;c=0;c--)o[p+c]=o[f+c],te[p+c]=te[f+c];o[h]=a[d],te[h]=u[d];return}let{minGallop:m}=this;for(;;){let g=0,x=0,b=!1;do if(s(a[d],o[l])<0){if(o[h]=o[l],te[h]=te[l],h--,l--,g++,x=0,--n===0){b=!0;break}}else if(o[h]=a[d],te[h]=u[d],h--,d--,x++,g=0,--i===1){b=!0;break}while((g|x)=0;c--)o[p+c]=o[f+c],te[p+c]=te[f+c];if(n===0){b=!0;break}}if(o[h]=a[d],te[h]=u[d],h--,d--,--i===1){b=!0;break}if(x=i-tx(o[l],a,0,i,i-1,s),x!==0){for(h-=x,d-=x,i-=x,p=h+1,f=d+1,c=0;c=7||x>=7);if(b)break;m<0&&(m=0),m+=2}if(this.minGallop=m,m<1&&(this.minGallop=1),i===1){for(h-=n,l-=n,p=h+1,f=l+1,c=n-1;c>=0;c--)o[p+c]=o[f+c],te[p+c]=te[f+c];o[h]=a[d],te[h]=u[d]}else{if(i===0)throw new Error("mergeHigh preconditions were not respected");for(f=h-(i-1),c=0;cc&&(l=c),nI(e,n,n+l,n+a,t),a=l}u.pushRun(n,a),u.mergeRuns(),o-=a,n+=a}while(o!==0);return u.forceMergeRuns(),te}rI.exports={sort:BJ}});var oI=W((mCe,sI)=>{"use strict";var MJ=Object.prototype.hasOwnProperty;sI.exports=(e,t)=>MJ.call(e,t)});var Fa=W((gCe,xI)=>{var ox=oI(),{isObject:aI,isArray:PJ,isString:OJ,isNumber:UJ}=Lf(),ax="before",cI="after-prop",lI="after-colon",fI="after-value",dI="after",hI="before-all",pI="after-all",zJ="[",qJ="]",jJ="{",WJ="}",$J=",",HJ="",GJ="-",ux=[ax,cI,lI,fI,dI],VJ=[ax,hI,pI].map(Symbol.for),mI=":",uI=void 0,va=(e,t)=>Symbol.for(e+mI+t),Rf=(e,t,n)=>Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0}),sx=(e,t,n,r,i,s)=>{let o=va(i,r);if(!ox(t,o))return;let a=n===r?o:va(i,n);Rf(e,a,t[o]),s&&delete t[o]},gI=(e,t,n,r,i)=>{ux.forEach(s=>{sx(e,t,n,r,s,i)})},KJ=(e,t,n)=>{t!==n&&ux.forEach(r=>{let i=va(r,n);if(!ox(e,i)){sx(e,e,n,t,r,!0);return}let s=e[i];delete e[i],sx(e,e,n,t,r,!0),Rf(e,va(r,t),s)})},ix=(e,t)=>{VJ.forEach(n=>{let r=t[n];r&&Rf(e,n,r)})},XJ=(e,t,n)=>(n.forEach(r=>{!OJ(r)&&!UJ(r)||ox(t,r)&&(e[r]=t[r],gI(e,t,r,r))}),e);xI.exports={SYMBOL_PREFIXES:ux,PREFIX_BEFORE:ax,PREFIX_AFTER_PROP:cI,PREFIX_AFTER_COLON:lI,PREFIX_AFTER_VALUE:fI,PREFIX_AFTER:dI,PREFIX_BEFORE_ALL:hI,PREFIX_AFTER_ALL:pI,BRACKET_OPEN:zJ,BRACKET_CLOSE:qJ,CURLY_BRACKET_OPEN:jJ,CURLY_BRACKET_CLOSE:WJ,COLON:mI,COMMA:$J,MINUS:GJ,EMPTY:HJ,UNDEFINED:uI,symbol:va,define:Rf,copy_comments:gI,swap_comments:KJ,assign_non_prop_comments:ix,assign(e,t,n){if(!aI(e))throw new TypeError("Cannot convert undefined or null to object");if(!aI(t))return e;if(n===uI)n=Object.keys(t),ix(e,t);else if(PJ(n))n.length===0&&ix(e,t);else throw new TypeError("keys must be array or undefined");return XJ(e,t,n)}}});var lx=W((xCe,DI)=>{var{isArray:JJ}=Lf(),{sort:YJ}=iI(),{SYMBOL_PREFIXES:ZJ,UNDEFINED:bI,symbol:QJ,copy_comments:eY,swap_comments:EI}=Fa(),tY=e=>{let{length:t}=e,n=0,r=t/2;for(;n{eY(e,t,n+r,n,i)},gs=(e,t,n,r,i,s)=>{if(i>0){let a=r;for(;a-- >0;)yI(e,t,n+a,i,s);return}let o=0;for(;o{ZJ.forEach(n=>{let r=QJ(n,t);delete e[r]})},nY=(e,t)=>{let n=t;for(;n in e;)n=e[n];return n},cx=class e extends Array{splice(...t){let{length:n}=this,r=super.splice(...t),[i,s,...o]=t;i<0&&(i+=n),arguments.length===1?s=n-i:s=Math.min(n-i,s);let{length:a}=o,u=a-s,c=i+s,l=n-c;return gs(this,this,c,l,u,!0),r}slice(...t){let{length:n}=this,r=super.slice(...t);if(!r.length)return new e;let[i,s]=t;return s===bI?s=n:s<0&&(s+=n),i<0?i+=n:i===bI&&(i=0),gs(r,this,i,s-i,-i),r}unshift(...t){let{length:n}=this,r=super.unshift(...t),{length:i}=t;return i>0&&gs(this,this,0,n,i,!0),r}shift(){let t=super.shift(),{length:n}=this;return CI(this,0),gs(this,this,1,n,-1,!0),t}reverse(){return super.reverse(),tY(this),this}pop(){let t=super.pop();return CI(this,this.length),t}concat(...t){let{length:n}=this,r=super.concat(...t);return t.length&&(gs(r,this,0,this.length,0),t.forEach(i=>{let s=n;n+=JJ(i)?i.length:1,i instanceof e&&gs(r,i,0,i.length,s)})),r}sort(...t){let n=YJ(this,...t.slice(0,1)),r=Object.create(null);return n.forEach((i,s)=>{if(i===s)return;let o=nY(r,i);o!==s&&(r[s]=o,EI(this,s,o))}),this}};DI.exports={CommentArray:cx}});var UI=W((bCe,OI)=>{var rY=JT(),{CommentArray:iY}=lx(),{PREFIX_BEFORE:Bf,PREFIX_AFTER_PROP:sY,PREFIX_AFTER_COLON:oY,PREFIX_AFTER_VALUE:kI,PREFIX_AFTER:dx,PREFIX_BEFORE_ALL:aY,PREFIX_AFTER_ALL:uY,BRACKET_OPEN:cY,BRACKET_CLOSE:SI,CURLY_BRACKET_OPEN:lY,CURLY_BRACKET_CLOSE:wI,COLON:vI,COMMA:FI,MINUS:AI,EMPTY:fY,UNDEFINED:Of,define:hx,assign_non_prop_comments:dY}=Fa(),TI=e=>rY.tokenize(e,{comment:!0,loc:!0}),px=[],xr=null,on=null,mx=[],br,II=!1,_I=!1,Ta=null,Ia=null,Qe=null,LI,Mf=null,RI=()=>{mx.length=px.length=0,Ia=null,br=Of},hY=()=>{RI(),Ta.length=0,on=xr=Ta=Ia=Qe=Mf=null},gx=e=>Symbol.for(br!==Of?e+vI+br:e),xx=(e,t)=>Mf?Mf(e,t):t,NI=()=>{let e=new SyntaxError(`Unexpected token ${Qe.value.slice(0,1)}`);throw Object.assign(e,Qe.loc.start),e},BI=()=>{let e=new SyntaxError("Unexpected end of JSON input");throw Object.assign(e,Ia?Ia.loc.end:{line:1,column:0}),e},Tt=()=>{let e=Ta[++LI];_I=Qe&&e&&Qe.loc.end.line===e.loc.start.line||!1,Ia=Qe,Qe=e},fx=()=>(Qe||BI(),Qe.type==="Punctuator"?Qe.value:Qe.type),si=e=>fx()===e,Nf=e=>{si(e)||NI()},bx=e=>{px.push(xr),xr=e},yx=()=>{xr=px.pop()},MI=()=>{if(!on)return;let e=[];for(let n of on)if(n.inline)e.push(n);else break;let{length:t}=e;t&&(t===on.length?on=null:on.splice(0,t),hx(xr,gx(dx),e))},gr=e=>{on&&(hx(xr,gx(e),on),on=null)},an=e=>{let t=[];for(;Qe&&(si("LineComment")||si("BlockComment"));){let n={...Qe,inline:_I};t.push(n),Tt()}if(!II&&t.length){if(e){hx(xr,gx(e),t);return}on=t}},Pf=(e,t)=>{t&&mx.push(br),br=e},PI=()=>{br=mx.pop()},pY=()=>{let e={};bx(e),Pf(Of,!0);let t=!1,n;for(an();!si(wI)&&!(t&&(gr(kI),Nf(FI),Tt(),an(),MI(),si(wI)));)t=!0,Nf("String"),n=JSON.parse(Qe.value),Pf(n),gr(Bf),Tt(),an(sY),Nf(vI),Tt(),an(oY),e[n]=xx(n,Cx()),an();return t&&gr(dx),Tt(),br=void 0,t||gr(Bf),yx(),PI(),e},mY=()=>{let e=new iY;bx(e),Pf(Of,!0);let t=!1,n=0;for(an();!si(SI)&&!(t&&(gr(kI),Nf(FI),Tt(),an(),MI(),si(SI)));)t=!0,Pf(n),gr(Bf),e[n]=xx(n,Cx()),n++,an();return t&&gr(dx),Tt(),br=void 0,t||gr(Bf),yx(),PI(),e};function Cx(){let e=fx();if(e===lY)return Tt(),pY();if(e===cY)return Tt(),mY();let t=fY;e===AI&&(Tt(),e=fx(),t=AI);let n;switch(e){case"String":case"Boolean":case"Null":case"Numeric":return n=Qe.value,Tt(),JSON.parse(t+n);default:}}var gY=e=>Object(e)===e,xY=(e,t,n)=>{RI(),Ta=TI(e),Mf=t,II=n,Ta.length||BI(),LI=-1,Tt(),bx({}),an(aY);let r=Cx();return an(uY),Qe&&NI(),!n&&r!==null&&(gY(r)||(r=new Object(r)),dY(r,xr)),yx(),r=xx("",r),hY(),r};OI.exports={parse:xY,tokenize:TI}});var qI=W((yCe,zI)=>{"use strict";var In="",Ex;zI.exports=bY;function bY(e,t){if(typeof e!="string")throw new TypeError("expected a string");if(t===1)return e;if(t===2)return e+e;var n=e.length*t;if(Ex!==e||typeof Ex>"u")Ex=e,In="";else if(In.length>=n)return In.substr(0,n);for(;n>In.length&&t>1;)t&1&&(In+=e),t>>=1,e+=e;return In+=e,In=In.substr(0,n),In}});var ZI=W((CCe,YI)=>{var{isArray:wx,isObject:jI,isFunction:Sx,isNumber:yY,isString:CY}=Lf(),EY=qI(),{PREFIX_BEFORE_ALL:DY,PREFIX_BEFORE:WI,PREFIX_AFTER_PROP:SY,PREFIX_AFTER_COLON:wY,PREFIX_AFTER_VALUE:AY,PREFIX_AFTER:Ax,PREFIX_AFTER_ALL:kY,BRACKET_OPEN:vY,BRACKET_CLOSE:FY,CURLY_BRACKET_OPEN:TY,CURLY_BRACKET_CLOSE:IY,COLON:_Y,COMMA:$I,EMPTY:bt,UNDEFINED:LY}=Fa(),Dx=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,kx=" ",oi=` +`,HI="null",GI=e=>`${WI}:${e}`,RY=e=>`${SY}:${e}`,NY=e=>`${wY}:${e}`,VI=e=>`${AY}:${e}`,KI=e=>`${Ax}:${e}`,BY={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},MY=e=>(Dx.lastIndex=0,Dx.test(e)?e.replace(Dx,t=>{let n=BY[t];return typeof n=="string"?n:t}):e),XI=e=>`"${MY(e)}"`,PY=(e,t)=>t?`//${e}`:`/*${e}*/`,xt=(e,t,n,r)=>{let i=e[Symbol.for(t)];if(!i||!i.length)return bt;let s=!1,o=i.reduce((a,{inline:u,type:c,value:l})=>{let d=u?kx:oi+n;return s=c==="LineComment",a+d+PY(l,s)},bt);return r||s?o+oi+n:o},xs=null,La=bt,OY=()=>{xs=null,La=bt},_a=(e,t,n)=>e?t?e+t.trim()+oi+n:e.trimRight()+oi+n:t?t.trimRight()+oi+n:bt,JI=(e,t,n)=>{let r=xt(t,WI,n+La,!0);return _a(r,e,n)},UY=(e,t)=>{let n=t+La,{length:r}=e,i=bt,s=bt;for(let o=0;o{if(!e)return"null";let n=t+La,r=bt,i=bt,s=!0,o=wx(xs)?xs:Object.keys(e),a=u=>{let c=vx(u,e,n);if(c===LY)return;s||(r+=$I),s=!1;let l=_a(i,xt(e,GI(u),n),n);r+=l||oi+n,r+=XI(u)+xt(e,RY(u),n)+_Y+xt(e,NY(u),n)+kx+c+xt(e,VI(u),n),i=xt(e,KI(u),n)};return o.forEach(a),r+=_a(i,xt(e,Ax,n),n),TY+JI(r,e,t)+IY};function vx(e,t,n){let r=t[e];switch(jI(r)&&Sx(r.toJSON)&&(r=r.toJSON(e)),Sx(xs)&&(r=xs.call(t,e,r)),typeof r){case"string":return XI(r);case"number":return Number.isFinite(r)?String(r):HI;case"boolean":case"null":return String(r);case"object":return wx(r)?UY(r,n):zY(r,n);default:}}var qY=e=>CY(e)?e:yY(e)?EY(kx,e):bt,{toString:jY}=Object.prototype,WY=["[object Number]","[object String]","[object Boolean]"],$Y=e=>{if(typeof e!="object")return!1;let t=jY.call(e);return WY.includes(t)};YI.exports=(e,t,n)=>{let r=qY(n);if(!r)return JSON.stringify(e,t);!Sx(t)&&!wx(t)&&(t=null),xs=t,La=r;let i=$Y(e)?JSON.stringify(e):vx("",{"":e},bt);return OY(),jI(e)?xt(e,DY,bt).trimLeft()+i+xt(e,kY,bt).trimRight():i}});var e_=W((ECe,QI)=>{var{parse:HY,tokenize:GY}=UI(),VY=ZI(),{CommentArray:KY}=lx(),{assign:XY}=Fa();QI.exports={parse:HY,stringify:VY,tokenize:GY,CommentArray:KY,assign:XY}});var t1=W((FDe,e1)=>{"use strict";var H_=()=>{let e=Error.prepareStackTrace;Error.prepareStackTrace=(n,r)=>r;let t=new Error().stack.slice(1);return Error.prepareStackTrace=e,t};e1.exports=H_;e1.exports.default=H_});var V_=W((TDe,G_)=>{"use strict";var nQ=t1();G_.exports=e=>{let t=nQ();if(!e)return t[2].getFileName();let n=!1;t.shift();for(let r of t){let i=r.getFileName();if(typeof i=="string"){if(i===e){n=!0;continue}if(i!=="module.js"&&n&&i!==e)return i}}}});var Q_=W((IDe,Z_)=>{"use strict";var K_=require("path"),X_=ug(),J_=V_(),Y_=e=>{try{return X_(K_.dirname(J_(__filename)),e)}catch{}},Ss=e=>{if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);let t=Y_(e);if(t){if(require.cache[t]&&require.cache[t].parent){let n=require.cache[t].parent.children.length;for(;n--;)require.cache[t].parent.children[n].id===t&&require.cache[t].parent.children.splice(n,1)}if(require.cache[t]){let n=require.cache[t].children.map(r=>r.id);delete require.cache[t];for(let r of n)Ss(r)}}};Ss.all=()=>{let e=K_.dirname(J_(__filename));for(let t of Object.keys(require.cache))delete require.cache[X_(e,t)]};Ss.match=e=>{for(let t of Object.keys(require.cache))e.test(t)&&Ss(t)};Ss.single=e=>{if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);delete require.cache[Y_(e)]};Z_.exports=Ss});var rL=W((_De,n1)=>{"use strict";var eL=require("path"),tL=require("module"),rQ=require("fs"),nL=(e,t,n)=>{if(typeof e!="string")throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof e}\``);if(typeof t!="string")throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof t}\``);try{e=rQ.realpathSync(e)}catch(s){if(s.code==="ENOENT")e=eL.resolve(e);else{if(n)return null;throw s}}let r=eL.join(e,"noop.js"),i=()=>tL._resolveFilename(t,{id:r,filename:r,paths:tL._nodeModulePaths(e)});if(n)try{return i()}catch{return null}return i()};n1.exports=(e,t)=>nL(e,t);n1.exports.silent=(e,t)=>nL(e,t,!0)});var sL=W((LDe,iL)=>{"use strict";var iQ=t1();iL.exports=e=>{let t=iQ();if(!e)return t[2].getFileName();let n=!1;t.shift();for(let r of t){let i=r.getFileName();if(typeof i=="string"){if(i===e){n=!0;continue}if(i!=="module.js"&&n&&i!==e)return i}}}});var aL=W((RDe,oL)=>{"use strict";var sQ=require("path"),oQ=rL(),aQ=sL();oL.exports=e=>{if(typeof e!="string")throw new TypeError("Expected a string");let t=aQ(__filename),n=t?sQ.dirname(t):__dirname,r=oQ(n,e),i=require.cache[r];if(i&&i.parent){let o=i.parent.children.length;for(;o--;)i.parent.children[o].id===r&&i.parent.children.splice(o,1)}delete require.cache[r];let s=require.cache[t];return s===void 0||s.require===void 0?require(r):s.require(r)}});var W4=B(require("path")),bd=B(require("fs"));var Q1="()",eb="(```[\\s\\S]*?```)",tb="((?\\s.*(?=\\n|$))",ib="((?:^|\\n)\\s*(?:\\*{3,}|-{3,}|_{3,})(?=\\n|$))",sb="((?:^|\\n)(?:[+-]|\\d+\\.)\\s.*(?=\\n|$))",ob="((?:^|\\n)\\s*\\|.*\\|.*(?=\\n|$))",ab="(\\*\\*.*?\\*\\*)|(__.*?__)",ub="(\\*.*?\\*)|(_.*?_)",cb="(~~.*?~~)",lb="(!\\[[^\\]]*\\]\\([^)]+\\))",fb="((?]*?>)",db="(\\[[^\\]]+\\]\\[[^\\]]*\\])",hb="((?:^|\\n)\\s*>\\s*\\[!NOTE\\]|\\[!TIP\\]|\\[!IMPORTANT\\]|\\[!WARNING\\]|\\[!CAUTION\\].*(?=\\n|$))";var pb=new Set("\uFF0C\u3002\uFF01\uFF1F\uFF1B\uFF1A\u201C\u201D\u2018\u2019\u300C\u300D\u300E\u300F\uFF08\uFF09\u3010\u3011\u300A\u300B\u2026\uFF5E"),hR=new Set("\u201C\u201D\u2018\u2019\u3002\uFF0C\u3001\uFF1B\uFF1A\uFF1F\uFF01\uFF08\uFF09\u3010\u3011\u300A\u300B\u3008\u3009\u300C\u300D\u300E\u300F\u3016\u3017\u3014\u3015\xB7\u2014\u2026\uFF5E"),mb=new Set(`.?!,;:"'()`),pR=new Set("!\"#$%&'()*+,-./:;<=>?@[]^_`{|}~");var Td={};Is(Td,{arrayReplaceAt:()=>Fd,assign:()=>pi,escapeHtml:()=>ln,escapeRE:()=>YR,fromCodePoint:()=>Rs,has:()=>zR,isMdAsciiPunct:()=>kr,isPunctChar:()=>Ar,isSpace:()=>xe,isString:()=>mu,isValidEntityCode:()=>gu,isWhiteSpace:()=>wr,lib:()=>ZR,normalizeReference:()=>vr,unescapeAll:()=>cn,unescapeMd:()=>HR});var uu={};Is(uu,{decode:()=>_s,encode:()=>ou,format:()=>di,parse:()=>Ls});var gb={};function mR(e){let t=gb[e];if(t)return t;t=gb[e]=[];for(let n=0;n<128;n++){let r=String.fromCharCode(n);t.push(r)}for(let n=0;n=55296&&l<=57343?i+="\uFFFD\uFFFD\uFFFD":i+=String.fromCharCode(l),s+=6;continue}}if((a&248)===240&&s+91114111?i+="\uFFFD\uFFFD\uFFFD\uFFFD":(d-=65536,i+=String.fromCharCode(55296+(d>>10),56320+(d&1023))),s+=9;continue}}i+="\uFFFD"}return i})}iu.defaultChars=";/?:@&=+$,#";iu.componentChars="";var _s=iu;var xb={};function gR(e){let t=xb[e];if(t)return t;t=xb[e]=[];for(let n=0;n<128;n++){let r=String.fromCharCode(n);/^[0-9a-z]$/i.test(r)?t.push(r):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n"u"&&(n=!0);let r=gR(t),i="";for(let s=0,o=e.length;s=55296&&a<=57343){if(a>=55296&&a<=56319&&s+1=56320&&u<=57343){i+=encodeURIComponent(e[s]+e[s+1]),s++;continue}}i+="%EF%BF%BD";continue}i+=encodeURIComponent(e[s])}return i}su.defaultChars=";/?:@&=+$,-_.!~*'()#";su.componentChars="-_.!~*'()";var ou=su;function di(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function au(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var xR=/^([a-z0-9.+-]+:)/i,bR=/:[0-9]*$/,yR=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,CR=["<",">",'"',"`"," ","\r",` +`," "],ER=["{","}","|","\\","^","`"].concat(CR),DR=["'"].concat(ER),bb=["%","/","?",";","#"].concat(DR),yb=["/","?","#"],SR=255,Cb=/^[+a-z0-9A-Z_-]{0,63}$/,wR=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Eb={javascript:!0,"javascript:":!0},Db={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function AR(e,t){if(e&&e instanceof au)return e;let n=new au;return n.parse(e,t),n}au.prototype.parse=function(e,t){let n,r,i,s=e;if(s=s.trim(),!t&&e.split("#").length===1){let c=yR.exec(s);if(c)return this.pathname=c[1],c[2]&&(this.search=c[2]),this}let o=xR.exec(s);if(o&&(o=o[0],n=o.toLowerCase(),this.protocol=o,s=s.substr(o.length)),(t||o||s.match(/^\/\/[^@\/]+@[^@\/]+/))&&(i=s.substr(0,2)==="//",i&&!(o&&Eb[o])&&(s=s.substr(2),this.slashes=!0)),!Eb[o]&&(i||o&&!Db[o])){let c=-1;for(let p=0;p127?b+="x":b+=x[y];if(!b.match(Cb)){let y=p.slice(0,m),D=p.slice(m+1),w=x.match(wR);w&&(y.push(w[1]),D.unshift(w[2])),D.length&&(s=D.join(".")+s),this.hostname=y.join(".");break}}}}this.hostname.length>SR&&(this.hostname=""),f&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}let a=s.indexOf("#");a!==-1&&(this.hash=s.substr(a),s=s.slice(0,a));let u=s.indexOf("?");return u!==-1&&(this.search=s.substr(u),s=s.slice(0,u)),s&&(this.pathname=s),Db[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};au.prototype.parseHost=function(e){let t=bR.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};var Ls=AR;var Ed={};Is(Ed,{Any:()=>cu,Cc:()=>lu,Cf:()=>Sb,P:()=>hi,S:()=>fu,Z:()=>du});var cu=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var lu=/[\0-\x1F\x7F-\x9F]/;var Sb=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/;var hi=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;var fu=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/;var du=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;var wb=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(e=>e.charCodeAt(0)));var Ab=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(e=>e.charCodeAt(0)));var Dd,kR=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Sd=(Dd=String.fromCodePoint)!==null&&Dd!==void 0?Dd:function(e){let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function wd(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=kR.get(e))!==null&&t!==void 0?t:e}var We;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(We||(We={}));var vR=32,Rn;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(Rn||(Rn={}));function Ad(e){return e>=We.ZERO&&e<=We.NINE}function FR(e){return e>=We.UPPER_A&&e<=We.UPPER_F||e>=We.LOWER_A&&e<=We.LOWER_F}function TR(e){return e>=We.UPPER_A&&e<=We.UPPER_Z||e>=We.LOWER_A&&e<=We.LOWER_Z||Ad(e)}function IR(e){return e===We.EQUALS||TR(e)}var je;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(je||(je={}));var qt;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(qt||(qt={}));var hu=class{constructor(t,n,r){this.decodeTree=t,this.emitCodePoint=n,this.errors=r,this.state=je.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=qt.Strict}startEntity(t){this.decodeMode=t,this.state=je.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,n){switch(this.state){case je.EntityStart:return t.charCodeAt(n)===We.NUM?(this.state=je.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=je.NamedEntity,this.stateNamedEntity(t,n));case je.NumericStart:return this.stateNumericStart(t,n);case je.NumericDecimal:return this.stateNumericDecimal(t,n);case je.NumericHex:return this.stateNumericHex(t,n);case je.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|vR)===We.LOWER_X?(this.state=je.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=je.NumericDecimal,this.stateNumericDecimal(t,n))}addToNumericResult(t,n,r,i){if(n!==r){let s=r-n;this.result=this.result*Math.pow(i,s)+parseInt(t.substr(n,s),i),this.consumed+=s}}stateNumericHex(t,n){let r=n;for(;n>14;for(;n>14,s!==0){if(o===We.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==qt.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;let{result:n,decodeTree:r}=this,i=(r[n]&Rn.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,i,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,r){let{decodeTree:i}=this;return this.emitCodePoint(n===1?i[t]&~Rn.VALUE_LENGTH:i[t+1],r),n===3&&this.emitCodePoint(i[t+2],r),r}end(){var t;switch(this.state){case je.NamedEntity:return this.result!==0&&(this.decodeMode!==qt.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case je.NumericDecimal:return this.emitNumericEntity(0,2);case je.NumericHex:return this.emitNumericEntity(0,3);case je.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case je.EntityStart:return 0}}};function kb(e){let t="",n=new hu(e,r=>t+=Sd(r));return function(i,s){let o=0,a=0;for(;(a=i.indexOf("&",a))>=0;){t+=i.slice(o,a),n.startEntity(s);let c=n.write(i,a+1);if(c<0){o=a+n.end();break}o=a+c,a=c===0?o+1:o}let u=t+i.slice(o);return t="",u}}function _R(e,t,n,r){let i=(t&Rn.BRANCH_LENGTH)>>7,s=t&Rn.JUMP_TABLE;if(i===0)return s!==0&&r===s?n:-1;if(s){let u=r-s;return u<0||u>=i?-1:e[n+u]-1}let o=n,a=o+i-1;for(;o<=a;){let u=o+a>>>1,c=e[u];if(cr)a=u-1;else return e[u+i]}return-1}var LR=kb(wb),qne=kb(Ab);function Nn(e,t=qt.Legacy){return LR(e,t)}function pu(e){for(let t=1;te.codePointAt(t):(e,t)=>(e.charCodeAt(t)&64512)===55296?(e.charCodeAt(t)-55296)*1024+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t);function kd(e,t){return function(r){let i,s=0,o="";for(;i=e.exec(r);)s!==i.index&&(o+=r.substring(s,i.index)),o+=t.get(i[0].charCodeAt(0)),s=i.index+1;return o+r.substring(s)}}var vb=kd(/[&<>'"]/g,NR),Fb=kd(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),Tb=kd(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]));var Ib;(function(e){e[e.XML=0]="XML",e[e.HTML=1]="HTML"})(Ib||(Ib={}));var _b;(function(e){e[e.UTF8=0]="UTF8",e[e.ASCII=1]="ASCII",e[e.Extensive=2]="Extensive",e[e.Attribute=3]="Attribute",e[e.Text=4]="Text"})(_b||(_b={}));function OR(e){return Object.prototype.toString.call(e)}function mu(e){return OR(e)==="[object String]"}var UR=Object.prototype.hasOwnProperty;function zR(e,t){return UR.call(e,t)}function pi(e){return Array.prototype.slice.call(arguments,1).forEach(function(n){if(n){if(typeof n!="object")throw new TypeError(n+"must be object");Object.keys(n).forEach(function(r){e[r]=n[r]})}}),e}function Fd(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function gu(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function Rs(e){if(e>65535){e-=65536;let t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var Nb=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,qR=/&([a-z#][a-z0-9]{1,31});/gi,jR=new RegExp(Nb.source+"|"+qR.source,"gi"),WR=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function $R(e,t){if(t.charCodeAt(0)===35&&WR.test(t)){let r=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return gu(r)?Rs(r):e}let n=Nn(e);return n!==e?n:e}function HR(e){return e.indexOf("\\")<0?e:e.replace(Nb,"$1")}function cn(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(jR,function(t,n,r){return n||$R(t,r)})}var GR=/[&<>"]/,VR=/[&<>"]/g,KR={"&":"&","<":"<",">":">",'"':"""};function XR(e){return KR[e]}function ln(e){return GR.test(e)?e.replace(VR,XR):e}var JR=/[.?*+^$[\]\\(){}|-]/g;function YR(e){return e.replace(JR,"\\$&")}function xe(e){switch(e){case 9:case 32:return!0}return!1}function wr(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function Ar(e){return hi.test(e)||fu.test(e)}function kr(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function vr(e){return e=e.trim().replace(/\s+/g," "),"\u1E9E".toLowerCase()==="\u1E7E"&&(e=e.replace(/ẞ/g,"\xDF")),e.toLowerCase().toUpperCase()}var ZR={mdurl:uu,ucmicro:Ed};var Rd={};Is(Rd,{parseLinkDestination:()=>_d,parseLinkLabel:()=>Id,parseLinkTitle:()=>Ld});function Id(e,t,n){let r,i,s,o,a=e.posMax,u=e.pos;for(e.pos=t+1,r=1;e.pos32))return s;if(r===41){if(o===0)break;o--}i++}return t===i||o!==0||(s.str=cn(e.slice(t,i)),s.pos=i,s.ok=!0),s}function Ld(e,t,n,r){let i,s=t,o={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(r)o.str=r.str,o.marker=r.marker;else{if(s>=n)return o;let a=e.charCodeAt(s);if(a!==34&&a!==39&&a!==40)return o;t++,s++,a===40&&(a=41),o.marker=a}for(;s"+ln(s.content)+""};jt.code_block=function(e,t,n,r,i){let s=e[t];return""+ln(e[t].content)+` +`};jt.fence=function(e,t,n,r,i){let s=e[t],o=s.info?cn(s.info).trim():"",a="",u="";if(o){let l=o.split(/(\s+)/g);a=l[0],u=l.slice(2).join("")}let c;if(n.highlight?c=n.highlight(s.content,a,u)||ln(s.content):c=ln(s.content),c.indexOf("${c} +`}return`
${c}
+`};jt.image=function(e,t,n,r,i){let s=e[t];return s.attrs[s.attrIndex("alt")][1]=i.renderInlineAsText(s.children,n,r),i.renderToken(e,t,n)};jt.hardbreak=function(e,t,n){return n.xhtmlOut?`
+`:`
+`};jt.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`
+`:`
+`:` +`};jt.text=function(e,t){return ln(e[t].content)};jt.html_block=function(e,t){return e[t].content};jt.html_inline=function(e,t){return e[t].content};function mi(){this.rules=pi({},jt)}mi.prototype.renderAttrs=function(t){let n,r,i;if(!t.attrs)return"";for(i="",n=0,r=t.attrs.length;n +`:">",s};mi.prototype.renderInline=function(e,t,n){let r="",i=this.rules;for(let s=0,o=e.length;s=0&&(r=this.attrs[n][1]),r};gi.prototype.attrJoin=function(t,n){let r=this.attrIndex(t);r<0?this.attrPush([t,n]):this.attrs[r][1]=this.attrs[r][1]+" "+n};var fn=gi;function Mb(e,t,n){this.src=e,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=t}Mb.prototype.Token=fn;var Pb=Mb;var QR=/\r\n?|\n/g,eN=/\0/g;function Nd(e){let t;t=e.src.replace(QR,` +`),t=t.replace(eN,"\uFFFD"),e.src=t}function Bd(e){let t;e.inlineMode?(t=new e.Token("inline","",0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function Md(e){let t=e.tokens;for(let n=0,r=t.length;n\s]/i.test(e)}function nN(e){return/^<\/a\s*>/i.test(e)}function Pd(e){let t=e.tokens;if(e.md.options.linkify)for(let n=0,r=t.length;n=0;o--){let a=i[o];if(a.type==="link_close"){for(o--;i[o].level!==a.level&&i[o].type!=="link_open";)o--;continue}if(a.type==="html_inline"&&(tN(a.content)&&s>0&&s--,nN(a.content)&&s++),!(s>0)&&a.type==="text"&&e.md.linkify.test(a.content)){let u=a.content,c=e.md.linkify.match(u),l=[],d=a.level,h=0;c.length>0&&c[0].index===0&&o>0&&i[o-1].type==="text_special"&&(c=c.slice(1));for(let f=0;fh){let w=new e.Token("text","",0);w.content=u.slice(h,x),w.level=d,l.push(w)}let b=new e.Token("link_open","a",1);b.attrs=[["href",m]],b.level=d++,b.markup="linkify",b.info="auto",l.push(b);let y=new e.Token("text","",0);y.content=g,y.level=d,l.push(y);let D=new e.Token("link_close","a",-1);D.level=--d,D.markup="linkify",D.info="auto",l.push(D),h=c[f].lastIndex}if(h=0;n--){let r=e[n];r.type==="text"&&!t&&(r.content=r.content.replace(iN,oN)),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function uN(e){let t=0;for(let n=e.length-1;n>=0;n--){let r=e[n];r.type==="text"&&!t&&Ob.test(r.content)&&(r.content=r.content.replace(/\+-/g,"\xB1").replace(/\.{2,}/g,"\u2026").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1\u2014").replace(/(^|\s)--(?=\s|$)/mg,"$1\u2013").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1\u2013")),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function Od(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(rN.test(e.tokens[t].content)&&aN(e.tokens[t].children),Ob.test(e.tokens[t].content)&&uN(e.tokens[t].children))}var cN=/['"]/,Ub=/['"]/g,zb="\u2019";function xu(e,t,n){return e.slice(0,t)+n+e.slice(t+1)}function lN(e,t){let n,r=[];for(let i=0;i=0&&!(r[n].level<=o);n--);if(r.length=n+1,s.type!=="text")continue;let a=s.content,u=0,c=a.length;e:for(;u=0)p=a.charCodeAt(l.index-1);else for(n=i-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){p=e[n].content.charCodeAt(e[n].content.length-1);break}let m=32;if(u=48&&p<=57&&(h=d=!1),d&&h&&(d=g,h=x),!d&&!h){f&&(s.content=xu(s.content,l.index,zb));continue}if(h)for(n=r.length-1;n>=0;n--){let D=r[n];if(r[n].level=0;t--)e.tokens[t].type!=="inline"||!cN.test(e.tokens[t].content)||lN(e.tokens[t].children,e)}function zd(e){let t,n,r=e.tokens,i=r.length;for(let s=0;s0&&this.level++,this.tokens.push(r),r};Wt.prototype.isEmpty=function(t){return this.bMarks[t]+this.tShift[t]>=this.eMarks[t]};Wt.prototype.skipEmptyLines=function(t){for(let n=this.lineMax;tn;)if(!xe(this.src.charCodeAt(--t)))return t+1;return t};Wt.prototype.skipChars=function(t,n){for(let r=this.src.length;tr;)if(n!==this.src.charCodeAt(--t))return t+1;return t};Wt.prototype.getLines=function(t,n,r,i){if(t>=n)return"";let s=new Array(n-t);for(let o=0,a=t;ar?s[o]=new Array(u-r+1).join(" ")+this.src.slice(l,d):s[o]=this.src.slice(l,d)}return s.join("")};Wt.prototype.Token=fn;var jb=Wt;var fN=65536;function Wd(e,t){let n=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];return e.src.slice(n,r)}function Wb(e){let t=[],n=e.length,r=0,i=e.charCodeAt(r),s=!1,o=0,a="";for(;rn)return!1;let i=t+1;if(e.sCount[i]=4)return!1;let s=e.bMarks[i]+e.tShift[i];if(s>=e.eMarks[i])return!1;let o=e.src.charCodeAt(s++);if(o!==124&&o!==45&&o!==58||s>=e.eMarks[i])return!1;let a=e.src.charCodeAt(s++);if(a!==124&&a!==45&&a!==58&&!xe(a)||o===45&&xe(a))return!1;for(;s=4)return!1;c=Wb(u),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop();let d=c.length;if(d===0||d!==l.length)return!1;if(r)return!0;let h=e.parentType;e.parentType="table";let f=e.md.block.ruler.getRules("blockquote"),p=e.push("table_open","table",1),m=[t,0];p.map=m;let g=e.push("thead_open","thead",1);g.map=[t,t+1];let x=e.push("tr_open","tr",1);x.map=[t,t+1];for(let D=0;D=4||(c=Wb(u),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop(),y+=d-c.length,y>fN))break;if(i===t+2){let C=e.push("tbody_open","tbody",1);C.map=b=[t+2,0]}let w=e.push("tr_open","tr",1);w.map=[i,i+1];for(let C=0;C=4){r++,i=r;continue}break}e.line=i;let s=e.push("code_block","code",0);return s.content=e.getLines(t,i,4+e.blkIndent,!1)+` +`,s.map=[t,e.line],!0}function Gd(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||i+3>s)return!1;let o=e.src.charCodeAt(i);if(o!==126&&o!==96)return!1;let a=i;i=e.skipChars(i,o);let u=i-a;if(u<3)return!1;let c=e.src.slice(a,i),l=e.src.slice(i,s);if(o===96&&l.indexOf(String.fromCharCode(o))>=0)return!1;if(r)return!0;let d=t,h=!1;for(;d++,!(d>=n||(i=a=e.bMarks[d]+e.tShift[d],s=e.eMarks[d],i=4)&&(i=e.skipChars(i,o),!(i-a=4||e.src.charCodeAt(i)!==62)return!1;if(r)return!0;let a=[],u=[],c=[],l=[],d=e.md.block.ruler.getRules("blockquote"),h=e.parentType;e.parentType="blockquote";let f=!1,p;for(p=t;p=s)break;if(e.src.charCodeAt(i++)===62&&!y){let w=e.sCount[p]+1,C,T;e.src.charCodeAt(i)===32?(i++,w++,T=!1,C=!0):e.src.charCodeAt(i)===9?(C=!0,(e.bsCount[p]+w)%4===3?(i++,w++,T=!1):T=!0):C=!1;let v=w;for(a.push(e.bMarks[p]),e.bMarks[p]=i;i=s,u.push(e.bsCount[p]),e.bsCount[p]=e.sCount[p]+1+(C?1:0),c.push(e.sCount[p]),e.sCount[p]=v-w,l.push(e.tShift[p]),e.tShift[p]=i-e.bMarks[p];continue}if(f)break;let D=!1;for(let w=0,C=d.length;w";let x=[t,0];g.map=x,e.md.block.tokenize(e,t,p);let b=e.push("blockquote_close","blockquote",-1);b.markup=">",e.lineMax=o,e.parentType=h,x[1]=e.line;for(let y=0;y=4)return!1;let s=e.bMarks[t]+e.tShift[t],o=e.src.charCodeAt(s++);if(o!==42&&o!==45&&o!==95)return!1;let a=1;for(;s=r)return-1;let s=e.src.charCodeAt(i++);if(s<48||s>57)return-1;for(;;){if(i>=r)return-1;if(s=e.src.charCodeAt(i++),s>=48&&s<=57){if(i-n>=10)return-1;continue}if(s===41||s===46)break;return-1}return i=4||e.listIndent>=0&&e.sCount[u]-e.listIndent>=4&&e.sCount[u]=e.blkIndent&&(l=!0);let d,h,f;if((f=Hb(e,u))>=0){if(d=!0,o=e.bMarks[u]+e.tShift[u],h=Number(e.src.slice(o,f-1)),l&&h!==1)return!1}else if((f=$b(e,u))>=0)d=!1;else return!1;if(l&&e.skipSpaces(f)>=e.eMarks[u])return!1;if(r)return!0;let p=e.src.charCodeAt(f-1),m=e.tokens.length;d?(a=e.push("ordered_list_open","ol",1),h!==1&&(a.attrs=[["start",h]])):a=e.push("bullet_list_open","ul",1);let g=[u,0];a.map=g,a.markup=String.fromCharCode(p);let x=!1,b=e.md.block.ruler.getRules("list"),y=e.parentType;for(e.parentType="list";u=i?T=1:T=w-D,T>4&&(T=1);let v=D+T;a=e.push("list_item_open","li",1),a.markup=String.fromCharCode(p);let k=[u,0];a.map=k,d&&(a.info=e.src.slice(o,f-1));let A=e.tight,L=e.tShift[u],_=e.sCount[u],R=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=v,e.tight=!0,e.tShift[u]=C-e.bMarks[u],e.sCount[u]=w,C>=i&&e.isEmpty(u+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,u,n,!0),(!e.tight||x)&&(c=!1),x=e.line-u>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=R,e.tShift[u]=L,e.sCount[u]=_,e.tight=A,a=e.push("list_item_close","li",-1),a.markup=String.fromCharCode(p),u=e.line,k[1]=u,u>=n||e.sCount[u]=4)break;let F=!1;for(let E=0,N=b.length;E=4||e.src.charCodeAt(i)!==91)return!1;function a(b){let y=e.lineMax;if(b>=y||e.isEmpty(b))return null;let D=!1;if(e.sCount[b]-e.blkIndent>3&&(D=!0),e.sCount[b]<0&&(D=!0),!D){let T=e.md.block.ruler.getRules("reference"),v=e.parentType;e.parentType="reference";let k=!1;for(let A=0,L=T.length;A"u"&&(e.env.references={}),typeof e.env.references[x]>"u"&&(e.env.references[x]={title:g,href:d}),e.line=o),!0):!1}var Gb=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"];var hN="[a-zA-Z_:][a-zA-Z0-9:._-]*",pN="[^\"'=<>`\\x00-\\x20]+",mN="'[^']*'",gN='"[^"]*"',xN="(?:"+pN+"|"+mN+"|"+gN+")",bN="(?:\\s+"+hN+"(?:\\s*=\\s*"+xN+")?)",Vb="<[A-Za-z][A-Za-z0-9\\-]*"+bN+"*\\s*\\/?>",Kb="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",yN="",CN="<[?][\\s\\S]*?[?]>",EN="]*>",DN="",Xb=new RegExp("^(?:"+Vb+"|"+Kb+"|"+yN+"|"+CN+"|"+EN+"|"+DN+")"),Jb=new RegExp("^(?:"+Vb+"|"+Kb+")");var xi=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(Jb.source+"\\s*$"),/^$/,!1]];function Yd(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(i)!==60)return!1;let o=e.src.slice(i,s),a=0;for(;a=4)return!1;let o=e.src.charCodeAt(i);if(o!==35||i>=s)return!1;let a=1;for(o=e.src.charCodeAt(++i);o===35&&i6||ii&&xe(e.src.charCodeAt(u-1))&&(s=u),e.line=t+1;let c=e.push("heading_open","h"+String(a),1);c.markup="########".slice(0,a),c.map=[t,e.line];let l=e.push("inline","",0);l.content=e.src.slice(i,s).trim(),l.map=[t,e.line],l.children=[];let d=e.push("heading_close","h"+String(a),-1);return d.markup="########".slice(0,a),!0}function Qd(e,t,n){let r=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;let i=e.parentType;e.parentType="paragraph";let s=0,o,a=t+1;for(;a3)continue;if(e.sCount[a]>=e.blkIndent){let f=e.bMarks[a]+e.tShift[a],p=e.eMarks[a];if(f=p))){s=o===61?1:2;break}}if(e.sCount[a]<0)continue;let h=!1;for(let f=0,p=r.length;f3||e.sCount[s]<0)continue;let c=!1;for(let l=0,d=r.length;l=n||e.sCount[o]=s){e.line=n;break}let u=e.line,c=!1;for(let l=0;l=e.line)throw new Error("block rule didn't increment state.line");break}if(!c)throw new Error("none of the block rules matched");e.tight=!a,e.isEmpty(e.line-1)&&(a=!0),o=e.line,o0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],i={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(i),r};Ns.prototype.scanDelims=function(e,t){let n=this.posMax,r=this.src.charCodeAt(e),i=e>0?this.src.charCodeAt(e-1):32,s=e;for(;s0)return!1;let n=e.pos,r=e.posMax;if(n+3>r||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;let i=e.pending.match(wN);if(!i)return!1;let s=i[1],o=e.md.linkify.matchAtStart(e.src.slice(n-s.length));if(!o)return!1;let a=o.url;if(a.length<=s.length)return!1;a=a.replace(/\*+$/,"");let u=e.md.normalizeLink(a);if(!e.md.validateLink(u))return!1;if(!t){e.pending=e.pending.slice(0,-s.length);let c=e.push("link_open","a",1);c.attrs=[["href",u]],c.markup="linkify",c.info="auto";let l=e.push("text","",0);l.content=e.md.normalizeLinkText(a);let d=e.push("link_close","a",-1);d.markup="linkify",d.info="auto"}return e.pos+=a.length-s.length,!0}function rh(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;let r=e.pending.length-1,i=e.posMax;if(!t)if(r>=0&&e.pending.charCodeAt(r)===32)if(r>=1&&e.pending.charCodeAt(r-1)===32){let s=r-1;for(;s>=1&&e.pending.charCodeAt(s-1)===32;)s--;e.pending=e.pending.slice(0,s),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(e){ih[e.charCodeAt(0)]=1});function sh(e,t){let n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=r))return!1;let i=e.src.charCodeAt(n);if(i===10){for(t||e.push("hardbreak","br",0),n++;n=55296&&i<=56319&&n+1=56320&&a<=57343&&(s+=e.src[n+1],n++)}let o="\\"+s;if(!t){let a=e.push("text_special","",0);i<256&&ih[i]!==0?a.content=s:a.content=o,a.markup=o,a.info="escape"}return e.pos=n+1,!0}function oh(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;let i=n;n++;let s=e.posMax;for(;n=0;r--){let i=t[r];if(i.marker!==95&&i.marker!==42||i.end===-1)continue;let s=t[i.end],o=r>0&&t[r-1].end===i.end+1&&t[r-1].marker===i.marker&&t[r-1].token===i.token-1&&t[i.end+1].token===s.token+1,a=String.fromCharCode(i.marker),u=e.tokens[i.token];u.type=o?"strong_open":"em_open",u.tag=o?"strong":"em",u.nesting=1,u.markup=o?a+a:a,u.content="";let c=e.tokens[s.token];c.type=o?"strong_close":"em_close",c.tag=o?"strong":"em",c.nesting=-1,c.markup=o?a+a:a,c.content="",o&&(e.tokens[t[r-1].token].content="",e.tokens[t[i.end+1].token].content="",r--)}}function FN(e){let t=e.tokens_meta,n=e.tokens_meta.length;ey(e,e.delimiters);for(let r=0;r=d)return!1;if(u=p,i=e.md.helpers.parseLinkDestination(e.src,p,e.posMax),i.ok){for(o=e.md.normalizeLink(i.str),e.md.validateLink(o)?p=i.pos:o="",u=p;p=d||e.src.charCodeAt(p)!==41)&&(c=!0),p++}if(c){if(typeof e.env.references>"u")return!1;if(p=0?r=e.src.slice(u,p++):p=f+1):p=f+1,r||(r=e.src.slice(h,f)),s=e.env.references[vr(r)],!s)return e.pos=l,!1;o=s.href,a=s.title}if(!t){e.pos=h,e.posMax=f;let m=e.push("link_open","a",1),g=[["href",o]];m.attrs=g,a&&g.push(["title",a]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=p,e.posMax=d,!0}function lh(e,t){let n,r,i,s,o,a,u,c,l="",d=e.pos,h=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;let f=e.pos+2,p=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(p<0)return!1;if(s=p+1,s=h)return!1;for(c=s,a=e.md.helpers.parseLinkDestination(e.src,s,e.posMax),a.ok&&(l=e.md.normalizeLink(a.str),e.md.validateLink(l)?s=a.pos:l=""),c=s;s=h||e.src.charCodeAt(s)!==41)return e.pos=d,!1;s++}else{if(typeof e.env.references>"u")return!1;if(s=0?i=e.src.slice(c,s++):s=p+1):s=p+1,i||(i=e.src.slice(f,p)),o=e.env.references[vr(i)],!o)return e.pos=d,!1;l=o.href,u=o.title}if(!t){r=e.src.slice(f,p);let m=[];e.md.inline.parse(r,e.md,e.env,m);let g=e.push("image","img",0),x=[["src",l],["alt",""]];g.attrs=x,g.children=m,g.content=r,u&&x.push(["title",u])}return e.pos=s,e.posMax=h,!0}var TN=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,IN=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function fh(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;let r=e.pos,i=e.posMax;for(;;){if(++n>=i)return!1;let o=e.src.charCodeAt(n);if(o===60)return!1;if(o===62)break}let s=e.src.slice(r+1,n);if(IN.test(s)){let o=e.md.normalizeLink(s);if(!e.md.validateLink(o))return!1;if(!t){let a=e.push("link_open","a",1);a.attrs=[["href",o]],a.markup="autolink",a.info="auto";let u=e.push("text","",0);u.content=e.md.normalizeLinkText(s);let c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=s.length+2,!0}if(TN.test(s)){let o=e.md.normalizeLink("mailto:"+s);if(!e.md.validateLink(o))return!1;if(!t){let a=e.push("link_open","a",1);a.attrs=[["href",o]],a.markup="autolink",a.info="auto";let u=e.push("text","",0);u.content=e.md.normalizeLinkText(s);let c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=s.length+2,!0}return!1}function _N(e){return/^\s]/i.test(e)}function LN(e){return/^<\/a\s*>/i.test(e)}function RN(e){let t=e|32;return t>=97&&t<=122}function dh(e,t){if(!e.md.options.html)return!1;let n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;let i=e.src.charCodeAt(r+1);if(i!==33&&i!==63&&i!==47&&!RN(i))return!1;let s=e.src.slice(r).match(Xb);if(!s)return!1;if(!t){let o=e.push("html_inline","",0);o.content=s[0],_N(o.content)&&e.linkLevel++,LN(o.content)&&e.linkLevel--}return e.pos+=s[0].length,!0}var NN=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,BN=/^&([a-z][a-z0-9]{1,31});/i;function hh(e,t){let n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=r)return!1;if(e.src.charCodeAt(n+1)===35){let s=e.src.slice(n).match(NN);if(s){if(!t){let o=s[1][0].toLowerCase()==="x"?parseInt(s[1].slice(1),16):parseInt(s[1],10),a=e.push("text_special","",0);a.content=gu(o)?Rs(o):Rs(65533),a.markup=s[0],a.info="entity"}return e.pos+=s[0].length,!0}}else{let s=e.src.slice(n).match(BN);if(s){let o=Nn(s[0]);if(o!==s[0]){if(!t){let a=e.push("text_special","",0);a.content=o,a.markup=s[0],a.info="entity"}return e.pos+=s[0].length,!0}}}return!1}function ty(e){let t={},n=e.length;if(!n)return;let r=0,i=-2,s=[];for(let o=0;ou;c-=s[c]+1){let d=e[c];if(d.marker===a.marker&&d.open&&d.end<0){let h=!1;if((d.close||a.open)&&(d.length+a.length)%3===0&&(d.length%3!==0||a.length%3!==0)&&(h=!0),!h){let f=c>0&&!e[c-1].open?s[c-1]+1:0;s[o]=o-c+f,s[c]=f,a.open=!1,d.end=o,d.close=!1,l=-1,i=-2;break}}}l!==-1&&(t[a.marker][(a.open?3:0)+(a.length||0)%3]=l)}}function ph(e){let t=e.tokens_meta,n=e.tokens_meta.length;ty(e.delimiters);for(let r=0;r0&&r++,i[t].type==="text"&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;o||e.pos++,s[t]=e.pos};Bs.prototype.tokenize=function(e){let t=this.ruler.getRules(""),n=t.length,r=e.posMax,i=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(o){if(e.pos>=r)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()};Bs.prototype.parse=function(e,t,n,r){let i=new this.State(e,t,n,r);this.tokenize(i);let s=this.ruler2.getRules(""),o=s.length;for(let a=0;a|$))",t.tpl_email_fuzzy="(^|"+n+'|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|"+t.src_ZPCc+"))((?![$+<=>^`|\uFF5C])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|"+t.src_ZPCc+"))((?![$+<=>^`|\uFF5C])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}function bh(e){return Array.prototype.slice.call(arguments,1).forEach(function(n){n&&Object.keys(n).forEach(function(r){e[r]=n[r]})}),e}function Eu(e){return Object.prototype.toString.call(e)}function MN(e){return Eu(e)==="[object String]"}function PN(e){return Eu(e)==="[object Object]"}function ON(e){return Eu(e)==="[object RegExp]"}function iy(e){return Eu(e)==="[object Function]"}function UN(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var oy={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function zN(e){return Object.keys(e||{}).reduce(function(t,n){return t||oy.hasOwnProperty(n)},!1)}var qN={"http:":{validate:function(e,t,n){let r=e.slice(t);return n.re.http||(n.re.http=new RegExp("^\\/\\/"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,"i")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,n){let r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp("^"+n.re.src_auth+"(?:localhost|(?:(?:"+n.re.src_domain+")\\.)+"+n.re.src_domain_root+")"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,"i")),n.re.no_http.test(r)?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){let r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},jN="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",WN="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\u0440\u0444".split("|");function $N(e){e.__index__=-1,e.__text_cache__=""}function HN(e){return function(t,n){let r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}function sy(){return function(e,t){t.normalize(e)}}function Cu(e){let t=e.re=ry(e.__opts__),n=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||n.push(jN),n.push(t.src_xn),t.src_tlds=n.join("|");function r(a){return a.replace("%TLDS%",t.src_tlds)}t.email_fuzzy=RegExp(r(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(r(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(r(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(r(t.tpl_host_fuzzy_test),"i");let i=[];e.__compiled__={};function s(a,u){throw new Error('(LinkifyIt) Invalid schema "'+a+'": '+u)}Object.keys(e.__schemas__).forEach(function(a){let u=e.__schemas__[a];if(u===null)return;let c={validate:null,link:null};if(e.__compiled__[a]=c,PN(u)){ON(u.validate)?c.validate=HN(u.validate):iy(u.validate)?c.validate=u.validate:s(a,u),iy(u.normalize)?c.normalize=u.normalize:u.normalize?s(a,u):c.normalize=sy();return}if(MN(u)){i.push(a);return}s(a,u)}),i.forEach(function(a){e.__compiled__[e.__schemas__[a]]&&(e.__compiled__[a].validate=e.__compiled__[e.__schemas__[a]].validate,e.__compiled__[a].normalize=e.__compiled__[e.__schemas__[a]].normalize)}),e.__compiled__[""]={validate:null,normalize:sy()};let o=Object.keys(e.__compiled__).filter(function(a){return a.length>0&&e.__compiled__[a]}).map(UN).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><\uFF5C]|"+t.src_ZPCc+"))("+o+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><\uFF5C]|"+t.src_ZPCc+"))("+o+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),$N(e)}function GN(e,t){let n=e.__index__,r=e.__last_index__,i=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=i,this.text=i,this.url=i}function yh(e,t){let n=new GN(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function pt(e,t){if(!(this instanceof pt))return new pt(e,t);t||zN(e)&&(t=e,e={}),this.__opts__=bh({},oy,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=bh({},qN,e),this.__compiled__={},this.__tlds__=WN,this.__tlds_replaced__=!1,this.re={},Cu(this)}pt.prototype.add=function(t,n){return this.__schemas__[t]=n,Cu(this),this};pt.prototype.set=function(t){return this.__opts__=bh(this.__opts__,t),this};pt.prototype.test=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return!1;let n,r,i,s,o,a,u,c,l;if(this.re.schema_test.test(t)){for(u=this.re.schema_search,u.lastIndex=0;(n=u.exec(t))!==null;)if(s=this.testSchemaAt(t,n[2],u.lastIndex),s){this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+s;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(c=t.search(this.re.host_fuzzy_test),c>=0&&(this.__index__<0||c=0&&(i=t.match(this.re.email_fuzzy))!==null&&(o=i.index+i[1].length,a=i.index+i[0].length,(this.__index__<0||othis.__last_index__)&&(this.__schema__="mailto:",this.__index__=o,this.__last_index__=a))),this.__index__>=0};pt.prototype.pretest=function(t){return this.re.pretest.test(t)};pt.prototype.testSchemaAt=function(t,n,r){return this.__compiled__[n.toLowerCase()]?this.__compiled__[n.toLowerCase()].validate(t,r,this):0};pt.prototype.match=function(t){let n=[],r=0;this.__index__>=0&&this.__text_cache__===t&&(n.push(yh(this,r)),r=this.__last_index__);let i=r?t.slice(r):t;for(;this.test(i);)n.push(yh(this,r)),i=i.slice(this.__last_index__),r+=this.__last_index__;return n.length?n:null};pt.prototype.matchAtStart=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return null;let n=this.re.schema_at_start.exec(t);if(!n)return null;let r=this.testSchemaAt(t,n[2],n[0].length);return r?(this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+r,yh(this,0)):null};pt.prototype.tlds=function(t,n){return t=Array.isArray(t)?t:[t],n?(this.__tlds__=this.__tlds__.concat(t).sort().filter(function(r,i,s){return r!==s[i-1]}).reverse(),Cu(this),this):(this.__tlds__=t.slice(),this.__tlds_replaced__=!0,Cu(this),this)};pt.prototype.normalize=function(t){t.schema||(t.url="http://"+t.url),t.schema==="mailto:"&&!/^mailto:/i.test(t.url)&&(t.url="mailto:"+t.url)};pt.prototype.onCompile=function(){};var ay=pt;var Dh=B(gy(),1);var xy={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"\u201C\u201D\u2018\u2019",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}};var by={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"\u201C\u201D\u2018\u2019",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}};var yy={options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"\u201C\u201D\u2018\u2019",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}};var r8={default:xy,zero:by,commonmark:yy},i8=/^(vbscript|javascript|file|data):/,s8=/^data:image\/(gif|png|jpeg|webp);/;function o8(e){let t=e.trim().toLowerCase();return i8.test(t)?s8.test(t):!0}var Cy=["http:","https:","mailto:"];function a8(e){let t=Ls(e,!0);if(t.hostname&&(!t.protocol||Cy.indexOf(t.protocol)>=0))try{t.hostname=Dh.default.toASCII(t.hostname)}catch{}return ou(di(t))}function u8(e){let t=Ls(e,!0);if(t.hostname&&(!t.protocol||Cy.indexOf(t.protocol)>=0))try{t.hostname=Dh.default.toUnicode(t.hostname)}catch{}return _s(di(t),_s.defaultChars+"%")}function Ct(e,t){if(!(this instanceof Ct))return new Ct(e,t);t||mu(e)||(t=e||{},e="default"),this.inline=new ny,this.block=new Yb,this.core=new qb,this.renderer=new Bb,this.linkify=new ay,this.validateLink=o8,this.normalizeLink=a8,this.normalizeLinkText=u8,this.utils=Td,this.helpers=pi({},Rd),this.options={},this.configure(e),t&&this.set(t)}Ct.prototype.set=function(e){return pi(this.options,e),this};Ct.prototype.configure=function(e){let t=this;if(mu(e)){let n=e;if(e=r8[n],!e)throw new Error('Wrong `markdown-it` preset "'+n+'", check name')}if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(n){e.components[n].rules&&t[n].ruler.enableOnly(e.components[n].rules),e.components[n].rules2&&t[n].ruler2.enableOnly(e.components[n].rules2)}),this};Ct.prototype.enable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(i){n=n.concat(this[i].ruler.enable(e,!0))},this),n=n.concat(this.inline.ruler2.enable(e,!0));let r=e.filter(function(i){return n.indexOf(i)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r);return this};Ct.prototype.disable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(i){n=n.concat(this[i].ruler.disable(e,!0))},this),n=n.concat(this.inline.ruler2.disable(e,!0));let r=e.filter(function(i){return n.indexOf(i)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r);return this};Ct.prototype.use=function(e){let t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this};Ct.prototype.parse=function(e,t){if(typeof e!="string")throw new Error("Input data should be a String");let n=new this.core.State(e,this,t);return this.core.process(n),n.tokens};Ct.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)};Ct.prototype.parseInline=function(e,t){let n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens};Ct.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};var Sh=Ct;var Ty=B(Fy());function l8(e){return e.replace(/<[^>]+>/g,"").replace(/`/g,"")}function f8(e){let t=/[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g;return e.toLowerCase().replace(t,"").replace(/ /g,"-")}function kh(e){let t=new Set;Sh().use(Ty.default,{permalink:!1,level:[1,2,3,4,5,6],slugify:n=>{let r=f8(l8(n));return t.add(r),r}}).parse(e,{});for(let n of e.matchAll(/<[^>]+id=["']([^"']+)["'][^>]*>/g))n[1]&&t.add(n[1]);for(let n of e.matchAll(/<(a|input|select|textarea|button|iframe)[^>]+name=["']([^"']+)["'][^>]*>/g))n[2]&&t.add(n[2]);return t}function wu(e,{disableHtmlComment:t=!1,disableCode:n=!1,disableHeading:r=!1,disableBlockQuote:i=!1,disableHr:s=!1,disableList:o=!1,disableTable:a=!1,disableBold:u=!1,disableItalic:c=!1,disableStrikethrough:l=!1,disableImage:d=!1,disableLink:h=!1,disableRefLink:f=!1,disableVitepressAlertLine:p=!1}){let m=[];return t&&m.push(Q1),n&&(m.push(eb),m.push(tb)),r&&m.push(nb),i&&m.push(rb),s&&m.push(ib),o&&m.push(sb),a&&m.push(ob),u&&m.push(ab),c&&m.push(ub),l&&m.push(cb),d&&m.push(lb),h&&m.push(fb),f&&m.push(db),p&&m.push(hb),e.replace(new RegExp(m.join("|"),"g"),g=>g.replace(/\S/g,"\u200B"))}var xD=B(require("fs")),Dc=B(require("fs/promises")),bD=require("process"),U5=B(Ec());async function yD(e,t="",n="utf8"){try{return await Dc.default.readFile(e,n)}catch{return t}}async function CD(e){try{return await Dc.default.readdir(e)}catch{return[]}}async function mo(e){try{if(!xD.default.existsSync(e))return!1;let t=e.replace(/\\/g,"/").split("/");(bD.platform==="win32"&&t[0].endsWith(":")||t[0].startsWith("."))&&t.shift();let n=(await Dc.default.realpath(e)).replace(/\\/g,"/").split("/"),r=t.length-1,i=n.length-1;for(;r>=0&&i>=0;){if(t[r]!==n[i])return!1;r--,i--}return!0}catch{return!1}}var ED=B(require("path"));function Mr(e,t,n){let r=new AbortController,{timeout:i=10*1e3,signal:s}=n||{},o=()=>{r.abort(),s?.removeEventListener("abort",o),clearTimeout(a)};s?.addEventListener("abort",o);let a=setTimeout(o,i);return fetch(e,{method:t,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",Accept:"text/html,application/json,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"},signal:r.signal}).finally(()=>{clearTimeout(a),s?.removeEventListener("abort",o)})}async function Pr(e,t="",n=[],r){return n.some(i=>{try{return new RegExp(i).test(e)}catch{return!1}})?200:e.startsWith("http")?z5(e,r):await mo(ED.default.join(t,decodeURI(e.replace(".html",".md"))))?200:404}var z5=(()=>{let e=new Map;return async(t,n)=>{try{if(e.get(t)>=100)return e.get(t);let i=await Mr(t,"GET",{timeout:5*1e3,signal:n});return e.set(t,i.status),i.status}catch(i){if(i instanceof Error){let s=i?.cause?.code;if(s==="ENOTFOUND"||s==="EHOSTUNREACH"||s==="ENETUNREACH")return e.set(t,404),404}}let r=e.get(t);return r>=100?r:(r===void 0&&(r=0),r++,e.set(t,r>=3?499:r),499)}})();var DD=B(require("fs")),SD=B(require("path")),wD=require("child_process");function AD(e){try{let t=(0,wD.execSync)("git show --numstat",{cwd:e,encoding:"utf-8"}).trim().split(` +`),n=[];for(let r of t){let i=r.split(/\t/);if(i.length<3)continue;let s=Number(i[0].trim());if(isNaN(s))continue;let o=Number(i[1].trim());if(s===0&&o>0)continue;let a=i[2].trim();a.includes("=>")&&(a=a.split("{")[0]+a.split("=>")[1].replace("}","").replace("{","").trim()),DD.default.existsSync(SD.default.join(e,a))&&n.push(a)}return n}catch{return[]}}function kD(){let e=process.argv.slice(2),t={};for(let n=0;n \u6216 [xxx](xxx)",MD035:"\u5206\u9694\u7EBF\u7B26\u53F7\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u4F7F\u7528\u540C\u4E00\u79CD\u5206\u9694\u7EBF\u7B26\u53F7\u3002{expected_actual}",MD036:"\u8BF7\u52FF\u4F7F\u7528\u52A0\u7C97\u6765\u4EE3\u66FF\u6807\u9898",MD037:"\u52A0\u7C97\u7B26\u53F7\u548C\u88AB\u52A0\u7C97\u6587\u5B57\u4E4B\u95F4\u4E0D\u80FD\u6709\u7A7A\u683C\uFF0C\u4F46\u6587\u5B57\u4E4B\u95F4\u53EF\u4EE5\u6709\u7A7A\u683C\uFF0C\u8BF7\u5220\u9664\u591A\u4F59\u7684\u7A7A\u683C",MD038:"\u884C\u5185\u4EE3\u7801\u5757\u548C\u88AB\u5305\u88F9\u4EE3\u7801\u4E4B\u95F4\u4E0D\u80FD\u6709\u7A7A\u683C\uFF0C\u4F46\u4EE3\u7801\u4E4B\u95F4\u53EF\u4EE5\u6709\u7A7A\u683C\uFF0C\u8BF7\u5220\u9664\u591A\u4F59\u7684\u7A7A\u683C",MD039:"\u94FE\u63A5\u540D\u79F0\u548C\u5305\u56F4\u5B83\u7684\u4E2D\u62EC\u53F7\u4E4B\u95F4\u4E0D\u80FD\u6709\u7A7A\u683C\uFF0C\u4F46\u94FE\u63A5\u540D\u79F0\u4E4B\u95F4\u53EF\u4EE5\u6709\u7A7A\u683C\uFF0C\u8BF7\u5220\u9664\u591A\u4F59\u7684\u7A7A\u683C",MD040:"\u4EE3\u7801\u5757\u5E94\u8BE5\u6307\u5B9A\u4E00\u79CD\u7F16\u7A0B\u8BED\u8A00",MD041:"\u6587\u6863\u7684\u7B2C\u4E00\u4E2A\u975E\u7A7A\u884C\u5E94\u8BE5\u662F\u4E00\u7EA7\u6807\u9898",MD042:"\u94FE\u63A5\u5730\u5740\u4E3A\u7A7A",MD043:"\u6807\u9898\u7F16\u5199\u9700\u8981\u6309\u7167\u6307\u5B9A\u7684\u7ED3\u6784",MD044:"\u4E13\u6709\u540D\u79F0\u5E94\u8BE5\u6709\u6B63\u786E\u7684\u5927\u5199\u5B57\u6BCD",MD045:"\u56FE\u7247\u5E94\u8BE5\u6709\u66FF\u4EE3\u7684 alt \u6587\u672C",MD046:"\u4EE3\u7801\u5757\u5E94\u8BE5\u4FDD\u6301\u4E00\u81F4\u7684\u7F29\u8FDB\u683C\u5F0F",MD047:"\u6587\u6863\u672B\u5C3E\u9700\u8981\u4E00\u4E2A\u6362\u884C\u7ED3\u675F",MD048:"\u4EE3\u7801\u5757\u4F7F\u7528\u8BED\u6CD5\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u4F7F\u7528\u540C\u4E00\u79CD\u4EE3\u7801\u5757\u7B26\u53F7",MD049:"\u5F3A\u8C03\u4F7F\u7528\u8BED\u6CD5\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u4F7F\u7528\u540C\u4E00\u79CD\u5F3A\u8C03\u7B26\u53F7",MD050:"\u52A0\u7C97\u4F7F\u7528\u8BED\u6CD5\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u4F7F\u7528\u540C\u4E00\u79CD\u52A0\u7C97\u7B26\u53F7",MD051:"\u94FE\u8DEF\u5206\u7247\u5FC5\u987B\u6709\u6548",MD052:"\u53C2\u8003\u94FE\u63A5\u548C\u56FE\u7247\u5E94\u8BE5\u4F7F\u7528\u5DF2\u5B9A\u4E49\u7684\u6807\u7B7E",MD053:"\u94FE\u63A5\u548C\u56FE\u50CF\u5F15\u7528\u5E94\u7528\u5DF2\u5B9A\u4E49\u7684\u6807\u7B7E",MD055:"\u8868\u683C\u8BED\u6CD5\u6709\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u662F\u5426\u7F3A\u5C11 | \u7B26\u53F7",MD056:"\u8868\u683C\u6BCF\u4E00\u884C\u7684\u5217\u6570\u5E94\u8BE5\u76F8\u540C\uFF0C\u8BF7\u68C0\u67E5\u662F\u5426\u67D0\u4E00\u884C\u5217\u6570\u4E0D\u5BF9",MD058:"\u8868\u683C\u524D\u540E\u5E94\u8BE5\u6362\u884C",MD059:"\u94FE\u63A5\u6587\u672C\u5E94\u8BE5\u662F\u63CF\u8FF0\u6027\u7684\uFF0C\u7981\u6B62\u4F7F\u7528click here\u3001here\u3001link\u3001more"},am={default:!0,MD003:{style:"atx"},MD029:{style:"ordered"},MD004:!1,MD007:!1,MD009:!1,MD013:!1,MD014:!1,MD020:!1,MD021:!1,MD024:!1,MD025:!1,MD033:!1,MD036:!1,MD042:!1,MD043:!1,MD044:!1,MD045:!1,MD046:!1,MD048:!1,MD049:!1,MD050:!1,MD051:!1,MD052:!1,MD053:!1,MD055:!1,MD056:!1,MD057:!1};var um=["postgresql","isula","Sulad","kubernetes","kubeadm","kubelet","kube","isulad","crictl","smaster","snode","kubeconfig","Kubelet","urandom","etcds","dnsaddr","podcidr","dstpath","srcpath","eggo","EPOL","Kubeadm","CFSSL","virt","libvirtd","nvram","NVRAM","socketfd","masq","tlscacert","tlscert","userns","inodes","nocopy","blkio","syscall","SCMP","ERRNO","nsproxy","quotactl","setns","pciconfig","iobase","RAWIO","nsenter","epoll","mlock","kaslr","SETUID","FSETID","rootfs","nohup","aeskey","SIGCHLD","blockio","Blockio","cidfile","cpus","cpuset","NUMA","xvdc","resolv","MODULERS","tmpfs","trunc","holdon","ONBUILD","Firewalld","firewalld","auditd","sendto","tracesys","EXDEV","xattr","NSUID","dmsetup","veths","Sula","ipvlan","dpdk","ipmasp","vlan","vxlan","ican","DPDK","phynet","inited","hugetlb","lablel","pids","procs","squashfs","ptmx","Mbit","Rootfs","QUOTACTL","fsprogs","overlayfs","prjquota","huawei","ulimits","fsize","msgqueue","rtprio","rttime","nofile","rprivate","rslave","rshared","cgroupfs","sysctls","linux","privs","kata","pproxyisulad","kublet","CGROUPFS","YAJL","mycgroup","sysmonitor","imjournal","Suald","Sula's","xvdf","nodiscard","thinpooldev","Strato","Virt","stratovirt","vsock","kmem","Secomp","SETPCAP","MKNOD","mknod","FOWNER","setuid","SETFCAP","PACCT","fchmod","fchmodat","syscalls","chcon","execv","iface","openvswitch","Kata","ifaces","ipvs","ipvsadm","lblc","lblcr","tcpfin","protonum","vcpus","maxvcpus","ACPI","UEFI","Arges","msgmax","msgmnb","msgmni","shmall","shmmax","shmmni","rmid","mqueue","syscontainer","binners","fdisk","veth","qlen","QLEN","lxcfs","alice","ISULAD","Lxcfs","sysfs","lcrd","sibliing","myrootfs","cgconfig","libcgroup","msgsize","kuasar","Kuasar","oncn","bwmcli","qdisc","devs","prio","pkts","ENOBUFS","rubik","kubepods","iocost","rbps","rseqiops","rrandiops","wbps","wseqiops","wrandiops","cpuevict","memcg","cmdline","MPAM","mpam","acpi","numa","fssr","cpuacct","blkcg","Uler","ISULABUILD","iidfile","creds","openeuler","Kmesh","kmesh","Istiod","dosfstools","kbimg","qcow","QCOW","kubeos","unconfigured","ostree","nestos","Zincati","Kylin","kargs","rojig","releasever","nosa","CRIO","netsos","PXELINUX","oedp","ansible","Traefik","myserver","mynodetoken","kubeedge","GOPATH","GOARCH","CPUP","vring","virtio","Virtio","Nuttx's","Nuttx","SHELLCMD","localectl","timedatectl","hwclock","kdump","bootargs","Bootarg","dracut","syslogd","vsftpd","xferlog","vsftp","mget","myopen","mput","mdelete","repodata","createrepo","softeware","nginx","repoid","Repoids","gpgcheck","gpgkey","asis","avahi","Avahi","Vinit","autofs","chkconfig","quotaon","Syslogger","PITR","postgres","initdb","NOSUPERUSER","CREATEDB","NOCREATEDB","NOCREATEROLE","NOINHERIT","oldrolername","roleexapme","funcname","argmode","createdb","dropdb","PGDATABASE","dbname","psql","ISAM","nvme","datalv","mariadb","mysqldump","alldb","mysqld","infile","skel","chsh","Cmnd","NOPASSWD","globus","gshadow","gpasswd","newgrp","installonlypkgs","repolist","inotify","sysmaster","uevent","blkid","kmod","Sysfs","netif","rwxrwxrwx","KLOC","exts","withoutsd","rpmdev","RPMS","SRPM","noarch","nobuild","noclean","dbpath","FOSS","oscrc","submmission","ipaddriso","devel","Moba","libc","libm","fpic","lfoo","ldconfig","Sllfilename","javac","Javac","ifdef","endef","Tian","SAMGR","eletronic","NAPI","afot","GCOV","pgoing","pgoed","qtfs","rexec","udsproxyd","libudsproxy","qtinfo","virsh","virtlogd","libchan","QTFS","devtmpfs","rdma","nosuid","nodev","noexec","relatime","SPDK","DPUOS","eulerkiwi","minios","dpuos","hacluster","corosync","Corosync","Stonith","noverifyssl","mmcblk","wlan","ISOLINUX","mkisofs","isohybrid","raspi","Imager","Avago","RISCV","riscv","Graghic","WIFI","cpufreq","Licheepi","EMMC","SDCARD","OVMF","Penglai","libslirp","slirp","DHCPD","cdrom","Smasq","aops","zeus","vulcanus","diana","dianas","kabi","DEACTIVED","ACTIVED","prometheus","distro","UUCP","ftrace","debugfs","mmap","vmcore","Arangodb","Arango","tcpprobe","ksliprobe","ebpf","arangodb","arangod","nvwa","NVWA","kexec","quickkexec","criu","CRIU","ramfs","cpuparkmem","ifunc","syscare","SUPRESS","PSCNT","FDCNT","pgrep","irqbalance","validiy","NEWADDR","pscnt","iodelay","ENVIROMENTFILE","etmem","etmemd","cslide","sysmem","wmark","WMARK","kobj","vmas","GMEM","libgmem","CANN","cann","gmem","hnid","HSAK","spdk","Nvme","CUSE","trtype","traddr","Usec","bdev","ublock","readv","writev","wrtiev","ctrlr","Ublock","bdevs","fini","prchk","PRCHK","BDEV","UBLOCK","NVME","UEVENT","TRADDR","xfer","unusecap","lbads","lbaf","nlbaf","extented","nssa","nsso","contig","memseg","TAILQ","tailq","sqid","nsid","iostat","Ctrlr","nbytes","iovec","iovcnt","cfgfile","EAGAIN","tvar","DESCIRPTORS","HOSTID","CTRLR","INTERGRITY","UNRECOVERED","libstoage","avgrq","avgqu","svctm","pvdisplay","pvchange","pvname","pvremove","vgname","vgdisplay","vgchange","vgextend","vgreduce","vgremove","lvdisplay","lvname","lvresize","lvextend","lvreduce","lvremove","mntpath","fstype","liblstack","IOMMU","lstack","ltran","miimon","mbuf","LSTACK","tcpdump","pdump","nmcli","ONBOOT","BOOTPROTO","BSSID","mybond","ifdown","chrony","PMTU","dhclient","HWHW","dhcpd","sockaddr","nametoindex","DHCLIENT","DHCPV","IFADDR","nodad","RTNETLINK","PMTUD","ifup","DEFAULTGW","iscsi","iscsiadm","SMMU","uacce","hisi","hpre","libwd","libkae","kbit","HPRE","libpthread","sysboost","swpd","inact","kbmemfree","kbmemused","kbbuffers","kbcached","numactl","corss","numastat","numstat","rrqm","rareq","wrqm","wareq","drqm","dareq","areq","Postgresql","Mariadb","hdfs","Dubbo","SPECCPU","Cjbb","Gatk","atuned","atune","ATUNE","ATUNED","SERVERCN","tlsservercafile","tlsservercertfile","tlsrestcacertfile","tlsrestservercertfile","tlsenginecacertfile","tlsengineclientcertfile","tlsengineservercertfile","mpstat","dtype","gbrt","bayes","oeaware","bufs","libpmu","libsmc","libkperf","CUDA","cuda","pytorch","chatglm","Loongson","Loong","Renesas","Phytium","epkg","betwe","misoperations","shmem","MPTCP","iomap","xcall","xint","kfuncs","execveat","wakeup","CAQM","upatch","kpatch","HMAC","Armv","ccmp","linearizable","CSUM","recvfrom","IPVLAN","PCIPC","UADK","Hygon","Hygon's","VMCB","TLCP","DTLS","Memcg","CFGO","Sheng","CSPGO","flto","devirtualization","ACPO","Ansel","Dhrystone","Cbench","ONNX","Ezip","yocto","LTSSP","raspberrypi","IBACHW","micad","IBANAZ","cpio","qtenginio","mathjax","libcrystalhd","crystalhd","mecab","ipadic","EUCJP","eeprom","IAGS","umdk","urma","libumdk","tidb","IAGWFV","IAGX","libmd","IAGXT","lxml","libclc","sybil","spirv","qatzip","qatengine","moby","groff","qpdf","libstoragemgmt","pythran","librdkafka","kvdo","sscg","pydantic","gstreamer","pybind","certifi","jedi","lftp","memleax","inih","uadk","autofdo","rootsh","moto","kylin","dtkgui","ukui","faust","apptainer","kiran","pytimeparse","jose","pytest","asgiref","libkysdk","openjfx","jboss","netavark","tomcatjss","osinfo","fwupd","RPATH","epol","huks","safwk","samgr","dsoftbus","ffmpegthumbnailer","akonadi","bluez","kactivities","kauth","kconfig","khtml","kimap","knotifications","knotifyconfig","kuserfeedback","kwin","libksysguard","okular","ovirt","qtav","zram","hiviewdfx","hilog","EPKG","mypy","hadoop","xorg","xauth","fbdev","qtquick","dphysics","lldpad","protobuf","vdagent","Xtst","ipmitool","evdev","isns","thai","iotop","efivar","cryfs","libchardet","dtkcommon","pyeclib","deepin","kubekey","cppzmq","pigpio","hplip","stap","sysstat","dsctl","libxcvt","dsidm","powerapi","gcov","oeawarectl","nototools","numafast","gaussdb","tpcc","Angha","GIMPLE","cfganal","fwhole","fipa","ncbi","pkexec","fcfgo","Rygel","kubelte","sched","eulermaker","IBAAW","IBADES","euler","IBADFM","IBAEW","IBAFG","IBAGYK","IBALNI","IBALTA","IBALZL","IBAPM","IBAPNP","sysbench","IBARLD","csmith","IBAU","IBAWUP","rasdaemon","IBAYOV","IBAYW","IBBP","IBBPDD","rpcbind","pwck","IBBQ","IBBWT","mysqladmin","IBBWTS","IBBWXI","CFCA","Mulan","CNNVD","CNVD","cvrf","CVRF","wecom","feishu","mailqq","Yifeng","Kaishun","Unsub","unsubscription","kmodule","usrdriver","Detectorsdk","POSIC","REGFUNC","UNREGFUNC","BJCA","codegener","uworkers","OCALLs","tworkers","ECALLs","WAKEUP","icalled","libcsecure","libtsecure","funcptr","Qing","SMMAB","OCALL","cdecl","ECALL","edlfile","OTRP","TYPA","pwquality","pwhistory","minlen","dcredit","ucredit","lcredit","ocredit","authtok","nullok","authsucc","TMOUT","mkpasswd","sulogin","sysrq","Xshell","hmac","hzqtest","rhosts","shosts","Rhosts","diffie","ecdh","nistp","SSHFP","Diffie","sftpgroup","aesni","luks","libgcrypt","KTLS","gnupg","libxcrypt","chgpasswd","lusermod","lpasswd","luseradd","stext","etext","ascii","vermagic","HMACs","securityfs","euid","initramtmpfs","dont","MMAP","BRPM","KEXEC","fsmagic","fsuuid","fowner","imasig","BOOTPARAM","talist","libqca","libteec","qcaserver","reportid","basevalueid","tauuid","tabasevalues","tabasevalueid","tareportid","TPCM","HTTC","SMMC","gguf","nvidia","vllm","vmlinux","sglang","Gitee","OEPKGS","eulercopilot","KUBECONFIG","Pydantic","CPDS","Linx","initv","cpds","Cpds","libebpf","granularities","mkinitrd","ipcc","usrrpm","gconv","vfat","ifplugd","ifplug","CMDLINE","ifnames","biosdevname","kbox","Kbox","mkdliso","shre","zoninfo","isocut","rpms","epel","vmnet","eulerlauncher","eulerlauncherd","Undock","Xorg","CORBA","componentized","Pango","Sysprof","Kiran","Kylinsec","Cpanel","Pluma","pluma","UKUI","Sogou","Wifi","Wificonnection","lauserst","Xauthority","bcond","pkgshipd","bname","uwsgi","sdxx","vcpu","Straro","iothread","iotune","pflash","vmlinuxz","MMIO","nmap","Imzge","minirootfs","ovmf","VFIO","vfio","stratovirtvirt","hinic","sriov","numvfs","Mname","maxcpus","ifname","chardev","virtconsole","iothreads","paravirtualized","VIRTIO","ramfb","EDID","netdev","microvm","kworker","cpumask","cpumasks","qspinlock","pvspin","PARAVIRT","cpuidle","SASL","sasl","SASLDB","svirt","CRTM","swtpm","libtpms","localca","pcrread","pcrlist","brctl","kvmtop","IPFIX","RSPAN","LACP","elfutils","lpmake","pvchannel","virtfn","VFNUMS","UHCI","EHCI","lsusb","usbutils","schedinfo","vcpucount","domiflist","iothreadinfo","vnet","Vfjb","Kpub","SCHED","skylarkd","mbmtotal","mbmlocal","numatune","cellid","hugepagesz","lsmem","vmtop","Thvc","Twfe","Twfi","Tmmio","mmio","Tmabt","Nvlpg","Tnmi","Hyperv","Trmsr","Twmsr","Tapic","APIC","Teptv","Teptm","Tpau","VCPU","iotreads","pmull","enospace","rerror","enospac","sata","ccid","ehci","xhci","vram","zstd","SDEI","libstdc","cmlt","ftree","nmtui","keras","uboot","Unactivated","Kdump","pmie","pcpupstream","BRCM","Epol","Majun","oncpu","offcpu","srtt","sockbuf","ioprobe","jvmprobe","ksli","postgre","pgsliprobe","dnsmasq","rabbitmq","kafkaprobe","tprofiling","kubenet","pgsql","rocketmq","pyroscope","Pyroscope","kallsyms","JVMTI","Jstack","Syscall","tgid","recv","segs","addrlen","EISCONN","ENOTCONN","recvmsg","sendmsg","msghdr","errno","JSSE","jsse","kprobes","longsys","swapin","iomemory","Taishan","MYIR","vmalloc","Kprobe","KGDB","KPTI","KASLR","KASAN","HAOC","SYSCALL","EROFS","fscache","Nydus","AMDC","udisks","dbxtool","NTIA","Baichuan","FLYTEK","GGUF","dabase","reranker","oidc","chinese","openai","detetor","Piot","grafana","pilotgo","Dbus","vdpa","numfer","compa","sbom","shangmi","hsak","ctinspector","sysroot","efivars","kump","Solutionss","kcore","kptr","efivarfs","VFAT","rebranded","unbootable","sssnic","sssdk","recompiles","oprnruler","NSCD","snmp","zabbix","isual","Zhaoxin","hmdfs","cgtop","SNTP","sntp","libev","libiscsi","xfsprogs","gdbm","rpmdb","dbenv","SSMS","tcache","configuratio","SELINOX","innobd","fuffer","greatsql","LDFLAGS","ynamic","eedback","oirected","ptimization","dfot","RELA","gfrotran","gprof","lstdc","fmodules","fmodule","floop","nums","topn","ffind","libub","unixbench","dcache","icache","napi","uncore","pidstat","tlbmiss","CICD","gitlabip","iptable","kmemcg","kernerl","Masq","vnic","fifo","solft","sanbox","yajl","tmpdir","TMPDIR","shimv","devcies","libisula","binner","umout","ubik","busrt","coef","buildid","istio","istiod","kbming","osversion","sysconfigs","conatainerd","Nestos","zincati","liveiso","rolij","ociarchive","crio","qwer","virbr","gurb","jinja","Kubeedge","TCPROS","UDPROS","rosnode","rostopic","rosservice","rosmsg","rossrv","rosparam","Cpup","rpmsg","pthread","ENOMEM","EBUSY","EINVAL","getstackaddr","getinheritsched","inheritsched","setinheritsched","PTHREAD","ENOTSUP","getschedpolicy","setschedpolicy","DETAED","setschedparam","schedparam","getschedparam","atfork","EPERM","ESRCH","setschedprio","EDEADLK","getcpuclockid","contol","destory","pshared","ENOSPC","oflag","CREAT","EACCES","EEXIST","EINTR","EMFILE","ENAMETOOLONG","ENFILE","ENOENT","ETIMEDOUT","sval","PRIO","getprioceiling","setprioceiling","getpshared","setpshared","rwlock","rdlock","tryrdlock","timedrdlock","wrlock","trywrlock","timedwrlock","rwlockattr","barrierattr","timeptr","CPUTIME","nanosleep","rqtp","rmtp","SIGEV","itimerspec","ovalue","gettimeofday","gmtime","EOVERFLOW","mktime","strptime","utime","wcsftime","posix","memptr","SIGABRT","waitpid","waitid","atexit","numer","ldiv","lldiv","imaxdiv","wcstol","iswspace","LLONG","ERANGE","wcstod","VALF","VALL","fcvt","ecvt","gcvt","qsort","llabs","imaxabs","strtol","nptr","isspace","atoi","atol","atof","bsearch","nsems","semctl","semid","semnum","RMID","semun","EIDRM","EFAULT","semop","sembuf","nsops","EFBIG","semtimedop","msgget","MSGQUE","msgctl","msgqid","msqid","msgsnd","msgp","msgsz","msgrcv","msgtype","ENOMSG","shmget","shmctl","shmat","shmdt","ftok","fstatat","ENOSYS","ELOOP","ENXIO","utimensat","mkfifo","statvfs","mkfifoat","mknodat","futimesat","lchmod","futimens","mkdirat","fstat","EBADF","creat","fcntl","DUPFD","CLOEXEC","GETFD","SETFD","GETFL","SETFL","fallocate","openat","FDCWD","fdopendir","ENOTDIR","strverscmp","dirfd","putwchar","WEOF","EILSEQ","fgetws","vfwprintf","fscanf","fgetpos","fpos","vdprintf","ungetc","ftell","getc","fmemopen","putwc","wmemstream","asprintf","fflush","vfprintf","vsscanf","vfwscanf","setvbuf","getwchar","vsnprintf","freopen","fwide","sscanf","fgets","vswscanf","vprintf","fputws","wprintf","wscanf","fputc","vswprintf","fputwc","fopen","tmpnam","ferror","fwscanf","fprintf","fgetc","getwc","scanf","perror","vsprintf","vasprintf","dprintf","popen","putc","fseek","fgetwc","putw","tempnam","vwprintf","getw","fread","fileno","fclose","feof","fwrite","setbuf","pclose","swprintf","fwprintf","swscanf","getdelim","vfscanf","setlinebuf","fputs","fsetpos","fopencookie","fgetln","vscanf","ungetwc","ftrylockfile","vwscanf","thrd","nomem","getattr","ftime","timeb","timegm","duoble","expm","fmax","fmin","lgamma","flaot","iptr","tagp","drem","dremf","CMDREG","MEMALLOC","sdei","irqchip","gicv","slocate","sysvinit","Postgre","createrdb","userexapme","locahost","DBNAME","MPPDB","groupid","onnxruntime","fplugin","SRPMS","osrepo","prereguisites","ftracer","fmulti","liba","libb","mcpu","Werror","longjmp","setjmp","memcpy","libgcc","cflags","libomp","mgeneral","regs","ANIR","vsudot","usdot","UDSPROXYD","qtcfg","REXEC","contaienrd","contaienr","nodeps","isolinux","penglai","changeme","gitee","cves","Aops","ngxin","elasticasearch","rebuilddb","enablerepo","disablerepo","imdb","topo","topk","ENVIROMENTFLE","swacache","thridparty","backgound","stmemd","numaid","earse","ENAB","gazellectl","wifi","nolibc","mprotect","kpti","Eluer","hichain","Isula","gtest","foli\u014D","iozone","XCALL","kfunc","cpuburst","vrit","PGSQL","VMID","dhrystone","Lyaer","uler","uefi","ringbuf","ecall","ocall","envlave","encalve","reexec","ecdsa","monitior","enforece","BPRM","KDUMP","virtcca","EACCSS","Packaket","Tinspecto","Tinpsector","Tinpsect","mysq","RPMDB","fbfqtsnza","xfzsydh","centos","omnivird","CORBAORB","kiranz","GITEE","aarch","edid","xres","yres","sasldb","gensrc","abuild","lrwxrwxrwx","physfn","Mbps","Realtek","STEC","werror","Instanse","domian","vcpupin","PCPU","setvcpus","apic","Vcpu","tabe","calamares","Devstation","Livecd","devstation","netin","ollama","qwen","BAAI","kuberay","oepkgs","oedeploy","ONEDNN","Openeuler","oegitext","syestemd","cpython","sytematic","ANNC","bazel","DFFM","DLRM","deepfm","pbtxt","Flink","Sream","nativa","LPDDR","oebridge","Yocto","iommu","Specjbb","anythingllm","Dify","smmu","HTTU","CCEL","einj","ICHG","IBVTB","IBVTF","IBVTFA","IBVTFC","IBVTFH","IBVTFI","IBVTFJ","IBVTFK","IBVTFP","IBVTFR","IBVTFS","IBVTFU","IBVTFV","IBVTLE","haoc","IBVTYC","IBVTYD","gdal","IBVUDA","IBVUJV","IBVUJW","IBVUJX","IBVUJY","IBVUJZ","IBVUK","IBVUKA","IBVUKB","IBVUKC","IBVUKD","IBVUKE","IBVUKF","IBVUKG","IBVUKH","IBVUKI","IBVUKJ","IBVUKL","IBVUKN","IBVUKO","IBVUKP","IBVUKR","IBVUKT","IBVUKV","IBVUKW","IBVUKX","IBVUKY","IBVUKZ","IBVUL","IBVUOZ","IBVURX","IBVURY","IBVURZ","IBVUS","kscreen","IBVUSB","IBVUSG","IBVUSJ","IBVUSO","IBVUSS","IBVUUF","IBVUUR","IBVUUS","IBVUUU","IBVUUX","IBVUUY","IBVUUZ","IBVUV","dtkwidget","nispor","IBVUVA","IBVUVB","IBVUVC","IBVUVD","IBVUVF","IBVUVH","virtiofsd","IBVUVI","IBVUVJ","exif","startdde","IBXLBY","IBXLF","IBXLFC","IBXLFD","IBXLFE","IBXLFF","IBXLFI","IBXLFJ","IBXLFK","isorelax","IBXLFL","IBXLFM","IBXLFN","libbpf","IBXLFO","IBXLFR","IBXLFT","IBXLFU","IBXLFW","IBXLFX","IBXLFZ","IBXLG","oemaker","openblas","IBXLGB","IBXLGC","IBXLGD","IBXLGE","IBXLGF","IBXLGG","abrmd","IBXLHK","IBXLHL","IBXLHN","IBXLHO","IBXLHP","IBXLHR","IBXLHS","caja","IBXLHU","IBXLHV","IBXLHW","IBXLHX","IBXLHY","IBXLHZ","IBXLI","IBXLIA","marco","IBXLIB","IBXLIC","IBXLID","IBXLIE","IBXLIF","IBXLIG","IBXLIH","IBXLII","IBXLIJ","IBXLIK","IBXLIL","IBXMS","IBXMSA","IBXMSB","IBXMSC","IBYA","xvattr","alsa","jupytext","pygments","ipyleaflet","mlir","lldb","openmp","bpftrace","swapon","castxml","liburing","lorax","texinfo","vdsm","syzkaller","nmstate","ovsdb","libnmstate","gluster","libnvme","zstdcat","starlette","aclsetup","sqlalchemy","ICAF","ICAGDX","ICAL","ICALHZ","ICAPYD","ICBA","ICBBIJ","fdisable","evrp","ICBCDH","ICBED","ICBO","ICBPR","ICBR","Mdzip","journalctl","ICCFIF","ICCI","ICCIAY","ICCIG","ICCIM","ICCIX","ffat","ICCJLG","ICCMUB","ICCOEN","ICCON","ICCP","ICCPKY","nriplugin","ICCPX","ICCQK","archlinux","ICCRDF","ICCUSJ","ICCVB","ICDCJ","ICDCM","ICDCNQ","ICDCOZ","ICDCP","ICDK","ICDPZC","stringzilla","ICDPZF","ICDPZH","ICDPZI","sqids","ICDPZJ","ICDPZK","asyncer","ICDPZL","simsimd","ICDPZN","ICDPZO","ICDPZP","asyncpg","ICDPZQ","ICDPZR","ICDPZS","pyarrow","ICDPZT","ICDPZU","paddleocr","ICDPZV","ICDPZW","ICDPZX","ICDPZY","ICDPZZ","pymupdf","ICDQ","lancedb","jionlp","albucore","pyclipper","aiohappyeyeballs","jiter","tiktoken","ipython","pgvector","jiojio","orjson","imgaug","asgi","tika","imageio","ICDUQO","openpyxl","libpsl","ICEIS","ICEIYC","ICEIYF","ICEIYG","ICEIYH","ICELC","ICEQI","ICEVHK","ICEW","ICEX","ICEYD","pymongo","ICFHI","ICFHWY","libvulkan","cjson","MBHDL","MBPRI","Numa","SRIOV","isuald","environmentt","zxvf","imge","hermesb","kbytes","jattach","futex","pwritev","fdatasync","pselect","ppoll","sendmmsg","recvmmsg","cgrp","sockfd","socklen","ssize","kprobe","nvcsw","nivcsw","vmscan","endio","loongarch","nydus","Vkernel","oedevplugin","IBJEN","IBKBQD","baseos","IBKBRF","IBKBXU","IBKEGE","ftgl","IBKEGF","IBKEGG","IBKEGH","wpebackend","IBKEGI","IBKEGJ","IBKEGL","IBKEGM","qtquickeffectmaker","IBKEGN","IBKEGO","IBKEGQ","IBKEGR","IBKEGT","qtwebview","IBKEGU","IBKEGV","pdfminer","IBKEGW","IBKEGY","IBKEGZ","IBKEH","libwpe","metee","poissonsearch","gmmlib","IBKEHA","glslang","IBKEHC","IBKEHD","IBKEHE","ccache","IBKEHF","IBKEHG","IBKEHH","IBKEHI","IBKEHK","IBKEHL","IBKEHM","IBKEHN","qtwebengine","IBKEHP","IBKEHQ","libmysofa","IBKEHR","IBKEHS","IBKEHT","IBKEHU","IBKEHV","eigen","IBKEHW","IBKEHX","IBKEHY","IBKEI","softhsm","IBKHGK","IBKWWO","dyndb","xnio","pkcs","levenshtein","libomxil","httpretty","luajit","erlang","erlsyslog","texlive","IBLC","fcitx","libime","imdkit","kdsoap","zathura","khotkeys","attica","IBLCA","cassandra","gnumeric","IBLCAA","IBLCAB","IBLCAD","IBLCAF","IBLCAG","IBLCAH","IBLCAJ","IBLCAL","IBLCAM","IBLCAN","dareader","IBLCAP","ksmtp","IBLCAS","orocos","IBLCAT","dxcb","IBLCAZ","IBLCB","IBLCBC","IBLCC","libqtxdg","kxmlgui","libav","kpimtextedit","IBLCCA","IBLCCB","IBLCCC","IBLCCD","IBLCCE","IBLCCF","IBLCCG","IBLCCH","dtkcore","IBLCCJ","IBLCCP","croniter","IBLCD","IBLCDA","zxing","IBLCDB","libkylin","chkname","IBLCDD","libkleo","IBLCDE","IBLCDF","IBLCDH","ubackup","IBLCDI","IBLCDJ","djvu","IBLCDK","IBLCDL","libebml","IBLCDM","IBLCDO","IBLCDP","IBLCDQ","IBLCDS","IBLCDT","IBLCDW","IBLCDY","IBLCE","asdcplib","libsysstat","libgravatar","IBLG","IBLKGY","IBLKWK","IBLL","IBLMMJ","IBLOIZ","IBLPLY","IBLTCF","IBLV","IBLYYN","Rpath","IBLZFK","IBLZO","ceph","librbd","IBMD","IBMOH","jupyter","jupyterlite","xeus","IBMON","IBMQXJ","IBMXDA","IBMY","haveged","samtools","pnetcdf","IBNCBJ","IBNCIP","IBNF","dconf","kscreenlocker","IBNISC","obsapisetup","IBNMQL","IBNN","IBNP","IBNPBK","IBNQ","IBNQA","IBNQAL","IBNQAS","IBNQAX","gucharmap","IBNQB","leptonica","IBNQBF","libetonyek","IBNQBJ","IBNQBT","IBNTGO","IBNTHV","IBNTWN","IBNU","IBNWLA","waccess","IBOB","IBOBH","IBOGM","IBOH","IBOHHS","IBOI","IBOIJP","IBOIPL","IBOISF","IBOISG","IBOISH","IBOISI","IBOISK","pydoctor","IBOJRC","IBOJTT","IBOLYQ","IBOM","IBONA","IBOPVZ","rngd","IBOQKK","IBOQY","geos","IBOR","vpnc","IBORA","IBORB","IBORBD","IBORBN","IBORBZ","IBORC","IBORCC","IBORCS","django","IBORDA","IBORE","IBOREE","IBORER","youker","IBORRB","libqmi","IBOS","IBOSHL","IBOSXL","IBOUK","IBOUNX","IBOWQ","fdump","IBPAMJ","IBPAV","IBPAVA","bindex","IBPAVD","IBPAVF","IBPAVH","IBPAVI","IBPAVJ","IBPAVK","IBPAWG","IBPAWH","IBPBLS","IBPBOT","IBPD","gnutls","IBPDC","IBPENW","IBPF","IBPFS","IBPFVT","IBPG","texmath","libyaml","jira","crypton","IBPI","IBPMZW","trafgen","oeas","IBQBVO","ocaml","camlp","IBQBWA","IBQBWL","IBQGK","IBQI","fllc","IBQILS","IBQKQM","sccvn","IBQMD","IBQMI","IBQMQK","IBQMSZ","IBQMVZ","devstaion","IBQMXV","dtlb","itlb","IBQNDH","IBQNVR","IBQO","fchrec","mcsema","IBQOHQ","vect","IBQPSZ","Postgis","IBQRN","copilit","IBQRW","IBQSAP","IBQT","IBQTMV","IBQTZN","IBQUB","IBQUGS","IBQVWW","IBQW","IBQWL","IBQWP","IBQYQO","IBQZ","IBRA","IBRARL","IBRBEK","IBRCSB","IBRCVD","IBRCY","IBRD","IBRHZ","IBRI","IBRIKX","IBRKM","IBRKOC","IBRMDD","IBRMMX","IBRZ","winpthreads","IBSCBP","IBSDCJ","IBSEYO","IBSFW","IBSGVE","IBSGZ","IBSHNX","IBSN","IBSOZI","IBSS","IBSSIZ","simplejson","IBSUWG","IBSYQ","blpop","IBTEAI","IBTTOA","IBTXRG","opne","IBTYQA","IBUF","rocksdb","IBUJNS","IBUJNT","IBUJNU","IBUMZC","IBUN","IBUTTE","IBUUYC","IBUVRK","IBUVST","IBVAN","IBVC","IBVEV","IBVEZN","IBVIH","IBVXEY","mokutil","SDLC","keyid","ecparam","jekyll","pyrsistent","Ussuri","Xena","Kolla","Aodh","Masakari","Zaqar","oepkg","DBPASS","myuser","cirros","linuxbridge","RADOS","tftpboot","rsyncd","ASIC","cybory","kolla","dstat","OFTC","HSTS","OSSG","Malini","Bhandaru","Nicira","Vontu","DISA","Bont","Vibha","Fauver","GWEB","CISSP","Windisch","Schott","Lorin","Hochstein","sahara","Qpid","CMDB","tgtd","STIG","DRTM","OSSEC","Samhain","DNSSEC","PKIX","Thawte","FIPS","EECDH","TDEA","WSGI","fbcdn","twimg","gunicorn","defaul","NSTISSP","Padula","TDES","Sunar","Eisenbarth","Inci","Gorka","Irazoqui","Apecechea","Artho","Yagi","Iijima","Kuniyasu","Suzaki","Howto","RELRO","RELLO","semanage","fusefs","CIFS","sanlock","OSSN","malchuk","novnc","novacproxy","novncproxy","bugzilla","noauth","Ocata","osapi","LUKS","Gluster","HDFS","SQLA","Lcvery","VXLAN","ONTAP","IDENTKEY","OSAPI","oslo","vswitch","SNAT","DSCP","OSAM","ssync","PKCS","KMIP","Conjur","EJSON","Hashicorp","Custodia","MKEK","CIPSO","Oozie","PGDATA","HRNG","Mitaka","Siwczak","Piotr","sflow","COBIT","ISACA","COSO","ITIL","NERC","CADF","SPOF","FISMA","ITAR","SSAE","ISAE","CICA","HITECH","HIPPA","USML","OCSP","OSSP","murano","monasca","zaqar","AODH","ebtables","Bexar","Cirr","CDMI","SINA","CIMI","harvard","arptables","MPLS","euca","ools","ITSEC","Pavillon","Breteuil","octavia","multinic","OCCI","panko","Vitrage","RXTX","SCIM","solum","Steinstra\xDFe","SLES","SAIO","VMRC","Servic","pyproject","placment","pypi","opene","Libvirtd","Kbit","amet","Consectetur","adipiscing","elit","eiusmod","zaaack","bierner","sharzyl","alefragnani","kexe","armv","NWES","ipcmode","shmpath","HMDFS","numpy","astunparse","einsum","grpcio","absl","gast","innodb","RVIZ","myrobot","URDF","xarm","moveit","teleop","debian","Launcherd","Omni"];var cm=["https://$(host_ip):8080","https://\u57DF\u540D","http://ip:8888",'http://shim/metrics":dial',"http://path/to/repo","https://libvirt.org/sources/libvirt-x.x.x.tar.xz","https://dl-cdn.openeuler.openatom.cn/openEuler-{version}/OS/aarch64","http://server","http://[gala-gopher\u6240\u5728\u8282\u70B9ip]:[\u7AEF\u53E3\u53F7]/[function\uFF08\u91C7\u96C6\u7279\u6027)]","https://example.com/*","^(mailto:|file://|ftp://).*","^(https?://)?localhost.*","^(https?://)?192\\.168\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).*","^(https?://)?172\\.(1[6-9]|2[0-9]|3[0-1])\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).*","^(https?://)?10\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).*"];var FD=(()=>{let e,t;return async(n,r)=>{if(e)return e;try{let i=t||Mr(n,"get",{signal:r});t=i;let s=await i;return s.ok?(e=await s.json(),e):am}catch{return am}finally{t=void 0}}})(),TD=(()=>{let e,t;return async(n,r)=>{if(Array.isArray(e))return e;try{let i=t||Mr(n,"get",{signal:r});t=i;let s=await i;return s.ok?(e=(await s.text()).split(` +`),e):um}catch{return um}finally{t=void 0}}})(),Sc=(()=>{let e,t;return async(n,r)=>{if(Array.isArray(e))return e;try{let i=t||Mr(n,"get",{signal:r});t=i;let s=await i;return s.ok?(e=(await s.text()).split(` +`),e):cm}catch{return cm}finally{t=void 0}}})();var wc=["README.md","CHANGELOG.md"];var Gn=require("node:fs");var ID={access:Gn.access,accessSync:Gn.accessSync,readFile:Gn.readFile,readFileSync:Gn.readFileSync};var zD=B(ne(),1),qD=B(de(),1),vc=new Map,jD;function pm(e){vc.clear(),jD=e}function WD(){return jD?.parsers.micromark.tokens||[]}function $D(e,t){if(vc.has(e))return vc.get(e);let n=t();return vc.set(e,n),n}function H(e,t){return $D(JSON.stringify(arguments),()=>(0,qD.filterByTypes)(WD(),e,t))}function Mt(){return $D(Mt.name,()=>(0,zD.getReferenceLinkImageData)(WD()))}var HD="https://github.com/DavidAnson/markdownlint",Fc="0.38.0";var z2=B(YD(),1),wU=B(eS(),1);var tS=B(ne(),1),nS=B(de(),1);var rS={names:["MD001","heading-increment"],description:"Heading levels should only increment by one level at a time",tags:["headings"],parser:"micromark",function:function(t,n){let r=Number.MAX_SAFE_INTEGER;for(let i of H(["atxHeading","setextHeading"])){let s=(0,nS.getHeadingLevel)(i);s>r&&(0,tS.addErrorDetailIf)(n,i.startLine,`h${r+1}`,`h${s}`),r=s}}};var iS=B(ne(),1),Tc=B(de(),1);var sS={names:["MD003","heading-style"],description:"Heading style",tags:["headings"],parser:"micromark",function:function(t,n){let r=String(t.config.style||"consistent");for(let i of H(["atxHeading","setextHeading"])){let s=(0,Tc.getHeadingStyle)(i);if(r==="consistent"&&(r=s),s!==r){let o=(0,Tc.getHeadingLevel)(i)<=2;if(!(r==="setext_with_atx"&&(o&&s==="setext"||!o&&s==="atx"))&&!(r==="setext_with_atx_closed"&&(o&&s==="setext"||!o&&s==="atx_closed"))){let c=r;r==="setext_with_atx"?c=o?"setext":"atx":r==="setext_with_atx_closed"&&(c=o?"setext":"atx_closed"),(0,iS.addErrorDetailIf)(n,i.startLine,c,s)}}}}};var oS=B(ne(),1),Ic=B(de(),1);var wO={"-":"dash","+":"plus","*":"asterisk"},AO={dash:"-",plus:"+",asterisk:"*"},kO={dash:"plus",plus:"asterisk",asterisk:"dash"},vO=new Set(["asterisk","consistent","dash","plus","sublist"]),aS={names:["MD004","ul-style"],description:"Unordered list style",tags:["bullet","ul"],parser:"micromark",function:function(t,n){let r=String(t.config.style||"consistent"),i=vO.has(r)?r:"dash",s=[];for(let o of H(["listUnordered"])){let a=0;if(r==="sublist"){let c=o;for(;c=(0,Ic.getParentOfType)(c,["listOrdered","listUnordered"]);)a++}let u=(0,Ic.getDescendantsByType)(o,["listItemPrefix","listItemMarker"]);for(let c of u){let l=wO[c.text];r==="sublist"?(s[a]||(s[a]=l===s[a-1]?kO[l]:l),i=s[a]):i==="consistent"&&(i=l);let d=c.startColumn,h=c.endColumn-c.startColumn;(0,oS.addErrorDetailIf)(n,c.startLine,i,l,void 0,void 0,[d,h],{editColumn:d,deleteCount:h,insertText:AO[i]})}}}};var _c=B(ne(),1);var uS={names:["MD005","list-indent"],description:"Inconsistent indentation for list items at the same level",tags:["bullet","ul","indentation"],parser:"micromark",function:function(t,n){for(let r of H(["listOrdered","listUnordered"])){let i=r.startColumn-1,s=0,o=!1,a=r.children.filter(u=>u.type==="listItemPrefix");for(let u of a){let c=u.startLine,l=u.startColumn-1,d=[1,u.endColumn-1];if(r.type==="listUnordered")(0,_c.addErrorDetailIf)(n,c,i,l,void 0,void 0,d);else{let h=u.text.trim().length,f=u.startColumn+h-1;if(s=s||f,i!==l||o)if(s===f)o=!0;else{let p=o?`Expected: (${s}); Actual: (${f})`:`Expected: ${i}; Actual: ${l}`,m=o?s-h:i,g=o?f-h:l;(0,_c.addError)(n,c,p,void 0,d,{editColumn:Math.min(g,m)+1,deleteCount:Math.max(g-m,0),insertText:"".padEnd(Math.max(m-g,0))})}}}}}};var cS=B(ne(),1),lS=B(de(),1);var FO=["blockQuotePrefix","listItemPrefix","listUnordered"],TO=["blockQuote","listOrdered","listUnordered"],fS={names:["MD007","ul-indent"],description:"Unordered list indentation",tags:["bullet","ul","indentation"],parser:"micromark",function:function(t,n){let r=Number(t.config.indent||2),i=!!t.config.start_indented,s=Number(t.config.start_indent||r),o=new Map,a=null,u=H(FO);for(let c of u){let{endColumn:l,parent:d,startColumn:h,startLine:f,type:p}=c;if(p==="blockQuotePrefix")a=c;else if(p==="listUnordered"){let m=0,g=c;for(;g=(0,lS.getParentOfType)(g,TO);){if(g.type==="listUnordered"){m++;continue}else g.type==="listOrdered"&&(m=-1);break}m>=0&&o.set(c,m)}else{let m=o.get(d);if(m!==void 0){let g=(i?s:0)+m*r,x=a?.endLine===f?a.endColumn-1:0,b=h-1-x,y=[1,l-1],D={editColumn:h-b,deleteCount:Math.max(b-g,0),insertText:"".padEnd(Math.max(g-b,0))};(0,cS.addErrorDetailIf)(n,f,g,b,void 0,void 0,y,D)}}}}};var dS=B(ne(),1),Li=B(de(),1);var hS={names:["MD009","no-trailing-spaces"],description:"Trailing spaces",tags:["whitespace"],parser:"micromark",function:function(t,n){let r=t.config.br_spaces;r=Number(r===void 0?2:r);let i=!!t.config.list_item_empty_lines,s=!!t.config.strict,o=new Set;for(let d of H(["codeFenced"]))(0,Li.addRangeToSet)(o,d.startLine+1,d.endLine-1);for(let d of H(["codeIndented"]))(0,Li.addRangeToSet)(o,d.startLine,d.endLine);let a=new Set;if(i)for(let d of H(["listOrdered","listUnordered"])){(0,Li.addRangeToSet)(a,d.startLine,d.endLine);let h=!0;for(let f=d.children.length-1;f>=0;f--){let p=d.children[f];switch(p.type){case"content":h=!1;break;case"listItemIndent":h&&a.delete(p.startLine);break;case"listItemPrefix":h=!0;break;default:break}}}let u=new Set,c=new Set;if(s){for(let d of H(["paragraph"]))(0,Li.addRangeToSet)(u,d.startLine,d.endLine-1);for(let d of H(["codeText"]))(0,Li.addRangeToSet)(c,d.startLine,d.endLine-1)}let l=r<2?0:r;for(let d=0;dd.toLowerCase())),o=t.config.spaces_per_tab,a=o===void 0?1:Math.max(0,Number(o)),u=[];i?s.size>0&&u.push("codeFenced"):u.push("codeFenced","codeIndented","codeText");let l=H(u).filter(d=>d.type==="codeFenced"&&s.size>0?(0,pS.getDescendantsByType)(d,["codeFencedFence","codeFencedFenceInfo"]).every(f=>s.has(f.text.toLowerCase())):!0).map(d=>{let{type:h,startLine:f,startColumn:p,endLine:m,endColumn:g}=d,x=h==="codeFenced";return{startLine:f+(x?1:0),startColumn:x?0:p,endLine:m-(x?1:0),endColumn:x?Number.MAX_SAFE_INTEGER:g}});for(let d=0;d(0,Lc.hasOverlap)(b,x))||(0,Lc.addError)(n,p,"Column: "+m,void 0,[m,g],{editColumn:m,deleteCount:g,insertText:"".padEnd(g*a)})}}}};var Rc=B(ne(),1),gS=B(de(),1);var _O=/(^|[^\\])\(([^()]+)\)\[([^\]^][^\]]*)\](?!\()/g,xS={names:["MD011","no-reversed-links"],description:"Reversed link syntax",tags:["links"],parser:"micromark",function:function(t,n){let r=new Set;for(let s of H(["codeFenced","codeIndented"]))(0,gS.addRangeToSet)(r,s.startLine,s.endLine);let i=H(["codeText"]);for(let[s,o]of t.lines.entries()){let a=s+1;if(!r.has(a)){let u=null;for(;(u=_O.exec(o))!==null;){let[c,l,d,h]=u;if(!d.endsWith("\\")&&!h.endsWith("\\")){let f=u.index+l.length+1,p=u[0].length-l.length,m={startLine:a,startColumn:f,endLine:a,endColumn:f+p-1};i.some(g=>(0,Rc.hasOverlap)(g,m))||(0,Rc.addError)(n,a,c.slice(l.length),void 0,[f,p],{editColumn:f,deleteCount:p,insertText:`[${d}](${h})`})}}}}}};var bS=B(ne(),1),yS=B(de(),1);var CS={names:["MD012","no-multiple-blanks"],description:"Multiple consecutive blank lines",tags:["whitespace","blank_lines"],parser:"micromark",function:function(t,n){let r=Number(t.config.maximum||1),{lines:i}=t,s=new Set;for(let a of H(["codeFenced","codeIndented"]))(0,yS.addRangeToSet)(s,a.startLine,a.endLine);let o=0;for(let[a,u]of i.entries())o=s.has(a+1)||u.trim().length>0?0:o+1,r\s]*\s)?\S*$/,DS={names:["MD013","line-length"],description:"Line length",tags:["line_length"],parser:"micromark",function:function(t,n){let r=Number(t.config.line_length||80),i=Number(t.config.heading_line_length||r),s=Number(t.config.code_block_line_length||r),o=!!t.config.strict,a=!!t.config.stern,u=o||a?RO:LO,c=new RegExp(gm+r+u),l=new RegExp(gm+i+u),d=new RegExp(gm+s+u),h=t.config.code_blocks,f=h===void 0?!0:!!h,p=t.config.tables,m=p===void 0?!0:!!p,g=t.config.headings,x=g===void 0?!0:!!g,b=new Set;for(let k of H(["atxHeading","setextHeading"]))(0,Vn.addRangeToSet)(b,k.startLine,k.endLine);let y=new Set;for(let k of H(["codeFenced","codeIndented"]))(0,Vn.addRangeToSet)(y,k.startLine,k.endLine);let D=new Set;for(let k of H(["table"]))(0,Vn.addRangeToSet)(D,k.startLine,k.endLine);let w=new Set;for(let k of H(["autolink","image","link","literalAutolink"]))(0,Vn.addRangeToSet)(w,k.startLine,k.endLine);let C=new Set;for(let k of H(["paragraph"]))for(let A of(0,Vn.getDescendantsByType)(k,["data"]))(0,Vn.addRangeToSet)(C,A.startLine,A.endLine);let T=new Set;for(let k of w)C.has(k)||T.add(k);let v=new Set(Mt().definitionLineIndices);for(let k=0;ko.type==="codeFlowValue"),s=i.map(o=>({result:o.text.match(BO),startColumn:o.startColumn,startLine:o.startLine,text:o.text})).filter(o=>o.result);if(s.length===i.length)for(let o of s){let a=o.startColumn+o.result[1].length,u=o.result[2].length;(0,SS.addErrorContext)(n,o.startLine,o.text,void 0,void 0,[a,u],{editColumn:a,deleteCount:u})}}}};var AS=B(ne(),1),kS=B(de(),1);var vS={names:["MD018","no-missing-space-atx"],description:"No space after hash on atx style heading",tags:["headings","atx","spaces"],parser:"micromark",function:function(t,n){let{lines:r}=t,i=new Set;for(let s of H(["codeFenced","codeIndented","htmlFlow"]))(0,kS.addRangeToSet)(i,s.startLine,s.endLine);for(let[s,o]of r.entries())if(!i.has(s+1)&&/^#+[^# \t]/.test(o)&&!/#\s*$/.test(o)&&!o.startsWith("#\uFE0F\u20E3")){let a=/^#+/.exec(o)[0].length;(0,AS.addErrorContext)(n,s+1,o.trim(),void 0,void 0,[1,a+1],{editColumn:a+1,insertText:" "})}}};var FS=B(ne(),1),bm=B(de(),1);function xm(e,t,n){let{children:r,startLine:i,text:s}=t,o=n>0?0:r.length-1;for(;r[o]&&r[o].type!=="atxHeadingSequence";)o+=n;let a=r[o],u=r[o+n];if(a?.type==="atxHeadingSequence"&&u?.type==="whitespace"&&u.text.length>1){let c=u.startColumn+1,l=u.endColumn-c;(0,FS.addErrorContext)(e,i,s.trim(),n>0,n<0,[c,l],{editColumn:c,deleteCount:l})}}var TS=[{names:["MD019","no-multiple-space-atx"],description:"Multiple spaces after hash on atx style heading",tags:["headings","atx","spaces"],parser:"micromark",function:function(t,n){let r=H(["atxHeading"]).filter(i=>(0,bm.getHeadingStyle)(i)==="atx");for(let i of r)xm(n,i,1)}},{names:["MD021","no-multiple-space-closed-atx"],description:"Multiple spaces inside hashes on closed atx style heading",tags:["headings","atx_closed","spaces"],parser:"micromark",function:function(t,n){let r=H(["atxHeading"]).filter(i=>(0,bm.getHeadingStyle)(i)==="atx_closed");for(let i of r)xm(n,i,1),xm(n,i,-1)}}];var IS=B(ne(),1),_S=B(de(),1);var LS={names:["MD020","no-missing-space-closed-atx"],description:"No space inside hashes on closed atx style heading",tags:["headings","atx_closed","spaces"],parser:"micromark",function:function(t,n){let{lines:r}=t,i=new Set;for(let s of H(["codeFenced","codeIndented","htmlFlow"]))(0,_S.addRangeToSet)(i,s.startLine,s.endLine);for(let[s,o]of r.entries())if(!i.has(s+1)){let a=/^(#+)([ \t]*)([^# \t\\]|[^# \t][^#]*?[^# \t\\])([ \t]*)((?:\\#)?)(#+)(\s*)$/.exec(o);if(a){let[,u,{length:c},l,{length:d},h,f,{length:p}]=a,m=u.length,g=f.length,x=!c,b=!d||!!h,y=h?`${h} `:"";if(x||b){let D=x?[1,m+1]:[o.length-p-g,g+1];(0,IS.addErrorContext)(n,s+1,o.trim(),x,b,D,{editColumn:1,deleteCount:o.length,insertText:`${u} ${l} ${y}${f}`})}}}}};var Ri=B(ne(),1),xo=B(de(),1);var RS=1,NS=e=>{if(Array.isArray(e)){let n=new Array(6).fill(RS);for(let[r,i]of[...e.entries()].slice(0,6))n[r]=i;return r=>n[(0,xo.getHeadingLevel)(r)-1]}let t=e===void 0?RS:Number(e);return()=>t},BS={names:["MD022","blanks-around-headings"],description:"Headings should be surrounded by blank lines",tags:["headings","blank_lines"],parser:"micromark",function:function(t,n){let r=NS(t.config.lines_above),i=NS(t.config.lines_below),{lines:s}=t,o=H(["blockQuotePrefix","linePrefix"]);for(let a of H(["atxHeading","setextHeading"])){let{startLine:u,endLine:c}=a,l=s[u-1].trim(),d=r(a);if(d>=0){let f=0;for(let p=0;p=0){let f=0;for(let p=0;pc;)i[s]=[],s--;o=i[c]}o.includes(u)?(0,OS.addErrorContext)(n,a.startLine,u.trim()):o.push(u)}}};var Bc=B(ne(),1),Vt=B(de(),1);var zS={names:["MD025","single-title","single-h1"],description:"Multiple top-level headings in the same document",tags:["headings"],parser:"micromark",function:function(t,n){let r=Number(t.config.level||1),{tokens:i}=t.parsers.micromark,s=H(["atxHeading","setextHeading"]).filter(o=>r===(0,Vt.getHeadingLevel)(o)&&!(0,Vt.isDocfxTab)(o));if(s.length>0){let o=(0,Bc.frontMatterHasTitle)(t.frontMatterLines,t.config.front_matter_title),a=o;if(a||(a=i.slice(0,i.indexOf(s[0])).every(c=>Vt.nonContentTokens.has(c.type)||(0,Vt.isHtmlFlowComment)(c))),a)for(let u of s.slice(o?0:1))(0,Bc.addErrorContext)(n,u.startLine,(0,Vt.getHeadingText)(u))}}};var Kt=B(ne(),1);var qS={names:["MD026","no-trailing-punctuation"],description:"Trailing punctuation in heading",tags:["headings"],parser:"micromark",function:function(t,n){let r=t.config.punctuation;r=String(r===void 0?Kt.allPunctuationNoQuestion:r);let i=new RegExp("\\s*["+(0,Kt.escapeForRegExp)(r)+"]+$"),s=H(["atxHeadingText","setextHeadingText"]);for(let o of s){let{endColumn:a,endLine:u,text:c}=o,l=i.exec(c);if(l&&!Kt.endOfLineHtmlEntityRe.test(c)&&!Kt.endOfLineGemojiCodeRe.test(c)){let d=l[0],h=d.length,f=a-h;(0,Kt.addError)(n,u,`Punctuation: '${d}'`,void 0,[f,h],{editColumn:f,deleteCount:h})}}}};var WS=B(ne(),1),$S=B(de(),1);var jS=["listOrdered","listUnordered"],HS={names:["MD027","no-multiple-space-blockquote"],description:"Multiple spaces after blockquote symbol",tags:["blockquote","whitespace","indentation"],parser:"micromark",function:function(t,n){let r=t.config.list_items,i=r===void 0?!0:!!r,{tokens:s}=t.parsers.micromark;for(let o of H(["linePrefix"])){let a=o.parent,u=a?.type==="codeIndented",c=a?.children||s;if(!u&&c[c.indexOf(o)-1]?.type==="blockQuotePrefix"&&(i||!jS.includes(c[c.indexOf(o)+1]?.type)&&!(0,$S.getParentOfType)(o,jS))){let{startColumn:l,startLine:d,text:h}=o,{length:f}=h,p=t.lines[d-1];(0,WS.addErrorContext)(n,d,p,void 0,void 0,[l,f],{editColumn:l,deleteCount:f})}}}};var GS=B(ne(),1);var MO=new Set(["lineEnding","listItemIndent","linePrefix"]),VS={names:["MD028","no-blanks-blockquote"],description:"Blank line inside blockquote",tags:["blockquote","whitespace"],parser:"micromark",function:function(t,n){for(let r of H(["blockQuote"])){let i=[],s=r.parent?.children||t.parsers.micromark.tokens;for(let o=s.indexOf(r)+1;o=2){let c=ym(s[0]);(ym(s[1])!==1||c===0)&&(a=!0,c===0&&(o=0))}let u=r;u==="one_or_ordered"?u=a?"ordered":"one":u==="zero"?o=0:u==="one"&&(o=1);for(let c of s){let l=ym(c);(0,KS.addErrorDetailIf)(n,c.startLine,o,l,"Style: "+PO[u],void 0,[c.startColumn,c.endColumn-c.startColumn]),u==="ordered"&&o++}}}};var JS=B(ne(),1);var YS={names:["MD030","list-marker-space"],description:"Spaces after list markers",tags:["ol","ul","whitespace"],parser:"micromark",function:function(t,n){let r=Number(t.config.ul_single||1),i=Number(t.config.ol_single||1),s=Number(t.config.ul_multi||1),o=Number(t.config.ol_multi||1);for(let a of H(["listOrdered","listUnordered"])){let u=a.type==="listOrdered",c=a.children.filter(h=>h.type==="listItemPrefix"),l=a.endLine-a.startLine+1===c.length,d=u?l?i:o:l?r:s;for(let h of c){let f=[h.startColumn,h.endColumn-h.startColumn],p=h.children.filter(m=>m.type==="listItemPrefixWhitespace");for(let m of p){let{endColumn:g,startColumn:x,startLine:b}=m,y=g-x,D={editColumn:x,deleteCount:y,insertText:"".padEnd(d)};(0,JS.addErrorDetailIf)(n,b,d,y,void 0,void 0,f,D)}}}}};var Ni=B(ne(),1),QS=B(de(),1);var OO=/^(.*?)[`~]/;function ZS(e,t,n,r){let i=t[n-1],[,s]=i.match(OO)||[],o=s===void 0?void 0:{lineNumber:n+(r?0:1),insertText:`${s.replace(/[^>]/g," ").trim()} +`};(0,Ni.addErrorContext)(e,n,i.trim(),void 0,void 0,void 0,o)}var ew={names:["MD031","blanks-around-fences"],description:"Fenced code blocks should be surrounded by blank lines",tags:["code","blank_lines"],parser:"micromark",function:function(t,n){let r=t.config.list_items,i=r===void 0?!0:!!r,{lines:s}=t;for(let o of H(["codeFenced"]))(i||!(0,QS.getParentOfType)(o,["listOrdered","listUnordered"]))&&((0,Ni.isBlankLine)(s[o.startLine-2])||ZS(n,s,o.startLine,!0),!(0,Ni.isBlankLine)(s[o.endLine])&&!(0,Ni.isBlankLine)(s[o.endLine-1])&&ZS(n,s,o.endLine,!1))}};var Bi=B(ne(),1),pn=B(de(),1);var tw=e=>e.type==="listOrdered"||e.type==="listUnordered",nw={names:["MD032","blanks-around-lists"],description:"Lists should be surrounded by blank lines",tags:["bullet","ul","ol","blank_lines"],parser:"micromark",function:function(t,n){let{lines:r,parsers:i}=t,s=H(["blockQuotePrefix","linePrefix"]),o=(0,pn.filterByPredicate)(i.micromark.tokens,tw,a=>tw(a)||a.type==="htmlFlow"?[]:a.children);for(let a of o){let u=a.startLine;(0,Bi.isBlankLine)(r[u-2])||(0,Bi.addErrorContext)(n,u,r[u-1].trim(),void 0,void 0,void 0,{insertText:(0,pn.getBlockQuotePrefixText)(s,u)});let c=(0,pn.filterByPredicate)(a.children,h=>!pn.nonContentTokens.has(h.type),h=>pn.nonContentTokens.has(h.type)?[]:h.children),l=a.endLine;c.length>0&&(l=c[c.length-1].endLine);let d=l;(0,Bi.isBlankLine)(r[d])||(0,Bi.addErrorContext)(n,d,r[d-1].trim(),void 0,void 0,void 0,{lineNumber:d+1,insertText:(0,pn.getBlockQuotePrefixText)(s,d)})}}};var Mc=B(ne(),1),rw=B(de(),1);var iw={names:["MD033","no-inline-html"],description:"Inline HTML",tags:["html"],parser:"micromark",function:function(t,n){let r=t.config.allowed_elements;r=Array.isArray(r)?r:[],r=r.map(i=>i.toLowerCase());for(let i of H(["htmlText"],!0)){let s=(0,rw.getHtmlTagInfo)(i);if(s&&!s.close&&!r.includes(s.name.toLowerCase())){let o=[i.startColumn,i.text.replace(Mc.nextLinesRe,"").length];(0,Mc.addError)(n,i.startLine,"Element: "+s.name,void 0,o)}}}};var sw=B(ne(),1),Or=B(de(),1),ow={names:["MD034","no-bare-urls"],description:"Bare URL used",tags:["links","url"],parser:"micromark",function:function(t,n){let r=i=>(0,Or.filterByPredicate)(i,s=>{if(s.type==="literalAutolink"&&!(0,Or.inHtmlFlow)(s)){let o=s.parent?.children,a=o?.indexOf(s),u=o?.at(a-1),c=o?.at(a+1);return!(u&&c&&u.type==="data"&&c.type==="data"&&u.text.endsWith("<")&&c.text.startsWith(">"))}return!1},s=>{let{children:o}=s,a=[];for(let u=0;u`};(0,sw.addErrorContext)(n,i.startLine,i.text,void 0,void 0,s,o)}}};var aw=B(ne(),1);var uw={names:["MD035","hr-style"],description:"Horizontal rule style",tags:["hr"],parser:"micromark",function:function(t,n){let r=String(t.config.style||"consistent").trim(),i=H(["thematicBreak"]);for(let s of i){let{startLine:o,text:a}=s;r==="consistent"&&(r=a),(0,aw.addErrorDetailIf)(n,o,r,a)}}};var Pc=B(ne(),1),cw=B(de(),1);var UO=[["emphasis","emphasisText"],["strong","strongText"]],zO=e=>!(e.type==="htmlText"||e.type==="data"&&e.text.trim().length===0),lw={names:["MD036","no-emphasis-as-heading"],description:"Emphasis used instead of a heading",tags:["headings","emphasis"],parser:"micromark",function:function(t,n){let r=t.config.punctuation;r=String(r===void 0?Pc.allPunctuation:r);let i=new RegExp("["+r+"]$"),s=H(["paragraph"],!0).filter(o=>o.parent?.type==="content"&&(!o.parent?.parent||o.parent?.parent?.type==="htmlFlow"&&!o.parent?.parent?.parent)&&o.children.filter(zO).length===1);for(let o of UO){let a=(0,cw.getDescendantsByType)(s,o);for(let u of a)u.children.length===1&&u.children[0].type==="data"&&!i.test(u.text)&&(0,Pc.addErrorContext)(n,u.startLine,u.text)}}};var Em=B(ne(),1),Oc=B(de(),1),fw={names:["MD037","no-space-in-emphasis"],description:"Spaces inside emphasis markers",tags:["whitespace","emphasis"],parser:"micromark",function:function(t,n){let{lines:r,parsers:i}=t,s=new Map;for(let a of["_","__","___","*","**","***"])s.set(a,[]);let o=(0,Oc.filterByPredicate)(i.micromark.tokens,a=>a.children.some(u=>u.type==="data"));for(let a of o){for(let u of s.values())u.length=0;for(let u of a.children){let{text:c,type:l}=u;if(l==="data"&&c.length<=3){let d=s.get(c);d&&!(0,Oc.inHtmlFlow)(u)&&d.push(u)}}for(let u of s.entries()){let[c,l]=u;for(let d=0;d+10){let o=(0,Sm.getDescendantsByType)(i,["codeTextPadding"]),a=o[0],u=s[0],c=/^(\s+)(\S)/.exec(u.text)||[null,"",""],l=c[2]==="`",d=c[1].length-(l&&!a?1:0),h=d>0,f=o[o.length-1],p=s[s.length-1],m=/(\S)(\s+)$/.exec(p.text)||[null,"",""],g=m[1]==="`",x=m[2].length-(g&&!f?1:0),b=x>0,y=h&&b&&a&&f&&!l&&!g,D=i.text;if(h){let w=(y?a:u).startColumn,C=d+(y?a.text.length:0);(0,Dm.addErrorContext)(n,u.startLine,D,!0,!1,[w,C],{editColumn:w,deleteCount:C})}if(b){let w=(y?f:p).endColumn,C=x+(y?f.text.length:0);(0,Dm.addErrorContext)(n,p.endLine,D,!1,!0,[w-C,C],{editColumn:w-C,deleteCount:C})}}}}};var pw=B(ne(),1);function hw(e,t,n,r){let i=n.text.match(r?/^[^\S\r\n]+/:/[^\S\r\n]+$/),s=i?[r?n.startColumn:n.endColumn-i[0].length,i[0].length]:void 0;(0,pw.addErrorContext)(e,r?n.startLine+(i?0:1):n.endLine-(i?0:1),t.text.replace(/\s+/g," "),r,!r,s,s?{editColumn:s[0],deleteCount:s[1]}:void 0)}var mw={names:["MD039","no-space-in-links"],description:"Spaces inside link text",tags:["whitespace","links"],parser:"micromark",function:function(t,n){let r=H(["label"]).filter(i=>i.parent?.type==="link");for(let i of r){let s=i.children.filter(o=>o.type==="labelText");for(let o of s)o.text.trimStart().length!==o.text.length&&hw(n,i,o,!0),o.text.trimEnd().length!==o.text.length&&hw(n,i,o,!1)}}};var bo=B(ne(),1),Uc=B(de(),1);var gw={names:["MD040","fenced-code-language"],description:"Fenced code blocks should have a language specified",tags:["code","language"],parser:"micromark",function:function(t,n){let r=t.config.allowed_languages;r=Array.isArray(r)?r:[];let i=!!t.config.language_only,s=H(["codeFenced"]);for(let o of s){let a=(0,Uc.getDescendantsByType)(o,["codeFencedFence"])[0],{startLine:u,text:c}=a,l=(0,Uc.getDescendantsByType)(a,["codeFencedFenceInfo"])[0]?.text;l?r.length>0&&!r.includes(l)&&(0,bo.addError)(n,u,`"${l}" is not allowed`):(0,bo.addErrorContext)(n,u,c),i&&(0,Uc.getDescendantsByType)(a,["codeFencedFenceMeta"]).length>0&&(0,bo.addError)(n,u,`Info string contains more than language: "${c}"`)}}};var zc=B(ne(),1),Xt=B(de(),1),qO=/^h[1-6]$/;function jO(e){let{children:t,type:n}=e;if(n==="htmlFlow"){let r=(0,Xt.filterByTypes)(t,["htmlText"],!0),i=r.length>0&&(0,Xt.getHtmlTagInfo)(r[0]);if(i)return i.name.toLowerCase()}return null}var xw={names:["MD041","first-line-heading","first-line-h1"],description:"First line in a file should be a top-level heading",tags:["headings"],parser:"micromark",function:function(t,n){let r=!!t.config.allow_preamble,i=Number(t.config.level||1),{tokens:s}=t.parsers.micromark;if(!(0,zc.frontMatterHasTitle)(t.frontMatterLines,t.config.front_matter_title)){let o=0;for(let a of s){let{startLine:u,type:c}=a;if(!Xt.nonContentTokens.has(c)&&!(0,Xt.isHtmlFlowComment)(a)){let l=null;if(c==="atxHeading"||c==="setextHeading"){(0,Xt.getHeadingLevel)(a)!==i&&(o=u);break}else if((l=jO(a))&&qO.test(l)){l!==`h${i}`&&(o=u);break}else if(!r){o=u;break}}}o>0&&(0,zc.addErrorContext)(n,o,t.lines[o-1])}}};var bw=B(ne(),1),Mi=B(de(),1);var yw={names:["MD042","no-empty-links"],description:"No empty links",tags:["links"],parser:"micromark",function:function(t,n){let{definitions:r}=Mt(),i=o=>{let a=r.get(o.text.trim());return a&&a[1]==="#"},s=H(["link"]);for(let o of s){let a=(0,Mi.getDescendantsByType)(o,["label","labelText"]),u=(0,Mi.getDescendantsByType)(o,["reference"]),c=(0,Mi.getDescendantsByType)(o,["resource"]),l=(0,Mi.getDescendantsByType)(u,["referenceString"]),d=(0,Mi.getDescendantsByType)(c,["resourceDestination",["resourceDestinationLiteral","resourceDestinationRaw"],"resourceDestinationString"]),h=a.length>0,f=u.length>0,p=c.length>0,m=l.length>0,g=d.length>0,x=!1;h&&(!f&&!p||f&&!m)?x=i(a[0]):m&&!g?x=i(l[0]):!m&&g?x=d[0].text.trim()==="#":!m&&!g&&(x=!0),x&&(0,bw.addErrorContext)(n,o.startLine,o.text,void 0,void 0,[o.startColumn,o.endColumn-o.startColumn])}}};var qc=B(ne(),1),jc=B(de(),1);var Cw={names:["MD043","required-headings"],description:"Required heading structure",tags:["headings"],parser:"micromark",function:function(t,n){let r=t.config.headings;if(!Array.isArray(r))return;let i=t.config.match_case||!1,s=0,o=!1,a=!1,u=!1,c=()=>r[s++]||"[None]",l=h=>i?h:h.toLowerCase();for(let h of H(["atxHeading","setextHeading"]))if(!a){let f=(0,jc.getHeadingText)(h),p=(0,jc.getHeadingLevel)(h);u=!0;let m=`${"".padEnd(p,"#")} ${f}`,g=c();if(g==="*"){let x=c();l(x)!==l(m)&&(o=!0,s--)}else g==="+"?o=!0:g==="?"||(l(g)===l(m)?o=!1:o?s--:((0,qc.addErrorDetailIf)(n,h.startLine,g,m),a=!0))}let d=r.length-s;!a&&(d>1||d===1&&r[s]!=="*")&&(u||!r.every(h=>h==="*"))&&(0,qc.addErrorContext)(n,t.lines.length,r[s])}};var Wr=B(ne(),1),rl=B(de(),1);var Oe=Kn(/[A-Za-z]/),Ue=Kn(/[\dA-Za-z]/),Ew=Kn(/[#-'*+\--9=?A-Z^-~]/);function Ur(e){return e!==null&&(e<32||e===127)}var yo=Kn(/\d/),Dw=Kn(/[\dA-Fa-f]/),Sw=Kn(/[!-/:-@[-`{-~]/);function G(e){return e!==null&&e<-2}function ue(e){return e!==null&&(e<0||e===32)}function re(e){return e===-2||e===-1||e===32}var Pt=Kn(/\p{P}|\p{S}/u),ct=Kn(/\s/);function Kn(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Z(e,t,n,r){let i=r?r-1:Number.POSITIVE_INFINITY,s=0;return o;function o(u){return re(u)?(e.enter(n),a(u)):t(u)}function a(u){return re(u)&&s++999||g===91&&++u>32?n(g):g===93&&!u--?(e.exit("chunkText"),m(g)):G(g)?o?n(g):(e.consume(g),e.exit("chunkText"),h):(e.consume(g),g===92?p:f)}function p(g){return g===91||g===92||g===93?(e.consume(g),a++,f):f(g)}function m(g){return e.exit(s),e.enter(i),e.consume(g),e.exit(i),e.exit(r),t}}function Ui(e,t,n,r){let i=this;return s;function s(a){return a===null||G(a)||Pt(a)||ct(a)?n(a):(e.enter(r),e.consume(a),o)}function o(a){return a===null||G(a)||ct(a)||Pt(a)&&a!==45&&a!==95?(e.exit(r),i.previous===45||i.previous===95?n(a):t(a)):(e.consume(a),o)}}var ww={tokenize:HO,concrete:!0},WO={tokenize:GO,partial:!0},$O={tokenize:VO,partial:!0},Wc={tokenize:KO,partial:!0};function HO(e,t,n){let r=this,i=r.events[r.events.length-1],s=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,o=0,a;return u;function u(k){return e.enter("directiveContainer"),e.enter("directiveContainerFence"),e.enter("directiveContainerSequence"),c(k)}function c(k){return k===58?(e.consume(k),o++,c):o<3?n(k):(e.exit("directiveContainerSequence"),Ui.call(r,e,l,n,"directiveContainerName")(k))}function l(k){return k===91?e.attempt(WO,d,d)(k):d(k)}function d(k){return k===123?e.attempt($O,h,h)(k):h(k)}function h(k){return Z(e,f,"whitespace")(k)}function f(k){return e.exit("directiveContainerFence"),k===null?T(k):G(k)?r.interrupt?t(k):e.attempt(Wc,p,T)(k):n(k)}function p(k){return k===null?T(k):G(k)?e.check(Wc,y,T)(k):(e.enter("directiveContainerContent"),m(k))}function m(k){return e.attempt({tokenize:v,partial:!0},C,s?Z(e,g,"linePrefix",s+1):g)(k)}function g(k){return k===null?C(k):G(k)?e.check(Wc,b,C)(k):b(k)}function x(k){if(k===null){let A=e.exit("chunkDocument");return r.parser.lazy[A.start.line]=!1,C(k)}return G(k)?e.check(Wc,D,w)(k):(e.consume(k),x)}function b(k){let A=e.enter("chunkDocument",{contentType:"document",previous:a});return a&&(a.next=A),a=A,x(k)}function y(k){return e.enter("directiveContainerContent"),m(k)}function D(k){e.consume(k);let A=e.exit("chunkDocument");return r.parser.lazy[A.start.line]=!1,m}function w(k){let A=e.exit("chunkDocument");return r.parser.lazy[A.start.line]=!1,C(k)}function C(k){return e.exit("directiveContainerContent"),T(k)}function T(k){return e.exit("directiveContainer"),t(k)}function v(k,A,L){let _=0;return Z(k,R,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function R(N){return k.enter("directiveContainerFence"),k.enter("directiveContainerSequence"),F(N)}function F(N){return N===58?(k.consume(N),_++,F):_",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xCD",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` +`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acirc:"\xE2",acute:"\xB4",acy:"\u0430",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedil:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\u2256",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",eth:"\xF0",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",ic:"\u2063",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslash:"\xF8",osol:"\u2298",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",ouml:"\xF6",ovbar:"\u233D",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",tilde:"\u02DC",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"};var o9={}.hasOwnProperty;function vw(e){return o9.call(Am,e)?Am[e]:!1}var a9={tokenize:d9,partial:!0},Fw={tokenize:h9,partial:!0},Tw={tokenize:p9,partial:!0},Iw={tokenize:m9,partial:!0},u9={tokenize:g9,partial:!0},_w={name:"wwwAutolink",tokenize:l9,previous:Rw},Lw={name:"protocolAutolink",tokenize:f9,previous:Nw},mn={name:"emailAutolink",tokenize:c9,previous:Bw},Jt={};function vm(){return{text:Jt}}var zr=48;for(;zr<123;)Jt[zr]=mn,zr++,zr===58?zr=65:zr===91&&(zr=97);Jt[43]=mn;Jt[45]=mn;Jt[46]=mn;Jt[95]=mn;Jt[72]=[mn,Lw];Jt[104]=[mn,Lw];Jt[87]=[mn,_w];Jt[119]=[mn,_w];function c9(e,t,n){let r=this,i,s;return o;function o(d){return!km(d)||!Bw.call(r,r.previous)||Fm(r.events)?n(d):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),a(d))}function a(d){return km(d)?(e.consume(d),a):d===64?(e.consume(d),u):n(d)}function u(d){return d===46?e.check(u9,l,c)(d):d===45||d===95||Ue(d)?(s=!0,e.consume(d),u):l(d)}function c(d){return e.consume(d),i=!0,u}function l(d){return s&&i&&Oe(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(d)):n(d)}}function l9(e,t,n){let r=this;return i;function i(o){return o!==87&&o!==119||!Rw.call(r,r.previous)||Fm(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(a9,e.attempt(Fw,e.attempt(Tw,s),n),n)(o))}function s(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function f9(e,t,n){let r=this,i="",s=!1;return o;function o(d){return(d===72||d===104)&&Nw.call(r,r.previous)&&!Fm(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(d),e.consume(d),a):n(d)}function a(d){if(Oe(d)&&i.length<5)return i+=String.fromCodePoint(d),e.consume(d),a;if(d===58){let h=i.toLowerCase();if(h==="http"||h==="https")return e.consume(d),u}return n(d)}function u(d){return d===47?(e.consume(d),s?c:(s=!0,u)):n(d)}function c(d){return d===null||Ur(d)||ue(d)||ct(d)||Pt(d)?n(d):e.attempt(Fw,e.attempt(Tw,l),n)(d)}function l(d){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(d)}}function d9(e,t,n){let r=0;return i;function i(o){return(o===87||o===119)&&r<3?(r++,e.consume(o),i):o===46&&r===3?(e.consume(o),s):n(o)}function s(o){return o===null?n(o):t(o)}}function h9(e,t,n){let r,i,s;return o;function o(c){return c===46||c===95?e.check(Iw,u,a)(c):c===null||ue(c)||ct(c)||c!==45&&Pt(c)?u(c):(s=!0,e.consume(c),o)}function a(c){return c===95?r=!0:(i=r,r=void 0),e.consume(c),o}function u(c){return i||r||!s?n(c):t(c)}}function p9(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}function Ve(e,t,n,r){let i=e.length,s=0,o;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);s0?(Ve(e,e.length,0,t),e):t}function Tm(e){if(e===null||ue(e)||ct(e))return 1;if(Pt(e))return 2}function zi(e,t,n){let r=[],i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},h={...e[n][1].start};Mw(d,-u),Mw(h,u),o={type:u>1?"strongSequence":"emphasisSequence",start:d,end:{...e[r][1].end}},a={type:u>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:h},s={type:u>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:u>1?"strong":"emphasis",start:{...o.start},end:{...a.end}},e[r][1].end={...o.start},e[n][1].start={...a.end},c=[],e[r][1].end.offset-e[r][1].start.offset&&(c=nt(c,[["enter",e[r][1],t],["exit",e[r][1],t]])),c=nt(c,[["enter",i,t],["enter",o,t],["exit",o,t],["enter",s,t]]),c=nt(c,zi(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),c=nt(c,[["exit",s,t],["enter",a,t],["exit",a,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(l=2,c=nt(c,[["enter",e[n][1],t],["exit",e[n][1],t]])):l=0,Ve(e,r-1,n-r+3,c),n=r+c.length-l-2;break}}for(n=-1;++n0&&re(C)?Z(e,b,"linePrefix",s+1)(C):b(C)}function b(C){return C===null||G(C)?e.check(Pw,m,D)(C):(e.enter("codeFlowValue"),y(C))}function y(C){return C===null||G(C)?(e.exit("codeFlowValue"),b(C)):(e.consume(C),y)}function D(C){return e.exit("codeFenced"),t(C)}function w(C,T,v){let k=0;return A;function A(E){return C.enter("lineEnding"),C.consume(E),C.exit("lineEnding"),L}function L(E){return C.enter("codeFencedFence"),re(E)?Z(C,_,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(E):_(E)}function _(E){return E===a?(C.enter("codeFencedFenceSequence"),R(E)):v(E)}function R(E){return E===a?(k++,C.consume(E),R):k>=o?(C.exit("codeFencedFenceSequence"),re(E)?Z(C,F,"whitespace")(E):F(E)):v(E)}function F(E){return E===null||G(E)?(C.exit("codeFencedFence"),T(E)):v(E)}}}function v9(e,t,n){let r=this;return i;function i(o){return o===null?n(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s)}function s(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}var Eo={name:"codeIndented",tokenize:T9},F9={partial:!0,tokenize:I9};function T9(e,t,n){let r=this;return i;function i(c){return e.enter("codeIndented"),Z(e,s,"linePrefix",5)(c)}function s(c){let l=r.events[r.events.length-1];return l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?o(c):n(c)}function o(c){return c===null?u(c):G(c)?e.attempt(F9,o,u)(c):(e.enter("codeFlowValue"),a(c))}function a(c){return c===null||G(c)?(e.exit("codeFlowValue"),o(c)):(e.consume(c),a)}function u(c){return e.exit("codeIndented"),t(c)}}function I9(e,t,n){let r=this;return i;function i(o){return r.parser.lazy[r.now().line]?n(o):G(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i):Z(e,s,"linePrefix",5)(o)}function s(o){let a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(o):G(o)?i(o):n(o)}}var _m={name:"codeText",previous:L9,resolve:_9,tokenize:R9};function _9(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){let i=n||0;this.setCursor(Math.trunc(t));let s=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Do(this.left,r),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Do(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Do(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}}function Jc(e,t,n,r,i,s,o,a,u){let c=u||Number.POSITIVE_INFINITY,l=0;return d;function d(x){return x===60?(e.enter(r),e.enter(i),e.enter(s),e.consume(x),e.exit(s),h):x===null||x===32||x===41||Ur(x)?n(x):(e.enter(r),e.enter(o),e.enter(a),e.enter("chunkString",{contentType:"string"}),m(x))}function h(x){return x===62?(e.enter(s),e.consume(x),e.exit(s),e.exit(i),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),f(x))}function f(x){return x===62?(e.exit("chunkString"),e.exit(a),h(x)):x===null||x===60||G(x)?n(x):(e.consume(x),x===92?p:f)}function p(x){return x===60||x===62||x===92?(e.consume(x),f):f(x)}function m(x){return!l&&(x===null||x===41||ue(x))?(e.exit("chunkString"),e.exit(a),e.exit(o),e.exit(r),t(x)):l999||f===null||f===91||f===93&&!u||f===94&&!a&&"_hiddenFootnoteSupport"in o.parser.constructs?n(f):f===93?(e.exit(s),e.enter(i),e.consume(f),e.exit(i),e.exit(r),t):G(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),l):(e.enter("chunkString",{contentType:"string"}),d(f))}function d(f){return f===null||f===91||f===93||G(f)||a++>999?(e.exit("chunkString"),l(f)):(e.consume(f),u||(u=!re(f)),f===92?h:d)}function h(f){return f===91||f===92||f===93?(e.consume(f),a++,d):d(f)}}function Zc(e,t,n,r,i,s){let o;return a;function a(h){return h===34||h===39||h===40?(e.enter(r),e.enter(i),e.consume(h),e.exit(i),o=h===40?41:h,u):n(h)}function u(h){return h===o?(e.enter(i),e.consume(h),e.exit(i),e.exit(r),t):(e.enter(s),c(h))}function c(h){return h===o?(e.exit(s),u(o)):h===null?n(h):G(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),Z(e,c,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),l(h))}function l(h){return h===o||h===null||G(h)?(e.exit("chunkString"),c(h)):(e.consume(h),h===92?d:l)}function d(h){return h===o||h===92?(e.consume(h),l):l(h)}}function gn(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var Rm={name:"definition",tokenize:z9},U9={partial:!0,tokenize:q9};function z9(e,t,n){let r=this,i;return s;function s(f){return e.enter("definition"),o(f)}function o(f){return Yc.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(f)}function a(f){return i=gn(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),u):n(f)}function u(f){return ue(f)?Dt(e,c)(f):c(f)}function c(f){return Jc(e,l,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(f)}function l(f){return e.attempt(U9,d,d)(f)}function d(f){return re(f)?Z(e,h,"whitespace")(f):h(f)}function h(f){return f===null||G(f)?(e.exit("definition"),r.parser.defined.push(i),t(f)):n(f)}}function q9(e,t,n){return r;function r(a){return ue(a)?Dt(e,i)(a):n(a)}function i(a){return Zc(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function s(a){return re(a)?Z(e,o,"whitespace")(a):o(a)}function o(a){return a===null||G(a)?t(a):n(a)}}var Nm={name:"hardBreakEscape",tokenize:j9};function j9(e,t,n){return r;function r(s){return e.enter("hardBreakEscape"),e.consume(s),i}function i(s){return G(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}var Bm={name:"headingAtx",resolve:W9,tokenize:$9};function W9(e,t){let n=e.length-2,r=3,i,s;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},s={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},Ve(e,r,n-r+1,[["enter",i,t],["enter",s,t],["exit",s,t],["exit",i,t]])),e}function $9(e,t,n){let r=0;return i;function i(l){return e.enter("atxHeading"),s(l)}function s(l){return e.enter("atxHeadingSequence"),o(l)}function o(l){return l===35&&r++<6?(e.consume(l),o):l===null||ue(l)?(e.exit("atxHeadingSequence"),a(l)):n(l)}function a(l){return l===35?(e.enter("atxHeadingSequence"),u(l)):l===null||G(l)?(e.exit("atxHeading"),t(l)):re(l)?Z(e,a,"whitespace")(l):(e.enter("atxHeadingText"),c(l))}function u(l){return l===35?(e.consume(l),u):(e.exit("atxHeadingSequence"),a(l))}function c(l){return l===null||l===35||ue(l)?(e.exit("atxHeadingText"),a(l)):(e.consume(l),c)}}var Ow=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Mm=["pre","script","style","textarea"];var Pm={concrete:!0,name:"htmlFlow",resolveTo:V9,tokenize:K9},H9={partial:!0,tokenize:J9},G9={partial:!0,tokenize:X9};function V9(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function K9(e,t,n){let r=this,i,s,o,a,u;return c;function c(I){return l(I)}function l(I){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(I),d}function d(I){return I===33?(e.consume(I),h):I===47?(e.consume(I),s=!0,m):I===63?(e.consume(I),i=3,r.interrupt?t:S):Oe(I)?(e.consume(I),o=String.fromCharCode(I),g):n(I)}function h(I){return I===45?(e.consume(I),i=2,f):I===91?(e.consume(I),i=5,a=0,p):Oe(I)?(e.consume(I),i=4,r.interrupt?t:S):n(I)}function f(I){return I===45?(e.consume(I),r.interrupt?t:S):n(I)}function p(I){let Q="CDATA[";return I===Q.charCodeAt(a++)?(e.consume(I),a===Q.length?r.interrupt?t:_:p):n(I)}function m(I){return Oe(I)?(e.consume(I),o=String.fromCharCode(I),g):n(I)}function g(I){if(I===null||I===47||I===62||ue(I)){let Q=I===47,Y=o.toLowerCase();return!Q&&!s&&Mm.includes(Y)?(i=1,r.interrupt?t(I):_(I)):Ow.includes(o.toLowerCase())?(i=6,Q?(e.consume(I),x):r.interrupt?t(I):_(I)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(I):s?b(I):y(I))}return I===45||Ue(I)?(e.consume(I),o+=String.fromCharCode(I),g):n(I)}function x(I){return I===62?(e.consume(I),r.interrupt?t:_):n(I)}function b(I){return re(I)?(e.consume(I),b):A(I)}function y(I){return I===47?(e.consume(I),A):I===58||I===95||Oe(I)?(e.consume(I),D):re(I)?(e.consume(I),y):A(I)}function D(I){return I===45||I===46||I===58||I===95||Ue(I)?(e.consume(I),D):w(I)}function w(I){return I===61?(e.consume(I),C):re(I)?(e.consume(I),w):y(I)}function C(I){return I===null||I===60||I===61||I===62||I===96?n(I):I===34||I===39?(e.consume(I),u=I,T):re(I)?(e.consume(I),C):v(I)}function T(I){return I===u?(e.consume(I),u=null,k):I===null||G(I)?n(I):(e.consume(I),T)}function v(I){return I===null||I===34||I===39||I===47||I===60||I===61||I===62||I===96||ue(I)?w(I):(e.consume(I),v)}function k(I){return I===47||I===62||re(I)?y(I):n(I)}function A(I){return I===62?(e.consume(I),L):n(I)}function L(I){return I===null||G(I)?_(I):re(I)?(e.consume(I),L):n(I)}function _(I){return I===45&&i===2?(e.consume(I),N):I===60&&i===1?(e.consume(I),M):I===62&&i===4?(e.consume(I),q):I===63&&i===3?(e.consume(I),S):I===93&&i===5?(e.consume(I),z):G(I)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(H9,j,R)(I)):I===null||G(I)?(e.exit("htmlFlowData"),R(I)):(e.consume(I),_)}function R(I){return e.check(G9,F,j)(I)}function F(I){return e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),E}function E(I){return I===null||G(I)?R(I):(e.enter("htmlFlowData"),_(I))}function N(I){return I===45?(e.consume(I),S):_(I)}function M(I){return I===47?(e.consume(I),o="",U):_(I)}function U(I){if(I===62){let Q=o.toLowerCase();return Mm.includes(Q)?(e.consume(I),q):_(I)}return Oe(I)&&o.length<8?(e.consume(I),o+=String.fromCharCode(I),U):_(I)}function z(I){return I===93?(e.consume(I),S):_(I)}function S(I){return I===62?(e.consume(I),q):I===45&&i===2?(e.consume(I),S):_(I)}function q(I){return I===null||G(I)?(e.exit("htmlFlowData"),j(I)):(e.consume(I),q)}function j(I){return e.exit("htmlFlow"),t(I)}}function X9(e,t,n){let r=this;return i;function i(o){return G(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s):n(o)}function s(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}function J9(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Yt,t,n)}}var Om={name:"htmlText",tokenize:Y9};function Y9(e,t,n){let r=this,i,s,o;return a;function a(S){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(S),u}function u(S){return S===33?(e.consume(S),c):S===47?(e.consume(S),w):S===63?(e.consume(S),y):Oe(S)?(e.consume(S),v):n(S)}function c(S){return S===45?(e.consume(S),l):S===91?(e.consume(S),s=0,p):Oe(S)?(e.consume(S),b):n(S)}function l(S){return S===45?(e.consume(S),f):n(S)}function d(S){return S===null?n(S):S===45?(e.consume(S),h):G(S)?(o=d,M(S)):(e.consume(S),d)}function h(S){return S===45?(e.consume(S),f):d(S)}function f(S){return S===62?N(S):S===45?h(S):d(S)}function p(S){let q="CDATA[";return S===q.charCodeAt(s++)?(e.consume(S),s===q.length?m:p):n(S)}function m(S){return S===null?n(S):S===93?(e.consume(S),g):G(S)?(o=m,M(S)):(e.consume(S),m)}function g(S){return S===93?(e.consume(S),x):m(S)}function x(S){return S===62?N(S):S===93?(e.consume(S),x):m(S)}function b(S){return S===null||S===62?N(S):G(S)?(o=b,M(S)):(e.consume(S),b)}function y(S){return S===null?n(S):S===63?(e.consume(S),D):G(S)?(o=y,M(S)):(e.consume(S),y)}function D(S){return S===62?N(S):y(S)}function w(S){return Oe(S)?(e.consume(S),C):n(S)}function C(S){return S===45||Ue(S)?(e.consume(S),C):T(S)}function T(S){return G(S)?(o=T,M(S)):re(S)?(e.consume(S),T):N(S)}function v(S){return S===45||Ue(S)?(e.consume(S),v):S===47||S===62||ue(S)?k(S):n(S)}function k(S){return S===47?(e.consume(S),N):S===58||S===95||Oe(S)?(e.consume(S),A):G(S)?(o=k,M(S)):re(S)?(e.consume(S),k):N(S)}function A(S){return S===45||S===46||S===58||S===95||Ue(S)?(e.consume(S),A):L(S)}function L(S){return S===61?(e.consume(S),_):G(S)?(o=L,M(S)):re(S)?(e.consume(S),L):k(S)}function _(S){return S===null||S===60||S===61||S===62||S===96?n(S):S===34||S===39?(e.consume(S),i=S,R):G(S)?(o=_,M(S)):re(S)?(e.consume(S),_):(e.consume(S),F)}function R(S){return S===i?(e.consume(S),i=void 0,E):S===null?n(S):G(S)?(o=R,M(S)):(e.consume(S),R)}function F(S){return S===null||S===34||S===39||S===60||S===61||S===96?n(S):S===47||S===62||ue(S)?k(S):(e.consume(S),F)}function E(S){return S===47||S===62||ue(S)?k(S):n(S)}function N(S){return S===62?(e.consume(S),e.exit("htmlTextData"),e.exit("htmlText"),t):n(S)}function M(S){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(S),e.exit("lineEnding"),U}function U(S){return re(S)?Z(e,z,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(S):z(S)}function z(S){return e.enter("htmlTextData"),o(S)}}var Ot={name:"labelEnd",resolveAll:t7,resolveTo:n7,tokenize:r7},Z9={tokenize:i7},Q9={tokenize:s7},e7={tokenize:o7};function t7(e){let t=-1,n=[];for(;++t=3&&(c===null||G(c))?(e.exit("thematicBreak"),t(c)):n(c)}function u(c){return c===i?(e.consume(c),r++,u):(e.exit("thematicBreakSequence"),re(c)?Z(e,a,"whitespace")(c):a(c))}}var Ke={continuation:{tokenize:p7},exit:g7,name:"list",tokenize:h7},f7={partial:!0,tokenize:x7},d7={partial:!0,tokenize:m7};function h7(e,t,n){let r=this,i=r.events[r.events.length-1],s=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,o=0;return a;function a(f){let p=r.containerState.type||(f===42||f===43||f===45?"listUnordered":"listOrdered");if(p==="listUnordered"?!r.containerState.marker||f===r.containerState.marker:yo(f)){if(r.containerState.type||(r.containerState.type=p,e.enter(p,{_container:!0})),p==="listUnordered")return e.enter("listItemPrefix"),f===42||f===45?e.check(qr,n,c)(f):c(f);if(!r.interrupt||f===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),u(f)}return n(f)}function u(f){return yo(f)&&++o<10?(e.consume(f),u):(!r.interrupt||o<2)&&(r.containerState.marker?f===r.containerState.marker:f===41||f===46)?(e.exit("listItemValue"),c(f)):n(f)}function c(f){return e.enter("listItemMarker"),e.consume(f),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||f,e.check(Yt,r.interrupt?n:l,e.attempt(f7,h,d))}function l(f){return r.containerState.initialBlankLine=!0,s++,h(f)}function d(f){return re(f)?(e.enter("listItemPrefixWhitespace"),e.consume(f),e.exit("listItemPrefixWhitespace"),h):n(f)}function h(f){return r.containerState.size=s+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(f)}}function p7(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(Yt,i,s);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Z(e,t,"listItemIndent",r.containerState.size+1)(a)}function s(a){return r.containerState.furtherBlankLines||!re(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(d7,t,o)(a))}function o(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,Z(e,e.attempt(Ke,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function m7(e,t,n){let r=this;return Z(e,i,"listItemIndent",r.containerState.size+1);function i(s){let o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(s):n(s)}}function g7(e){e.exit(this.containerState.type)}function x7(e,t,n){let r=this;return Z(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(s){let o=r.events[r.events.length-1];return!re(s)&&o&&o[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}var Qc={name:"setextUnderline",resolveTo:b7,tokenize:y7};function b7(e,t){let n=e.length,r,i,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);let o={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",s?(e.splice(i,0,["enter",o,t]),e.splice(s+1,0,["exit",e[r][1],t]),e[r][1].end={...e[s][1].end}):e[r][1]=o,e.push(["exit",o,t]),e}function y7(e,t,n){let r=this,i;return s;function s(c){let l=r.events.length,d;for(;l--;)if(r.events[l][1].type!=="lineEnding"&&r.events[l][1].type!=="linePrefix"&&r.events[l][1].type!=="content"){d=r.events[l][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||d)?(e.enter("setextHeadingLine"),i=c,o(c)):n(c)}function o(c){return e.enter("setextHeadingLineSequence"),a(c)}function a(c){return c===i?(e.consume(c),a):(e.exit("setextHeadingLineSequence"),re(c)?Z(e,u,"lineSuffix")(c):u(c))}function u(c){return c===null||G(c)?(e.exit("setextHeadingLine"),t(c)):n(c)}}var C7={tokenize:v7,partial:!0};function qm(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:w7,continuation:{tokenize:A7},exit:k7}},text:{91:{name:"gfmFootnoteCall",tokenize:S7},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:E7,resolveTo:D7}}}}function E7(e,t,n){let r=this,i=r.events.length,s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let u=r.events[i][1];if(u.type==="labelImage"){o=u;break}if(u.type==="gfmFootnoteCall"||u.type==="labelLink"||u.type==="label"||u.type==="image"||u.type==="link")break}return a;function a(u){if(!o||!o._balanced)return n(u);let c=gn(r.sliceSerialize({start:o.end,end:r.now()}));return c.codePointAt(0)!==94||!s.includes(c.slice(1))?n(u):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),t(u))}}function D7(e,t){let n=e.length,r;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){r=e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";let i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},s={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};s.end.column++,s.end.offset++,s.end._bufferIndex++;let o={type:"gfmFootnoteCallString",start:Object.assign({},s.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},u=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",s,t],["exit",s,t],["enter",o,t],["enter",a,t],["exit",a,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...u),e}function S7(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),s=0,o;return a;function a(d){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),u}function u(d){return d!==94?n(d):(e.enter("gfmFootnoteCallMarker"),e.consume(d),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",c)}function c(d){if(s>999||d===93&&!o||d===null||d===91||ue(d))return n(d);if(d===93){e.exit("chunkString");let h=e.exit("gfmFootnoteCallString");return i.includes(gn(r.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(d)}return ue(d)||(o=!0),s++,e.consume(d),d===92?l:c}function l(d){return d===91||d===92||d===93?(e.consume(d),s++,c):c(d)}}function w7(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),s,o=0,a;return u;function u(p){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionLabelMarker"),c}function c(p){return p===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",l):n(p)}function l(p){if(o>999||p===93&&!a||p===null||p===91||ue(p))return n(p);if(p===93){e.exit("chunkString");let m=e.exit("gfmFootnoteDefinitionLabelString");return s=gn(r.sliceSerialize(m)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return ue(p)||(a=!0),o++,e.consume(p),p===92?d:l}function d(p){return p===91||p===92||p===93?(e.consume(p),o++,l):l(p)}function h(p){return p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),i.includes(s)||i.push(s),Z(e,f,"gfmFootnoteDefinitionWhitespace")):n(p)}function f(p){return t(p)}}function A7(e,t,n){return e.check(Yt,t,e.attempt(C7,t,n))}function k7(e){e.exit("gfmFootnoteDefinition")}function v7(e,t,n){let r=this;return Z(e,i,"gfmFootnoteDefinitionIndent",5);function i(s){let o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(s):n(s)}}var el=class{constructor(){this.map=[]}add(t,n,r){F7(this,t,n,r)}consume(t){if(this.map.sort(function(s,o){return s[0]-o[0]}),this.map.length===0)return;let n=this.map.length,r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(let s of i)t.push(s);i=r.pop()}this.map.length=0}};function F7(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i-1;){let F=r.events[L][1].type;if(F==="lineEnding"||F==="linePrefix")L--;else break}let _=L>-1?r.events[L][1].type:null,R=_==="tableHead"||_==="tableRow"?C:u;return R===C&&r.parser.lazy[r.now().line]?n(A):R(A)}function u(A){return e.enter("tableHead"),e.enter("tableRow"),c(A)}function c(A){return A===124||(o=!0,s+=1),l(A)}function l(A){return A===null?n(A):G(A)?s>1?(s=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),f):n(A):re(A)?Z(e,l,"whitespace")(A):(s+=1,o&&(o=!1,i+=1),A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),o=!0,l):(e.enter("data"),d(A)))}function d(A){return A===null||A===124||ue(A)?(e.exit("data"),l(A)):(e.consume(A),A===92?h:d)}function h(A){return A===92||A===124?(e.consume(A),d):d(A)}function f(A){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(A):(e.enter("tableDelimiterRow"),o=!1,re(A)?Z(e,p,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):p(A))}function p(A){return A===45||A===58?g(A):A===124?(o=!0,e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),m):w(A)}function m(A){return re(A)?Z(e,g,"whitespace")(A):g(A)}function g(A){return A===58?(s+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),x):A===45?(s+=1,x(A)):A===null||G(A)?D(A):w(A)}function x(A){return A===45?(e.enter("tableDelimiterFiller"),b(A)):w(A)}function b(A){return A===45?(e.consume(A),b):A===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),y):(e.exit("tableDelimiterFiller"),y(A))}function y(A){return re(A)?Z(e,D,"whitespace")(A):D(A)}function D(A){return A===124?p(A):A===null||G(A)?!o||i!==s?w(A):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(A)):w(A)}function w(A){return n(A)}function C(A){return e.enter("tableRow"),T(A)}function T(A){return A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),T):A===null||G(A)?(e.exit("tableRow"),t(A)):re(A)?Z(e,T,"whitespace")(A):(e.enter("data"),v(A))}function v(A){return A===null||A===124||ue(A)?(e.exit("data"),T(A)):(e.consume(A),A===92?k:v)}function k(A){return A===92||A===124?(e.consume(A),v):v(A)}}function I7(e,t){let n=-1,r=!0,i=0,s=[0,0,0,0],o=[0,0,0,0],a=!1,u=0,c,l,d,h=new el;for(;++nn[2]+1){let p=n[2]+1,m=n[3]-n[2]-1;e.add(p,m,[])}}e.add(n[3]+1,0,[["exit",d,t]])}return i!==void 0&&(s.end=Object.assign({},qi(t.events,i)),e.add(i,0,[["exit",s,t]]),s=void 0),s}function zw(e,t,n,r,i){let s=[],o=qi(t.events,n);i&&(i.end=Object.assign({},o),s.push(["exit",i,t])),r.end=Object.assign({},o),s.push(["exit",r,t]),e.add(n+1,0,s)}function qi(e,t){let n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}var jw={tokenize:_7,concrete:!0,name:"mathFlow"},qw={tokenize:L7,partial:!0};function _7(e,t,n){let r=this,i=r.events[r.events.length-1],s=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,o=0;return a;function a(b){return e.enter("mathFlow"),e.enter("mathFlowFence"),e.enter("mathFlowFenceSequence"),u(b)}function u(b){return b===36?(e.consume(b),o++,u):o<2?n(b):(e.exit("mathFlowFenceSequence"),Z(e,c,"whitespace")(b))}function c(b){return b===null||G(b)?d(b):(e.enter("mathFlowFenceMeta"),e.enter("chunkString",{contentType:"string"}),l(b))}function l(b){return b===null||G(b)?(e.exit("chunkString"),e.exit("mathFlowFenceMeta"),d(b)):b===36?n(b):(e.consume(b),l)}function d(b){return e.exit("mathFlowFence"),r.interrupt?t(b):e.attempt(qw,h,g)(b)}function h(b){return e.attempt({tokenize:x,partial:!0},g,f)(b)}function f(b){return(s?Z(e,p,"linePrefix",s+1):p)(b)}function p(b){return b===null?g(b):G(b)?e.attempt(qw,h,g)(b):(e.enter("mathFlowValue"),m(b))}function m(b){return b===null||G(b)?(e.exit("mathFlowValue"),p(b)):(e.consume(b),m)}function g(b){return e.exit("mathFlow"),t(b)}function x(b,y,D){let w=0;return Z(b,C,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function C(k){return b.enter("mathFlowFence"),b.enter("mathFlowFenceSequence"),T(k)}function T(k){return k===36?(w++,b.consume(k),T):wo))return;let T=t.events.length,v=T,k,A;for(;v--;)if(t.events[v][0]==="exit"&&t.events[v][1].type==="chunkFlow"){if(k){A=t.events[v][1].end;break}k=!0}for(x(r),C=T;Cy;){let w=n[D];t.containerState=w[1],w[0].exit.call(t,e)}n.length=y}function b(){i.write([null]),s=void 0,i=void 0,t.containerState._closeFlow=void 0}}function U7(e,t,n){return Z(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}var Xw={tokenize:z7};function z7(e){let t=this,n=e.attempt(Yt,r,e.attempt(this.parser.constructs.flowInitial,i,Z(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Lm,i)),"linePrefix")));return n;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var Jw={resolveAll:e2()},Yw=Qw("string"),Zw=Qw("text");function Qw(e){return{resolveAll:e2(e==="text"?q7:void 0),tokenize:t};function t(n){let r=this,i=this.parser.constructs[e],s=n.attempt(i,o,a);return o;function o(l){return c(l)?s(l):a(l)}function a(l){if(l===null){n.consume(l);return}return n.enter("data"),n.consume(l),u}function u(l){return c(l)?(n.exit("data"),s(l)):(n.consume(l),u)}function c(l){if(l===null)return!0;let d=i[l],h=-1;if(d)for(;++hX7,contentInitial:()=>W7,disable:()=>J7,document:()=>j7,flow:()=>H7,flowInitial:()=>$7,insideSpan:()=>K7,string:()=>G7,text:()=>V7});var j7={42:Ke,43:Ke,45:Ke,48:Ke,49:Ke,50:Ke,51:Ke,52:Ke,53:Ke,54:Ke,55:Ke,56:Ke,57:Ke,62:$c},W7={91:Rm},$7={[-2]:Eo,[-1]:Eo,32:Eo},H7={35:Bm,42:qr,45:[Qc,qr],60:Pm,61:Qc,95:qr,96:Vc,126:Vc},G7={38:Gc,92:Hc},V7={[-5]:So,[-4]:So,[-3]:So,33:Um,38:Gc,42:Co,60:[Im,Om],91:zm,92:[Nm,Hc],93:Ot,95:Co,96:_m},K7={null:[Co,Jw]},X7={null:[42,95]},J7={null:[]};function t2(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},s=[],o=[],a=[],u=!0,c={attempt:k(T),check:k(v),consume:D,enter:w,exit:C,interrupt:k(v,{interrupt:!0})},l={code:null,containerState:{},defineSkip:x,events:[],now:g,parser:e,previous:null,sliceSerialize:p,sliceStream:m,write:f},d=t.tokenize.call(l,c),h;return t.resolveAll&&s.push(t),l;function f(R){return o=nt(o,R),b(),o[o.length-1]!==null?[]:(A(t,0),l.events=zi(s,l.events,l),l.events)}function p(R,F){return Z7(m(R),F)}function m(R){return Y7(o,R)}function g(){let{_bufferIndex:R,_index:F,line:E,column:N,offset:M}=r;return{_bufferIndex:R,_index:F,line:E,column:N,offset:M}}function x(R){i[R.line]=R.column,_()}function b(){let R;for(;r._index-1){let a=o[0];typeof a=="string"?o[0]=a.slice(r):o.shift()}s>0&&o.push(e[i].slice(0,s))}return o}function Z7(e,t){let n=-1,r=[],i;for(;++n{let f=l.length;for(;--f>=0;){let p=l[f],[m,g]=p;if(m==="enter"){let{type:x}=g;if(x==="labelImage"||x==="labelLink")break}}if(f>=0){let p=l[f],[,m]=p,g=l[l.length-1],[,x]=g,b={type:"undefinedReferenceShortcut",start:m.start,end:x.end},y={type:"undefinedReference",start:m.start,end:x.end},D=l.slice(f).filter(v=>{let[,k]=v,{type:A}=k;return A==="data"||A==="lineEnding"}),w=r.length>0&&r[r.length-1][0],C=w&&w[1];C&&C.end.line===b.start.line&&C.end.column===b.start.column&&(D.length===0?(C.type="undefinedReferenceCollapsed",C.end=x.end):(b.type="undefinedReferenceFull",b.start=C.start,r.pop()));let T=D.filter(v=>v[0]==="enter").map(v=>i2(e,v[1])).join("").trim();if(T.length>0&&!T.includes("]")){let v=[];v.push(["enter",b,c],["enter",y,c]);for(let k of D){let[A,L]=k;v.push([A,{...L},c])}v.push(["exit",y,c],["exit",b,c]),r.push(v)}}return u(h)};return i.call(c,o,a,d)}try{Ot.tokenize=s;let o=void 0,a=!0,u=Hm({...t,extensions:n}),c=Vm()(e,o,a);return Gm(u.document().write(c)).concat(...r)}finally{Ot.tokenize=i}}function s2(e,t={},n={},r=0,i=void 0){let s=!!t.freezeTokens,o=Q7(e,n),a=[],u=[],c={type:"data",startLine:-1,startColumn:-1,endLine:-1,endColumn:-1,text:"ROOT",children:a,parent:null},l=[c],d=c,h=null,f=null,p=!1;for(let m of o){let[g,x]=m,{type:b,start:y,end:D}=x,{column:w,line:C}=y,{column:T,line:v}=D,k=i2(e,x);if(g==="enter"&&!p){let A=d;if(l.push(A),d={type:b,startLine:C+r,startColumn:w,endLine:v+r,endColumn:T,text:k,children:[],parent:A===c?i||null:A},i&&Object.defineProperty(d,jr.htmlFlowSymbol,{value:!0}),A.children.push(d),u.push(d),d.type==="htmlFlow"&&!(0,r2.isHtmlFlowComment)(d)){p=!0,(!h||!f)&&(h={...n,extensions:[{disable:{null:["codeIndented","htmlFlow"]}}]},f=e.split(jr.newLineRe));let L=f.slice(d.startLine-1,d.endLine).join(` +`),_=s2(L,t,h,d.startLine-1,d);d.children=_,u=u.concat(_[jr.flatTokensSymbol])}}else g==="exit"&&(b==="htmlFlow"&&(p=!1),p||(s&&(Object.freeze(d.children),Object.freeze(d)),d=l.pop()))}return Object.defineProperty(a,jr.flatTokensSymbol,{value:u}),s&&Object.freeze(a),a}function nl(e,t){return s2(e,t)}var eU=new Set(["codeFencedFence","definition","reference","resource"]),o2={names:["MD044","proper-names"],description:"Proper names should have the correct capitalization",tags:["spelling"],parser:"micromark",function:function(t,n){let r=t.config.names;if(r=Array.isArray(r)?r:[],r.sort((h,f)=>f.length-h.length||h.localeCompare(f)),r.length===0)return;let i=t.config.code_blocks,s=i===void 0?!0:!!i,o=t.config.html_elements,a=o===void 0?!0:!!o,u=new Set(["data"]);s&&(u.add("codeFlowValue"),u.add("codeTextData")),a&&(u.add("htmlFlowData"),u.add("htmlTextData"));let c=(0,rl.filterByPredicate)(t.parsers.micromark.tokens,h=>u.has(h.type),h=>h.children.filter(f=>!eU.has(f.type))),l=[],d=new Set;for(let h of r){let f=(0,Wr.escapeForRegExp)(h),p=/^\W/.test(h)?"":"\\b_*",m=/\W$/.test(h)?"":"_*\\b",g=`(${p})(${f})${m}`,x=new RegExp(g,"gi");for(let b of c){let y=null;for(;(y=x.exec(b.text))!==null;){let[,D,w]=y,C=b.startColumn+y.index+D.length,T=w.length,v=b.startLine,k={startLine:v,startColumn:C,endLine:v,endColumn:C+T-1};if(!r.includes(w)&&!l.some(A=>(0,Wr.hasOverlap)(A,k))){let A=[];d.has(b)||(A=(0,rl.filterByTypes)(nl(b.text),["literalAutolink"]).map(L=>({startLine:v,startColumn:b.startColumn+L.startColumn-1,endLine:v,endColumn:b.endColumn+L.endColumn-1})),l.push(...A),d.add(b)),A.some(L=>(0,Wr.hasOverlap)(L,k))||(0,Wr.addErrorDetailIf)(n,b.startLine,h,w,void 0,void 0,[C,T],{editColumn:C,deleteCount:T,insertText:h})}l.push(k)}}}}};var Xn=B(ne(),1),il=B(de(),1);var tU=(0,Xn.getHtmlAttributeRe)("alt"),nU=(0,Xn.getHtmlAttributeRe)("aria-hidden"),a2={names:["MD045","no-alt-text"],description:"Images should have alternate text (alt text)",tags:["accessibility","images"],parser:"micromark",function:function(t,n){let r=H(["image"]);for(let s of r)if((0,il.getDescendantsByType)(s,["label","labelText"]).some(a=>a.text.length===0)){let a=s.startLine===s.endLine?[s.startColumn,s.endColumn-s.startColumn]:void 0;(0,Xn.addError)(n,s.startLine,void 0,void 0,a)}let i=H(["htmlText"],!0);for(let s of i){let{startColumn:o,startLine:a,text:u}=s,c=(0,il.getHtmlTagInfo)(s);if(c&&!c.close&&c.name.toLowerCase()==="img"&&!tU.test(u)&&nU.exec(u)?.[1].toLowerCase()!=="true"){let l=[o,u.replace(Xn.nextLinesRe,"").length];(0,Xn.addError)(n,a,void 0,void 0,l)}}}};var c2=B(ne(),1);var u2={codeFenced:"fenced",codeIndented:"indented"},l2={names:["MD046","code-block-style"],description:"Code block style",tags:["code"],parser:"micromark",function:function(t,n){let r=String(t.config.style||"consistent");for(let i of H(["codeFenced","codeIndented"])){let{startLine:s,type:o}=i;r==="consistent"&&(r=u2[o]),(0,c2.addErrorDetailIf)(n,s,r,u2[o])}}};var sl=B(ne(),1),f2={names:["MD047","single-trailing-newline"],description:"Files should end with a single newline character",tags:["blank_lines"],parser:"none",function:function(t,n){let r=t.lines.length,i=t.lines[r-1];(0,sl.isBlankLine)(i)||(0,sl.addError)(n,r,void 0,void 0,[i.length,1],{insertText:` +`,editColumn:i.length+1})}};var h2=B(ne(),1),p2=B(de(),1);function d2(e){switch(e[0]){case"~":return"tilde";default:return"backtick"}}var m2={names:["MD048","code-fence-style"],description:"Code fence style",tags:["code"],parser:"micromark",function:function(t,n){let i=String(t.config.style||"consistent"),s=H(["codeFenced"]);for(let o of s){let a=(0,p2.getDescendantsByType)(o,["codeFencedFence","codeFencedFenceSequence"])[0],{startLine:u,text:c}=a;i==="consistent"&&(i=d2(c)),(0,h2.addErrorDetailIf)(n,u,i,d2(c))}}};var b2=B(ne(),1),ol=B(de(),1),g2=/^\w$/;function rU(e){switch(e[0]){case"*":return"asterisk";default:return"underscore"}}var x2=(e,t,n,r,i,s,o="consistent")=>{let{lines:a,parsers:u}=e,c=(0,ol.filterByPredicate)(u.micromark.tokens,l=>l.type===n,l=>l.type==="htmlFlow"?[]:l.children);for(let l of c){let d=(0,ol.getDescendantsByType)(l,[r]),h=d[0],f=d[d.length-1];if(h&&f){let p=rU(h.text);if(o==="consistent"&&(o=p),o!==p&&!(o==="underscore"&&(g2.test(a[h.startLine-1][h.startColumn-2])||g2.test(a[f.endLine-1][f.endColumn-1]))))for(let g of[h,f])(0,b2.addError)(t,g.startLine,`Expected: ${o}; Actual: ${p}`,void 0,[g.startColumn,g.text.length],{editColumn:g.startColumn,deleteCount:g.text.length,insertText:o==="asterisk"?i:s})}}},y2=[{names:["MD049","emphasis-style"],description:"Emphasis style",tags:["emphasis"],parser:"micromark",function:function(t,n){return x2(t,n,"emphasis","emphasisSequence","*","_",t.config.style||void 0)}},{names:["MD050","strong-style"],description:"Strong style",tags:["emphasis"],parser:"micromark",function:function(t,n){return x2(t,n,"strong","strongSequence","**","__",t.config.style||void 0)}}];var ji=B(ne(),1),xn=B(de(),1);var iU=(0,ji.getHtmlAttributeRe)("id"),sU=(0,ji.getHtmlAttributeRe)("name"),oU=/\{(#[a-z\d]+(?:[-_][a-z\d]+)*)\}/gu,aU=/^#(?:L\d+(?:C\d+)?-L\d+(?:C\d+)?|L\d+)$/,uU=new Set(["image","reference","resource"]),cU=new Set(["characterEscapeValue","codeTextData","data","mathTextData"]);function lU(e){let t=(0,xn.filterByPredicate)(e.children,n=>cU.has(n.type),n=>uU.has(n.type)?[]:n.children).map(n=>n.text).join("");return"#"+encodeURIComponent(t.toLowerCase().replace(/[^\p{Letter}\p{Mark}\p{Number}\p{Connector_Punctuation}\- ]/gu,"").replace(/ /gu,"-"))}function fU(e){return(0,xn.filterByTypes)(e.children,["characterEscapeValue","data"]).map(t=>t.text).join("")}var C2={names:["MD051","link-fragments"],description:"Link fragments should be valid",tags:["links"],parser:"micromark",function:function(t,n){let r=t.config.ignore_case||!1,i=t.config.ignored_pattern||"",s=new RegExp(i||"^$"),o=new Map([["#top",0]]),a=H(["atxHeadingText","setextHeadingText"]);for(let c of a){let l=lU(c);if(l!=="#"){let d=o.get(l)||0;d&&o.set(`${l}-${d}`,0),o.set(l,d+1);let h=null;for(;(h=oU.exec(c.text))!==null;){let[,f]=h;o.has(f)||o.set(f,1)}}}for(let c of H(["htmlText"],!0)){let l=(0,xn.getHtmlTagInfo)(c);if(l&&!l.close){let d=iU.exec(c.text)||l.name.toLowerCase()==="a"&&sU.exec(c.text);d&&d.length>0&&o.set(`#${d[1]}`,0)}}let u=[["link","resourceDestinationString"],["definition","definitionDestinationString"]];for(let[c,l]of u){let d=H([c]).filter(h=>!(h.parent?.type==="atxHeadingText"&&(0,xn.isDocfxTab)(h.parent.parent)));for(let h of d){let f=(0,xn.filterByTypes)(h.children,[l]);for(let p of f){let{endColumn:m,startColumn:g}=p,x=fU(p),b=x.slice(1),y=`#${encodeURIComponent(b)}`;if(x.length>1&&x.startsWith("#")&&!o.has(y)&&!aU.test(y)&&!s.test(b)){let D,w,C;h.startLine===h.endLine&&(D=h.text,w=[h.startColumn,h.endColumn-h.startColumn],C={editColumn:g,deleteCount:m-g});let T=x.toLowerCase(),v=[...o.keys()].find(k=>T===k.toLowerCase());v?((C||{}).insertText=v,!r&&v!==x&&(0,ji.addError)(n,h.startLine,`Expected: ${v}; Actual: ${x}`,D,w,C)):(0,ji.addError)(n,h.startLine,void 0,D,w)}}}}}};var E2=B(ne(),1);var D2={names:["MD052","reference-links-images"],description:"Reference links and images should use a label that is defined",tags:["images","links"],parser:"none",function:function(t,n){let{config:r,lines:i}=t,s=r.shortcut_syntax||!1,o=new Set(r.ignored_labels||["x"]),{definitions:a,references:u,shortcuts:c}=Mt(),l=s?[...u.entries(),...c.entries()]:u.entries();for(let d of l){let[h,f]=d;if(!a.has(h)&&!o.has(h))for(let p of f){let[m,g,x]=p,b=i[m].slice(g,g+x);(0,E2.addError)(n,m+1,`Missing link or image reference definition: "${h}"`,b,[g+1,b.length])}}}};var Wi=B(ne(),1);var dU=/^ {0,3}\[([^\]]*[^\\])\]:/,S2={names:["MD053","link-image-reference-definitions"],description:"Link and image reference definitions should be needed",tags:["images","links"],parser:"none",function:function(t,n){let r=new Set(t.config.ignored_definitions||["//"]),i=t.lines,{references:s,shortcuts:o,definitions:a,duplicateDefinitions:u}=Mt(),c=d=>d.replace(dU,"").trim().length>0,l={deleteCount:-1};for(let d of a.entries()){let[h,[f]]=d;if(!r.has(h)&&!s.has(h)&&!o.has(h)){let p=i[f];(0,Wi.addError)(n,f+1,`Unused link or image reference definition: "${h}"`,(0,Wi.ellipsify)(p),[1,p.length],c(p)?l:void 0)}}for(let d of u){let[h,f]=d;if(!r.has(h)){let p=i[f];(0,Wi.addError)(n,f+1,`Duplicate link or image reference definition: "${h}"`,(0,Wi.ellipsify)(p),[1,p.length],c(p)?l:void 0)}}}};var al=B(ne(),1),$r=B(de(),1);var hU=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,pU=e=>e.replace(hU,"$1"),mU=/[ <>]/,w2=e=>{try{new URL(e)}catch{return!1}return!mU.test(e)},A2={names:["MD054","link-image-style"],description:"Link and image style",tags:["images","links"],parser:"micromark",function:(e,t)=>{let n=e.config,r=n.autolink===void 0||!!n.autolink,i=n.inline===void 0||!!n.inline,s=n.full===void 0||!!n.full,o=n.collapsed===void 0||!!n.collapsed,a=n.shortcut===void 0||!!n.shortcut,u=n.url_inline===void 0||!!n.url_inline;if(r&&i&&s&&o&&a&&u)return;let{definitions:c}=Mt(),l=H(["autolink","image","link"]);for(let d of l){let h=null,f=null,{endColumn:p,endLine:m,startColumn:g,startLine:x,text:b,type:y}=d,D=y==="image",w=!1;if(y==="autolink")f=(0,$r.getDescendantsByType)(d,[["autolinkEmail","autolinkProtocol"]])[0]?.text,h=f,w=!r&&!!f;else if(h=(0,$r.getDescendantsByType)(d,["label","labelText"])[0].text,f=(0,$r.getDescendantsByType)(d,["resource","resourceDestination",["resourceDestinationLiteral","resourceDestinationRaw"],"resourceDestinationString"])[0]?.text,f){let C=(0,$r.getDescendantsByType)(d,["resource","resourceTitle","resourceTitleString"])[0]?.text;w=!i||!u&&r&&!D&&!C&&h===f&&w2(f)}else{let C=(0,$r.getDescendantsByType)(d,["reference"]).length===0,T=(0,$r.getDescendantsByType)(d,["reference","referenceString"])[0]?.text,v=T===void 0,k=c.get(T||h);f=k&&k[1],w=f&&(C?!a:v?!o:!s)}if(w){let C,T;if(x===m){C=[g,p-g];let v=null,k=i&&h,A=r&&!D&&w2(f);if(k&&(u||!A)){let L=D?"!":"",_=h.replace(/[[\]]/g,"\\$&"),R=f.replace(/[()]/g,"\\$&");v=`${L}[${_}](${R})`}else A&&(v=`<${pU(f)}>`);v&&(T={editColumn:C[0],insertText:v,deleteCount:C[1]})}(0,al.addErrorContext)(t,x,b.replace(al.nextLinesRe,""),void 0,void 0,C,T)}}}};var Km=B(ne(),1);var gU=new Set(["linePrefix","whitespace"]),k2=e=>e.filter(t=>!gU.has(t.type)),v2=e=>e[0],F2=e=>e[e.length-1],T2=(e,t)=>[e,t-e+1],I2={names:["MD055","table-pipe-style"],description:"Table pipe style",tags:["table"],parser:"micromark",function:function(t,n){let i=String(t.config.style||"consistent"),s=i!=="no_leading_or_trailing"&&i!=="trailing_only",o=i!=="no_leading_or_trailing"&&i!=="leading_only",a=H(["tableDelimiterRow","tableRow"]);for(let u of a){let c=v2(u.children),d=v2(k2(c.children)).type==="tableCellDivider",h=F2(u.children),p=F2(k2(h.children)).type==="tableCellDivider",m=d?p?"leading_and_trailing":"leading_only":p?"trailing_only":"no_leading_or_trailing";i==="consistent"&&(i=m,s=d,o=p),d!==s&&(0,Km.addErrorDetailIf)(n,c.startLine,i,m,`${s?"Missing":"Unexpected"} leading pipe`,void 0,T2(u.startColumn,c.startColumn)),p!==o&&(0,Km.addErrorDetailIf)(n,h.endLine,i,m,`${o?"Missing":"Unexpected"} trailing pipe`,void 0,T2(h.endColumn-1,u.endColumn-1))}}};var _2=B(ne(),1),L2=B(de(),1);var xU=(e,t)=>[e,t-e+1],R2={names:["MD056","table-column-count"],description:"Table column count",tags:["table"],parser:"micromark",function:function(t,n){let r=H(["tableDelimiterRow","tableRow"]),i=0,s=null;for(let o of r){let a=(0,L2.getParentOfType)(o,["table"]);s!==a&&(i=0,s=a);let u=o.children.filter(h=>["tableData","tableDelimiter","tableHeader"].includes(h.type)),c=u.length;i||=c;let l,d;c0){let i=H(["link"]);for(let s of i){let o=(0,P2.getDescendantsByType)(s,["label","labelText"]);for(let a of o){let{children:u,endColumn:c,endLine:l,parent:d,startColumn:h,startLine:f,text:p}=a;if(!u.some(m=>bU.has(m.type))&&r.has(B2(p))){let m=f===l?[h,c-h]:void 0;(0,M2.addErrorContext)(n,f,d.text,void 0,void 0,m)}}}}}};var[CU,EU]=TS,[DU,SU]=y2,U2=[rS,sS,aS,uS,fS,hS,mS,xS,CS,DS,wS,vS,CU,LS,EU,BS,PS,US,zS,qS,HS,VS,XS,YS,ew,nw,iw,ow,uw,lw,fw,dw,mw,gw,xw,yw,Cw,o2,a2,l2,f2,m2,DU,SU,C2,D2,S2,A2,I2,R2,N2,O2];for(let e of U2){let t=e.names[0].toLowerCase();e.information=new URL(`${HD}/blob/v${Fc}/doc/${t}.md`)}var wo=U2;function Jm(e,t,n){let r=null,i=null,s=[],o=0;return(n||[JSON.parse]).every(u=>{try{let c=u(t);return r=c&&typeof c=="object"&&!Array.isArray(c)?c:{},!1}catch(c){s.push(`Parser ${o++}: ${c.message}`)}return!0})&&(s.unshift(`Unable to parse '${e}'`),i=s.join("; ")),{config:r,message:i}}var be=B(ne(),1);function AU(e,t){let n=null;if(e.length===wo.length)return n;let r={};for(let[i,s]of e.entries()){let a=function(u,c){return new Error(`Property '${u}' of custom rule at index ${o} is incorrect: '${c}'.`)},o=i-wo.length;for(let u of["names","tags"]){let c=s[u];!n&&(!c||!Array.isArray(c)||c.length===0||!c.every(be.isString)||c.some(be.isEmptyString))&&(n=a(u,c))}for(let u of[["description","string"],["function","function"]]){let c=u[0],l=s[c];!n&&(!l||typeof l!==u[1])&&(n=a(c,l))}if(!n&&s.parser!==void 0&&s.parser!=="markdownit"&&s.parser!=="micromark"&&s.parser!=="none"&&(n=a("parser",s.parser)),!n&&s.information&&!be.isUrl(s.information)&&(n=a("information",s.information)),!n&&s.asynchronous!==void 0&&typeof s.asynchronous!="boolean"&&(n=a("asynchronous",s.asynchronous)),!n&&s.asynchronous&&t&&(n=new Error("Custom rule "+s.names.join("/")+" at index "+o+" is asynchronous and can not be used in a synchronous context.")),!n){for(let u of s.names){let c=u.toUpperCase();!n&&r[c]!==void 0&&(n=new Error("Name '"+u+"' of custom rule at index "+o+" is already used as a name or tag.")),r[c]=!0}for(let u of s.tags){let c=u.toUpperCase();!n&&r[c]&&(n=new Error("Tag '"+u+"' of custom rule at index "+o+" is already used as a name.")),r[c]=!1}}}return n}function kU(e){let t={};function n(r){let i=null,s=[],o=Object.keys(t);o.sort();for(let a of o){let u=t[a];if(Array.isArray(u))for(let c of u){let l=c.ruleNames?c.ruleNames.join("/"):c.ruleName+"/"+c.ruleAlias;s.push(a+": "+c.lineNumber+": "+l+" "+c.ruleDescription+(c.errorDetail?" ["+c.errorDetail+"]":"")+(c.errorContext?' [Context: "'+c.errorContext+'"]':""))}else{if(!i){i={};for(let c of e){let l=c.names[0].toUpperCase();i[l]=c}}for(let[c,l]of Object.entries(u)){let d=i[c.toUpperCase()];for(let h of l){let f=Math.min(r?1:0,d.names.length-1),p=a+": "+h+": "+d.names[f]+" "+d.description;s.push(p)}}}}return s.join(` +`)}return Object.defineProperty(t,"toString",{value:n}),t}function vU(e,t){let n=[];if(t){let r=e.match(t);if(r&&!r.index){let i=r[0];e=e.slice(i.length),n=i.split(be.newLineRe),n.length>0&&n[n.length-1]===""&&n.length--}}return{content:e,frontMatterLines:n}}function FU(e){let t={};for(let n of e){let r=n.names[0].toUpperCase();for(let i of n.names){let s=i.toUpperCase();t[s]=[r]}for(let i of n.tags){let s=i.toUpperCase(),o=t[s]||[];o.push(r),t[s]=o}}return t}function TU(e,t,n){let r=Object.keys(t).filter(o=>o.toUpperCase()==="DEFAULT"),i=r.length===0||!!t[r[0]],s={};for(let o of e){let a=o.names[0].toUpperCase();s[a]=i}for(let o of Object.keys(t)){let a=t[o];a?a instanceof Object||(a={}):a=!1;let u=o.toUpperCase();for(let c of n[u]||[])s[c]=a}return s}function IU(e,t,n,r,i,s,o){let a={},u={},c=[],l=new Array(1+n.length);function d(D,w,C){for(let[T,v]of D.entries()){if(!r){let k=null;for(;k=be.inlineCommentStartRe.exec(v);){let A=k[2].toUpperCase(),L=k.index+k[1].length,_=v.indexOf("-->",L);if(_===-1)break;let R=v.slice(L,_);w(A,R,T+1)}}C&&C()}}function h(D,w){if(D==="CONFIGURE-FILE"){let{config:C}=Jm("CONFIGURE-FILE",w,s);C&&(i={...i,...C})}}function f(D,w,C){C={...C};let T=D.startsWith("ENABLE"),v=w&&w.trim(),k=v?v.toUpperCase().split(/\s+/):c;for(let A of k)for(let L of o[A]||[])C[L]=T;return C}function p(D,w){(D==="ENABLE-FILE"||D==="DISABLE-FILE")&&(a=f(D,w,a))}function m(D,w){D==="CAPTURE"?u=a:D==="RESTORE"?a=u:(D==="ENABLE"||D==="DISABLE")&&(a=f(D,w,a))}function g(){l.push(a)}function x(D,w,C){let T=D==="DISABLE-LINE",v=D==="DISABLE-NEXT-LINE";if(T||v){let k=n.length+C+(v?1:0);l[k]=f(D,w,l[k])}}d([t.join(` +`)],h);let b=TU(e,i,o);for(let D of e){let w=D.names[0].toUpperCase();c.push(w),a[w]=!!b[w]}u=a,d(t,p),d(t,m,g),d(t,x);let y=[];for(let[D,w]of c.entries())l.some(C=>C[w])&&y.push(e[D]);return{effectiveConfig:b,enabledRulesPerLineNumber:l,enabledRuleList:y}}function q2(e,t,n,r,i,s,o,a,u,c,l,d,h){let f=A=>h(A instanceof Error?A:new Error(A));r=r.replace(/^\uFEFF/,"");let p=vU(r,a),{frontMatterLines:m}=p;r=p.content;let{effectiveConfig:g,enabledRulesPerLineNumber:x,enabledRuleList:b}=IU(e,r.split(be.newLineRe),m,c,s,o,t),y=b.some(A=>A.parser==="markdownit"||A.parser===void 0),D=b.some(A=>A.parser==="micromark"),w=e.length!==wo.length,C=D?nl(r,{freezeTokens:w}):[],T=r;r=be.clearHtmlCommentText(r);let v=r.split(be.newLineRe),k=A=>{let L=Object.freeze({markdownit:Object.freeze({tokens:A})}),_=Object.freeze({micromark:Object.freeze({tokens:C})}),R=Object.freeze({}),F={name:n,version:Fc,lines:Object.freeze(v),frontMatterLines:Object.freeze(m)};pm({...F,parsers:_,config:null});let E=[],N=j=>{let I=j.names[0].toUpperCase(),Q={},Y=R;j.parser===void 0?(Q.tokens=A,Y=L):j.parser==="markdownit"?Y=L:j.parser==="micromark"&&(Y=_);let De={...F,...Q,parsers:Y,config:g[I]};function ke(K){throw new Error(`Value of '${K}' passed to onError by '${I}' is incorrect for '${n}'.`)}function V(K){(!K||!be.isNumber(K.lineNumber)||K.lineNumber<1||K.lineNumber>v.length)&&ke("lineNumber");let le=K.lineNumber+m.length;if(!x[le][I])return;K.detail&&!be.isString(K.detail)&&ke("detail"),K.context&&!be.isString(K.context)&&ke("context"),K.information&&!be.isUrl(K.information)&&ke("information"),K.range&&(!Array.isArray(K.range)||K.range.length!==2||!be.isNumber(K.range[0])||K.range[0]<1||!be.isNumber(K.range[1])||K.range[1]<1||K.range[0]+K.range[1]-1>v[K.lineNumber-1].length)&&ke("range");let oe=K.fixInfo,J={};if(oe){be.isObject(oe)||ke("fixInfo"),oe.lineNumber!==void 0&&((!be.isNumber(oe.lineNumber)||oe.lineNumber<1||oe.lineNumber>v.length)&&ke("fixInfo.lineNumber"),J.lineNumber=oe.lineNumber+m.length);let ge=oe.lineNumber||K.lineNumber;oe.editColumn!==void 0&&((!be.isNumber(oe.editColumn)||oe.editColumn<1||oe.editColumn>v[ge-1].length+1)&&ke("fixInfo.editColumn"),J.editColumn=oe.editColumn),oe.deleteCount!==void 0&&((!be.isNumber(oe.deleteCount)||oe.deleteCount<-1||oe.deleteCount>v[ge-1].length)&&ke("fixInfo.deleteCount"),J.deleteCount=oe.deleteCount),oe.insertText!==void 0&&(be.isString(oe.insertText)||ke("fixInfo.insertText"),J.insertText=oe.insertText)}let ye=K.information||j.information;E.push({lineNumber:le,ruleName:j.names[0],ruleNames:j.names,ruleDescription:j.description,ruleInformation:ye?ye.href:null,errorDetail:K.detail||null,errorContext:K.context||null,errorRange:K.range?[...K.range]:null,fixInfo:oe?J:null})}let he=K=>V({lineNumber:1,detail:`This rule threw an exception: ${K.message||K}`}),$=()=>j.function(De,V);if(j.asynchronous){let K=Promise.resolve().then($);return u?K.catch(he):K}try{$()}catch(K){if(u)he(K);else throw K}return null},M=()=>{if(E.sort((j,I)=>j.ruleName.localeCompare(I.ruleName)||j.lineNumber-I.lineNumber),l<3){let j={ruleName:null,lineNumber:-1};E=E.filter((I,Q,Y)=>{delete I.fixInfo;let De=Y[Q-1]||j;return I.ruleName!==De.ruleName||I.lineNumber!==De.lineNumber})}if(l===0){let j={};for(let I of E){let Q=j[I.ruleName]||[];Q.push(I.lineNumber),j[I.ruleName]=Q}E=j}else if(l===1)for(let j of E)j.ruleAlias=j.ruleNames[1]||j.ruleName,delete j.ruleNames;else for(let j of E)delete j.ruleName;return E},U=b.filter(j=>j.asynchronous),z=b.filter(j=>!j.asynchronous),S=[...U,...z],q=()=>h(null,M());try{let j=S.map(N);U.length>0?Promise.all(j.slice(0,U.length)).then(q).catch(f):q()}catch(j){f(j)}finally{pm()}};if(!y||d){let A=y?(0,z2.requireMarkdownItCjs)().getMarkdownItTokens(i(),T,v):[];k(A)}else Promise.all([Promise.resolve().then(()=>B(mm(),1)),new Promise(A=>A(i()))]).then(([A,L])=>{let _=A.getMarkdownItTokens(L,T,v);k(_)}).catch(f)}function _U(e,t,n,r,i,s,o,a,u,c,l,d,h){function f(p,m){return p?h(p):q2(e,t,n,m,r,i,s,o,a,u,c,d,h)}d?f(null,l.readFileSync(n,"utf8")):l.readFile(n,"utf8",f)}function LU(e,t,n){e=e||{},n=n||function(){};let r=[e.customRules||[]].flat().map(C=>({names:be.cloneIfArray(C.names),description:C.description,information:be.cloneIfUrl(C.information),tags:be.cloneIfArray(C.tags),parser:C.parser,asynchronous:C.asynchronous,function:C.function})),i=wo.concat(r),s=AU(i,t);if(s){n(s);return}let o=[];Array.isArray(e.files)?o=[...e.files]:e.files&&(o=[String(e.files)]);let a=e.strings||{},u=Object.keys(a),c=e.config||{default:!0},l=e.configParsers||void 0,d=e.frontMatter===void 0?be.frontMatterRe:e.frontMatter,h=!!e.handleRuleFailures,f=!!e.noInlineConfig,p=e.resultVersion===void 0?3:e.resultVersion,m=e.markdownItFactory||(()=>{throw new Error("The option 'markdownItFactory' was required (due to the option 'customRules' including a rule requiring the 'markdown-it' parser), but 'markdownItFactory' was not set.")}),g=e.fs||ID,x=FU(i),b=kU(i),y=!1,D=0;function w(){let C=null;function T(v,k){return D--,v?(y=!0,n(v)):(b[C]=k,t||w(),null)}if(!y){if(o.length>0)D++,C=o.shift(),_U(i,x,C,m,c,l,d,h,f,p,g,t,T);else if(C=u.shift())D++,q2(i,x,C,a[C]||"",m,c,l,d,h,f,p,t,T);else if(D===0)return y=!0,n(null,b)}return null}if(t)for(;!y;)w();else w(),w(),w(),w(),w(),w(),w(),w()}function Ym(e,t){return LU(e,!1,t)}var ul="markdownlint";function RU(e,t){let n=[],r=e.split(` +`);return Object.keys(t).forEach(i=>{t[i].forEach(o=>{let a=0;for(let l=0;l{Ym({strings:{content:e},config:t},(r,i)=>{r?n([[],[]]):i&&n([RU(e,i),i.content])})})}var W2=require("node:util");var NU={string:!0,undefined:!0};function Ao(e){if(e instanceof Error)return!0;if(!e||typeof e!="object")return!1;let t=e;return typeof t.name=="string"&&typeof t.message=="string"&&typeof t.stack in NU}function Hi(e,t=Zm){return Ao(e)?e:new t(e)}var Zm=class extends Error{cause;constructor(t){super((0,W2.format)(t)),this.cause=t}};function $2(e,t){if(e!==void 0)return BU(e,t)}async function BU(e,t){try{return await e}catch(n){return t(n)}}var Qm=class{name;#e=new Set;constructor(t){this.name=t}on=t=>(this.#e.add(t),{dispose:()=>{this.#e.delete(t)}});fire(t){let n;for(let r of this.#e)try{r(t)}catch(i){n=n??[],n.push(Hi(i))}return n}dispose=()=>{this.#e.clear()}},e0=class e extends Qm{constructor(){super(e.eventName)}static eventName="clear-cache"},MU=new e0;function bn(e){return MU.on(e)}var t0=class{maxSize;hits=0;misses=0;swaps=0;constructor(t){this.maxSize=t}},n0=class extends t0{count=0;cache0=new Map;cache1=new Map;constructor(t){super(t)}get(t){let n=this.cache0,r=this.cache1,i=n.get(t);if(i!==void 0)return++this.hits,i;if(i=r.get(t),i!==void 0)return++this.hits,++this.count,n.set(t,i),i;++this.misses}set(t,n){if(this.count>=this.maxSize){let r=this.cache1;this.cache1=this.cache0,this.cache0=r,r.clear(),this.swaps++,this.count=0}return++this.count,this.cache0.set(t,n),this}};function PU(e){return new n0(e)}function ko(e,t=100){let n=PU(t),r=i;r.hits=0,r.misses=0,r.swaps=0;function i(s){let o=n.get(s);if(o!==void 0)return++r.hits,o;let a=e(s);return n.set(s,a),r.swaps=n.swaps,++r.misses,a}return r}function vo(e){let{hits:t,misses:n,swaps:r}=e;return{hits:t,misses:n,swaps:r}}function*r0(e){try{let t;for(;!(t=e.next()).done;)yield t.value}catch(t){if(e.throw)return e.throw(t);throw t}finally{e.return?.()}}function Jn(...e){function*t(n){yield*n;for(let r of e)yield*r}return t}function Gi(...e){function t(n){for(let r of e)n=r(n);return n}return t}function $e(e){function t(n){function r(){let i=n[Symbol.iterator](),s;function o(){for(;;){if(s){let{done:c,value:l}=s.next();if(!c)return{value:l};s=void 0}let{done:a,value:u}=i.next();if(a)return{done:a,value:void 0};s=e(u)[Symbol.iterator]()}}return{next:o}}return{[Symbol.iterator]:r}}return t}function Ie(e){function t(n){function r(){let i=n[Symbol.iterator]();function s(){for(;;){let{done:o,value:a}=i.next();if(o)return{done:o,value:void 0};if(e(a))return{value:a}}}return{next:s}}return{[Symbol.iterator]:r}}return t}function rt(){function*e(t){for(let n of t)yield*n}return e}function ce(e){function t(n){function r(){let i=n[Symbol.iterator]();function s(){let{done:o,value:a}=i.next();return o?{done:o,value:void 0}:{value:e(a)}}return{next:s}}return{[Symbol.iterator]:r}}return t}function Fo(e,t){function*n(i,s){for(let o of s)i=e(i,o);yield i}function*r(i){let s=t===void 0?UU(i):{head:t,tail:i};s&&(yield*n(s.head,s.tail))}return r}function UU(e){let t=e[Symbol.iterator](),n=t.next();if(!n.done)return{head:n.value,tail:r0(t)}}function Vi(e){function t(r){function*i(s){let o=new Set;for(let a of s){let u=r(a);o.has(u)||(o.add(u),yield a)}}return i}function*n(r){let i=new Set;for(let s of r)i.has(s)||(i.add(s),yield s)}return e?t(e):n}function se(e,...t){return Gi(...t)(e)}function i0(e,t,n){return[...n===void 0?se(e,Fo(t)):se(e,Fo(t,n))][0]}var Zn=B(require("node:assert"),1),VA=require("node:os");function*H2(e){yield*e}function*G2(e,t){for(let n of e)t(n)&&(yield n)}function*V2(e,t){let n=0;for(let r of e)n>=t&&(yield r),n+=1}function*K2(e,t){let n=0;if(t)for(let r of e){if(n>=t)break;yield r,n+=1}}function*X2(e,t){yield*e,yield*t}function*J2(e,t){for(let n of e)yield*t(n)}function*Y2(e,t,n){let r=t[Symbol.iterator]();for(let i of e){let s=r.next().value;yield n(i,s)}}function Z2(e,t){function*n(r,i){for(let s of r)yield i(s)}return n(e,t)}function*Q2(e,t,n){let r=0;if(n===void 0){r=1;let s=e[Symbol.iterator](),o=s.next();o.done||(yield o.value),n=o.value,e=s0(s)}let i=n;for(let s of e){let o=t(i,s,r);yield o,i=o,r+=1}}function eA(e,t){for(let n of e)if(!t(n))return!1;return!0}function tA(e,t){for(let n of e)if(t(n))return!0;return!1}function nA(e){return To(e,t=>t+1,0)}function rA(e,t,n){t=t||(()=>!0);for(let r of e)if(t(r))return r;return n}function iA(e,t){let n=0;for(let r of e)t(r,n),n+=1}function sA(e,t=n=>n){return To(e,(n,r)=>t(r)>t(n)?r:n,void 0)}function oA(e,t=n=>n){return To(e,(n,r)=>t(r)G2(t,e)}function cA(e){return t=>V2(t,e)}function lA(e){return t=>K2(t,e)}function fA(e){return t=>X2(t,e)}function dA(e){return t=>J2(t,e)}function hA(e,t){return n=>Y2(n,t,e)}function pA(e){return t=>Z2(t,e)}function mA(e,t){return n=>Q2(n,e,t)}function gA(e){return t=>eA(t,e)}function xA(e){return t=>tA(t,e)}function bA(){return e=>nA(e)}function yA(e,t){return n=>rA(n,e,t)}function CA(e){return t=>iA(t,e)}function EA(e){return t=>sA(t,e)}function DA(e){return t=>oA(t,e)}function o0(e,t){return n=>To(n,e,t)}function SA(e,t){return n=>aA(n,e,t)}function wA(...e){return t=>{for(let n of e)t=n?n(t):t;return t}}var cl=class e{i;_iterator;constructor(t){this.i=t}get iter(){return typeof this.i=="function"?this.i():this.i}get iterator(){return this._iterator||(this._iterator=this.iter[Symbol.iterator]()),this._iterator}inject(t){let n=this.i;return()=>t(typeof n=="function"?n():n)}chain(t){return new e(this.inject(t))}[Symbol.iterator](){return this.iter[Symbol.iterator]()}next(){return this.iterator.next()}filter(t){return this.chain(uA(t))}skip(t){return this.chain(cA(t))}take(t){return this.chain(lA(t))}concat(t){return this.chain(fA(t))}concatMap(t){return this.chain(dA(t))}combine(t,n){return this.chain(hA(t,n))}map(t){return this.chain(pA(t))}scan(t,n){return this.chain(mA(t,n))}pipe(...t){return t.length?this.chain(wA.apply(null,t)):this}all(t){return gA(t)(this.iter)}any(t){return xA(t)(this.iter)}count(){return bA()(this.iter)}first(t,n){return yA(t,n)(this.iter)}forEach(t){return CA(t)(this.iter)}max(t){return EA(t)(this.iter)}min(t){return DA(t)(this.iter)}reduce(t,n){return o0(t,n)(this.iter)}reduceAsync(t,n){return SA(t,n)(this.iter)}reduceToSequence(t,n){return this.chain(o0(t,n))}toArray(){return[...this.iter]}toIterable(){return H2(this.iter)}};function a0(e){return new cl(e)}var AA=Symbol("memorizeLastCall");function KA(e){let t,n=AA;function r(i){return n!==AA&&t===i||(t=i,n=e(i)),n}return r}var XA=3,hl={matchCase:!1,compoundMode:"compound",legacyMinCompoundLength:XA};Object.freeze(hl);var HU=["none","compound","legacy"],GU=new Map(HU.map(e=>[e,e])),JA={found:!1,compoundUsed:!1,caseMatched:!1,forbidden:void 0};Object.freeze(JA);function VU(e,t,n){return YA(e,t,n)}function KU(e,t,n){if(e.find){let u=e.find(t,n?.matchCase||!1);if(u)return n?.checkForbidden&&u.forbidden===void 0&&(u.forbidden=Ro(e,t,e.forbidPrefix)),u;if(!e.hasCompoundWords)return JA}let{found:r,compoundUsed:i,caseMatched:s,forbidden:o}=YA(e,t,n),a={found:r,compoundUsed:i,caseMatched:s,forbidden:o};return n?.checkForbidden&&o===void 0&&(a.forbidden=Ro(e,t,e.forbidPrefix)),a}function YA(e,t,n){let r=e.info,i=n?.matchCase||!1,s=GU.get(n?.compoundMode)||hl.compoundMode,o=s==="compound"?r.compoundCharacter??e.compoundFix:"",a=i?"":r.stripCaseAndAccentsPrefix??e.caseInsensitivePrefix,u=n?.checkForbidden===!0,c=n?.checkForbidden??!0;function l(){let h=JU(e,t,o,a);if(h.found!==!1&&(u||h.compoundUsed&&c)){let f=h.caseMatched?e:pl(e,e.caseInsensitivePrefix);h.forbidden=Ro(f,t,e.forbidPrefix)}return h}function d(){let h=e.getNode?e.getNode(t):pl(e,t);return{found:QA(h)&&t,compoundUsed:!1,forbidden:c?Ro(e,t,e.forbidPrefix):void 0,node:h,caseMatched:!0}}switch(s){case"none":return i?d():l();case"compound":return l();case"legacy":return ZA(e,t,n)}}function ZA(e,t,n){let r=[e];return n?.matchCase||r.push(pl(e,e.caseInsensitivePrefix)),ZU(r,t,n?.legacyMinCompoundLength||XA)}function XU(e,t,n,r){let i=[{n:e,compoundPrefix:r,cr:void 0,caseMatched:!0}],s=n||r,o=r&&n?r+n:"",a=t.normalize(),u=[...a];function c(g){let x=g.compoundPrefix,b=e,y;for(y=0;y0;){let D=i[h];if(!(!D.compoundPrefix||!D.n?.hasChildren())&&D.n.get(n))break}if(h>=0&&i[h].compoundPrefix){l=h>0;let D=c(i[h]);if(i[h]=D,!D.cr||!h&&!D.caseMatched&&a!==a.toLowerCase())break}else break}else{f=y,d=g.caseMatched;break}}return{found:h===t.length&&t||!1,compoundUsed:l,node:f,forbidden:void 0,caseMatched:d}}function JU(e,t,n,r){let{found:i,compoundUsed:s,node:o,caseMatched:a}=XU(e,t,n,r);return!o||!o.eow?{found:!1,compoundUsed:s,node:o,forbidden:void 0,caseMatched:a}:{found:i,compoundUsed:s,node:o,forbidden:void 0,caseMatched:a}}function YU(e,t){let n=e;return n?.findExact?n.findExact(t):QA(pl(e,t))}function QA(e){return!!e?.eow}function pl(e,t){let n=[...t],r=e,i=0;for(;r&&i0;){let y=s[l];if(y.usedRoots=n||!y.subLength)&&a-l>=n)break}if(l>0||s[l].usedRoots0;let y=s[l];y.cr=e[y.usedRoots++],y.subLength=0,y.isCompound=u,y.caseMatched=y.caseMatched&&y.usedRoots<=1}else break}else{d=b,c=m.caseMatched;break}}function h(){if(!t||l=0;){let u=a[o],c=u.t;for(;u.ci=0;){let i=n[t],s=i.t;for(;i.ci=0;){let s=n[t],o=s.t;for(;s.ciIo.toITrieNode(t)):cz}entries(){return this.node.c?Object.entries(this.node.c).map(([t,n])=>[t,Io.toITrieNode(n)]):lz}get(t){let n=this.node.c?.[t];if(n)return Io.toITrieNode(n)}getNode(t){return this.findNode(t)}has(t){let n=this.node.c;return n&&t in n||!1}child(t){let n=this.keys()[t],r=n&&this.get(n);if(!r)throw new Error("Index out of range.");return r}hasChildren(){return!!this.node.c}#e(t){let n=this.node;for(let r of t){if(!n)return;n=n.c?.[r]}return n}findNode(t){let n=this.#e(t);return n&&Io.toITrieNode(n)}findExact(t){let n=this.#e(t);return!!n&&!!n.f}static toITrieNode(t){return new this(t)}},fz=class extends vA{info;hasForbiddenWords;hasCompoundWords;hasNonStrictWords;constructor(e){super(e),this.root=e;let{stripCaseAndAccentsPrefix:t,compoundCharacter:n,forbiddenWordPrefix:r,isCaseAware:i}=e;this.info={stripCaseAndAccentsPrefix:t,compoundCharacter:n,forbiddenWordPrefix:r,isCaseAware:i},this.hasForbiddenWords=!!e.c[r],this.hasCompoundWords=!!e.c[n],this.hasNonStrictWords=!!e.c[t]}get eow(){return!1}resolveId(e){let t=e;return new vA(t)}get forbidPrefix(){return this.root.forbiddenWordPrefix}get compoundFix(){return this.root.compoundCharacter}get caseInsensitivePrefix(){return this.root.stripCaseAndAccentsPrefix}static toITrieNode(e){return new this(e)}};var dz=hz;function*hz(e){let t=[];function n(s){return s.c?Object.keys(s.c):t}let r=0,i=[];for(i[r]={t:"",n:e.c,c:n(e),ci:0};r>=0;){let s=i[r],o=s.t;for(;s.cin(o,i))}return e}function Tz(){return{insDel:{},replace:{},swap:{},adjustments:new Map}}function Iz(e,t){return e===void 0?t:t===void 0||e<=t?e:t}function _z(e,t){return e===void 0?t:t===void 0||e>=t?e:t}function TA(e){let t=new Set([e]);return t.add(e.normalize("NFC")),t.add(e.normalize("NFD")),t}function*Lz(e){let t="",n=0;for(let r of e){if(n&&r===")"){yield*TA(t),n=0;continue}if(n){t+=r;continue}if(r==="("){n=1,t="";continue}yield*TA(r)}}function Rz(e){return[...Lz(e)]}function Nz(e){let{map:t}=e;return t.split("|").map(Rz).filter(r=>r.length>0)}function ik(e,t,n,r){if(!t)return;let i=e;for(let s of t){let o=i.n=i.n||Object.create(null);i=o[s]=o[s]||Object.create(null)}i.c=Iz(i.c,n),i.p=_z(i.p,r)}function Bz(e,t,n,r,i){let s=e;for(let a of t){let u=s.n=s.n||Object.create(null);s=u[a]=u[a]||Object.create(null)}let o=s.t=s.t||Object.create(null);ik(o,n,r,i)}function Mz(e,t,n,r){if(n!==void 0)for(let i of t)ik(e,i,n,r)}function IA(e,t,n,r){if(n!==void 0)for(let i of t)for(let s of t)i!==s&&Bz(e,i,s,n,r)}function*sk(e,t,n){let r=t.length;for(let i=e.n;n{for(let T of C)u.add({...T,f:m})})}let p;for(;(p=u.next())&&!(p.ai===o&&p.bi===a);)h(p),l(p),d(p),f(p),c(p);return(0,Zn.default)(p),p}var Wz=class{pool=new c0(Hz);grid=[];constructor(e,t){this.aN=e,this.bN=t}next(){let e;for(;e=this.pool.dequeue();)if(!e.d)return e}add(e){let t=$z(e.ai,e.bi,this.bN),n=this.grid[t];if(!n){this.grid[t]=e,this.pool.add(e);return}n.c<=e.c||(n.d=!0,this.grid[t]=e,this.pool.add(e))}};function $z(e,t,n){return e*n+t}function Hz(e,t){return e.c-t.c||t.ai+t.bi-e.ai-e.bi}var Gz=[...".".repeat(50)].map((e,t)=>t);Object.freeze(Gz);var Vz=100;function Kz(e,t,n,r=Vz){return qz(e,t,n,r)}function ok(){let e=performance.now();return()=>performance.now()-e}function Xz(){let e=ok(),t=new Map,n=[{name:"start",at:0}];function r(h,f=e()){let p=f-h.at;return h.elapsed=(h.elapsed||0)+p,p}function i(h){let f=o(h||"start");return n.push(f),h&&t.set(h,f),()=>r(f)}function s(h){let f=h&&t.get(h);return f?r(f):a(h||"stop")}function o(h){return{name:h,at:e()}}function a(h){let f=o(h);return n.push(f),f.at}function u(){let h=[{name:"Event Name",at:"Time",elapsed:"Elapsed"},{name:"----------",at:"----",elapsed:"-------"},...f()];function f(){let b=[];return n.map(y=>{for(let w=b.pop();w;w=b.pop())if(w>=y.at+(y.elapsed||0)){b.push(w);break}let D=b.length;return y.elapsed&&b.push(y.at+y.elapsed),{name:"| ".repeat(D)+(y.name||"").replaceAll(" "," "),at:`${p(y.at)}`,elapsed:y.elapsed?`${p(y.elapsed)}`:"--"}})}function p(b){return b.toFixed(3)+"ms"}function m(b,y){return Math.max(b,y.length)}let g=h.reduce((b,y)=>({name:m(b.name,y.name),at:m(b.at,y.at),elapsed:m(b.elapsed,y.elapsed)}),{name:0,at:0,elapsed:0});return h.map(b=>`${b.at.padStart(g.at)} ${b.name.padEnd(g.name)} ${b.elapsed.padStart(g.elapsed)}`).join(` +`)}function c(h,f){let p=i(h),m=f();return p(),m}async function l(h,f){let p=i(h),m=await f();return p(),m}function d(h=console.log){h(u())}return{start:i,stop:s,mark:a,elapsed:e,report:d,formatReport:u,measureFn:c,measureAsyncFn:l}}var LA;function Jz(){let e=LA||Xz();return LA=e,e}function ak(e){return e!==void 0}function uk(e){let t={...e};return gl(t)}function gl(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function ck(e){return[...new Set(e)]}function lk(e){return e.replaceAll(/([[\]\-+(){},|*.\\])/g,"\\$1")}function fk(e,t){let n=RegExp(lk(e),"g");return r=>r.replace(n,t)}var Yz=10,RA=100,dk=5,Zz=.5,Qz=1.03*Zz,eq=new Intl.Collator,tq=new RegExp(`[${lk(p0)}]`,"g"),nq=[0,50,25,5,0],rq=5,hk=1e3,NA=Symbol("Collector Stop Processing");function BA(e,t){let n=e.isPreferred&&-1||0,r=t.isPreferred&&-1||0;return n-r||e.cost-t.cost||e.word.length-t.word.length||eq.compare(e.word,t.word)}var MA=Object.freeze({numSuggestions:Yz,filter:()=>!0,changeLimit:dk,includeTies:!1,ignoreCase:!0,timeout:hk,weightMap:void 0,compoundSeparator:"",compoundMethod:void 0});function Ki(e,t){let{filter:n=()=>!0,changeLimit:r=dk,includeTies:i=!1,ignoreCase:s=!0,timeout:o=hk,weightMap:a,compoundSeparator:u=MA.compoundSeparator}=t,c=Math.max(t.numSuggestions,0)||0,l=a?c*2:c,d=new Map,h=RA*Math.min(e.length*Qz,r),f=u||(a?nk:MA.compoundSeparator),p=!f||f===u?v=>v:fk(f,"");f&&a&&vz(a,{map:f,insDel:50});let m=gl({changeLimit:r,ignoreCase:s,compoundMethod:t.compoundMethod,compoundSeparator:f}),g=o;function x(){if(d.size<2||!c){d.clear();return}let v=[...d.values()].sort(BA),k=l-1;for(h=v[k].cost;knq[L.length]||0).reduce((L,_)=>L+_,0)+(k.length-1)*rq;return{word:v.word,cost:v.cost+A}}function y(v){let{word:k,cost:A,isPreferred:L}=b(v);if(A<=h&&n(v.word,A)){let _=d.get(k);_?(_.cost=Math.min(_.cost,A),_.isPreferred=_.isPreferred||L):(d.set(k,{word:k,cost:A,isPreferred:L}),Al&&x())}return h}function D(v,k,A){let L=!1;if(k=k??g,k=Math.min(k,g),k<0)return;let _=ok(),R;for(;!(R=v.next(L||h)).done;){_()>k&&(L=NA);let{value:F}=R;if(F&&iq(F)){(!A||A(F.word,F.cost))&&y(F);continue}}g-=_()}function w(v){let{word:k,cost:A}=v,L=p(k);return L!==k?{word:L,cost:A,compoundWord:k,isPreferred:void 0}:{...v}}function C(){if(c<1||!d.size)return[];let v="NFD",k=e.normalize(v),A=[...d.values()],_=(a?A.map(({word:M,cost:U,isPreferred:z})=>({word:M,cost:z?U:Kz(k,M.normalize(v),a,110),isPreferred:z})):A).sort(BA).map(w),R=Math.min(_.length,c)-1,F=i?_.length:Math.min(_.length,c),E=_[R].cost,N=Math.min(E,a?r*RA-1:E);for(R=1;R_){if(_+=1e3,AT){v=l.dequeue(),k=Math.max(k,l.size);continue}E(v);for(let z of d){if(++A,z.cost>T||z.word in w&&w[z.word]<=z.cost)continue;let S=yield z;if(w[z.word]=z.cost,typeof S=="number"&&(T=Math.min(S,T)),typeof S=="symbol")return}v=l.dequeue(),k=Math.max(k,l.size)}return;function F(z,S){let q=z.isPreferred&&1||0;return(S.isPreferred&&1||0)-q||z.cost-S.cost||Math.abs(z.word.charCodeAt(0)-t.charCodeAt(0))-Math.abs(S.word.charCodeAt(0)-t.charCodeAt(0))}function E(z){let S=C.length;if(z.n.eow&&z.i===S){let j={word:fq(z),cost:z.c};d.add(j)}N(z)}function N(z){let{n:S,i:q,t:j}=z,I=C[q],Q=a[I]||0,Y=z.c,De=Y+f+(q?0:wt.firstLetterBias),ke=Y+p,V=Y+wt.wordBreak,he=Y+wt.compound;if(I){let $=S.get(I);$&&U(j,$,q+1,Y,I,z,"=",I),o&&M(z,o);let K=C[q+1];I==K&&$&&U(j,$,q+2,Y+m,I,z,"dd",I),U(j,S,q+1,De,"",z,"d","");for(let[le,oe]of S.entries()){if(oe.id===$?.id||le in x)continue;let J=a[le]||0,ye=Q&J?ke:De;U(j,oe,q+1,ye,le,z,"r",le)}if(S.eow&&q&&r&&U(j,u,q,V,g,z,"L",g),K){let oe=S.get(K)?.get(I);if(oe){let J=K+I;U(j,oe,q+2,Y+wt.swapCost,J,z,"s",J)}}}if(y&&he<=T&&S.get(b)&&(D&&U(j,D,q,he,"",z,"~+","~+"),U(j,y,q,he,"",z,"+","+")),De<=T)for(let[$,K]of S.entries())$ in x||U(j,K,q,De,$,z,"i",$)}function M(z,S){aq(z,S,C,U),uq(z,S,C,U),cq(z,S,C,U)}function U(z,S,q,j,I,Q,Y,De){let ke=lq(z,De);ke.c[q]<=j||j>T||(ke.c[q]=j,l.add({n:S,i:q,c:j,s:I,p:Q,t:ke,a:Y}))}}function aq(e,t,n,r){let{t:i,n:s}=e,o=t.insDel,a=e.i,u=e.c-e.i,c=n.length;for(let l=o.n;a{l.c!==void 0&&r(i,d,s,u+l.c,c,e,"i",c)})}function cq(e,t,n,r){let i=e.n,s=e.t,o=e.c,a=n.length,u=t.replace,c=e.i;for(let l=u.n;c{let g=p.c;g!==void 0&&r(s,m,c,o+g+(p.p||0),f,e,"r",f)}),l=d.n}}function ml(){return{c:[],t:Object.create(null)}}function lq(e,t){if(t.length==1)return e.t[t]??=ml();if(!t)return e;let n=e;for(let r of t)n=n.t[r]??=ml();return n}function fq(e){let t=[],n=e;for(;n;)t.push(n.s),n=n.p;return t.reverse(),t.join("")}function dq(e){let t=Object.create(null);for(let n of Object.values(e))typeof n=="string"&&(t[n]=!0);return t}function b0(e,t,n,r=""){let i=e.n;if(i)for(let[s,o]of t.entries()){let a=i[s];if(!a)continue;let u=r+s;n(u,a,o),a.n&&b0(a,o,n,u)}}var y0="+",hq="*",Mo="~",C0="!",pq="#",mq="=",mk=Object.freeze({compoundCharacter:y0,forbiddenWordPrefix:C0,stripCaseAndAccentsPrefix:Mo,isCaseAware:!0,hasForbiddenWords:!1,hasCompoundWords:!1,hasNonStrictWords:!1});function gk(e,t){let n={...t};if(e)for(let[r,i]of Object.entries(e))r in n&&(n[r]=i??n[r]);return n}function er(...e){return e.reduce((t,n)=>gk(n,t),mk)}function Xi(e,t="-"){let n=new Set,r=0,i="";for(let s of e){if(r&&(gq(i,s).forEach(o=>n.add(o)),r=0),s===t&&i){r=1;continue}n.add(s),i=s}return r&&n.add(t),n}function gq(e,t){let n=[],r=t.codePointAt(0),i=e.codePointAt(0);if(!(i&&r))return n;for(let s=i;s<=r;++s)n.push(String.fromCodePoint(s));return n}function xl(e,t){let n=new Set([e]);function r(i){n.add(i.toLocaleLowerCase(t)),n.add(i.toLocaleUpperCase(t))}return r(e),[...n].forEach(r),[...n].filter(i=>!!i)}function xk(e){return new Set([e,e.normalize("NFC"),e.normalize("NFD")])}function xq(e){return e.normalize("NFD").replaceAll(/\p{M}/gu,"")}function bq(e){return e.normalize("NFD").replaceAll(/[^\p{M}]/gu,"")}function yq(e){let t=e.length,n=e.charCodeAt(0)&64512;return t===1&&(n&63488)!==55296||t===2&&(n&64512)===55296&&(e.charCodeAt(1)&64512)===56320}function Cq(e){if(!yq(e)){let t=e.length,n=Eq(e.slice(0,2)).map(i=>"0x"+("0000"+i.toString(16)).slice(-4)),r;throw t==1?r=`Invalid utf16 character, lone surrogate: ${n[0]}`:t==2?r=`Invalid utf16 character, not a valid surrogate pair: [${n.join(", ")}]`:r=`Invalid utf16 character, must be a single character, found: ${t}`,new Error(r)}}function Eq(e){let t=[];for(let n=0;n>>8,t[r++]=u&255;continue}if(o<65536){let u=14712960|(o&61440)<<4|(o&4032)<<2|o&63;t[r++]=u>>>16,t[r++]=u>>>8&255,t[r++]=u&255;continue}let a=4034953344|((o&1835008)<<6|(o&258048)<<4|(o&4032)<<2|o&63);t[r++]=a>>>24&255,t[r++]=a>>>16&255,t[r++]=a>>>8&255,t[r++]=a&255}return r-n}function l0(e){let t=new Array(e.length),n=Sq(e,t);return t.length!==n&&(t.length=n),t}var wq=[0];Object.freeze(wq);var yk=class{#e;#t="";#n=[];#r;constructor(e){this.charIndex=e,this.#e=Aq(e),this.#r=[...this.#e.values()].some(t=>t.length>1)}getCharUtf8Seq(e){let t=this.#e.get(e);if(t)return t;let n=l0(e);return this.#e.set(e,n),n}wordToUtf8Seq(e){if(this.#t===e)return this.#n;let t=l0(e);return this.#t=e,this.#n=t,t}indexContainsMultiByteChars(){return this.#r}get size(){return this.charIndex.length}toJSON(){return{charIndex:this.charIndex}}};function Aq(e){let t=new Map;for(let n of e)t.set(n,l0(n));return t}var kq=class{charIndex=[];charIndexMap=new Map;charIndexSeqMap=new Map;#e=new Map;constructor(){this.getUtf8Value("")}getUtf8Value(e){let t=this.charIndexMap.get(e);if(t!==void 0)return t;let n=e.normalize("NFC");this.charIndex.push(n);let r=Dq(n.codePointAt(0)||0);return this.charIndexMap.set(e,r),this.charIndexMap.set(n,r),this.charIndexMap.set(e.normalize("NFD"),r),r}utf8ValueToUtf8Seq(e){let t=this.#e.get(e);if(t!==void 0)return t;let n=vq(e);return this.#e.set(e,n),n}charToUtf8Seq(e){let t=this.getUtf8Value(e);return this.utf8ValueToUtf8Seq(t)}wordToUtf8Seq(e){let t=new Array(e.length),n=0;for(let r of e){let i=this.getUtf8Value(r),s=this.utf8ValueToUtf8Seq(i);if(typeof s=="number"){t[n++]=s;continue}for(let o of s)t[n++]=o}return t.length!==n&&(t.length=n),t}get size(){return this.charIndex.length}build(){return new yk(this.charIndex)}};function vq(e){return e<=255?[e]:e<=65535?[e>>8&255,e&255]:e<=16777215?[e>>16&255,e>>8&255,e&255]:[e>>24&255,e>>16&255,e>>8&255,e&255].filter(t=>t)}function Fq(e){let{NodeMaskEOW:t,NodeMaskChildCharIndex:n,NodeChildRefShift:r}=e;return{NodeMaskEOW:t,NodeMaskChildCharIndex:n,NodeChildRefShift:r}}var Ck=class{NodeMaskEOW;NodeMaskChildCharIndex;NodeChildRefShift;isIndexDecoderNeeded;info;constructor(e,t,n,r){this.nodes=e,this.charIndex=t;let{NodeMaskEOW:i,NodeMaskChildCharIndex:s,NodeChildRefShift:o}=n;this.NodeMaskEOW=i,this.NodeMaskChildCharIndex=s,this.NodeChildRefShift=o,this.isIndexDecoderNeeded=t.indexContainsMultiByteChars(),this.info=er(r)}},Tq=class extends Ck{nodeFindNode;nodeFindExact;nodeGetChild;isForbidden;findExact;hasForbiddenWords;hasCompoundWords;hasNonStrictWords;constructor(e,t,n,r,i){super(e,t,n,r),this.nodeFindExact=i.nodeFindExact,this.nodeGetChild=i.nodeGetChild,this.isForbidden=i.isForbidden,this.findExact=i.findExact,this.nodeFindNode=i.nodeFindNode,this.hasForbiddenWords=i.hasForbiddenWords,this.hasCompoundWords=i.hasCompoundWords,this.hasNonStrictWords=i.hasNonStrictWords}};function Ek(e,t){if(Object.isFrozen(e))return Iq(e,t),e;for(let n=0;n2){let i=Object.isFrozen(r);r=i?Uint32Array.from(r):r;let s=r[0];r[0]=0,r.sort((o,a)=>o?a?(o&t)-(a&t):1:-1),r[0]=s,i&&(e[n]=r,Object.freeze(r))}}return Object.freeze(e),e}function Iq(e,t){for(let n=0;n2){let i=-1;for(let s=1;s ${o}`);i=o}}}}var _q=Object.freeze([]),Lq=Object.freeze([]),Rq=Object.freeze([]),PA=class _o{id;node;eow;_keys;_count;_size;_chained;_nodesEntries;_entries;_values;charToIdx;constructor(t,n){this.trie=t,this.nodeIdx=n;let r=t.nodes[n];this.node=r,this.eow=!!(r[0]&t.NodeMaskEOW),this._count=r.length-1,this.id=n,this.findExact=i=>t.nodeFindExact(n,i)}keys(){return this._keys?this._keys:this._count?(this._keys=this.getNodesEntries().map(([t])=>t),this._keys):_q}values(){return this._count?this._values?this._values:(this._values=this.entries().map(([,t])=>t),this._values):Lq}entries(){if(this._entries)return this._entries;if(!this._count)return Rq;let t=this.getNodesEntries();return this._entries=t.map(([n,r])=>[n,new _o(this.trie,r)]),this._entries}get(t){let n=this.trie.nodeGetChild(this.id,t);if(n!==void 0)return new _o(this.trie,n)}getNode(t){let n=this.trie.nodeFindNode(this.id,t);if(n!==void 0)return new _o(this.trie,n)}has(t){return this.trie.nodeGetChild(this.id,t)!==void 0}hasChildren(){return this._count>0}child(t){if(!this._values&&!this.containsChainedIndexes()){let r=this.node[t+1]>>>this.trie.NodeChildRefShift;return new _o(this.trie,r)}return this.values()[t]}getCharToIdxMap(){let t=this.charToIdx;if(t)return t;let n=Object.create(null),r=this.keys();for(let i=0;i>>i]}return this._nodesEntries=t,t}return this._nodesEntries=this.walkChainedIndexes(),this._nodesEntries}walkChainedIndexes(){let t=this.trie.NodeMaskChildCharIndex,n=this.trie.NodeChildRefShift,r=this.trie.nodes,i=tr.create(),s=[{n:this.node,c:1,acc:i}],o=0,a=Array(this._count),u=0;for(;o>=0;){let c=s[o],{n:l,c:d}=c;if(d>=l.length){--o;continue}++c.c;let h=l[d],f=h&t,p=c.acc.clone(),m=p.decode(f);if(m!==void 0){let b=String.fromCodePoint(m),y=h>>>n;a[u++]=[b,y];continue}let g=h>>>n,x=s[++o];x?(x.n=r[g],x.c=1,x.acc=p):s[o]={n:r[g],c:1,acc:p}}return a}get size(){if(this._size===void 0){if(!this.containsChainedIndexes())return this._size=this._count,this._size;this._size=this.getNodesEntries().length}return this._size}},Nq=class extends PA{hasForbiddenWords;hasCompoundWords;hasNonStrictWords;constructor(e,t){super(e,t),this.hasForbiddenWords=e.hasForbiddenWords,this.hasCompoundWords=e.hasCompoundWords,this.hasNonStrictWords=e.hasNonStrictWords}resolveId(e){return new PA(this.trie,e)}find(e,t){let n=this.findExact(e);if(n)return{found:e,compoundUsed:!1,caseMatched:!0};if(!t)return n=this.findCaseInsensitive(e),n?{found:e,compoundUsed:!1,caseMatched:!1}:void 0}get info(){return this.trie.info}get forbidPrefix(){return this.trie.info.forbiddenWordPrefix}get compoundFix(){return this.trie.info.compoundCharacter}get caseInsensitivePrefix(){return this.trie.info.stripCaseAndAccentsPrefix}},Bq=class{NodeMaskEOW;NodeMaskNumChildren;NodeMaskChildCharIndex;NodeChildRefShift;isIndexDecoderNeeded;nodeFindExact;isForbidden;findExact;nodeGetChild;nodeFindNode;hasForbiddenWords;hasCompoundWords;hasNonStrictWords;constructor(e,t,n,r){this.nodes=e,this.charIndex=t;let{NodeMaskEOW:i,NodeMaskChildCharIndex:s,NodeMaskNumChildren:o,NodeChildRefShift:a}=n;this.NodeMaskEOW=i,this.NodeMaskNumChildren=o,this.NodeMaskChildCharIndex=s,this.NodeChildRefShift=a,this.isIndexDecoderNeeded=t.indexContainsMultiByteChars(),this.nodeFindExact=r.nodeFindExact,this.isForbidden=r.isForbidden,this.findExact=r.findExact,this.nodeGetChild=r.nodeGetChild,this.nodeFindNode=r.nodeFindNode,this.hasForbiddenWords=r.hasForbiddenWords,this.hasCompoundWords=r.hasCompoundWords,this.hasNonStrictWords=r.hasNonStrictWords}},Mq=Object.freeze([]),Pq=Object.freeze([]),Oq=Object.freeze([]),OA=class Lo{id;node;eow;_keys;_count;_size;_chained;_nodesEntries;_entries;_values;charToIdx;constructor(t,n){this.trie=t,this.nodeIdx=n;let r=t.nodes[n];this.node=r,this.eow=!!(r&t.NodeMaskEOW),this._count=r&t.NodeMaskNumChildren,this.id=n}keys(){return this._keys?this._keys:this._count?(this._keys=this.getNodesEntries().map(([t])=>t),this._keys):Mq}values(){return this._count?this._values?this._values:(this._values=this.entries().map(([,t])=>t),this._values):Pq}entries(){if(this._entries)return this._entries;if(!this._count)return Oq;let t=this.getNodesEntries();return this._entries=t.map(([n,r])=>[n,new Lo(this.trie,r)]),this._entries}get(t){return this.#t(t)}has(t){return this.trie.nodeGetChild(this.nodeIdx,t)!==void 0}hasChildren(){return this._count>0}child(t){if(!this._values&&!this.containsChainedIndexes()){let r=this.trie.nodes[this.nodeIdx+t+1]>>>this.trie.NodeChildRefShift;return new Lo(this.trie,r)}return this.values()[t]}#e(t){return this.trie.nodeGetChild(this.nodeIdx,t)}#t(t){if(this.charToIdx){let r=this.charToIdx[t];return r===void 0?void 0:this.child(r)}let n=this.#e(t);if(n!==void 0)return new Lo(this.trie,n)}getCharToIdxMap(){let t=this.charToIdx;if(t)return t;let n=Object.create(null),r=this.keys();for(let i=0;i>>s]}return this._nodesEntries=t,t}return this._nodesEntries=this.walkChainedIndexes(),this._nodesEntries}walkChainedIndexes(){let t=this.trie.NodeMaskChildCharIndex,n=this.trie.NodeChildRefShift,r=this.trie.NodeMaskNumChildren,i=this.trie.nodes,s=tr.create(),o=[{nodeIdx:this.nodeIdx+1,lastIdx:this.nodeIdx+this._count,acc:s}],a=0,u=Array(this._count),c=0;for(;a>=0;){let l=o[a],{nodeIdx:d,lastIdx:h}=l;if(d>h){--a;continue}++l.nodeIdx;let f=i[d],p=f&t,m=l.acc.clone(),g=m.decode(p);if(g!==void 0){let D=String.fromCodePoint(g),w=f>>>n;u[c++]=[D,w];continue}let x=f>>>n,b=x+(i[x]&r),y=o[++a];y?(y.nodeIdx=x+1,y.lastIdx=b,y.acc=m):o[a]={nodeIdx:x+1,lastIdx:b,acc:m}}return u}get size(){if(this._size===void 0){if(!this.containsChainedIndexes())return this._size=this._count,this._size;this._size=this.getNodesEntries().length}return this._size}},Uq=class extends OA{find;isForbidden;hasForbiddenWords;hasCompoundWords;hasNonStrictWords;constructor(e,t,n,r){super(e,t),this.info=n,this.find=r.find,this.isForbidden=e.isForbidden,this.hasForbiddenWords=e.hasForbiddenWords,this.hasCompoundWords=e.hasCompoundWords,this.hasNonStrictWords=e.hasNonStrictWords}resolveId(e){return new OA(this.trie,e)}get forbidPrefix(){return this.info.forbiddenWordPrefix}get compoundFix(){return this.info.compoundCharacter}get caseInsensitivePrefix(){return this.info.stripCaseAndAccentsPrefix}},zq=8,qq=0,jq=8,dl=jq*4,Dk=0,Sk=Dk,wk=Sk+8,Ak=wk+4,kk=Ak+4,vk=kk+4,Fk=vk+4,Wq=Fk+4,St={header:Dk,sig:Sk,version:Ak,endian:wk,nodes:kk,nodesLen:vk,charIndex:Fk,charIndexLen:Wq},Tk="TrieBlob",$q="00.01.00",UA=67305985,we=class lt{info;#e;#t;#n;#r;#o;#i;#s=(0,VA.endianness)()==="BE"?3:0;wordToCharacters=t=>[...t];hasForbiddenWords;hasCompoundWords;hasNonStrictWords;constructor(t,n,r){this.nodes=t,this.charIndex=n,Vq(t),this.info=er(r),this.#i=new Uint8Array(t.buffer,t.byteOffset+this.#s),this.#e=this._lookupNode(0,this.info.forbiddenWordPrefix),this.#t=this._lookupNode(0,this.info.compoundCharacter),this.#n=this._lookupNode(0,this.info.stripCaseAndAccentsPrefix),this.hasForbiddenWords=!!this.#e,this.hasCompoundWords=!!this.#t,this.hasNonStrictWords=!!this.#n}wordToUtf8Seq(t){return this.charIndex.wordToUtf8Seq(t)}letterToNodeCharIndexSequence(t){return this.charIndex.getCharUtf8Seq(t)}has(t){return this.#a(0,t)}isForbiddenWord(t){return!!this.#e&&this.#a(this.#e,t)}find(t,n){if(!this.hasCompoundWords)return this.#a(0,t)?{found:t,compoundUsed:!1,caseMatched:!0}:n||!this.#n?{found:!1,compoundUsed:!1,caseMatched:!1}:{found:this.#a(this.#n,t)&&t,compoundUsed:!1,caseMatched:!1}}getRoot(){return this.#o??=this._getRoot()}_getRoot(){let t=new Bq(this.nodes,this.charIndex,{NodeMaskEOW:lt.NodeMaskEOW,NodeMaskNumChildren:lt.NodeMaskNumChildren,NodeMaskChildCharIndex:lt.NodeMaskChildCharIndex,NodeChildRefShift:lt.NodeChildRefShift},{nodeFindExact:(n,r)=>this.#a(n,r),nodeGetChild:(n,r)=>this._lookupNode(n,r),nodeFindNode:(n,r)=>this.#u(n,r),isForbidden:n=>this.isForbiddenWord(n),findExact:n=>this.has(n),hasCompoundWords:this.hasCompoundWords,hasForbiddenWords:this.hasForbiddenWords,hasNonStrictWords:this.hasNonStrictWords});return new Uq(t,0,this.info,{find:(n,r)=>this.find(n,r)})}getNode(t){return m0(this.getRoot(),t)}#a(t,n){let r=this.#u(t,n);if(!r)return!1;let i=this.nodes[r],s=lt.NodeMaskEOW;return(i&s)===s}#u(t,n){let r=this.wordToUtf8Seq(n);return this.#c(t,r)}#c(t,n){let r=lt.NodeMaskNumChildren,i=lt.NodeChildRefShift,s=this.nodes,o=this.#i,a=n,u=a.length,c=s[t];for(let l=0;l15){let m=f+(h<<2),g=f+4,x=m;for(;x-g>=4;){let b=g+x>>1&-4;o[b]m||o[g]!==d)return;t=s[g>>2]>>>i;continue}let p=f+h*4;for(;p>f&&o[p]!==d;p-=4);if(p<=f)return;t=s[p>>2]>>>i}return t}_lookupNode(t,n){let r=this.letterToNodeCharIndexSequence(n);return this.#c(t,r)}*words(){let t=lt.NodeMaskNumChildren,n=lt.NodeMaskEOW,r=lt.NodeMaskChildCharIndex,i=lt.NodeChildRefShift,s=this.nodes,o=[{nodeIdx:0,pos:0,word:"",acc:tr.create()}],a=0;for(;a>=0;){let{nodeIdx:u,pos:c,word:l,acc:d}=o[a],h=s[u];!c&&h&n&&(yield l);let f=h&t;if(c>=f){--a;continue}let p=++o[a].pos,m=s[u+p],g=d.clone(),x=g.decode(m&r),b=x&&String.fromCodePoint(x)||"";++a,o[a]={nodeIdx:m>>>i,pos:0,word:l+b,acc:g}}}get size(){if(this.#r)return this.#r;let t=lt.NodeMaskNumChildren,n=this.nodes,r=0,i=0;for(;r>>we.NodeChildRefShift});return{id:i,eow:a,n:i+o+1,c:u}}let n=[],r=0;for(;r=h)break;c=h}if(l===u)continue;e.slice(a,u).sort((h,f)=>(h&n)-(f&n)).forEach((h,f)=>e[a+f]=h)}}var Kq=class Yn{_readonly=!1;#e;#t;#n;_iTrieRoot;wordToCharacters;hasForbiddenWords;hasCompoundWords;hasNonStrictWords;constructor(t,n,r,i){this.nodes=t,this._charIndex=n,this.bitMasksInfo=r,this.info=i,this.wordToCharacters=s=>[...s],this.#e=this.#s(0,this.info.forbiddenWordPrefix)||0,this.#t=this.#s(0,this.info.compoundCharacter)||0,this.#n=this.#s(0,this.info.stripCaseAndAccentsPrefix)||0,this.hasForbiddenWords=!!this.#e,this.hasCompoundWords=!!this.#t,this.hasNonStrictWords=!!this.#n}wordToUtf8Seq(t){return this._charIndex.wordToUtf8Seq(t)}letterToUtf8Seq(t){return this._charIndex.getCharUtf8Seq(t)}has(t){return this.#r(0,t)}hasCaseInsensitive(t){return this.#n?this.#r(this.#n,t):!1}#r(t,n){return this.#o(t,n)}#o(t,n){let r=this.wordToUtf8Seq(n),i=this.#i(t,r);return i===void 0?!1:!!(this.nodes[i][0]&this.bitMasksInfo.NodeMaskEOW)}#i(t,n){let r=this.bitMasksInfo.NodeMaskChildCharIndex,i=this.bitMasksInfo.NodeChildRefShift,s=this.nodes,o=n.length,a=s[t];for(let u=0;u>1;f=a[p]&r,f=l||(a[d]&r)!==c||(t=a[d]>>>i,!t))return}return t}*words(){let t=this.bitMasksInfo.NodeMaskChildCharIndex,n=this.bitMasksInfo.NodeChildRefShift,r=this.bitMasksInfo.NodeMaskEOW,i=this.nodes,o=[{nodeIdx:0,pos:0,word:"",accumulator:tr.create()}],a=0;for(;a>=0;){let{nodeIdx:u,pos:c,word:l,accumulator:d}=o[a],h=i[u];if(!c&&h[0]&r&&(yield l),c>=h.length-1){--a;continue}let f=++o[a].pos,p=h[f],m=p&t,g=d.clone(),x=g.decode(m),b=x&&String.fromCodePoint(x)||"";++a,o[a]={nodeIdx:p>>>n,pos:0,word:l+b,accumulator:g}}}toTrieBlob(){let t=this.bitMasksInfo.NodeMaskChildCharIndex,n=this.bitMasksInfo.NodeChildRefShift,r=this.nodes;function i(d){let h=0,f=Array(d.length+1);for(let p=0;p>>n,g=p&t;a[l++]=s[m]<t.#i(n,t.wordToUtf8Seq(r)),nodeFindExact:(n,r)=>t.#r(n,r),nodeGetChild:(n,r)=>t.#s(n,r),isForbidden:n=>t.isForbiddenWord(n),findExact:n=>t.has(n),hasForbiddenWords:t.hasForbiddenWords,hasCompoundWords:t.hasCompoundWords,hasNonStrictWords:t.hasNonStrictWords}),0)}static NodeMaskEOW=we.NodeMaskEOW;static NodeChildRefShift=we.NodeChildRefShift;static NodeMaskChildCharIndex=we.NodeMaskChildCharIndex;static DefaultBitMaskInfo={NodeMaskEOW:Yn.NodeMaskEOW,NodeMaskChildCharIndex:Yn.NodeMaskChildCharIndex,NodeChildRefShift:Yn.NodeChildRefShift};get iTrieRoot(){return this._iTrieRoot??=Yn.toITrieNodeRoot(this)}getRoot(){return this.iTrieRoot}getNode(t){return m0(this.getRoot(),t)}isForbiddenWord(t){return!!this.#e&&this.#r(this.#e,t)}nodeInfo(t,n){let r=n??tr.create(),i=this.nodes[t],s=!!(i[0]&this.bitMasksInfo.NodeMaskEOW),o=[];o.length=i.length-1;for(let a=1;a>>this.bitMasksInfo.NodeChildRefShift;o[a]={c:h,i:f,cIdx:c}}return{eow:s,children:o}}get size(){return this.nodes.length}#s(t,n){let r=this.letterToUtf8Seq(n);return this.#i(t,r)}get charIndex(){return[...this._charIndex.charIndex]}static fromTrieBlob(t){let n={NodeMaskEOW:we.NodeMaskEOW,NodeMaskChildCharIndex:we.NodeMaskChildCharIndex,NodeChildRefShift:we.NodeChildRefShift},r=we.nodesView(t),i=[];for(let a=0;a[a,u])),o=Array.from({length:i.length});for(let a=0;a>>we.NodeChildRefShift,x=s.get(g);if(x===void 0)throw new Error(`Invalid node index ${g}`);h[f]=x<>>we.NodeChildRefShift,c=a&we.NodeMaskChildCharIndex,l=s.clone(),d=l.decode(c);return d===void 0&&t.set(e[u],l),{i:u,c:d&&String.fromCodePoint(d)||void 0,s:c.toString(16).padStart(2,"0")}}return{i,w:!!(r[0]&we.NodeMaskEOW)&&1||0,c:[...r.slice(1)].map(o)}}return e.map((r,i)=>n(r,i))}function Xq(e,t,n){let r=e.get(t);if(r!==void 0)return r;let i=n(t);return e.set(t,i),i}var E0=class yn{charIndex=new kq;nodes;_readonly=!1;IdxEOW;_cursor;_options;wordToCharacters=t=>[...t];bitMasksInfo;constructor(t,n=yn.DefaultBitMaskInfo){this._options=er(t),this.bitMasksInfo=n,this.nodes=[[0],Object.freeze([yn.NodeMaskEOW])],this.IdxEOW=1}setOptions(t){return this._options=er(this.options,t),this.options}get options(){return this._options}wordToUtf8Seq(t){return this.charIndex.wordToUtf8Seq(t)}letterToUtf8Seq(t){return this.charIndex.charToUtf8Seq(t)}insert(t){if(this.#e(),typeof t=="string")return this._insert(t);let n=t;for(let r of n)this._insert(r);return this}getCursor(){return this.#e(),this._cursor??=this.createCursor(),this._cursor}createCursor(){let t=this.bitMasksInfo.NodeChildRefShift,n=this.bitMasksInfo.NodeMaskEOW,r=this.bitMasksInfo.NodeMaskChildCharIndex,i=[0,1];function s(b,y){for(let D=1;D{u[l]||i.push(l);let y=d,D=this.letterToUtf8Seq(b);for(let w=0;w{if(u[l]&&Object.isFrozen(u[l])){l=u.push([...u[l]])-1;let{pos:k,nodeIdx:A}=c[d],L=u[A];L[k]=L[k]&r|l<>>t:u.length,T=w||D.push(C<{if(l===o)return;let b=u[l];if(b)u[l]=b,b[0]|=n;else{let{pos:y,nodeIdx:D}=c[d],w=u[D];w[y]=w[y]&r|a}l=o},reference:b=>{let y=i[b];(0,Zn.default)(y!==void 0),(0,Zn.default)(u[l]===void 0),(0,Zn.default)(u[y]),Object.freeze(u[y]);let D=c[d];l=D.nodeIdx;let w=D.pos,C=u[l];C[w]=y<{if(b){(0,Zn.default)(b<=d&&b>0);for(let y=b;y>0;--y)d=c[d].pDepth;l=c[d+1].nodeIdx}}}}_insert(t){if(t=t.trim(),!t)return this;let n=this.bitMasksInfo.NodeMaskChildCharIndex,r=this.bitMasksInfo.NodeChildRefShift,i=this.bitMasksInfo.NodeMaskEOW,s=this.IdxEOW,o=this.nodes,a=this.wordToUtf8Seq(t),u=a.length,c=0;for(let l=0;l0&&(h[p]&n)!==d;--p);if(p>0){c=h[p]>>>r,c===1&&l1){let l=o[c];l[0]|=i}return this}has(t){let n=this.bitMasksInfo.NodeMaskChildCharIndex,r=this.bitMasksInfo.NodeChildRefShift,i=this.bitMasksInfo.NodeMaskEOW,s=this.nodes,o=this.wordToUtf8Seq(t),a=o.length,u=0,c=s[u];for(let l=0;l0&&(c[f]&n)!==d;--f);if(f<1)return!1;u=c[f]>>>r}return!!(c[0]&i)}isReadonly(){return this._readonly}freeze(){return this._readonly=!0,this}build(){return this._cursor=void 0,this._readonly=!0,this.freeze(),Kq.create(new Ck(Ek(this.nodes.map(t=>Uint32Array.from(t)),this.bitMasksInfo.NodeMaskChildCharIndex),this.charIndex.build(),this.bitMasksInfo,this.options))}toJSON(){return{options:this.options,nodes:Ik(this.nodes.map(t=>Uint32Array.from(t)))}}#e(){(0,Zn.default)(!this.isReadonly(),"FastTrieBlobBuilder is readonly")}static fromWordList(t,n){return new yn(n).insert(t).build()}static fromTrieRoot(t){let n=yn.DefaultBitMaskInfo,r=n.NodeChildRefShift,i=n.NodeMaskChildCharIndex,s=n.NodeMaskEOW,o=new yn(void 0,n),a=o.IdxEOW,u=new Map([[t,0]]);function c(f){if(f.f&&!f.c)return a;let p=[f.f?s:0];return o.nodes.push(p)-1}function l(f){let p=u.get(f);if(p)return p;let m=Xq(u,f,c),g=o.nodes[m];if(!f.c)return m;let x=Object.entries(f.c);for(let b=0;b>>r];else{let w=[0],C=o.nodes.push(w)-1;f[D]=C<s[s.length-1]!==r),ce(s=>t+s));return se(n&&n.eow?[t]:[],Jn(i))}suggest(t,n){return this.suggestWithCost(t,n).map(r=>r.word)}suggestWithCost(t,n){let r=n.compoundSeparator,i=n.weightMap||this.weightMap,s=r?fk(r,""):c=>c,o=n.filter,u={...n,filter:o?(c,l)=>{let d=s(c);return!this.isForbiddenWord(d)&&o(d,l)}:c=>!this.isForbiddenWord(s(c)),weightMap:i};return oq(this.data,t,u)}genSuggestions(t,n){let r=o=>!this.isForbiddenWord(o),i=g0(Jq({compoundMethod:n,...t.genSuggestionOptions})),s=pk(this.data,t.word,i);t.collect(s,void 0,r)}words(){return kA(this.root)}iterate(){return rz(this.root)}static create(t,n){let r=new E0(n);r.insert(t);let i=r.build();return new Lk(i,void 0)}createFindOptions(t){return QU(t)}};function bl(e,t={}){let n=new E0(t);n.insert(e);let r=n.build();return new _k(r.size>1e3?r.toTrieBlob():r)}var Ji=1;function Zq(e,t={}){let n=[...e],r=t;for(let i=0;in(i)))}return n(e),t.size}function nj(e){let t=new Set,n=new Set;function r(i){if(t.has(i))return{isCircular:!1,allSeen:!0};if(n.has(i)){let o=[...n,i],a=rj(o),u=o.indexOf(i);return{isCircular:!0,allSeen:!1,ref:{stack:o,word:a,pos:u}}}n.add(i);let s={isCircular:!1,allSeen:!0};return i.c&&(s=Object.values(i.c).reduce((o,a)=>{if(o.isCircular)return o;let u=r(a);return u.allSeen=u.allSeen&&o.allSeen,u},s)),s.allSeen&&t.add(i),n.delete(i),s}return r(e)}function WA(e){return e.c&&new Map(Object.entries(e.c).map(([t,n])=>[n,t]))}function rj(e){let t="",n=WA(e[0]);for(let r=1;r[p,r.get(m)])):"";return h+f}function o(d){if(d.f&&!d.c)return d;let h;if(d.c){for(let f of Object.values(d.c))if(h=o(f),h)break}return h}function a(d,h){for(let f of d)if(h[f[0]]!==f[1])return!1;return d.length===h.size}function u(d){let h=i.get(d);if(h)return h;let f=d;if(d.c){let g=Object.entries(d.c).map(x=>[x[0],u(x[1])]);a(g,d.c)||(d={f:d.f,c:Object.fromEntries(g)})}let p=s(d),m=n.get(p);return m?(i.set(f,m),m):(Object.freeze(d),n.set(p,d),r.set(d,t++),i.set(f,d),d)}function c(d){if(r.has(d))return d;if(Object.isFrozen(d))return i.get(d)||u(d);if(d.c){let p=Object.entries(d.c).sort((m,g)=>m[0][m,c(g)]);d.c=Object.fromEntries(p)}let h=s(d),f=n.get(h);return f||(n.set(h,d),r.set(d,t++),d)}let l=o(e)||{f:Ji,c:void 0};return n.set(s(l),l),r.set(l,t++),yl(c(e),e)}var oj=3,aj={matchCase:!1,compoundMode:"compound",forbidPrefix:C0,compoundFix:y0,caseInsensitivePrefix:Mo,legacyMinCompoundLength:oj},uj=["none","compound","legacy"],m0e=new Map(uj.map(e=>[e,e]));function $A(e,t){return cj(lj(e,t))}function cj(e){return e?.f===Ji}function lj(e,t){let n=[...t],r=e,i=0;for(;r&&i[...t];get iTrieRoot(){return this._iTrieRoot||(this._iTrieRoot=az(this.root))}getRoot(){return this.iTrieRoot}getNode(t){return m0(this.getRoot(),t)}words(){return Qq(this.root)}has(t){return $A(this.root,t)}isForbiddenWord(t){return $A(this.root.c[this.root.forbiddenWordPrefix],t)}get size(){return this._size??=tj(this.root)}static createFromWords(t,n){let r=jA(t,n);return new f0(r)}static createFromWordsAndConsolidate(t,n){let r=jA(t,n);return new f0(sj(r))}};var Rk="*",d0=Rk;function*dj(e){yield*e}function HA(e){let t=16,n=/^\s*#/,r=dj(e);function i(f){let p=f.slice(0,2).join(` +`),m=/^TrieXv1\nbase=(\d+)$/;if(!m.test(p))throw new Error("Unknown file format");t=Number.parseInt(p.replace(m,"$1"),10)}function s(f){let p=[];for(;;){let m=f.next();if(m.done)break;let g=m.value.trim();if(!(!g||n.test(g))){if(g===d0)break;p.push(g)}}i(p)}let o=/(^|[^\\]),/g,a=/__COMMA__/g,u=/[\\](.)/g,c={f:Ji};function l(f){return f.replaceAll(o,"$1__COMMA__").split(a).map(m=>m.replaceAll(u,"$1"))}function d(f,p){let m=f[0]===Rk;f=m?f.slice(1):f;let g=m?c:{},x=l(f).filter(y=>!!y).map(y=>[y[0],Number.parseInt(y.slice(1)||"0",t)]).map(([y,D])=>[y,p[D]]);return{...x.length?{c:Object.fromEntries(x)}:{},...g}}s(r);let h=a0([d0]).concat(r).map(f=>f.replace(/\r?\n/,"")).filter(f=>!!f).reduce((f,p)=>{let{lines:m,nodes:g}=f,x=d(p,g);return g[m]=x,{lines:m+1,root:x,nodes:g}},{lines:0,nodes:[],root:{}});return yl(h.root,{isCaseAware:!1})}var hj="*",Nk="__DATA__";function*pj(e){yield*e}function mj(e){let t=16,n=/^\s*#/,r=pj(e);function i(l){let d=l.slice(0,2).join(` +`),h=/^TrieXv2\nbase=(\d+)$/;if(!h.test(d))throw new Error("Unknown file format");t=Number.parseInt(d.replace(h,"$1"),10)}function s(l){let d=[];for(;;){let h=l.next();if(h.done)break;let f=h.value.trim();if(!(!f||n.test(f))){if(f===Nk)break;d.push(f)}}i(d)}function o(l,d){let h=l[1]===hj,f=h?2:1,p=l.slice(f).split(",").filter(m=>!!m).map(m=>Number.parseInt(m,d));return{letter:l[0],isWord:h,refs:p}}let a={f:Ji};function u(l,d){let{letter:h,isWord:f,refs:p}=o(l,t),m=f?a:{},g=p.map(b=>d[b]).sort((b,y)=>b.s[b.s,b]),x=g.length?{c:Object.fromEntries(g)}:{};return{s:h,...x,...m}}s(r);let c=a0(r).map(l=>l.replace(/\r?\n/,"")).filter(l=>!!l).reduce((l,d)=>{let{nodes:h}=l,f=u(d,h);return h.push(f),{root:f,nodes:h}},{nodes:[],root:{s:"",c:Object.create(null)}});return yl(c.root,{isCaseAware:!1})}var Cl="$",Qn="<",El=` +`,Dl="\r",Sl="#",h0="@",No=";",Hr="\\",Bk="[",Mk="]",Pk="/",x0e=Bo([Cl,Qn,El,Sl,h0,No,Hr,Dl,Bk,Mk,Pk,..."0123456789",..."`~!@#$%^&*()_-+=[]{};:'\"<>,./?\\|"].join("")),Ok=[[` +`,"\\n"],["\r","\\r"],["\\","\\\\"]],b0e=Uk(Ok),gj=Uk(Ok.map(e=>[e[1],e[0]])),y0e=Bo("~!");var xj="__DATA__";function bj(e){e=typeof e=="string"?e.split(/^/m):e;let t=10,n=/^\s*#/,r=Ej(se(e,$e(a=>a.split(/^/m))));function i(a){let u=a.slice(0,2).join(` +`),c=/^TrieXv[34]\nbase=(\d+)$/;if(!c.test(u))throw new Error("Unknown file format");t=Number.parseInt(u.replace(c,"$1"),10)}function s(a){let u=[];for(let c of a){let l=c.trim();if(!(!l||n.test(l))){if(l===xj)break;u.push(l)}}i(u)}return s(r),Cj(t,r)}var yj=Bo("0123456789");function Cj(e,t){let n=Object.freeze({f:1}),r=[],i=yl({},{});function s(x,b){let y=b===h0,D="";function w(T,v){if(v===No||e===10&&!(v in yj)){let{root:k,nodes:A,stack:L}=T,_=Number.parseInt(D,e),R=L[L.length-1],F=L[L.length-2].node,E=y?r[_]:_;F.c&&(F.c[R.s]=A[E]);let N={root:k,nodes:A,stack:L,parser:void 0};return v===No?N:p(N,v)}return D=D+v,T}let{nodes:C}=x;return C.pop(),{...x,nodes:C,parser:w}}function o(x,b){let y="";return{...x,parser:function(w,C){return y?(C=gj[y+C]||C,u({...w,parser:void 0},C)):C===Hr?(y=C,w):u({...w,parser:void 0},C)}}}function a(x,b){let y=b,D=!1;function w(C,T){return D?(D=!1,C):T===Hr?(D=!0,C):T===y?{...C,parser:void 0}:C}return{...x,parser:w}}function u(x,b){let{root:D,nodes:w,stack:C}=x,v=C[C.length-1].node,k=v.c??Object.create(null),A={f:void 0,c:void 0,n:w.length};return k[b]=A,v.c=k,C.push({node:A,s:b}),w.push(A),{root:D,nodes:w,stack:C,parser:void 0}}function c(x,b){let y=d,{root:D,nodes:w,stack:C}=x,T=C[C.length-1],v=T.node;if(v.f=Ji,!v.c){T.node=n;let k=C[C.length-2].node;k.c&&(k.c[T.s]=n),w.pop()}return C.pop(),{root:D,nodes:w,stack:C,parser:y}}let l=Bo(Qn+"23456789");function d(x,b){if(!(b in l))return p({...x,parser:void 0},b);let y=b===Qn?1:Number.parseInt(b,10)-1,{stack:D}=x;for(;y-- >0;)D.pop();return{...x,parser:d}}function h(x,b){return x}let f=zk([[Cl,c],[Qn,d],[Sl,s],[h0,s],[Hr,o],[El,h],[Dl,h],[Pk,a]]);function p(x,b){return(x.parser??f[b]??u)(x,b)}let m=Bo(` \r + `);function g(x,b){let y="";function D(C,T){return T===Bk?(y=y+T,{...C,parser:w}):T in m?C:p({...C,parser:void 0},T)}function w(C,T){return y=y+T,T===Mk?(r=y.replaceAll(/[\s[\]]/g,"").split(",").map(v=>Number.parseInt(v,e)),{...C,parser:void 0}):C}return D({...x,parser:D},b)}return i0(se(t,$e(x=>[...x])),p,{nodes:[i],root:i,stack:[{node:i,s:""}],parser:g}),i}function Bo(e){let t=Object.create(null),n=e.length;for(let r=0;r[e[1],e[0]])),GA="__DATA__";function wj(e,t){let n=Jz(),r=n.start("importTrieV3"),i=typeof t=="string"?t.split(` +`):Array.isArray(t)?t:[...t],s=16,o=/^\s*#/;function a(m){let g=m.slice(0,2).join(` +`),x=/^TrieXv3\nbase=(\d+)$/;if(!x.test(g))throw new Error("Unknown file format");s=Number.parseInt(g.replace(x,"$1"),10)}function u(m){for(let g=0;gnew fl(HA(e)),e=>new fl(HA(e)),e=>new fl(mj(e)),e=>vj(e),e=>new fl(bj(e))],_j=/^\s*TrieXv(\d+)/m;function Lj(e){let t=Array.isArray(e)?e:typeof e=="string"?e.split(` +`):[...e];function n(a){for(let u=0;u,./?\\|"].join(""));var S0e=jk("~!");function jk(e){let t=Object.create(null),n=e.length;for(let r=0;r({locale:t,language:n,country:r}));return new Map(e.map(t=>[t.locale,t]))}function jj(e){return new Nj(e)}function Wj(e){return e=typeof e=="string"?e.split(","):e,e.map(jj)}var Wk={accentCosts:1,baseCost:100,capsCosts:1,firstLetterPenalty:4,nonAlphabetCosts:110},$j={...Wk,ioConvertCost:30,keyboardCost:99,mapCost:25,replaceCosts:75,tryCharCost:100};function Hj(e={}){return{...$j,...uk(e)}}function Gj(e={}){return{...Wk,...uk(e)}}function nr(e){return[...e].map(n=>n.length>1||!n.length?`(${n})`:n).join("")}function $k(e,t,n){let{cost:r,penalty:i}=e,s=Xi(e.characters),o=[...se(s,ce(c=>xl(c,t).sort()))],a=nr([...se(o,rt(),ce(c=>xk(c)),rt(),Vi())].sort());return[gl({map:a,replace:r,insDel:r,swap:r,penalty:i}),Vj(e.characters,t,n),...D0(a,t,n)]}function Vj(e,t,n){let r=Xi(e);return{map:[...se(r,ce(a=>xl(a,t).sort()))].map(a=>nr(a)).join("|"),replace:n.capsCosts}}function Kj(e,t){return e.map(n=>Hk(n,t))}function Hk(e,t){let n=[...se(Xi(e.characters),Vi(),ce(s=>`(^${s})`))].sort().join("")+"(^)",r=t.firstLetterPenalty,i=e.cost-r;return{map:n,replace:i,penalty:r*2}}function Xj(e,t){let{cost:n,penalty:r}=e,i=nr([...se(Xi(e.characters),ce(s=>bq(s)))]);if(i)return gl({map:i,replace:n,insDel:n,penalty:r})}function D0(e,t,n){let r=[...se(S0(e),ce(l=>xl(l,t)),rt(),ce(l=>[...xk(l)]),Ie(l=>l.length>1))],s=[...se(r,ce(l=>new Set([...l,...l.map(d=>xq(d))])),ce(l=>[...l].sort()),Ie(l=>l.length>1),ce(nr),Vi())].join("|"),o=n.accentCosts,a=s?[{map:s,replace:o}]:[],u=r.map(l=>l.sort()).map(nr).join("|"),c=u?[{map:u,replace:0}]:[];return[...a,...c]}function*S0(e){let t="",n=0;for(let r of e){if(n&&r===")"){yield t,n=0;continue}if(n){t+=r;continue}if(r==="("){n=1,t="";continue}yield r}}function Jj(e,t){let n=Yj(e.costs,t),r=[sW,oW,Zj,cW,aW,nW,iW,Qj,uW,eW];function i(s,o){let a=/^(?:MAP|KEY|TRY|NO-TRY|ICONV|OCONV|REP)\s/,u=/^(?:MAP|KEY|TRY|ICONV|OCONV|REP)\s+\d+$/,c=s.split(` +`).map(d=>d.replace(/#.*/,"")).map(d=>d.trim()).filter(d=>a.test(d)).filter(d=>!u.test(d));return[...se(c,ce(d=>se(r,ce(h=>h(d,o)),ce(fW),rt())),rt(),Ie(ak))]}return i(e.aff,n)}function Yj(e={},t){let n=t?.length?t.map(s=>s.locale):void 0;return{...Hj(e),locale:n}}var w0=/^(?:MAP)\s+(\S+)$/;function Zj(e,t){let n=e.match(w0);if(!n)return;let r=n[1],i=t.mapCost;return{map:r,replace:i,swap:i}}var A0=/^(?:TRY)\s+(\S+)$/;function Qj(e,t){let n=e.match(A0);if(!n)return;let r=t.tryCharCost,s=n[1];return $k({characters:s,cost:r},t.locale,t)}function eW(e,t){let n=e.match(A0);if(!n)return;let r=n[1],i=t.tryCharCost;return Hk({characters:r,cost:i},t)}var tW=/^NO-TRY\s+(\S+)$/;function nW(e,t){let n=e.match(tW);return n?{map:n[1],insDel:Math.max(t.nonAlphabetCosts-t.tryCharCost,0),penalty:t.nonAlphabetCosts+t.tryCharCost}:void 0}var rW=/^(?:REP|(?:I|O)CONV)\s+(\S+)\s+(\S+)$/;function iW(e,t){let n=e.match(rW);if(!n)return;let r=e.startsWith("REP")?t.replaceCosts:t.ioConvertCost,i=n[1],s=n[2];return s=s.replace(/^0$/,""),i.startsWith("^")&&!s.startsWith("^")&&(s="^"+s),i.endsWith("$")&&!s.endsWith("$")&&(s=s+"$"),{map:nr([i,s]),replace:r}}var Gk=/^(?:KEY)\s+(\S+)$/;function sW(e,t){let n=e.match(Gk);if(!n)return;let r=n[1],i=[...S0(r)].map(lW((u,c)=>({a:u.b,b:c}),{a:"|",b:"|"})).filter(u=>u.a!=="|"&&u.b!=="|").map(({a:u,b:c})=>nr([u,c])),s=i.map(u=>u.toLocaleUpperCase(t.locale)),o=ck([...i,...s]).join("|"),a=t.keyboardCost;return{map:o,replace:a,swap:a}}function oW(e,t){let n=e.match(Gk);if(n)return Vk(n[1],t)}function aW(e,t){let n=e.match(w0);if(n)return Vk(n[1],t)}function uW(e,t){let n=e.match(A0);if(n)return D0(n[1],t.locale,t)}function cW(e,t){let n=e.match(w0);if(n)return D0(n[1],t.locale,t)}function Vk(e,t){let n=t.locale,i=[...S0(e)].filter(a=>a!=="|").map(a=>xl(a,n)).filter(a=>a.length>1).map(nr),s=ck(i).join("|"),o=t.capsCosts;if(s)return{map:s,replace:o}}function lW(e,t){let n=t;return(r,i)=>n=e(n,r,i)}function fW(e){return Array.isArray(e)?e:[e]}function dW(e){let t=e.locale,n=t?Wj(t).filter(a=>a.isValid()):void 0,r=n?.map(a=>a.locale),i=Gj(e.costs),s=e.suggestionEditCosts||[],o=e.hunspellInformation?Jj(e.hunspellInformation,n):[];return[...s,...hW(e.alphabet,r,i),...pW(e.accents,i),...o]}function hW(e,t,n){let r=Kk(e,"a-zA-Z",n.baseCost);return[...se(r,ce(i=>$k(i,t,n)),rt()),...Kj(r,n)]}function Kk(e,t,n,r){return e=e??t,e?(typeof e=="string"&&(e=[{characters:e,cost:n}]),r!==void 0&&e.forEach(i=>i.penalty=r),e):[]}function pW(e,t){return Kk(e,"\u0300-\u0341",t.accentCosts).map(r=>Xj(r,t)).filter(ak)}function mW(e){return e.adjustments?e.adjustments.map(gW):[]}function gW(e){let{id:t,regexp:n,penalty:r}=e;return{id:t,regexp:new RegExp(n),penalty:r}}var xW=[{map:"1234567890-.",insDel:1,penalty:200}],bW=[{id:"compound-case-change",regexp:/\p{Ll}∙\p{Lu}/gu,penalty:1e3},{id:"short-compounds-1",regexp:/^[^∙]{0,2}(?=∙)|∙[^∙]{0,2}(?=∙|$)/gm,penalty:100},{id:"short-compounds-3",regexp:/^[^∙]{3}(?=∙)|∙[^∙]{3}(?=∙|$)/gm,penalty:50}];function wl(e){let t=[...dW(e),...xW],n=mW(e),r=kz(...t);return Fz(r,...bW,...n),r}var yW=wt.baseCost,CW=wt.swapCost,w0e=CW-yW;var A0e=wt.visuallySimilar,k0e=wt.wordLengthCostFactor;var v0e=Symbol();var EW=e=>e.normalize();var DW=e=>{let t=e.toLowerCase();return[t,t.normalize("NFD").replaceAll(/\p{M}/gu,"")]},SW=/[\s,;]/g,it={commentCharacter:pq,optionalCompoundCharacter:hq,compoundCharacter:y0,forbiddenPrefix:C0,caseInsensitivePrefix:Mo,keepExactPrefix:mq,stripCaseAndAccents:!0,stripCaseAndAccentsKeepDuplicate:!1,stripCaseAndAccentsOnForbidden:!1,split:!1,splitKeepBoth:!1,splitSeparator:SW,keepOptionalCompoundCharacter:!1},F0e=Object.freeze(it),wW="cspell-dictionary:";function AW(e){let t=e||it,{commentCharacter:n=it.commentCharacter,optionalCompoundCharacter:r=it.optionalCompoundCharacter,compoundCharacter:i=it.compoundCharacter,caseInsensitivePrefix:s=it.caseInsensitivePrefix,forbiddenPrefix:o=it.forbiddenPrefix,keepExactPrefix:a=it.keepExactPrefix,splitSeparator:u=it.splitSeparator,splitKeepBoth:c=it.splitKeepBoth,stripCaseAndAccentsKeepDuplicate:l=it.stripCaseAndAccentsKeepDuplicate,stripCaseAndAccentsOnForbidden:d=it.stripCaseAndAccentsOnForbidden,keepOptionalCompoundCharacter:h=it.keepOptionalCompoundCharacter}=t,{stripCaseAndAccents:f=it.stripCaseAndAccents,split:p=it.split}=t;function m(F){return typeof F=="string"}function g(F){return F.trim()}function x(F){let E=F.indexOf(n);if(E<0)return F;let N=F.indexOf(wW,E);if(N>=0){let M=F.slice(N).split(/[\s,;]/g).map(U=>U.trim()).filter(U=>!!U);for(let U of M)switch(U){case"split":{p=!0;break}case"no-split":{p=!1;break}case"no-generate-alternatives":{f=!1;break}case"generate-alternatives":{f=!0;break}}}return F.slice(0,E).trim()}function b(F){return!!F}function*y(F){if(F[0]===r){let E=F.slice(1);yield E,yield i+E}else yield F}function*D(F){if(F.slice(-1)===r){let E=F.slice(0,-1);yield E,yield E+i}else yield F}let w=Object.create(null);[s,a,'"'].forEach(F=>w[F]=!0),d||(w[o]=!0);function C(F){return F.startsWith(s+s)?F.slice(1):F}function T(F){return F=F.replaceAll(/"(.*?)"/g,"$1"),F[0]===a?F.slice(1):F}function v(F){return EW(T(F))}function*k(F){let E=v(F),N=new Set;if(N.add(E),f&&!(F[0]in w))for(let M of DW(E))(l||M!==E)&&N.add(s+M);yield*N}function*A(F){for(let E of F){if(p){let N=E.includes('"')?E.replaceAll(/".*?"/g,U=>" "+U.replaceAll(/(\s)/g,"\\$1")+" "):E;if(yield*IW(N,u).map(U=>U.replaceAll("\\","")),!c)continue}yield E}}function*L(F){for(let E of F)yield*E.split(` +`)}let _=h?[]:[$e(y),$e(D)];return Gi(Ie(m),L,ce(x),A,ce(g),Ie(b),..._,$e(k),ce(C))}function Yi(e,t){return AW(t)(typeof e=="string"?[e]:e)}var kW=/\\([\s,;])/g,vW=/<<(%[\da-f]{2})>>/gi;function FW(e){return e.replaceAll(kW,(t,n)=>"<<"+encodeURIComponent(n)+">>")}function TW(e){return e.replaceAll(vW,(t,n)=>"\\"+decodeURIComponent(n))}function IW(e,t){return FW(e).split(t).map(n=>TW(n))}var _W=/^(?:\p{Lu}\p{M}?)+$/u;var Xk=/\p{M}/gu;function Jk(e){return!!_W.test(e)}function Yk(e){return e.slice(0,1).toUpperCase()+e.slice(1)}function Zk(e){return e.normalize("NFD").replaceAll(Xk,"")}function k0(e){return e.replaceAll(Xk,"")}var Al=10;function tv(e,t,n){let r=new Set;e=e.normalize("NFC");let i=e.toLowerCase();return n?t?r.add(i):(r.add(i),r.add(k0(i))):t?(r.add(e),r.add(i),Jk(e)&&r.add(Yk(i))):(r.add(i),r.add(k0(i))),r}function nv(e){e=e.normalize("NFC");let t=new Set([e]),n=e.toLowerCase();return t.add(n),t}var LW=Object.freeze({});function Po(e){return v0(e||LW)}var Qk=new Map,ev=new WeakMap;function v0(e){let t=ev.get(e);if(t)return t;let{ignoreCase:n,useCompounds:r}=e,i=Qk.get(n),s=i||new Map;i||Qk.set(n,s);let o=s.get(r),a=o||Object.freeze({ignoreCase:n,useCompounds:r});return o||s.set(r,a),ev.set(e,a),a}function kl(e){return e?wl(e):void 0}var RW=0,vl=1e3,NW=!1,BW=[],MW=performance.now(),F0=class{dict;options;name;id=++RW;constructor(t,n){this.dict=t,this.options=n,this.name=t.name}#e=ko(t=>this.dict.has(t,this.options),vl);has=NW?t=>{let n=performance.now()-MW,r=this.#e(t);return BW.push({time:n,method:"has",word:t,value:r}),r}:this.#e;isNoSuggestWord=ko(t=>this.dict.isNoSuggestWord(t,this.options),vl);isForbidden=ko(t=>this.dict.isForbidden(t),vl);getPreferredSuggestions=ko(t=>this.dict.getPreferredSuggestions?.(t),vl);suggest=(t,n)=>this.dict.suggest(t,n);stats(){return{name:this.name,id:this.id,has:vo(this.#e),isNoSuggestWord:vo(this.isNoSuggestWord),isForbidden:vo(this.isForbidden),getPreferredSuggestions:vo(this.getPreferredSuggestions)}}},rv=new Map;function Fl(e,t){t=v0(t);let n=rv.get(t);n||(n=new WeakMap,rv.set(t,n));let r=n.get(e);if(r)return r;let i=new F0(e,t);return n.set(e,i),i}function PW(e,t,n){let r=e.get(t);if(r!==void 0||e.has(t))return r;let i=n(t);return e.set(t,i),i}var T0=class{map=new WeakMap;get(t,n){return n?PW(this.map,t,n):this.map.get(t)}has(t){return this.map.has(t)}set(t,n){return this.map.set(t,n),this}};function Zt(){return new T0}function Gr(e){return e!==void 0}var Cv=require("node:url");var OW=Object.getOwnPropertyNames,UW=Object.getOwnPropertySymbols,zW=Object.prototype.hasOwnProperty;function iv(e,t){return function(r,i,s){return e(r,i,s)&&t(r,i,s)}}function Tl(e){return function(n,r,i){if(!n||!r||typeof n!="object"||typeof r!="object")return e(n,r,i);var s=i.cache,o=s.get(n),a=s.get(r);if(o&&a)return o===r&&a===n;s.set(n,r),s.set(r,n);var u=e(n,r,i);return s.delete(n),s.delete(r),u}}function sv(e){return OW(e).concat(UW(e))}var qW=Object.hasOwn||function(e,t){return zW.call(e,t)};function Vr(e,t){return e===t||!e&&!t&&e!==e&&t!==t}var jW="__v",WW="__o",$W="_owner",ov=Object.getOwnPropertyDescriptor,av=Object.keys;function HW(e,t,n){var r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function GW(e,t){return Vr(e.getTime(),t.getTime())}function VW(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function KW(e,t){return e===t}function uv(e,t,n){var r=e.size;if(r!==t.size)return!1;if(!r)return!0;for(var i=new Array(r),s=e.entries(),o,a,u=0;(o=s.next())&&!o.done;){for(var c=t.entries(),l=!1,d=0;(a=c.next())&&!a.done;){if(i[d]){d++;continue}var h=o.value,f=a.value;if(n.equals(h[0],f[0],u,d,e,t,n)&&n.equals(h[1],f[1],h[0],f[0],e,t,n)){l=i[d]=!0;break}d++}if(!l)return!1;u++}return!0}var XW=Vr;function JW(e,t,n){var r=av(e),i=r.length;if(av(t).length!==i)return!1;for(;i-- >0;)if(!dv(e,t,n,r[i]))return!1;return!0}function Oo(e,t,n){var r=sv(e),i=r.length;if(sv(t).length!==i)return!1;for(var s,o,a;i-- >0;)if(s=r[i],!dv(e,t,n,s)||(o=ov(e,s),a=ov(t,s),(o||a)&&(!o||!a||o.configurable!==a.configurable||o.enumerable!==a.enumerable||o.writable!==a.writable)))return!1;return!0}function YW(e,t){return Vr(e.valueOf(),t.valueOf())}function ZW(e,t){return e.source===t.source&&e.flags===t.flags}function cv(e,t,n){var r=e.size;if(r!==t.size)return!1;if(!r)return!0;for(var i=new Array(r),s=e.values(),o,a;(o=s.next())&&!o.done;){for(var u=t.values(),c=!1,l=0;(a=u.next())&&!a.done;){if(!i[l]&&n.equals(o.value,a.value,o.value,a.value,e,t,n)){c=i[l]=!0;break}l++}if(!c)return!1}return!0}function QW(e,t){var n=e.length;if(t.length!==n)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function e$(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function dv(e,t,n,r){return(r===$W||r===WW||r===jW)&&(e.$$typeof||t.$$typeof)?!0:qW(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var t$="[object Arguments]",n$="[object Boolean]",r$="[object Date]",i$="[object Error]",s$="[object Map]",o$="[object Number]",a$="[object Object]",u$="[object RegExp]",c$="[object Set]",l$="[object String]",f$="[object URL]",d$=Array.isArray,lv=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,fv=Object.assign,h$=Object.prototype.toString.call.bind(Object.prototype.toString);function p$(e){var t=e.areArraysEqual,n=e.areDatesEqual,r=e.areErrorsEqual,i=e.areFunctionsEqual,s=e.areMapsEqual,o=e.areNumbersEqual,a=e.areObjectsEqual,u=e.arePrimitiveWrappersEqual,c=e.areRegExpsEqual,l=e.areSetsEqual,d=e.areTypedArraysEqual,h=e.areUrlsEqual;return function(p,m,g){if(p===m)return!0;if(p==null||m==null)return!1;var x=typeof p;if(x!==typeof m)return!1;if(x!=="object")return x==="number"?o(p,m,g):x==="function"?i(p,m,g):!1;var b=p.constructor;if(b!==m.constructor)return!1;if(b===Object)return a(p,m,g);if(d$(p))return t(p,m,g);if(lv!=null&&lv(p))return d(p,m,g);if(b===Date)return n(p,m,g);if(b===RegExp)return c(p,m,g);if(b===Map)return s(p,m,g);if(b===Set)return l(p,m,g);var y=h$(p);return y===r$?n(p,m,g):y===u$?c(p,m,g):y===s$?s(p,m,g):y===c$?l(p,m,g):y===a$?typeof p.then!="function"&&typeof m.then!="function"&&a(p,m,g):y===f$?h(p,m,g):y===i$?r(p,m,g):y===t$?a(p,m,g):y===n$||y===o$||y===l$?u(p,m,g):!1}}function m$(e){var t=e.circular,n=e.createCustomConfig,r=e.strict,i={areArraysEqual:r?Oo:HW,areDatesEqual:GW,areErrorsEqual:VW,areFunctionsEqual:KW,areMapsEqual:r?iv(uv,Oo):uv,areNumbersEqual:XW,areObjectsEqual:r?Oo:JW,arePrimitiveWrappersEqual:YW,areRegExpsEqual:ZW,areSetsEqual:r?iv(cv,Oo):cv,areTypedArraysEqual:r?Oo:QW,areUrlsEqual:e$};if(n&&(i=fv({},i,n(i))),t){var s=Tl(i.areArraysEqual),o=Tl(i.areMapsEqual),a=Tl(i.areObjectsEqual),u=Tl(i.areSetsEqual);i=fv({},i,{areArraysEqual:s,areMapsEqual:o,areObjectsEqual:a,areSetsEqual:u})}return i}function g$(e){return function(t,n,r,i,s,o,a){return e(t,n,a)}}function x$(e){var t=e.circular,n=e.comparator,r=e.createState,i=e.equals,s=e.strict;if(r)return function(u,c){var l=r(),d=l.cache,h=d===void 0?t?new WeakMap:void 0:d,f=l.meta;return n(u,c,{cache:h,equals:i,meta:f,strict:s})};if(t)return function(u,c){return n(u,c,{cache:new WeakMap,equals:i,meta:void 0,strict:s})};var o={cache:void 0,equals:i,meta:void 0,strict:s};return function(u,c){return n(u,c,o)}}var hv=rr(),Q0e=rr({strict:!0}),ege=rr({circular:!0}),tge=rr({circular:!0,strict:!0}),nge=rr({createInternalComparator:function(){return Vr}}),rge=rr({strict:!0,createInternalComparator:function(){return Vr}}),ige=rr({circular:!0,createInternalComparator:function(){return Vr}}),sge=rr({circular:!0,createInternalComparator:function(){return Vr},strict:!0});function rr(e){e===void 0&&(e={});var t=e.circular,n=t===void 0?!1:t,r=e.createInternalComparator,i=e.createState,s=e.strict,o=s===void 0?!1:s,a=m$(e),u=p$(a),c=r?r(u):g$(u);return x$({circular:n,comparator:u,createState:i,equals:c,strict:o})}var I0=class{size;L0=new WeakMap;L1=new WeakMap;L2=new WeakMap;sizeL0=0;constructor(t){this.size=t}has(t){for(let n of this.caches())if(n.has(t))return!0;return!1}get(t){for(let n of this.caches()){let r=n.get(t);if(r)return n!==this.L0&&this._set(t,r),r.v}}set(t,n){this._set(t,{v:n})}_set(t,n){if(this.L0.has(t))return this.L0.set(t,n),this;this.sizeL0>=this.size&&this.rotate(),this.sizeL0+=1,this.L0.set(t,n)}caches(){return[this.L0,this.L1,this.L2]}rotate(){this.L2=this.L1,this.L1=this.L0,this.L0=new WeakMap,this.sizeL0=0}},Il=class extends I0{factory;constructor(t,n){super(n),this.factory=t}get(t){let n=super.get(t);if(n!==void 0)return n;let r=this.factory(t);return this.set(t,r),r}},_l=class{size;L0=new Map;L1=new Map;L2=new Map;constructor(t){this.size=t}has(t){for(let n of this.caches())if(n.has(t))return!0;return!1}get(t){for(let n of this.caches()){let r=n.get(t);if(r)return n!==this.L0&&this._set(t,r),r.v}}set(t,n){this._set(t,{v:n})}_set(t,n){if(this.L0.has(t))return this.L0.set(t,n),this;this.L0.size>=this.size&&this.rotate(),this.L0.set(t,n)}caches(){return[this.L0,this.L1,this.L2]}rotate(){this.L2=this.L1,this.L1=this.L0,this.L0=new Map}};var Ll=Object.freeze({weightMap:void 0});function pv(e){let t=e;for(let n of Object.keys(t))t[n]===void 0&&delete t[n];return t}function mv(e){return e.replaceAll(/[|\\{}()[\]^$+*?.]/g,"\\$&").replaceAll("-","\\x2d")}function gv(e,t){if(!e&&!t)return a=>a;e=e||[];let n=b$(t);if(n&&(e=[...e,...n]),!e.filter(([a,u])=>!!a).length)return a=>a;let i=E$(e),s=e.filter(([a,u])=>!!a).map(([a,u])=>u);function o(a,...u){let c=u.findIndex(l=>!!l);return 0<=c&&c`[${n.replaceAll(/[\][\\]/g,"\\$&")}]`).map(n=>[n,t])}function y$(e,t=""){if(e)return e.split("|").flatMap(n=>[...Xi(n)]).map(n=>[n,t])}function C$(e){return e.flatMap(([t,n])=>t.split("|").map(r=>[r,n]))}function E$(e){let t=e.filter(([i,s])=>!!i);if(!t.length)return/$^/;let n=t.map(([i,s])=>i).map(i=>{try{let s=/\(/.test(i)?i.replaceAll(/\((?=.*\))/g,"(?:").replaceAll("(?:?","(?"):i;new RegExp(s),i=s}catch{return mv(i)}return i}).map(i=>`(${i})`).join("|");return new RegExp(n,"g")}function xv(e,t){if(!e&&!t)return r=>[r];let n=w$(e,t);return r=>{let i=S$(n,r);return D$(r,i)}}function D$(e,t){if(!t.length)return[e];let n=[];for(let i=0;i=0;--i){let s=n[i],o=s.suffixes;for(let a of s.edits){let u=a.r,c=n[a.e].suffixes;for(let l of c)o.push(u+l)}}return[...new Set(n[0].suffixes)]}function S$(e,t){let n=[];function r(i,s,o){if(i.rep&&i.rep.forEach(u=>n.push({b:s,e:o,r:u})),o===t.length||!i.children)return;let a=i.children[t[o]];a&&r(a,s,o+1)}for(let i=0;iA$(i,s,o)),i}function A$(e,t,n){for(;t;){let i=e.children||(e.children=Object.create(null)),s=t[0];e=i[s]||(i[s]=Object.create(null)),t=t.slice(1)}let r=new Set(e.rep||[]);r.add(n),e.rep=[...r]}var Kr=class{trie;name;options;source;_size=0;knownWords=new Set;unknownWords=new Set;mapWord;remapWord;type="SpellingDictionaryFromTrie";isDictionaryCaseSensitive;containsNoSuggestWords;#e=!1;#t={caseSensitive:!0};#n={caseSensitive:!1};weightMap;constructor(t,n,r,i="from trie",s){this.trie=t,this.name=n,this.options=r,this.source=i,this.mapWord=gv(r.repMap,r.dictionaryInformation?.ignore),this.remapWord=xv(r.repMap,r.dictionaryInformation?.ignore),this.isDictionaryCaseSensitive=r.caseSensitive??t.isCaseAware,this.containsNoSuggestWords=r.noSuggest||!1,this._size=s||0,this.weightMap=r.weightMap||kl(r.dictionaryInformation),this.#e=!!r.ignoreForbiddenWords,this.#e&&(this.#t.checkForbidden=!0,this.#n.checkForbidden=!0)}get size(){if(!this._size){let t=this.trie.iterate(),n=!0,r=0;for(let i=t.next();!i.done;i=t.next(n))r+=1,n=i.value.text.length<5;this._size=r}return this._size}has(t,n){let{useCompounds:r,ignoreCase:i}=this.resolveOptions(n),s=this._find(t,r,i);return s&&!s.forbidden&&!!s.found||!1}find(t,n){let{useCompounds:r,ignoreCase:i}=this.resolveOptions(n),s=this._find(t,r,i),{forbidden:o=this.#r(t)}=s||{};if(this.#e&&o||!s&&!o)return;let{found:a=o?t:!1}=s||{},u=a!==!1&&this.containsNoSuggestWords;return{found:a,forbidden:o,noSuggest:u}}resolveOptions(t){let{useCompounds:n=this.options.useCompounds,ignoreCase:r=!0}=Po(t);return{useCompounds:n,ignoreCase:r}}_find=(t,n,r)=>this.findAnyForm(t,n,r);findAnyForm(t,n,r){let i=k$(t,this.remapWord||(s=>[this.mapWord(s)]));for(let s of i){let o=this._findAnyForm(s,n,r);if(o)return o}}_findAnyForm(t,n,r){let i=r?this.#n:this.#t,s=this.trie.findWord(t,i);if(s.found!==!1)return s;let o=tv(t,this.isDictionaryCaseSensitive,r);for(let a of o){let u=this.trie.findWord(a,i);if(u.found!==!1)return u}if(n){let a={...i,useLegacyWordCompounds:n};for(let u of o){let c=this.trie.findWord(u,a);if(c.found!==!1)return c}}}isNoSuggestWord(t,n){return this.containsNoSuggestWords?this.has(t,n):!1}isForbidden(t,n){return this.#e?!1:this.#r(t,n)}#r(t,n){return this.trie.isForbiddenWord(t)}suggest(t,n={}){return this._suggest(t,n)}_suggest(t,n){let{numSuggestions:r=Al,numChanges:i,includeTies:s,ignoreCase:o,timeout:a}=n;function u(l){return!0}let c=Ki(t,pv({numSuggestions:r,filter:u,changeLimit:i,includeTies:s,ignoreCase:o,timeout:a,weightMap:this.weightMap}));return this.genSuggestions(c,n),c.suggestions.map(l=>({...l,word:l.word}))}genSuggestions(t,n){if(this.options.noSuggest)return;let r=n.compoundMethod??(this.options.useCompounds?mt.JOIN_WORDS:mt.NONE);for(let i of nv(t.word))this.trie.genSuggestions(x0(t,i),r)}getErrors(){return[]}};function Nl(e,t,n,r){let i=qk(e);return new Kr(i,t,r,n)}function*k$(e,t){let n=new Set,r=e,i=r;yield r,n.add(r),r=e.normalize("NFC"),r!==i&&(yield r,n.add(r)),r=e.normalize("NFD"),r!==i&&!n.has(r)&&(yield r,n.add(r));for(let s of n)for(let o of t(s))o!==i&&!n.has(o)&&(yield o,n.add(o))}var bv=new Il(Ev,64),v$=3,yv=new _l(64);function Xe(e,t,n,r){let i=[e,t,n.toString(),r];if(!Array.isArray(e))return Ev(i);let s=yv.get(t)||new Set;for(let o of s)if(hv(i,o))return bv.get(o);return s.size>v$&&s.clear(),s.add(i),yv.set(t,s),bv.get(i)}function Ev(e){let[t,n,r,i]=e,s={stripCaseAndAccents:i?.supportNonStrictSearches??!0},o=Yi(t,s),a=bl(o),u={...i||Ll};return u.weightMap===void 0&&u.dictionaryInformation&&(u.weightMap=kl(u.dictionaryInformation)),new Kr(a,n,u,r)}function Bl(e,t,n,r){let i=typeof t=="string"?t:t.href,s=i.startsWith("file:")?(0,Cv.fileURLToPath)(t):i;return r=r||{},{name:e,source:s,type:"error",containsNoSuggestWords:!1,has:()=>!1,find:()=>{},isNoSuggestWord:()=>!1,isForbidden:()=>!1,suggest:()=>[],mapWord:o=>o,genSuggestions:()=>{},size:0,options:r,isDictionaryCaseSensitive:!1,getErrors:()=>[n]}}function*Ml(e){for(let t of e){let n=t.toLowerCase();yield n;let r=Zk(n);n!==r&&(yield r)}}var Ul=B(require("node:assert"),1);function Dv(e){if(!e)return!1;if(typeof e=="string")return e;let t=[...new Set(e)];return t.length>1?t:t.length===1?t[0]:!1}function Sv(e,t,n){let r=e[t];if(!r)return e[t]=Dv(n),e;if(!n)return e;let i=Array.isArray(r)?r:[r];return Array.isArray(n)?i.push(...n):i.push(n),e[t]=Dv(i),e}function F$(e,t){for(let n of Object.keys(t))Sv(e,n,t[n]);return e}function wv(e,t){if(!t)return e;if(typeof t=="string")return e[t]||(e[t]=!1),e;if(Array.isArray(t)){let[n,...r]=t.map(s=>s.trim());if(!n)return e;let i=r.map(s=>s.trim()).filter(s=>!!s);return Sv(e,n,i)}return F$(e,t)}function Pl(e){let t=Object.create(null);if(!e)return t;for(let[n,r]of e)t[n]=T$(r)?r:!1;return t}function Ol(e){let t=se(Object.values(e),Ie(L$),$e(n=>Array.isArray(n)?n:[n]));return new Set(t)}function Av(e,t){let n=t.length;return new Set(Object.keys(e).filter(r=>r.startsWith(t)).map(r=>r.slice(n)))}function T$(e){return e!=null}function I$(e){return typeof e=="string"}function _$(e){return Array.isArray(e)}function L$(e){return I$(e)||_$(e)}function kv(e){return(0,Ul.default)(typeof e=="string","A string was expected."),!0}var R$=/[,]/,N$=/:|->/,B$=/[\n;]/;function _0(e){return e.normalize()}function vv(e){return e.map(t=>t.trim()).filter(t=>!!t).map(_0)}function Fv(e){let t=vv(e);return t.length===1?t[0]:t.length?t:!1}function Tv(e){return Fv(e.split(R$))}function Iv(e){if(!e||typeof e!="object")return;let t=Pl();for(let[n,r]of Object.entries(e)){let i=_0(n.trim());if(i){if(typeof r=="string"){t[i]=Tv(r);continue}if(Array.isArray(r)){let s=Fv(r.filter(kv));t[i]=s;continue}(0,Ul.default)(r===!1,"Unexpected suggestion type."),t[i]=!1}}return t}function Uo(e){let t=U$(e)?M$(e):e,n=Iv(t);return(0,Ul.default)(n),n}function M$(e){let t=Pl();for(let n of e)wv(t,_v(n));return t}function _v(e){if(e){if(typeof e=="string"){let t=Pl();for(let n of P$(e)){let[r,i]=O$(n),s=r.trim();if(!i)return s;let o=Tv(i);t[s]=o}return t}if(Array.isArray(e)){let[t,...n]=e.filter(kv).map(r=>r.trim());return t?[t,...n]:void 0}return Iv(e)}}function P$(e){return vv(_0(e).split(B$))}function O$(e){return e.split(N$,2)}function U$(e){return Symbol.iterator in e}var L0=class{name;source;typosDef;containsNoSuggestWords;options={};type="typos";size;ignoreWords;suggestions;suggestionsLower;explicitIgnoreWords;constructor(t,n,r,i){this.name=t,this.source=n,this.typosDef=r,this.size=Object.keys(r).length,this.explicitIgnoreWords=Av(r,"!"),this.suggestions=Ol(r),this.ignoreWords=new Set(se(this.explicitIgnoreWords,Jn(i||[]))),this.suggestionsLower=new Set(se(this.suggestions,Ml)),this.containsNoSuggestWords=this.ignoreWords.size>0}has(t,n){return!1}find(t,n){let r=this._findForms(t,n?.ignoreCase??!0);if(r===!1)return;let{found:i,ignore:s}=r;return{found:i,forbidden:!s,noSuggest:s}}_findForms(t,n){let r=t.toLowerCase();if(this.ignoreWords.has(t))return{found:t,ignore:!0};if(this.suggestions.has(t))return!1;if(n){if(this.suggestionsLower.has(r))return!1;if(this.ignoreWords.has(r))return{found:r,ignore:!0}}return t in this.typosDef?{found:t,ignore:!1}:r in this.typosDef?{found:r,ignore:!1}:!1}isForbidden(t,n=!1){let r=this._findForms(t,n);return r!==!1&&!r.ignore}isNoSuggestWord(t,n){return this.find(t,n)?.noSuggest??!1}isSuggestedWord(t,n=!1){if(this.suggestions.has(t))return!0;let r=t.toLowerCase();return n&&(this.suggestions.has(r)||this.suggestionsLower.has(r))}suggest(t){return this.getPreferredSuggestions(t)}_suggest(t){if(this.ignoreWords.has(t))return[];if(!(t in this.typosDef))return;let n=this.typosDef[t],r=!0;return n?typeof n=="string"?[{word:n,cost:1,isPreferred:r}]:n.map((i,s)=>({word:i,cost:s+1,isPreferred:r})):[]}genSuggestions(t){this.suggest(t.word).forEach(r=>t.add(r))}getPreferredSuggestions(t){return this._suggest(t)||this._suggest(t.toLowerCase())||[]}mapWord(t){return t}isDictionaryCaseSensitive=!0;getErrors(){return[]}},z$=Zt();function Lv(e,t,n){return z$.get(e,()=>{let r=Uo(e);return new L0(t,n,r)})}var R0=class extends Kr{name;source;containsNoSuggestWords=!1;options={};constructor(t,n,r){super(t,n,Ll,r),this.name=n,this.source=r}has(t,n){return!1}find(t,n){let r=super.find(t,n);if(!(!r||!r.forbidden))return r}suggest(){return[]}genSuggestions(){}isDictionaryCaseSensitive=!0},N0=class{name;source;dictTypos;dictTrie;containsNoSuggestWords=!1;options={};type="flag-words";constructor(t,n,r,i){this.name=t,this.source=n,this.dictTypos=r,this.dictTrie=i}has(t,n){return this.dictTypos.has(t,n)||this.dictTrie?.has(t,n)||!1}find(t,n){let r=this.dictTypos.find(t,n);if(r)return r;let i=n?.ignoreCase??!0;if(!this.dictTypos.isSuggestedWord(t,i))return this.dictTrie?.find(t,n)}isForbidden(t,n=!1){return this.find(t,{ignoreCase:n})?.forbidden||!1}isNoSuggestWord(t,n){return this.dictTrie?.isNoSuggestWord(t,n)||this.dictTypos.isNoSuggestWord(t,n)}suggest(t,n={}){return this.dictTypos.suggest(t,n)}getPreferredSuggestions(t){return this.dictTypos.getPreferredSuggestions(t)}genSuggestions(){}mapWord(t){return t}get size(){return this.dictTypos.size+(this.dictTrie?.size||0)}isDictionaryCaseSensitive=!0;getErrors(){return[]}},q$=Zt();function ir(e,t,n){return q$.get(e,()=>{let r=/[~*+]/,{t:i,f:s}=$$(Yi(e,{stripCaseAndAccents:!1}),u=>r.test(u)),o=i.size?W$(i,t,n):void 0,a=Lv(s,t,n);return o?new N0(t,n,a,o):a})}var j$=/^(!!)+/;function W$(e,t,n){let r=bl(se(e,ce(i=>"!"+i),ce(i=>i.replace(j$,""))));return new R0(r,t,n)}function $$(e,t){let n=new Set,r=new Set;for(let i of e)t(i)?n.add(i):r.add(i);return{t:n,f:r}}var B0="NFC",M0=class{name;source;dict;dictNonStrict;containsNoSuggestWords=!0;options={};type="ignore";constructor(t,n,r){this.name=t,this.source=n,this.dict=new Set(r),this.dictNonStrict=new Set(se(this.dict,Ie(i=>i.startsWith("~")),ce(i=>i.slice(1))))}has(t,n){let r=t.normalize(B0);if(this.dict.has(r))return!0;let i=r.toLowerCase();return this.dict.has(i)?!0:(n?.ignoreCase??!0)&&(this.dictNonStrict.has(r)||this.dictNonStrict.has(i))}find(t,n){let r=t.normalize(B0);if(this.dict.has(r))return{found:r,forbidden:!1,noSuggest:!0};let i=r.toLowerCase();if(this.dict.has(i))return{found:i,forbidden:!1,noSuggest:!0};if(n?.ignoreCase??!0)return this.dictNonStrict.has(r)?{found:r,forbidden:!1,noSuggest:!0}:this.dictNonStrict.has(i)&&{found:i,forbidden:!1,noSuggest:!0}||void 0}isForbidden(t,n){return!1}isNoSuggestWord(t,n){return this.has(t,n)}suggest(){return[]}genSuggestions(){}mapWord(t){return t}get size(){return this.dict.size}isDictionaryCaseSensitive=!0;getErrors(){return[]}},H$=Zt();function Zi(e,t,n,r){return H$.get(e,()=>{let i=/[*+]/,s={stripCaseAndAccents:r?.supportNonStrictSearches??!0},o=[...Yi(e,s)].map(u=>u.normalize(B0));return o.some(u=>i.test(u))?Xe(o,t,n,{caseSensitive:!0,noSuggest:!0,weightMap:void 0,supportNonStrictSearches:!0}):new M0(t,n,o)})}function G$(e){return e}var P0=class{dictionaries;name;options={weightMap:void 0};mapWord=G$;type="SpellingDictionaryCollection";source;isDictionaryCaseSensitive;containsNoSuggestWords;constructor(t,n,r){this.dictionaries=t,this.name=n,this.dictionaries=this.dictionaries.sort((i,s)=>s.size-i.size),this.source=r||t.map(i=>i.name).join(", "),this.isDictionaryCaseSensitive=this.dictionaries.reduce((i,s)=>i||s.isDictionaryCaseSensitive,!1),this.containsNoSuggestWords=this.dictionaries.reduce((i,s)=>i||s.containsNoSuggestWords,!1)}has(t,n){let r=Po(n);return!!V$(this.dictionaries,t,r)&&!this.isForbidden(t)}find(t,n){let r=Po(n);return K$(this.dictionaries,t,r)}isNoSuggestWord(t,n){return this._isNoSuggestWord(t,n)}isForbidden(t,n){let r=n??!1;return!!this._isForbiddenInDict(t,r)&&!this.isNoSuggestWord(t,{ignoreCase:r})}suggest(t,n={}){return this._suggest(t,n)}_suggest(t,n){let{numSuggestions:r=Al,numChanges:i,ignoreCase:s,includeTies:o,timeout:a}=n,u=Mo,d=Ki(t,{numSuggestions:r,filter:(h,f)=>(s||h[0]!==u)&&!this.isForbidden(h)&&!this.isNoSuggestWord(h,n),changeLimit:i,includeTies:o,ignoreCase:s,timeout:a});return this.genSuggestions(d,n),d.suggestions}get size(){return this.dictionaries.reduce((t,n)=>t+n.size,0)}getPreferredSuggestions(t){let n=this.dictionaries.flatMap(i=>i.getPreferredSuggestions?.(t)).filter(Gr);if(n.length<=1)return n;let r=new Set;return n.filter(i=>r.has(i.word)?!1:(r.add(i.word),!0))}genSuggestions(t,n){let r={...n},{compoundMethod:i=mt.SEPARATE_WORDS}=n;r.compoundMethod=this.options.useCompounds?mt.JOIN_WORDS:i,this.dictionaries.forEach(s=>s.genSuggestions(t,r))}getErrors(){return this.dictionaries.reduce((t,n)=>[...t,...n.getErrors?.()||[]],[])}_isForbiddenInDict(t,n){return J$(this.dictionaries,t,n)}_isNoSuggestWord=(t,n)=>this.containsNoSuggestWords?!!X$(this.dictionaries,t,n||{}):!1};function Cn(e,t,n){return new P0(e,t,n)}function V$(e,t,n){return e.find(r=>r.has(t,n))}function K$(e,t,n){let r=e.map(i=>i.find(t,n)).filter(Gr);if(r.length)return r.reduce((i,s)=>({found:i.forbidden?i.found:s.forbidden?s.found:i.found||s.found,forbidden:i.forbidden||s.forbidden,noSuggest:i.noSuggest||s.noSuggest}))}function X$(e,t,n){return e.find(r=>r.isNoSuggestWord(t,n))}function J$(e,t,n){return e.find(r=>r.isForbidden(t,n))}var O0=class{name;source;typosDef;containsNoSuggestWords=!1;options={};type="suggest";size;suggestions;suggestionsLower;constructor(t,n,r){this.name=t,this.source=n,this.typosDef=r,this.size=Object.keys(r).length,this.suggestions=Ol(r),this.suggestionsLower=new Set(se(this.suggestions,Ml))}has(t,n){return!1}find(t,n){}isForbidden(t,n){return!1}isNoSuggestWord(t,n){return!1}isSuggestedWord(t,n=!1){if(this.suggestions.has(t))return!0;if(!n)return!1;let r=t.toLowerCase();return this.suggestions.has(r)||this.suggestionsLower.has(r)}suggest(t){return this.getPreferredSuggestions(t)}_suggest(t){if(!(t in this.typosDef))return;let n=this.typosDef[t],r=!0;return n?typeof n=="string"?[{word:n,cost:1,isPreferred:r}]:n.map((i,s)=>({word:i,cost:s+1,isPreferred:r})):[]}getPreferredSuggestions(t){return this._suggest(t)||this._suggest(t.toLowerCase())||[]}genSuggestions(t){this.suggest(t.word).forEach(r=>t.add(r))}mapWord(t){return t}isDictionaryCaseSensitive=!0;getErrors(){return[]}},Y$=Zt();function Qi(e,t,n){return Y$.get(e,()=>{let r=Uo(e);return new O0(t,n,r)})}var Z$=Zt();function es(e,t){return Z$.get(e,()=>{let{words:n,flagWords:r,ignoreWords:i,suggestWords:s,name:o,supportNonStrictSearches:a}=e,u={supportNonStrictSearches:a},c=[n&&Xe(n,o+"-words",t,e),r&&ir(r,o+"-flag-words",t),i&&Zi(i,o+"-ignore-words",t,u),s&&Qi(s,o+"-suggest",t)].filter(Gr);return Cn(c,o,t)})}var pf=B(require("node:path"),1);var Rv=Q$;function Q$(e){let t=new Set,n=e||(r=>r);return r=>{let i=n(r),s=!t.has(i);return t.add(i),s}}function He(e){let t=e;for(let n of Object.keys(t))(t[n]===void 0||t[n]===null)&&delete t[n];return t}function Nv(e,t){let n=t,r=!0;return function(i){return r&&n===void 0?(r=!1,n=i,n):(n=e(n,i),n)}}function At(e){return e!==void 0}function Bv(e,t){if(e===t)return!0;let n=e.length===t.length;for(let r=0;r{try{return Vv.default.parse(jo.default.readFileSync(e,"utf8")).prefix}catch{}},tH=()=>Object.keys(Be.default.env).reduce((e,t)=>/^npm_config_prefix$/i.test(t)?Be.default.env[t]:e,void 0),nH=()=>{if($o&&Be.default.env.APPDATA)return Me.default.join(Be.default.env.APPDATA,"/npm/etc/npmrc");if(Be.default.execPath.includes("/Cellar/node")){let e=Be.default.execPath.slice(0,Be.default.execPath.indexOf("/Cellar/node"));return Me.default.join(e,"/lib/node_modules/npm/npmrc")}if(Be.default.execPath.endsWith("/bin/node")){let e=Me.default.dirname(Me.default.dirname(Be.default.execPath));return Me.default.join(e,"/etc/npmrc")}},rH=()=>{if($o){let{APPDATA:e}=Be.default.env;return e?Me.default.join(e,"npm"):Me.default.dirname(Be.default.execPath)}return Me.default.dirname(Me.default.dirname(Be.default.execPath))},iH=()=>{let e=tH();if(e)return e;let t=Gv(Me.default.join($l.default.homedir(),".npmrc"));if(t)return t;if(Be.default.env.PREFIX)return Be.default.env.PREFIX;let n=Gv(nH());return n||rH()},Wo=Me.default.resolve(iH()),Kv=()=>{if($o&&Be.default.env.LOCALAPPDATA){let e=Me.default.join(Be.default.env.LOCALAPPDATA,"Yarn");if(jo.default.existsSync(e))return e}return!1},sH=()=>{if(Be.default.env.PREFIX)return Be.default.env.PREFIX;let e=Kv();if(e)return e;let t=Me.default.join($l.default.homedir(),".config/yarn");if(jo.default.existsSync(t))return t;let n=Me.default.join($l.default.homedir(),".yarn-config");return jo.default.existsSync(n)?n:Wo},Qt={};Qt.npm={};Qt.npm.prefix=Wo;Qt.npm.packages=Me.default.join(Wo,$o?"node_modules":"lib/node_modules");Qt.npm.binaries=$o?Wo:Me.default.join(Wo,"bin");var Xv=Me.default.resolve(sH());Qt.yarn={};Qt.yarn.prefix=Xv;Qt.yarn.packages=Me.default.join(Xv,Kv()?"Data/global/node_modules":"global/node_modules");Qt.yarn.binaries=Me.default.join(Qt.yarn.packages,".bin");var H0=Qt;var Jv=B(zv(),1);function G0(e){let t=[H0.npm.packages,H0.yarn.packages];return(0,Jv.requireResolve)(e,t)}var _F=require("node:fs"),LF=require("node:path");var Qv=B(require("node:assert"),1),wn=B(require("node:path"),1),Jr=require("node:url"),oH=/^(\w[\w-]{1,63}:\/|data:|stdin:)/i;function Ut(e,t){return Xr(e instanceof URL?e:new URL(e,t))}function V0(e){if(e=Ut(e),e.protocol==="data:")return e;let t=e.pathname.endsWith("/");if(!e.pathname.startsWith("/")){if(!e.pathname)return e;let r=e.pathname.split("/").slice(0,t?-2:-1).join("/")+"/";return new URL(e.protocol+(e.host?"//"+e.host:"")+r+e.search+e.hash)}return new URL(t?"..":".",e)}function aH(e){let t=e.endsWith("/")?2:0,n=e.lastIndexOf("/",e.length-t);return n>=0?e.slice(n+1):e}function Fe(e){return e instanceof URL||oH.test(e)}function eF(e,t){return t=t.endsWith(":")?t:t+":",typeof e=="string"?e.startsWith(t):e.protocol===t}function Go(e){if(e.pathname.endsWith("/"))return e;let t=new URL(e.href);return t.pathname+="/",t}function uH(e,t){let n=e.pathname,r=t.pathname;if(n===r)return"";if(n=n.endsWith("/")?n:new URL("./",e).pathname,r.startsWith(n))return decodeURIComponent(r.slice(n.length));let i=n,s=r;if(s.startsWith(i))return decodeURIComponent(i===s?"":s.slice(i.lastIndexOf("/")+1));let o=i.split("/").slice(0,-1),a=s.split("/"),u=0;for(u=0;un.toUpperCase()),t!==e.pathname)return e=new URL(e),e.pathname=t,Yv(e)}return Yv(e)}function Yv(e){return e.href.startsWith("file:////")?new URL(e.href.replace(/^file:\/{4}/,"file://")):e}var lH=/filename=([^;,]*)/;function An(e){function t(n){let r=n.match(lH);return r?r[1]:n.split(";",1)[0].replaceAll(/\W/g,".")}return e=Ut(e),e.protocol==="data:"?t(e.pathname.split(",",1)[0]):aH(e.pathname)}function Hl(e){return eF(e,"data:")}var Ho=process.platform==="win32",fH=/^\/[a-zA-Z]:\//;function nF(e){return fH.test(e)}function kn(e){return eF(e,"file:")}function Ee(e){return kn(e)&&e.toString().startsWith("file:///")?dH(e):e.toString()}function dH(e){try{if(Ho){let t=new URL(e);if(!nF(t.pathname)){let n=(0,Jr.pathToFileURL)(process.cwd());if(n.hostname)return(0,Jr.fileURLToPath)(new URL(t.pathname,n));let r=n.pathname.split("/")[1];return t.pathname=`/${r}${t.pathname}`,(0,Jr.fileURLToPath)(t)}}return iF((0,Jr.fileURLToPath)(e))}catch{return e.toString()}}var rF=/^([a-zA-Z]):[\\/]/;function iF(e){return e.replace(rF,t=>t.toUpperCase())}var hH=/^file:\/\/\/[a-zA-Z]:\//;function pH(e){return hH.test(e.toString())}var mH=rF,gH=tF,xH=/%/g,bH=/\\/g,yH=/\n/g,CH=/\r/g,EH=/\t/g,DH=/\?/g,SH=/#/g,Zv="file:",Yr=class{windows;path;cwd;constructor(e={}){let t=e.path?.sep;this.windows=e.windows??(t?t==="\\":void 0)??Ho,this.path=e.path??(this.windows?wn.default.win32:wn.default.posix),this.cwd=e.cwd??this.pathToFileURL(this.path.resolve()+"/",this.rootFileURL()),(0,Qv.default)(this.path.sep===(this.windows?"\\":"/"),`Path separator should match OS type Windows: ${this.windows===!0?"true":(this.windows??"undefined")||"false"}, sep: ${this.path.sep}, options: `+JSON.stringify({isWindows:Ho,sep:`${t}`,windows:e.windows,pathSep:e.path?.sep,n:e.path?.normalize("path/file.txt"),cwd:e.cwd?.href,win32:this.path===wn.default.win32,posix:this.path===wn.default.posix,"win32.normalize":this.path.normalize===wn.default.win32.normalize,"posix.normalize":this.path.normalize===wn.default.posix.normalize}))}encodePathChars(e){return e=e.replaceAll(xH,"%25"),!this.windows&&!Ho&&e.includes("\\")&&(e=e.replaceAll(bH,"%5C")),e=e.replaceAll(yH,"%0A"),e=e.replaceAll(CH,"%0D"),e=e.replaceAll(EH,"%09"),e}normalizeFilePathForUrl(e){return e=this.encodePathChars(e),e=e.replaceAll(DH,"%3F"),e=e.replaceAll(SH,"%23"),e.replaceAll("\\","/").replace(mH,n=>`/${n}`.toUpperCase())}toFileURL(e,t){return Xr(this.#e(e,t))}#e(e,t){if(typeof e!="string")return e;if(Fe(e))return Xr(new URL(e));if(t??=this.cwd,Ho&&(e=e.replaceAll("\\","/")),this.isAbsolute(e)&&kn(t)){let i=this.normalizeFilePathForUrl(e);if(pH(t)&&!nF(i)){let s=t.toString().slice(0,10);return Xr(new URL(s+i))}return Xr(new URL("file://"+i))}if(Fe(t)){let i=this.normalizeFilePathForUrl(e);return Xr(new URL(i,t))}let n=e.endsWith("/")?"/":"",r=this.normalizeFilePathForUrl(this.path.resolve(t.toString(),e))+n;return Xr(new URL("file://"+r))}toFileDirURL(e,t){return Go(this.toFileURL(e,t))}urlToFilePathOrHref(e){return e=this.toFileURL(e),this.#t(e)}#t(e){if(e.protocol!==Zv||e.hostname)return e.href;let t=this.path===wn.default?Ee(e):decodeURIComponent(e.pathname.split("/").join(this.path.sep));return iF(t.replace(gH,"$1"))}relative(e,t){if(e.protocol===t.protocol&&e.protocol===Zv){if(e.href===t.href)return"";e=e.pathname.endsWith("/")?e:new URL("./",e);let n=e.pathname,r=t.pathname;if(r.startsWith(n))return decodeURIComponent(r.slice(n.length));let i=this.#t(e),s=this.#t(t),o=t.pathname.endsWith("/"),a=this.normalizeFilePathForUrl(this.path.relative(i,s));return o&&!a.endsWith("/")&&(a+="/"),decodeURIComponent(a)}return decodeURIComponent(uH(e,t))}urlDirname(e){return V0(this.toFileURL(e))}pathToFileURL(e,t){return new URL(this.normalizeFilePathForUrl(e),t||this.cwd)}rootFileURL(e){let t=this.path,n=t.parse(t.normalize(t.resolve(e??".")));return new URL(this.normalizeFilePathForUrl(n.root),this.#n())}#n(){if(this.path===wn.default)return(0,Jr.pathToFileURL)("/");let e=this.path.resolve("/");return new URL(this.normalizeFilePathForUrl(e),"file:///")}isAbsolute(e){return Fe(e)||this.path.isAbsolute(e)}isUrlLike(e){return Fe(e)}},sF=new Yr;function pe(e,t){return sF.toFileURL(e,t)}function Je(e){return sF.toFileDirURL(e)}var ng=B(require("node:assert"),1),Xo=require("node:fs"),or=B(require("node:process"),1),ee=require("node:url"),rg=B(require("node:path"),1),Jl=require("node:module");var pF=require("node:url");var lF=B(require("node:fs"),1),fF=B(require("node:path"),1),Gl=require("node:url");var aF=B(require("node:v8"),1),sr=B(require("node:assert"),1);var is=require("node:util"),wH={}.hasOwnProperty,AH=/^([A-Z][a-z\d]*)+$/,kH=new Set(["string","function","number","object","Function","Object","boolean","bigint","symbol"]),Le={};function K0(e,t="and"){return e.length<3?e.join(` ${t} `):`${e.slice(0,-1).join(", ")}, ${t} ${e[e.length-1]}`}var uF=new Map,vH="__node_internal_",oF;Le.ERR_INVALID_ARG_TYPE=kt("ERR_INVALID_ARG_TYPE",(e,t,n)=>{(0,sr.default)(typeof e=="string","'name' must be a string"),Array.isArray(t)||(t=[t]);let r="The ";if(e.endsWith(" argument"))r+=`${e} `;else{let a=e.includes(".")?"property":"argument";r+=`"${e}" ${a} `}r+="must be ";let i=[],s=[],o=[];for(let a of t)(0,sr.default)(typeof a=="string","All expected entries have to be of type string"),kH.has(a)?i.push(a.toLowerCase()):AH.exec(a)===null?((0,sr.default)(a!=="object",'The value "object" should be written as "Object"'),o.push(a)):s.push(a);if(s.length>0){let a=i.indexOf("object");a!==-1&&(i.slice(a,1),s.push("Object"))}return i.length>0&&(r+=`${i.length>1?"one of type":"of type"} ${K0(i,"or")}`,(s.length>0||o.length>0)&&(r+=" or ")),s.length>0&&(r+=`an instance of ${K0(s,"or")}`,o.length>0&&(r+=" or ")),o.length>0&&(o.length>1?r+=`one of ${K0(o,"or")}`:(o[0].toLowerCase()!==o[0]&&(r+="an "),r+=`${o[0]}`)),r+=`. Received ${LH(n)}`,r},TypeError);Le.ERR_INVALID_MODULE_SPECIFIER=kt("ERR_INVALID_MODULE_SPECIFIER",(e,t,n=void 0)=>`Invalid module "${e}" ${t}${n?` imported from ${n}`:""}`,TypeError);Le.ERR_INVALID_PACKAGE_CONFIG=kt("ERR_INVALID_PACKAGE_CONFIG",(e,t,n)=>`Invalid package config ${e}${t?` while importing ${t}`:""}${n?`. ${n}`:""}`,Error);Le.ERR_INVALID_PACKAGE_TARGET=kt("ERR_INVALID_PACKAGE_TARGET",(e,t,n,r=!1,i=void 0)=>{let s=typeof n=="string"&&!r&&n.length>0&&!n.startsWith("./");return t==="."?((0,sr.default)(r===!1),`Invalid "exports" main target ${JSON.stringify(n)} defined in the package config ${e}package.json${i?` imported from ${i}`:""}${s?'; targets must start with "./"':""}`):`Invalid "${r?"imports":"exports"}" target ${JSON.stringify(n)} defined for '${t}' in the package config ${e}package.json${i?` imported from ${i}`:""}${s?'; targets must start with "./"':""}`},Error);Le.ERR_MODULE_NOT_FOUND=kt("ERR_MODULE_NOT_FOUND",(e,t,n=!1)=>`Cannot find ${n?"module":"package"} '${e}' imported from ${t}`,Error);Le.ERR_NETWORK_IMPORT_DISALLOWED=kt("ERR_NETWORK_IMPORT_DISALLOWED","import of '%s' by %s is not supported: %s",Error);Le.ERR_PACKAGE_IMPORT_NOT_DEFINED=kt("ERR_PACKAGE_IMPORT_NOT_DEFINED",(e,t,n)=>`Package import specifier "${e}" is not defined${t?` in package ${t}package.json`:""} imported from ${n}`,TypeError);Le.ERR_PACKAGE_PATH_NOT_EXPORTED=kt("ERR_PACKAGE_PATH_NOT_EXPORTED",(e,t,n=void 0)=>t==="."?`No "exports" main defined in ${e}package.json${n?` imported from ${n}`:""}`:`Package subpath '${t}' is not defined by "exports" in ${e}package.json${n?` imported from ${n}`:""}`,Error);Le.ERR_UNSUPPORTED_DIR_IMPORT=kt("ERR_UNSUPPORTED_DIR_IMPORT","Directory import '%s' is not supported resolving ES modules imported from %s",Error);Le.ERR_UNSUPPORTED_RESOLVE_REQUEST=kt("ERR_UNSUPPORTED_RESOLVE_REQUEST",'Failed to resolve module specifier "%s" from "%s": Invalid relative URL or base scheme is not hierarchical.',TypeError);Le.ERR_UNKNOWN_FILE_EXTENSION=kt("ERR_UNKNOWN_FILE_EXTENSION",(e,t)=>`Unknown file extension "${e}" for ${t}`,TypeError);Le.ERR_INVALID_ARG_VALUE=kt("ERR_INVALID_ARG_VALUE",(e,t,n="is invalid")=>{let r=(0,is.inspect)(t);return r.length>128&&(r=`${r.slice(0,128)}...`),`The ${e.includes(".")?"property":"argument"} '${e}' ${n}. Received ${r}`},TypeError);function kt(e,t,n){return uF.set(e,t),FH(n,e)}function FH(e,t){return n;function n(...r){let i=Error.stackTraceLimit;X0()&&(Error.stackTraceLimit=0);let s=new e;X0()&&(Error.stackTraceLimit=i);let o=_H(t,r,s);return Object.defineProperties(s,{message:{value:o,enumerable:!1,writable:!0,configurable:!0},toString:{value(){return`${this.name} [${t}]: ${this.message}`},enumerable:!1,writable:!0,configurable:!0}}),IH(s),s.code=t,s}}function X0(){try{if(aF.default.startupSnapshot.isBuildingSnapshot())return!1}catch{}let e=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit");return e===void 0?Object.isExtensible(Error):wH.call(e,"writable")&&e.writable!==void 0?e.writable:e.set!==void 0}function TH(e){let t=vH+e.name;return Object.defineProperty(e,"name",{value:t}),e}var IH=TH(function(e){let t=X0();return t&&(oF=Error.stackTraceLimit,Error.stackTraceLimit=Number.POSITIVE_INFINITY),Error.captureStackTrace(e),t&&(Error.stackTraceLimit=oF),e});function _H(e,t,n){let r=uF.get(e);if((0,sr.default)(r!==void 0,"expected `message` to be found"),typeof r=="function")return(0,sr.default)(r.length<=t.length,`Code: ${e}; The provided arguments length (${t.length}) does not match the required ones (${r.length}).`),Reflect.apply(r,n,t);let i=/%[dfijoOs]/g,s=0;for(;i.exec(r)!==null;)s++;return(0,sr.default)(s===t.length,`Code: ${e}; The provided arguments length (${t.length}) does not match the required ones (${s}).`),t.length===0?r:(t.unshift(r),Reflect.apply(is.format,null,t))}function LH(e){if(e==null)return String(e);if(typeof e=="function"&&e.name)return`function ${e.name}`;if(typeof e=="object")return e.constructor&&e.constructor.name?`an instance of ${e.constructor.name}`:`${(0,is.inspect)(e,{depth:-1})}`;let t=(0,is.inspect)(e,{colors:!1});return t.length>28&&(t=`${t.slice(0,25)}...`),`type ${typeof e} (${t})`}var Vo={}.hasOwnProperty,{ERR_INVALID_PACKAGE_CONFIG:RH}=Le,cF=new Map;function J0(e,{base:t,specifier:n}){let r=cF.get(e);if(r)return r;let i;try{i=lF.default.readFileSync(fF.default.toNamespacedPath(e),"utf8")}catch(o){let a=o;if(a.code!=="ENOENT")throw a}let s={exists:!1,pjsonPath:e,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};if(i!==void 0){let o;try{o=JSON.parse(i)}catch(a){let u=a,c=new RH(e,(t?`"${n}" from `:"")+(0,Gl.fileURLToPath)(t||n),u.message);throw c.cause=u,c}s.exists=!0,Vo.call(o,"name")&&typeof o.name=="string"&&(s.name=o.name),Vo.call(o,"main")&&typeof o.main=="string"&&(s.main=o.main),Vo.call(o,"exports")&&(s.exports=o.exports),Vo.call(o,"imports")&&(s.imports=o.imports),Vo.call(o,"type")&&(o.type==="commonjs"||o.type==="module")&&(s.type=o.type)}return cF.set(e,s),s}function Vl(e){let t=new URL("package.json",e);for(;!t.pathname.endsWith("node_modules/package.json");){let i=J0((0,Gl.fileURLToPath)(t),{specifier:e});if(i.exists)return i;let s=t;if(t=new URL("../package.json",t),t.pathname===s.pathname)break}return{pjsonPath:(0,Gl.fileURLToPath)(t),exists:!1,type:"none"}}function Y0(e){return Vl(e).type}var{ERR_UNKNOWN_FILE_EXTENSION:NH}=Le,BH={}.hasOwnProperty,MH={__proto__:null,".cjs":"commonjs",".js":"module",".json":"json",".mjs":"module"};function PH(e){return e&&/\s*(text|application)\/javascript\s*(;\s*charset=utf-?8\s*)?/i.test(e)?"module":e==="application/json"?"json":null}var dF={__proto__:null,"data:":OH,"file:":zH,"http:":hF,"https:":hF,"node:"(){return"builtin"}};function OH(e){let{1:t}=/^([^/]+\/[^;,]+)[^,]*?(;base64)?,/.exec(e.pathname)||[null,null,null];return PH(t)}function UH(e){let t=e.pathname,n=t.length;for(;n--;){let r=t.codePointAt(n);if(r===47)return"";if(r===46)return t.codePointAt(n-1)===47?"":t.slice(n)}return""}function zH(e,t,n){let r=UH(e);if(r===".js"){let o=Y0(e);return o!=="none"?o:"commonjs"}if(r===""){let o=Y0(e);return o==="none"||o==="commonjs"?"commonjs":"module"}let i=MH[r];if(i)return i;if(n)return;let s=(0,pF.fileURLToPath)(e);throw new NH(r,s)}function hF(){}function Z0(e,t){let n=e.protocol;return BH.call(dF,n)&&dF[n](e,t,!0)||null}var{ERR_INVALID_ARG_VALUE:qH}=Le,mF=Object.freeze(["node","import"]),jH=new Set(mF);function WH(){return mF}function $H(){return jH}function gF(e){if(e!==void 0&&e!==WH()){if(!Array.isArray(e))throw new qH("conditions",e,"expected an array");return new Set(e)}return $H()}var Kl=RegExp.prototype[Symbol.replace],{ERR_NETWORK_IMPORT_DISALLOWED:Q0,ERR_INVALID_MODULE_SPECIFIER:Yl,ERR_INVALID_PACKAGE_CONFIG:wF,ERR_INVALID_PACKAGE_TARGET:HH,ERR_MODULE_NOT_FOUND:ig,ERR_PACKAGE_IMPORT_NOT_DEFINED:GH,ERR_PACKAGE_PATH_NOT_EXPORTED:VH,ERR_UNSUPPORTED_DIR_IMPORT:KH,ERR_UNSUPPORTED_RESOLVE_REQUEST:xF}=Le,AF={}.hasOwnProperty,bF=/(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))?(\\|\/|$)/i,yF=/(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i,XH=/^\.|%|\\/,Xl=/\*/g,JH=/%2f|%5c/i,CF=new Set,YH=/[/\\]{2}/;function EF(e,t,n,r,i,s,o){if(or.default.noDeprecation)return;let a=(0,ee.fileURLToPath)(r),u=YH.exec(o?e:t)!==null;or.default.emitWarning(`Use of deprecated ${u?"double slash":"leading or trailing slash matching"} resolving "${e}" for module request "${t}" ${t===n?"":`matched to "${n}" `}in the "${i?"imports":"exports"}" field module resolution of the package at ${a}${s?` imported from ${(0,ee.fileURLToPath)(s)}`:""}.`,"DeprecationWarning","DEP0166")}function DF(e,t,n,r){if(or.default.noDeprecation||Z0(e,{parentURL:n.href})!=="module")return;let s=(0,ee.fileURLToPath)(e.href),o=(0,ee.fileURLToPath)(new ee.URL(".",t)),a=(0,ee.fileURLToPath)(n);r?rg.default.resolve(o,r)!==s&&or.default.emitWarning(`Package ${o} has a "main" field set to "${r}", excluding the full filename and extension to the resolved file at "${s.slice(o.length)}", imported from ${a}. + Automatic extension resolution of the "main" field is deprecated for ES modules.`,"DeprecationWarning","DEP0151"):or.default.emitWarning(`No "main" or "exports" field defined in the package.json for ${o} resolving the main entry point "${s.slice(o.length)}", imported from ${a}. +Default "index" lookups for the main are deprecated for ES modules.`,"DeprecationWarning","DEP0151")}function kF(e){try{return(0,Xo.statSync)(e)}catch{}}function eg(e){let t=(0,Xo.statSync)(e,{throwIfNoEntry:!1}),n=t?t.isFile():void 0;return n??!1}function ZH(e,t,n){let r;if(t.main!==void 0){if(r=new ee.URL(t.main,e),eg(r))return r;let o=[`./${t.main}.js`,`./${t.main}.json`,`./${t.main}.node`,`./${t.main}/index.js`,`./${t.main}/index.json`,`./${t.main}/index.node`],a=-1;for(;++at):e+t;return FF(f,r,u)}}throw Ko(n,e,r,o,i)}if(bF.exec(e.slice(2))!==null)if(yF.exec(e.slice(2))===null){if(!a){let h=s?n.replace("*",()=>t):n+t,f=s?Kl.call(Xl,e,()=>t):e;EF(f,h,n,r,o,i,!0)}}else throw Ko(n,e,r,o,i);let c=new ee.URL(e,r),l=c.pathname,d=new ee.URL(".",r).pathname;if(!l.startsWith(d))throw Ko(n,e,r,o,i);if(t==="")return c;if(bF.exec(t)!==null){let h=s?n.replace("*",()=>t):n+t;if(yF.exec(t)===null){if(!a){let f=s?Kl.call(Xl,e,()=>t):e;EF(f,h,n,r,o,i,!1)}}else tG(h,n,r,o,i)}return s?new ee.URL(Kl.call(Xl,c.href,()=>t)):new ee.URL(t,c)}function rG(e){let t=Number(e);return`${t}`!==e?!1:t>=0&&t<4294967295}function ss(e,t,n,r,i,s,o,a,u){if(typeof t=="string")return nG(t,n,r,e,i,s,o,a,u);if(Array.isArray(t)){let c=t;if(c.length===0)return null;let l,d=-1;for(;++d=l.length&&t.endsWith(h)&&vF(o,l)===1&&l.lastIndexOf("*")===d&&(o=l,a=t.slice(d,t.length-h.length))}}if(o){let l=s[o],d=ss(e,l,a,o,r,!0,!1,t.endsWith("/"),i);if(d==null)throw tg(t,e,r);return d}throw tg(t,e,r)}function vF(e,t){let n=e.indexOf("*"),r=t.indexOf("*"),i=n===-1?e.length:n+1,s=r===-1?t.length:r+1;return i>s?-1:s>i||n===-1?1:r===-1||e.length>t.length?-1:t.length>e.length?1:0}function oG(e,t,n){if(e==="#"||e.startsWith("#/")||e.endsWith("/")){let s="is not a valid internal imports specifier name";throw new Yl(e,s,(0,ee.fileURLToPath)(t))}let r,i=Vl(t);if(i.exists){r=(0,ee.pathToFileURL)(i.pjsonPath);let s=i.imports;if(s)if(AF.call(s,e)&&!e.includes("*")){let o=ss(r,s[e],"",e,t,!1,!0,!1,n);if(o!=null)return o}else{let o="",a="",u=Object.getOwnPropertyNames(s),c=-1;for(;++c=l.length&&e.endsWith(h)&&vF(o,l)===1&&l.lastIndexOf("*")===d&&(o=l,a=e.slice(d,e.length-h.length))}}if(o){let l=s[o],d=ss(r,l,a,o,t,!0,!0,!1,n);if(d!=null)return d}}}throw eG(e,r,t)}function aG(e,t){let n=e.indexOf("/"),r=!0,i=!1;e[0]==="@"&&(i=!0,n===-1||e.length===0?r=!1:n=e.indexOf("/",n+1));let s=n===-1?e:e.slice(0,n);if(XH.exec(s)!==null&&(r=!1),!r)throw new Yl(e,"is not a valid package name",(0,ee.fileURLToPath)(t));let o="."+(n===-1?"":e.slice(n));return{packageName:s,packageSubpath:o,isScoped:i}}function FF(e,t,n){if(Jl.builtinModules.includes(e))return new ee.URL("node:"+e);let{packageName:r,packageSubpath:i,isScoped:s}=aG(e,t),o=Vl(t);if(o.exists){let l=(0,ee.pathToFileURL)(o.pjsonPath);if(o.name===r&&o.exports!==void 0&&o.exports!==null)return SF(l,i,o,t,n)}let a=new ee.URL("./node_modules/"+r+"/package.json",t),u=(0,ee.fileURLToPath)(a),c;do{let l=kF(u.slice(0,-13));if(!l||!l.isDirectory()){c=u,a=new ee.URL((s?"../../../../node_modules/":"../../../node_modules/")+r+"/package.json",a),u=(0,ee.fileURLToPath)(a);continue}let d=J0(u,{base:t,specifier:e});return d.exports!==void 0&&d.exports!==null?SF(a,i,d,t,n):i==="."?ZH(a,d,t):new ee.URL(i,a)}while(u.length!==c.length);throw new ig(r,(0,ee.fileURLToPath)(t),!1)}function uG(e){return e[0]==="."&&(e.length===1||e[1]==="/"||e[1]==="."&&(e.length===2||e[2]==="/"))}function sg(e){return e===""?!1:e[0]==="/"?!0:uG(e)}function cG(e,t,n,r){let i=t.protocol,o=i==="data:"||i==="http:"||i==="https:",a;if(sg(e))try{a=new ee.URL(e,t)}catch(u){let c=new xF(e,t);throw c.cause=u,c}else if(i==="file:"&&e[0]==="#")a=oG(e,t,n);else try{a=new ee.URL(e)}catch(u){if(o&&!Jl.builtinModules.includes(e)){let c=new xF(e,t);throw c.cause=u,c}a=FF(e,t,n)}return(0,ng.default)(a!==void 0,"expected to be defined"),a.protocol!=="file:"?a:QH(a,t,r)}function lG(e,t,n){if(n){let r=n.protocol;if(r==="http:"||r==="https:"){if(sg(e)){let i=t?.protocol;if(i&&i!=="https:"&&i!=="http:")throw new Q0(e,n,"remote imports cannot import from a local location.");return{url:t?.href||""}}throw Jl.builtinModules.includes(e)?new Q0(e,n,"remote imports cannot import from a local location."):new Q0(e,n,"only relative and absolute specifiers are supported.")}}}function fG(e){return!!(e&&typeof e=="object"&&"href"in e&&typeof e.href=="string"&&"protocol"in e&&typeof e.protocol=="string"&&e.href&&e.protocol)}function dG(e){if(e!==void 0&&typeof e!="string"&&!fG(e))throw new Le.ERR_INVALID_ARG_TYPE("parentURL",["string","URL"],e)}function TF(e,t={}){let{parentURL:n}=t;(0,ng.default)(n!==void 0,"expected `parentURL` to be defined"),dG(n);let r;if(n)try{r=new ee.URL(n)}catch{}let i,s;try{if(i=sg(e)?new ee.URL(e,r):new ee.URL(e),s=i.protocol,s==="data:")return{url:i.href,format:null}}catch{}let o=lG(e,i,r);if(o)return o;if(s===void 0&&i&&(s=i.protocol),s==="node:")return{url:e};if(i&&i.protocol==="node:")return{url:e};let a=gF(t.conditions),u=cG(e,new ee.URL(n),a,!1);return{url:u.href,format:Z0(u,{parentURL:n})}}function IF(e,t){if(!t)throw new Error("Please pass `parent`: `import-meta-resolve` cannot ponyfill that");try{return TF(e,{parentURL:t}).url}catch(n){let r=n;if((r.code==="ERR_UNSUPPORTED_DIR_IMPORT"||r.code==="ERR_MODULE_NOT_FOUND")&&typeof r.url=="string")return r.url;throw n}}var hG=/^[a-z]:\\/i;function og(e,t){let n=pG(e),r;for(let i of t)try{let s=typeof i=="string"?i.startsWith("file://")?new URL(i):mG(i):i,o=new URL(IF(n.toString(),s.toString()));try{if((0,_F.statSync)(o).isFile())return o}catch{let a=new Error(`Cannot find module ${e}`);a.code="ERR_MODULE_NOT_FOUND",r=a}}catch(s){r=s}throw r}function pG(e){return typeof e=="string"&&hG.test(e)?pe(e):e}function mG(e){let t=(0,LF.resolve)(e);return Je(t)}var y3=B(ug(),1);var ea=require("node:zlib");var Zl=class extends Error{request;constructor(t){super(`Unhandled Request: ${t.type}`),this.request=t}},Ql=class extends Error{request;depth;constructor(t,n){super(`Service Request Depth ${n} Exceeded: ${t.type}`),this.request=t,this.depth=n}},ef=class extends Error{handlerName;handlerDescription;cause;constructor(t,n,r){super(`Unhandled Error in Handler: ${t}`),this.handlerName=t,this.handlerDescription=n,this.cause=r}};var cg=class{type;params;__r;constructor(t,n){this.type=t,this.params=n}},Jo=class extends cg{constructor(t,n){super(t,n)}};function st(e,t){return{value:e}}function Zr(e,t){return{error:t}}function en(e){return"value"in e&&e.error===void 0}var xG=10,Yo=class{handlers=[];constructor(t=[]){t.forEach(n=>this.addHandler(n))}addHandler(t,n="anonymous",r){let i=typeof t=="function"?{fn:t,name:n,description:r}:t,{fn:s,name:o,description:a}=i;return this.handlers.push({fn:s,name:o,description:a}),this}dispatch(t){let n=0,r={dispatch:s},i=this.reduceHandlers(this.handlers,t,r,this.defaultHandler);function s(o){if(++n,n>=xG)return Zr(o,new Ql(o,n));let a=i(o);return--n,a}return s(t)}defaultHandler(t){return Zr(t,new Zl(t))}reduceHandlers(t,n,r,i){return t.map(a=>({...a,fn:a.fn(r)})).reduce((a,u)=>{let c=u.fn(a);return l=>{try{return c(l)}catch(d){return Zr(n,new ef(u.name,u.description,d))}}},i)}};function MF(e,t,n,r){return yG(e.is,t,n??e.type,r)}function bG(e,t){return n=>r=>i=>e(i)?t(i,r,n):r(i)}function yG(e,t,n,r){return{fn:bG(e,t),name:n,description:r}}function vn(e){class t extends Jo{static type=e;constructor(r){super(e,r)}static is(r){return r instanceof t&&r.type===e}static create(r){return new t(r)}static createRequestHandler(r,i,s){return MF(t,r,i,s)}static __request}return t}var Fn=require("node:fs"),ni=require("node:url"),gg=require("node:util"),sf=B(require("node:stream"),1);var dg=class Qo{_;gz;constructor(t,n,r,i){this.url=t,this.encoding=n,this.baseFilename=r,this.gz=i??(r?.endsWith(".gz")||void 0)??(t.pathname.endsWith(".gz")||void 0)}static isCFileReference(t){return t instanceof Qo}static from(t,n,r,i){return Qo.isCFileReference(t)?t:t instanceof URL?new Qo(t,n,r,i):new Qo(t.url,t.encoding,t.baseFilename,t.gz)}toJson(){return{url:this.url.href,encoding:this.encoding,baseFilename:this.baseFilename,gz:this.gz}}};function Zo(e,t,n,r){let i=typeof e=="string"?pe(e):e;return i instanceof URL?new dg(i,t,n,r):dg.from(i)}function PF(e){return dg.isCFileReference(e)||!(e instanceof URL)&&typeof e!="string"}function CG(e,t,n){let r=typeof e=="string"?pe(e):e;return r instanceof URL?{url:r,encoding:t,signal:n}:{url:r.url,encoding:t??r.encoding,signal:n}}var EG=class extends Error{constructor(e,t){super(`Method ${e} is not supported.`,t),this.method=e}},DG=class extends Error{constructor(e,t){super(e,t),this.message=e}};function hg(e,t){if(!e)throw new DG(t??"Assertion failed")}function of(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function ti(e){if(e instanceof Buffer)return e;let t=Buffer.from(e.buffer);return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?t:t.subarray(e.byteOffset,e.byteOffset+e.byteLength)}function SG(e){return new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}function wG(e){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let n=0;nGF.decode(AG(e))}}}var _G=class extends Error{constructor(e){super(`Unsupported encoding: ${e}`)}};function as(e){if(typeof e=="string")return!1;let t=of(e);return t[0]===31&&t[1]===139}function LG(e){if(!as(e))return e;let t=ti(e);return(0,ea.gunzipSync)(t)}var us=class Qr{_text;baseFilename;_gz;constructor(t,n,r,i,s){this.url=t,this.content=n,this.encoding=r,this.baseFilename=i??(t.protocol!=="data:"&&t.pathname.split("/").pop()||void 0),this._gz=s}get gz(){return this._gz!==void 0?this._gz:this.url.pathname.endsWith(".gz")?!0:typeof this.content=="string"?!1:as(this.content)}getText(t){if(this._text!==void 0)return this._text;let n=typeof this.content=="string"?this.content:FG(this.content,t??this.encoding);return this._text=n,n}getBytes(){let t=typeof this.content=="string"?KF(this.content,this.encoding):this.content;return t instanceof Uint8Array?t:new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}toJson(){return{url:this.url.href,content:this.getText(),encoding:this.encoding,baseFilename:this.baseFilename,gz:this.gz}}static isCFileResource(t){return t instanceof Qr}static from(t,n,r,i,s){if(Qr.isCFileResource(t)){if(n){let{url:a,encoding:u,baseFilename:c,gz:l}=t;return new Qr(a,n,u,c,l)}return t}if(t instanceof URL)return hg(n!==void 0),new Qr(t,n,r,i,s);if(n!==void 0){let a=t;return new Qr(a.url,n,a.encoding,a.baseFilename,a.gz)}hg("content"in t&&t.content!==void 0);let o=t;return new Qr(o.url,o.content,o.encoding,o.baseFilename,o.gz)}};function RG(e,t){return us.from(t?{...e,encoding:t}:e)}function bg(e,t){if(e===t)return 0;if(e.eTag||t.eTag)return e.eTag===t.eTag?0:(e.eTag||"")<(t.eTag||"")?-1:1;let n=e.size-t.size||e.mtimeMs-t.mtimeMs;return n<0?-1:n>0?1:0}function pg(e){return e instanceof URL?e:e.url}function NG(e){return e&&(typeof e=="string"?{encoding:e}:e)}function BG(e){return e instanceof Error?e:typeof e=="object"&&e&&"message"in e&&typeof e.message=="string"?new Error(e.message,{cause:e}):new Error(e&&e.toString())}var ar=function(e){return e[e.Unknown=0]="Unknown",e[e.File=1]="File",e[e.Directory=2]="Directory",e[e.SymbolicLink=64]="SymbolicLink",e}({});function MG(e,t,n){if(typeof e=="string")return OG(e,t,n);let r=JF(n||[]),i=ti(e);return`data:${t}${r};base64,${i.toString("base64url")}`}function PG(e,t,n){return new URL(MG(e,t,n))}function OG(e,t,n){t=t||"text/plain",n=n||[];let r=encodeURIComponent(e),i=Buffer.from(e).toString("base64url"),s=i.length`;${t}=${encodeURIComponent(n)}`).join("")}var UG=/^data:(?[^;,]*)(?(?:;[^=]+=[^;,]*)*)(?;base64)?$/;function zG(e){e=e.toString();let[t,n]=e.split(",",2);if(!t||n===void 0)throw new Error("Not a data url");let r=t.match(UG);if(!r||!r.groups)throw new Error("Not a data url");let i=r.groups.mediaType||"",s=(r.groups.attributes||"").split(";").filter(l=>!!l).map(l=>l.split("=",2)).map(([l,d])=>[l,decodeURIComponent(d)]),o=new Map(s),a=o.get("charset"),c=!!r.groups.base64?Buffer.from(n,"base64url"):Buffer.from(decodeURIComponent(n));return{mediaType:i,data:c,encoding:a,attributes:o}}function qG(e){if(e.endsWith(".trie"))return{mimeType:"application/vnd.cspell.dictionary+trie",encoding:"utf-8"};if(e.endsWith(".trie.gz"))return{mimeType:"application/vnd.cspell.dictionary+trie.gz"};if(e.endsWith(".txt"))return{mimeType:"text/plain",encoding:"utf-8"};if(e.endsWith(".txt.gz"))return{mimeType:"application/gzip"};if(e.endsWith(".gz"))return{mimeType:"application/gzip"};if(e.endsWith(".json"))return{mimeType:"application/json",encoding:"utf-8"};if(e.endsWith(".yaml")||e.endsWith(".yml"))return{mimeType:"application/x-yaml",encoding:"utf-8"}}var YF=global.fetch,rf=class ei extends Error{constructor(t,n,r,i){super(t),this.code=n,this.status=r,this.url=i,this.name="FetchUrlError"}static create(t,n,r){return n===404?new ei(r||"URL not found.","ENOENT",n,t):n>=400&&n<500?new ei(r||"Permission denied.","EACCES",n,t):new ei(r||"Fatal Error","ECONNREFUSED",n,t)}static fromError(t,n){let r=$G(n);return r?new ei(r.message,r.code,void 0,t):mg(n)?new ei(n.message,n.code,void 0,t):new ei(n.message,void 0,void 0,t)}};function mg(e){return!!(e instanceof Error&&"code"in e&&typeof e.code=="string"||e&&typeof e=="object"&&"code"in e&&typeof e.code=="string")}function jG(e){return e instanceof Error}function WG(e){return jG(e)&&(!("cause"in e)||mg(e.cause)||mg(e))}function $G(e){return WG(e)?e.cause:void 0}function ZF(e,t){return e instanceof rf?e:rf.fromError(t,HG(e))}function HG(e){return e instanceof Error?e:new Error("Unknown Error",{cause:e})}async function GG(e){let t=KG(e);try{let n=await YF(t,{method:"HEAD"});if(!n.ok)throw rf.create(t,n.status);return n.headers}catch(n){throw ZF(n,t)}}async function VG(e,t){try{let n=t?new Request(e,{signal:t}):e,r=await YF(n);if(!r.ok)throw rf.create(e,r.status);return Buffer.from(await r.arrayBuffer())}catch(n){throw ZF(n,e)}}function KG(e){return typeof e=="string"?new URL(e):e}async function XG(e){let t=await GG(e),n=t.get("etag")||void 0,r=Number.parseInt(t.get("content-length")||"0",10);return{size:n?-1:r,mtimeMs:0,eTag:n}}var JG="fs:readFile",af=vn(JG),YG="fs:readFileSync",uf=vn(YG),ZG="fs:stat",yg=vn(ZG),QG="fs:statSync",QF=vn(QG),eV="fs:writeFile",ta=vn(eV),tV="zlib:inflate",nV=vn(tV),rV="fs:readDir",e3=vn(rV),iV=/\.gz($|[?#])/;function qF(e){return iV.test(typeof e=="string"?e:e.pathname)}var sV=(0,gg.promisify)(ea.gzip),oV=af.createRequestHandler(({params:e})=>{let t=An(e.url);return st(Fn.promises.readFile((0,ni.fileURLToPath)(e.url)).then(n=>us.from(e.url,n,e.encoding,t)))},void 0,"Node: Read Binary File."),aV=uf.createRequestHandler(({params:e})=>st(us.from({...e,content:(0,Fn.readFileSync)((0,ni.fileURLToPath)(e.url))})),void 0,"Node: Sync Read Binary File."),uV=e3.createRequestHandler(({params:e})=>st(Fn.promises.readdir((0,ni.fileURLToPath)(e.url),{withFileTypes:!0}).then(t=>AV(e.url,t))),void 0,"Node: Read Directory."),cV=nV.createRequestHandler(({params:e})=>st((0,ea.gunzipSync)(ti(e.data))),void 0,"Node: gz deflate."),t3={"http:":!0,"https:":!0},lV=af.createRequestHandler((e,t)=>{let{url:n,signal:r,encoding:i}=e.params;return n.protocol in t3?st(VG(n,r).then(s=>us.from({url:n,encoding:i,content:s}))):t(e)},void 0,"Node: Read Http(s) file."),fV=uf.createRequestHandler((e,t)=>{let{url:n,encoding:r}=e.params;if(n.protocol!=="data:")return t(e);let i=zG(n);return st(us.from({url:n,content:i.data,encoding:r,baseFilename:i.attributes.get("filename")}))},void 0,"Node: Read data: urls."),dV=af.createRequestHandler((e,t,n)=>{let{url:r}=e.params;if(r.protocol!=="data:")return t(e);let i=n.dispatch(uf.create(e.params));return en(i)?st(Promise.resolve(i.value)):i},void 0,"Node: Read data: urls."),hV=yg.createRequestHandler(({params:e})=>st(mV(Fn.promises.stat((0,ni.fileURLToPath)(e.url)))),void 0,"Node: fs.stat.");function pV(e){return{size:e.size,mtimeMs:e.mtimeMs,fileType:r3(e)}}function mV(e){return e.then(pV)}var gV=QF.createRequestHandler(e=>{let{params:t}=e;try{return st((0,Fn.statSync)((0,ni.fileURLToPath)(t.url)))}catch(n){return Zr(e,BG(n))}},void 0,"Node: fs.stat."),xV=yg.createRequestHandler((e,t)=>{let{url:n}=e.params;return n.protocol in t3?st(XG(n)):t(e)},void 0,"Node: http get stat"),bV=ta.createRequestHandler(({params:e})=>st(yV(e,e.content)),void 0,"Node: fs.writeFile");async function yV(e,t){let n=as(t),{url:r,encoding:i,baseFilename:s}=e,o={url:r,encoding:i,baseFilename:s,gz:n};return await Fn.promises.writeFile((0,ni.fileURLToPath)(e.url),n3(e,t)),o}var CV=ta.createRequestHandler((e,t)=>{let n=e.params,{url:r}=e.params;if(r.protocol!=="data:")return t(e);let i=as(n.content),s=n.baseFilename||"file.txt"+(i?".gz":""),o=qG(s),a=o?.mimeType||"text/plain",u=PG(n.content,a,[["filename",s]]);return st(Promise.resolve({url:u,baseFilename:s,gz:i,encoding:o?.encoding}))},void 0,"Node: fs.writeFile DataUrl"),EV=ta.createRequestHandler((e,t,n)=>{let r=e.params;return!r.gz&&!qF(r.url)&&(!r.baseFilename||!qF(r.baseFilename))||typeof r.content!="string"&&as(r.content)?t(e):st(DV(n,r,r.content))},void 0,"Node: fs.writeFile compressed");async function DV(e,t,n){let r=await sV(n3(t,n)),i=e.dispatch(ta.create({...t,content:r}));return hg(en(i)),i.value}function SV(e){[oV,aV,bV,CV,EV,lV,dV,fV,uV,cV,gV,hV,xV].forEach(n=>e.addHandler(n))}function n3(e,t){return typeof t=="string"?[void 0,"utf8","utf-8"].includes(e.encoding)?t:ti(KF(t,e.encoding)):ti(t)}function wV(e){return t=>kV(e,t)}function AV(e,t){return t.map(wV(e))}function kV(e,t){return{name:t.name,dir:e,fileType:r3(t)}}function r3(e){let t=e.isFile()?ar.File:e.isDirectory()?ar.Directory:ar.Unknown;return e.isSymbolicLink()?t|ar.SymbolicLink:t}var lg,vV=class{constructor(e=new Yo){this.serviceBus=e,SV(e)}readFile(e,t){let n=NG(t),r=CG(e,n?.encoding,n?.signal),i=this.serviceBus.dispatch(af.create(r));if(!en(i))throw os(i.error,"readFile");return i.value}readDirectory(e){let t=Zo(e),n=this.serviceBus.dispatch(e3.create(t));if(!en(n))throw os(n.error,"readDirectory");return n.value}readFileSync(e,t){let n=Zo(e,t),r=this.serviceBus.dispatch(uf.create(n));if(!en(r))throw os(r.error,"readFileSync");return r.value}writeFile(e,t){let n=Zo(e),r=us.from(n,t),i=this.serviceBus.dispatch(ta.create(r));if(!en(i))throw os(i.error,"writeFile");return i.value}getStat(e){let t=Zo(e),n=this.serviceBus.dispatch(yg.create(t));if(!en(n))throw os(n.error,"getStat");return n.value}getStatSync(e){let t=Zo(e),n=this.serviceBus.dispatch(QF.create(t));if(!en(n))throw os(n.error,"getStatSync");return n.value}compareStats(e,t){return bg(e,t)}toURL(e,t){return PF(e)?e.url:Ut(e,t)}toFileURL(e,t){return PF(e)?e.url:pe(e,t)}urlBasename(e){return An(this.toURL(e))}urlDirname(e){return V0(this.toURL(e))}};function os(e,t){return e||new EG(t)}function FV(){if(lg)return lg;let e=new vV;return lg=e,e}var TV=!1;async function IV(e,t,n){let{type:r="file",stopAt:i,fs:s}=n,o=new URL(".",t),a=new URL("/",o),u=_V(s,e,r),c=new Set((Array.isArray(i)?i:[i||a]).map(d=>new URL(".",d).href)),l="";for(;o.href!==l;){let d=await u(o);if(d!==void 0)return d;if(l=o.href,o.href===a.href||c.has(o.href))break;o=new URL("..",o)}}function _V(e,t,n){if(typeof t=="function")return t;let r=n==="file"||n==="!file"?"isFile":"isDirectory",i=!n.startsWith("!");function s(o,a){let u=new URL(a,o);return e.stat(u).then(c=>(c.isUnknown()||c[r]()===i)&&u||void 0).catch(()=>{})}return Array.isArray(t)?async o=>{let a=t.map(u=>s(o,u));for(let u of a){let c=await u;if(c)return c}}:o=>s(o,t)}var jF=class{#e;readFile;writeFile;stat;readDirectory;getCapabilities;constructor(e){this.#e=e,this.readFile=this.#e.readFile.bind(this.#e),this.writeFile=this.#e.writeFile.bind(this.#e),this.stat=this.#e.stat.bind(this.#e),this.readDirectory=this.#e.readDirectory.bind(this.#e),this.getCapabilities=this.#e.getCapabilities.bind(this.#e)}get providerInfo(){return this.#e.providerInfo}get hasProvider(){return this.#e.hasProvider}findUp(e,t,n={}){let r={...n,fs:this.#e};return IV(e,t,r)}},Ye=function(e){return e[e.None=0]="None",e[e.Stat=1]="Stat",e[e.Read=2]="Read",e[e.Write=4]="Write",e[e.ReadWrite=6]="ReadWrite",e[e.ReadDir=8]="ReadDir",e[e.WriteDir=16]="WriteDir",e[e.ReadWriteDir=24]="ReadWriteDir",e}({});function LV(e){let t=Ye.Stat|Ye.ReadWrite|Ye.ReadDir,n=t&~Ye.Write&~Ye.ReadDir,r={"file:":t,"http:":n,"https:":n},i="CSpellIO",s=new Set(["file:","http:","https:"]),o={providerInfo:{name:i},stat:a=>e.getStat(a),readFile:(a,u)=>e.readFile(a,u),readDirectory:a=>e.readDirectory(a),writeFile:a=>e.writeFile(a.url,a.content),dispose:()=>{},capabilities:t,getCapabilities(a){return o3(r[a.protocol]||Ye.None)}};return{name:i,getFileSystem:(a,u)=>s.has(a.protocol)?o:void 0}}function tf(e){return e instanceof i3,e}var i3=class extends Error{constructor(e,t){super(e,t)}},s3=class extends i3{url;constructor(e,t,n){super(`Unsupported request: ${e}`),this.request=e,this.parameters=n,this.url=t?.toString()}},RV=class{constructor(e){this.flags=e}get readFile(){return!!(this.flags&Ye.Read)}get writeFile(){return!!(this.flags&Ye.Write)}get readDirectory(){return!!(this.flags&Ye.ReadDir)}get writeDirectory(){return!!(this.flags&Ye.WriteDir)}get stat(){return!!(this.flags&Ye.Stat)}};function o3(e){return new RV(e)}var WF=class a3{hasProvider;capabilities;providerInfo;_capabilities;constructor(t,n){this.fs=t,this.eventLogger=n,this.hasProvider=!!t,this.capabilities=t?.capabilities||Ye.None,this._capabilities=o3(this.capabilities),this.providerInfo=t?.providerInfo||{name:"unknown"}}logEvent(t,n,r,i,s){this.eventLogger({method:t,event:n,url:i,traceID:r,ts:performance.now(),message:s})}getCapabilities(t){return this.fs?.getCapabilities?this.fs.getCapabilities(t):this._capabilities}async stat(t){let n=performance.now(),r=pg(t);this.logEvent("stat","start",n,r);try{return nf(this.fs,this.capabilities,Ye.Stat,"stat",r),new NV(await this.fs.stat(t))}catch(i){throw this.logEvent("stat","error",n,r,i instanceof Error?i.message:""),tf(i)}finally{this.logEvent("stat","end",n,r)}}async readFile(t,n){let r=performance.now(),i=pg(t);this.logEvent("readFile","start",r,i);try{nf(this.fs,this.capabilities,Ye.Read,"readFile",i);let s=PV(n);return RG(await this.fs.readFile(t,s),s?.encoding)}catch(s){throw this.logEvent("readFile","error",r,i,s instanceof Error?s.message:""),tf(s)}finally{this.logEvent("readFile","end",r,i)}}async readDirectory(t){let n=performance.now();this.logEvent("readDir","start",n,t);try{return nf(this.fs,this.capabilities,Ye.ReadDir,"readDirectory",t),(await this.fs.readDirectory(t)).map(r=>new c3(r))}catch(r){throw this.logEvent("readDir","error",n,t,r instanceof Error?r.message:""),tf(r)}finally{this.logEvent("readDir","end",n,t)}}async writeFile(t){let n=performance.now(),r=t.url;this.logEvent("writeFile","start",n,r);try{return nf(this.fs,this.capabilities,Ye.Write,"writeFile",t.url),await this.fs.writeFile(t)}catch(i){throw this.logEvent("writeFile","error",n,r,i instanceof Error?i.message:""),tf(i)}finally{this.logEvent("writeFile","end",n,r)}}static disposeOf(t){t instanceof a3&&t.fs?.dispose()}};function nf(e,t,n,r,i){if(!(t&n))throw new s3(r,i)}var u3=class{constructor(e){this.fileType=e}isFile(){return this.fileType===ar.File}isDirectory(){return this.fileType===ar.Directory}isUnknown(){return!this.fileType}isSymbolicLink(){return!!(this.fileType&ar.SymbolicLink)}},NV=class extends u3{constructor(e){super(e.fileType||ar.Unknown),this.stat=e}get size(){return this.stat.size}get mtimeMs(){return this.stat.mtimeMs}get eTag(){return this.stat.eTag}},c3=class extends u3{_url;constructor(e){super(e.fileType),this.entry=e}get name(){return this.entry.name}get dir(){return this.entry.dir}get url(){return this._url?this._url:(this._url=new URL(this.entry.name,this.entry.dir),this._url)}toJSON(){return{name:this.name,dir:this.dir,fileType:this.fileType}}};function BV(e){if(!e)return"";let t=e.href,n=t.split("/"),r=n.indexOf("node_modules");if(r>0){let i=n.slice(Math.max(n.length-3,r+1));return n.slice(0,r+1).join("/")+"/\u2026/"+i.join("/")}return t}function MV(e,t,n=" "){return e.padEnd(t,n)}function PV(e){return typeof e=="string"?{encoding:e}:e}var OV=class{providers=new Set;cachedFs=new Map;revCacheFs=new Map;fsc;fs;loggingEnabled=TV;constructor(){this.fsc=UV(e=>this._getFS(e)),this.fs=new jF(this.fsc)}enableLogging(e){this.loggingEnabled=e??!0}log=console.log;logEvent=e=>{if(this.loggingEnabled){let t=e.traceID.toFixed(13).replaceAll(/\d{4}(?=\d)/g,"$&."),n=e.message?` + ${e.message}`:"",r=MV(`${e.method}-${e.event}`,16);this.log(`${r} ID:${t} ts:${e.ts.toFixed(13)} ${BV(e.url)}${n}`)}};registerFileSystemProvider(...e){return e.forEach(t=>this.providers.add(t)),this.reset(),{dispose:()=>{for(let t of e){for(let n of this.revCacheFs.get(t)||[])this.cachedFs.delete(n);this.providers.delete(t)}this.reset()}}}getFS(e){return new jF(this._getFS(e))}_getFS(e){let t=`${e.protocol}${e.hostname}`,n=this.cachedFs.get(t);if(n)return n;let r=(o,a)=>u=>{let c=!1,l=o.getFileSystem(u,d=>(c=c||u===d,a(d)));if(l){let d=this.revCacheFs.get(o)||new Set;return d.add(t),this.revCacheFs.set(o,d),l}if(!c)return a(u)},i=o=>{};for(let o of this.providers)i=r(o,i);let s=new WF(i(e),this.logEvent);return this.cachedFs.set(t,s),s}reset(){this.disposeOfCachedFs()}disposeOfCachedFs(){for(let[e,t]of[...this.cachedFs].reverse()){try{WF.disposeOf(t)}catch{}this.cachedFs.delete(e)}this.cachedFs.clear(),this.revCacheFs.clear()}dispose(){this.disposeOfCachedFs();let e=[...this.providers].reverse();for(let t of e)try{t.dispose?.()}catch{}}};function UV(e){function t(n,r){let i=pg(n),s=e(i);if(!s.hasProvider)throw new s3(r,i,n instanceof URL?void 0:{url:n.url.toString(),encoding:n.encoding});return s}return{providerInfo:{name:"default"},hasProvider:!0,stat:async n=>t(n,"stat").stat(n),readFile:async(n,r)=>t(n,"readFile").readFile(n,r),writeFile:async n=>t(n,"writeFile").writeFile(n),readDirectory:async n=>t(n,"readDirectory").readDirectory(n).then(r=>r.map(i=>new c3(i))),getCapabilities:n=>t(n,"getCapabilities").getCapabilities(n)}}function zV(e){let t=e||FV(),n=new OV;return n.registerFileSystemProvider(LV(t)),n}var fg;function l3(){return fg||(fg=zV()),fg}var v1e=(0,gg.promisify)(sf.pipeline);function na(){return l3()}function cf(){return na().fs}var d3=require("node:url"),jV={},f3=jV.url;function qV(){try{return __dirname}catch{return f3?(0,d3.fileURLToPath)(new URL("./",f3)):process.cwd()}}var ur=qV();function h3(e,t){let n="${",r=n.length,i="}",s=[],o=0,a=e.indexOf(n,o);if(a<0)return e;for(;a>=0;){s.push(e.substring(o,a)),o=a;let u=e.indexOf(i,a);if(u<0)break;let c=e.substring(a+r,u);c in t?s.push(t[c]||""):s.push(e.substring(a,u+1)),o=u+1,a=e.indexOf(n,o)}return s.push(e.substring(o)),s.join("")}function ra(e){let t={};for(let[n,r]of Object.entries(e))t[`env:${n}`]=r||"";return t}function p3(){return Je(ur)}function ia(){return Je("./")}function vt(e){return pe(e,ia())}function m3(e){return Ee(e)}var WV=/^([a-zA-Z]):[\\]/;function g3(e){return e.replace(WV,t=>t.toUpperCase())}var lf=/^node_modules[/\\]/,$V=!1,sa=class{fs;templateReplacements;constructor(t,n){this.fs=t,this.templateReplacements=n}async resolveFile(t,n){if(t instanceof URL)return{filename:Ee(t),relativeTo:n.toString(),found:await this.doesExist(t),method:"url"};let r=await this._resolveFile(t,n),i=t.match(lf);return i&&(r.warning??=`Import of '${t}' should not start with '${i[0]}' in '${Ee(n)}'. Use '${t.replace(lf,"")}' or a relative path instead.`),r}async _resolveFile(t,n){t=C3(t,this.templateReplacements);let r=[{filename:t,fn:this.tryUrlRel},{filename:t,fn:this.tryCreateRequire},{filename:t,fn:this.tryNodeRequireResolve},{filename:t,fn:this.tryImportResolve},{filename:t,fn:this.tryResolveExists},{filename:t,fn:this.tryNodeResolveDefaultPaths},{filename:t,fn:this.tryResolveFrom},{filename:t,fn:this.tryResolveGlobal},{filename:t,fn:this.tryLegacyResolve}];for(let s of r){let o=await s.fn(s.filename,n);if(o?.found)return o}return await this.tryUrl(t,n)||{filename:ff(t)?HV(t,n):t.toString(),relativeTo:n.toString(),found:!1,method:"not found"}}async doesExist(t){try{let n=await this.fs.stat(t);return n.isFile()||n.isUnknown()}catch{return!1}}tryUrlRel=async(t,n)=>{if(Fe(t)){let r=Ut(t);return{filename:Ee(r),relativeTo:void 0,found:await this.doesExist(r),method:"tryUrl"}}if(ff(t)&&Fe(n)&&!Hl(n)){let r=Ut(n),i=pe(t,r);return{filename:Ee(i),relativeTo:Ee(r),found:await this.doesExist(i),method:"tryUrl"}}};tryUrl=async(t,n)=>{if(Fe(n)&&!Hl(n)){let r=Ut(n),i=pe(t,r);return{filename:Ee(i),relativeTo:Ee(r),found:await this.doesExist(i),method:"tryUrl"}}};tryCreateRequire=(t,n)=>{if(t instanceof URL)return;let r=!Fe(n)||kn(n)?n:Je("./");try{return{filename:(0,b3.createRequire)(r).resolve(t),relativeTo:r.toString(),found:!0,method:"tryCreateRequire"}}catch(i){$V&&console.error("Error in tryCreateRequire: %o",{filename:t,rel:r,relativeTo:n,error:`${i}`});return}};tryNodeResolveDefaultPaths=t=>{try{return{filename:require.resolve(t),relativeTo:void 0,found:!0,method:"tryNodeResolveDefaultPaths"}}catch{return}};tryNodeRequireResolve=(t,n)=>{if(Fe(n)&&!kn(n))return;let r=m3(t),i=Cg(n),s=Eg.homedir();function o(u){let c=[u];if(ff(r))return c;for(;u&&ot.dirname(u)!==u&&u!==s;u=ot.dirname(u))c.push(u);return c}let a=o(ot.resolve(i));try{return{filename:require.resolve(r,{paths:a}),relativeTo:i,found:!0,method:"tryNodeRequireResolve"}}catch{return}};tryImportResolve=(t,n)=>{try{let r=ff(t)?[n]:[n,ur];return{filename:(0,df.fileURLToPath)(og(t,r)),relativeTo:n.toString(),found:!0,method:"tryImportResolve"}}catch{return}};tryResolveGlobal=t=>{let n=G0(t);return n&&{filename:n,relativeTo:void 0,found:!0,method:"tryResolveGlobal"}||void 0};tryResolveExists=async(t,n)=>{if(t instanceof URL||Fe(t)||Fe(n)&&!kn(n))return;n=Cg(n);let r=[{filename:t},{filename:ot.resolve(n,t),relativeTo:n}];for(let{filename:i,relativeTo:s}of r){let o=ot.isAbsolute(i)&&await this.doesExist(vt(i));if(o)return{filename:i,relativeTo:s?.toString(),found:o,method:"tryResolveExists"}}return t=ot.resolve(t),{filename:t,relativeTo:ot.resolve("."),found:await this.doesExist(vt(t)),method:"tryResolveExists"}};tryResolveFrom=(t,n)=>{if(!(n instanceof URL))try{return{filename:(0,y3.default)(Cg(n),t),relativeTo:n,found:!0,method:"tryResolveFrom"}}catch{return}};tryLegacyResolve=(t,n)=>{if(t instanceof URL||Fe(t)||Fe(n)&&!kn(n))return;let r=Fe(n)?(0,df.fileURLToPath)(new URL("./",n)):n.toString();if(t.match(lf)){let s=t.replace(lf,""),o=this.tryImportResolve(s,r)||this.tryResolveFrom(s,r);if(o?.found)return o.method="tryLegacyResolve",o}}};function C3(e,t){let n={cwd:process.cwd(),pathSeparator:ot.sep,userHome:Eg.homedir()};return e=e.replace(/^~(?=[/\\])/,n.userHome),e=h3(e,{...n,...t}),e}function E3(e,t,n=ra(process.env)){if(e instanceof URL)return e;e=C3(e,n);let r=vt(t);return pe(e,r)}function ff(e){return e instanceof URL||Fe(e)?!1:!!(e.startsWith("./")||e.startsWith("../")||e.startsWith("."+ot.sep)||e.startsWith(".."+ot.sep))}function HV(e,t){return t instanceof URL||Fe(t)?Ee(new URL(e,t)):ot.resolve(t,e)}function Cg(e){return e instanceof URL||Fe(e)?(0,df.fileURLToPath)(new URL("./",e)):e}var x3=new WeakMap;function GV(e,t=ra(process.env)){let n=x3.get(e);return n||(n=new sa(e,t),x3.set(e,n)),n}async function hf(e,t,n=cf()){return GV(n).resolveFile(e,t)}function Sg(e){return new Dg(e)}var Dg=class{dictionaries;collection;constructor(t){this.dictionaries=t,this.collection=VV(t)}isEnabled(t){let n=this.collection[t];return n===void 0?void 0:!!(n&1)}isBlocked(t){let n=this.collection[t];return n===void 0?void 0:!(n&1)}enabled(){return this.dictionaryIds.filter(t=>this.isEnabled(t))}blocked(){return this.dictionaryIds.filter(t=>this.isBlocked(t))}get dictionaryIds(){return Object.keys(this.collection)}};function VV(e){let t=e.map(KV).map(XV),n={};for(let r of t)n[r.name]=Math.max(r.weight,n[r.name]||0);return n}function KV(e){return e.normalize().trim()}function XV(e){let t=e.replace(/^!+/,""),n=e.length-t.length+1;return{name:t.trim(),weight:n}}function JV(e,t){let n=t.filter(({name:r})=>e.isEnabled(r)).map(YV);return[...new Map(n.map(r=>[r.name,r])).values()]}function YV(e){if(e instanceof oa)return e;let t=D3(e.path,e.file);return{...e,file:void 0,path:t}}function D3(e,t){let n=[e||"",t||""].filter(r=>!!r);return n.length>1?pf.join(...n):n[0]||""}function aa(e,t){return e?.map(n=>QV(n,t))}var ZV=Uv();function QV(e,t){return ZV.get(e,n=>eK(n,t))}function eK(e,t){if(nK(e))return e;let n=t.href;return zo(e)?{...e,__source:n}:new oa(e,t)}function tK(e,t){return t.name||pf.basename(e)}function wg(e){let{dictionaries:t=[],dictionaryDefinitions:n=[],noSuggestDictionaries:r=[]}=e,i=Sg(r),s=Sg([...t,...i.enabled()]),o=n.map(a=>{let u=i.isEnabled(a.name);return u===void 0?a:{...a,noSuggest:u}});return JV(s,o)}function nK(e){return rK(e)||iK(e)}function rK(e){return e instanceof oa}function iK(e){return zo(e)&&!!e.__source}var oa=class{sourceURL;_weightMap;name;path;addWords;description;dictionaryInformation;type;file;repMap;useCompounds;noSuggest;ignoreForbiddenWords;scope;__source;ddi;constructor(t,n){this.sourceURL=n,this.__source=n.href;let r=t,{path:i="",file:s="",addWords:o,description:a,dictionaryInformation:u,type:c,repMap:l,noSuggest:d,ignoreForbiddenWords:h,scope:f,supportNonStrictSearches:p,useCompounds:m}=r,g=n,x=D3(i,s),b=tK(x,t),y=Ee(E3(x,g)),D={name:b,file:void 0,path:y,addWords:o,description:a,dictionaryInformation:u,type:c,repMap:l,noSuggest:d,ignoreForbiddenWords:h,supportNonStrictSearches:p,scope:f,useCompounds:m};Object.assign(this,He(D)),this.ddi=D,this.name=D.name,this.file=D.file,this.path=D.path,this._weightMap=this.dictionaryInformation?wl(this.dictionaryInformation):void 0}get weightMap(){return this._weightMap}toJSON(){return this.ddi}};var ua=class{map;constructor(t){this.map=new Map(t?.map(([n,r])=>[n,new WeakRef(r)]))}clear(){this.map.clear()}delete(t){return this.map.delete(t)}forEach(t,n){n&&(t=t.bind(n));for(let[r,i]of this)t(i,r,this)}get(t){let n=this.map.get(t);if(!n)return;let r=n.deref();if(!r){this.map.delete(t);return}return r}autoGet(t,n){let r=this.get(t);if(r)return r;let i=n(t);return this.set(t,i),i}has(t){return!!this.get(t)}set(t,n){return this.map.set(t,new WeakRef(n)),this}get size(){return this.map.size}[Symbol.iterator](){return this.entries()}*entries(){for(let t of this.map.keys()){let n=this.get(t);n&&(yield[t,n])}}keys(){return this.map.keys()}*values(){for(let[t,n]of this)yield n}cleanKeys(){let t=[];for(let[n,r]of this.map.entries())r.deref()||t.push(n);for(let n of t)this.map.delete(n);return this}[Symbol.toStringTag]="StrongWeakMap"};var ca=class{size;L0=new Map;L1=new Map;L2=new Map;constructor(t){this.size=t}has(t){for(let n of this.caches())if(n.has(t))return!0;return!1}get(t){for(let n of this.caches()){let r=n.get(t);if(r)return n!==this.L0&&this._set(t,r),r.v}}set(t,n){this._set(t,{v:n})}delete(t){let n=!1;for(let r of this.caches())n=r.delete(t)||n;return n}_set(t,n){if(this.L0.has(t))return this.L0.set(t,n),this;this.L0.size>=this.size&&this.rotate(),this.L0.set(t,n)}caches(){return[this.L0,this.L1,this.L2]}rotate(){let t=this.L2;this.L2=this.L1,this.L1=this.L0,this.L0=t,this.L0.clear()}},mf=class extends ca{factory;constructor(t,n){super(n),this.factory=t}get(t){let n=super.get(t);if(n!==void 0)return n;let r=this.factory(t);return this.set(t,r),r}};var gf=class extends Error{uri;options;cause;name;constructor(t,n,r,i){super(i),this.uri=t,this.options=n,this.cause=r,this.name=n.name}};var sK=1e4,kg={S:S3,C:cK,W:fK,T:hK,default:S3},la;(function(e){e[e.Loaded=0]="Loaded",e[e.Loading=1]="Loading"})(la||(la={}));var fa=class{fs;dictionaryCache=new ua;inlineDictionaryCache=new gt;dictionaryCacheByDef=new qo;reader;keepAliveCache;constructor(t,n=10){this.fs=t,this.reader=oK(t),this.keepAliveCache=new ca(n)}loadDictionary(t){if(zo(t))return Promise.resolve(this.loadInlineDict(t));if(Ov(t)){let{key:n,entry:r}=this.getCacheEntry(t);if(r)return r.pending.then(([s])=>s);let i=this.loadEntry(t.path,t);return this.setCacheEntry(n,i,t),this.keepAliveCache.set(t,i),i.pending.then(([s])=>s)}return Promise.resolve(this.loadSimpleDict(t))}async refreshCacheEntries(t=sK,n=Date.now()){await Promise.all([...this.dictionaryCache.values()].map(r=>this.refreshEntry(r,t,n)))}getCacheEntry(t){let n=this.dictionaryCacheByDef.get(t);if(n)return this.keepAliveCache.get(t),n;let r=this.calcKey(t),i=this.dictionaryCache.get(r);return i&&(i.options=t,this.keepAliveCache.set(t,i)),{key:r,entry:i}}setCacheEntry(t,n,r){this.dictionaryCache.set(t,n),this.dictionaryCacheByDef.set(r,{key:t,entry:n})}async refreshEntry(t,n,r){if(r-t.ts>=n){let i=r+Math.random();t.sig=i,t.ts=r;let s=this.getStat(t.uri),[o]=await Promise.all([s,t.pending]),a=!this.isEqual(o,t.stat);if(t.sig===i&&a){t.loadingState=la.Loading;let c=this.calcKey(t.options),l=this.loadEntry(t.uri,t.options);this.dictionaryCache.set(c,l),this.dictionaryCacheByDef.set(t.options,{key:c,entry:l})}}}loadEntry(t,n,r=Date.now()){let i=pe(t);n=this.normalizeOptions(i,n);let s=uK(this.reader,pe(t),n).catch(l=>Bl(n.name,t,new gf(i.href,n,l,"failed to load"),n)),o=this.getStat(t),a=Promise.all([s,o]),u=r+Math.random(),c={uri:i.href,options:n,ts:r,stat:void 0,dictionary:void 0,pending:a,loadingState:la.Loading,sig:u};return a.then(([l,d])=>{c.stat=d,c.dictionary=l,c.loadingState=la.Loaded}).catch(()=>{}),c}getStat(t){return this.fs.stat(pe(t)).catch(Hi)}isEqual(t,n){return n?Ag(t)?Ag(n)&&t.message===n.message&&t.name===n.name:!Ag(n)&&!bg(t,n):!1}normalizeOptions(t,n){return n.name?n:{...n,name:An(t)}}loadInlineDict(t){return this.inlineDictionaryCache.get(t,n=>es(n,n.__source||"memory"))}loadSimpleDict(t){return es({name:t.name,words:[]},t.__source||"memory")}calcKey(t){let n=t.path,r=w3(pe(n),t),i=aK.map(o=>t[o]?.toString()||"");return[n,r,...i].join("|")}};function oK(e){async function t(n){return(await e.readFile(n)).getText()}return{read:t,readLines:async n=>pK(await t(n))}}var aK=["name","noSuggest","useCompounds","type"];function Ag(e){return!!e.message}function w3(e,t){let r=t.type&&t.type in kg&&t.type||"S",i=e.pathname.endsWith(".trie.gz")?"T":r;return/\.trie\b/i.test(e.pathname)?"T":i}function uK(e,t,n){let r=w3(t,n);return(kg[r]||kg.default)(e,t,n)}async function cK(e,t,n){let r=await e.readLines(t);return lK(r,t,n)}function lK(e,t,n){let r=se(e,ce(i=>i.replaceAll(/#.*/g,"")),$e(i=>i.split(/[^\w\p{L}\p{M}'’]+/gu)),Ie(i=>!!i));return Xe(r,n.name,t.toString(),n)}async function fK(e,t,n){let r=await e.readLines(t);return dK(r,t.toString(),n)}function dK(e,t,n){let r=se(e,ce(i=>i.replaceAll(/#.*/g,"")),$e(i=>i.split(/\s+/gu)),Ie(i=>!!i));return Xe(r,n.name,t,n)}async function S3(e,t,n){let r=await e.readLines(t);return Xe(r,n.name,t.href,n)}async function hK(e,t,n){let r=await e.read(t);return Nl(r,n.name,t.href,n)}function pK(e){return e.split(/\n|\r\n|\r/)}var vg;function A3(e){return vg||(vg=new fa(e||cf()))}function k3(e){return A3().loadDictionary(e)}async function v3(e,t){return A3().refreshCacheEntries(e,t)}function mK(e){return e.map(k3)}function F3(e){return v3(e)}var da=Object.freeze([]);async function cs(e){let t=await Promise.all(mK(wg(e)));return gK(e,t)}var ha={words:"[words]",userWords:"[userWords]",flagWords:"[flagWords]",ignoreWords:"[ignoreWords]",suggestWords:"[suggestWords]"},T3=new Map(Object.entries(ha).map(([e,t])=>[t,e]));function Fg(e){let{words:t=da,userWords:n=da,flagWords:r=da,ignoreWords:i=da,suggestWords:s=da}=e,o=Xe(t,ha.words,"From Settings `words`",{caseSensitive:!0,weightMap:void 0}),a=n.length?Xe(n,ha.userWords,"From Settings `userWords`",{caseSensitive:!0,weightMap:void 0}):void 0,u=Zi(i,ha.ignoreWords,"From Settings `ignoreWords`"),c=ir(r,ha.flagWords,"From Settings `flagWords`"),l=Qi(s,"[suggestWords]","From Settings `suggestWords`");return[o,a,u,c,l].filter(At)}function gK(e,t){let n=[...t,...Fg(e)];return Cn(n,"dictionary collection")}var pa=[{id:"ada",extensions:[".adb",".ads"]},{id:"apiblueprint",extensions:[".apib",".apiblueprint"]},{id:"argdown",extensions:[".ad",".adown",".argdn",".argdown"]},{id:"asciidoc",extensions:[".adoc",".asc",".asciidoc"]},{id:"bat",extensions:[".bat",".cmd"]},{id:"bazel",extensions:[".bazel",".bzl"]},{id:"bibtex",extensions:[".bib"]},{id:"bicep",extensions:[".bicep"]},{id:"c",extensions:[".c",".i"]},{id:"cache_files",extensions:[],filenames:[".DS_Store",".cspellcache",".eslintcache"]},{id:"clojure",extensions:[".clj",".cljc",".cljs",".cljx",".clojure",".edn"]},{id:"cmake",extensions:[".cmake"],filenames:["CMakeLists.txt"]},{id:"coffeescript",extensions:[".coffee",".cson",".iced"]},{id:"cpp",extensions:[".c++",".c++m",".cc",".ccm",".cpp",".cppm",".cxx",".cxxm",".h",".h++",".h.in",".hh",".hpp",".hpp.in",".hxx",".ii",".inl",".ino",".ipp",".ixx",".mm",".tpp",".txx"]},{id:"cpp_embedded_latex",extensions:[]},{id:"csharp",extensions:[".cake",".cs",".csx"]},{id:"css",extensions:[".css"]},{id:"cuda-cpp",extensions:[".cu",".cuh"]},{id:"dart",extensions:[".dart"]},{id:"dhall",extensions:[".dhall"]},{id:"diff",extensions:[".diff",".patch",".rej"]},{id:"dockercompose",extensions:[],filenames:["*docker*compose*.yaml","*docker*compose*.yml","compose.*.yaml","compose.*.yml","compose.yaml","compose.yml"]},{id:"dockerfile",extensions:[".containerfile",".dockerfile"],filenames:["*.Dockerfile.*","Containerfile","Containerfile.*","Dockerfile","Dockerfile.*","Dockerfile.dev","dockerfile"]},{id:"elisp",extensions:[".el"]},{id:"elixir",extensions:[".ex",".exs"]},{id:"elm",extensions:[".elm"]},{id:"erb",extensions:[".erb",".html.erb",".rhtml"]},{id:"fsharp",extensions:[".fs",".fsi",".fsscript",".fsx"]},{id:"git-commit",extensions:[],filenames:["COMMIT_EDITMSG","MERGE_MSG"]},{id:"git-rebase",extensions:[],filenames:["git-rebase-todo"]},{id:"github-issues",extensions:[".github-issues"]},{id:"go",extensions:[".go"]},{id:"godot",extensions:[".gd",".godot",".tres",".tscn"]},{id:"gradle",extensions:[".gradle"]},{id:"groovy",extensions:[".gradle",".groovy",".gvy",".jenkinsfile",".nf"],filenames:["Jenkinsfile","Jenkinsfile*"]},{id:"haml",extensions:[".haml"]},{id:"handlebars",extensions:[".handlebars",".hbs",".hjs"]},{id:"haskell",extensions:[".hs",".lhs"]},{id:"haxe",extensions:[".hx"]},{id:"hlsl",extensions:[".cginc",".compute",".fx",".fxh",".hlsl",".hlsli",".psh",".vsh"]},{id:"html",extensions:[".asp",".aspx",".ejs",".htm",".html",".jshtm",".jsp",".mdoc",".rhtml",".shtml",".volt",".vue",".xht",".xhtml"]},{id:"ignore",extensions:[".git-blame-ignore-revs",".gitignore",".gitignore_global",".npmignore"],filenames:[".vscodeignore"]},{id:"ini",extensions:[".conf",".ini"]},{id:"jade",extensions:[".jade",".pug"]},{id:"java",extensions:[".jav",".java"]},{id:"javascript",extensions:[".cjs",".es6",".js",".mjs",".pac"],filenames:["jakefile"]},{id:"javascriptreact",extensions:[".jsx"]},{id:"jinja",extensions:[".jinja"]},{id:"json",extensions:[".babelrc",".bowerrc",".code-profile",".css.map",".eslintrc",".geojson",".har",".ipynb",".js.map",".jscsrc",".jshintrc",".jslintrc",".json",".jsonc",".jsonld",".ts.map",".tsbuildinfo",".vuerc",".webmanifest"],filenames:[".watchmanconfig","composer.lock"]},{id:"jsonc",extensions:[".babelrc",".code-workspace",".color-theme.json",".eslintrc",".eslintrc.json",".hintrc",".icon-theme.json",".jsfmtrc",".jshintrc",".jsonc",".language-configuration.json",".swcrc"],filenames:[".babelrc.json",".code-workspace",".devcontainer.json",".ember-cli","argv.json","babel.config.json","devcontainer.json","extensions.json","jsconfig-*.json","jsconfig.*.json","jsconfig.json","keybindings.json","launch.json","profiles.json","settings.json","tasks.json","tsconfig-*.json","tsconfig.*.json","tsconfig.json","typedoc.json"]},{id:"jsonl",extensions:[".jsonl"]},{id:"jsx-tags",extensions:[]},{id:"julia",extensions:[".jl"]},{id:"juliamarkdown",extensions:[".jmd"]},{id:"jungle",extensions:[".jungle"]},{id:"kotlin",extensions:[".kt"]},{id:"latex",extensions:[".ctx",".ltx",".tex"]},{id:"less",extensions:[".less"]},{id:"lisp",extensions:[".fasl",".l",".lisp",".lsp"]},{id:"literate haskell",extensions:[".lhs"]},{id:"lock",extensions:[".lock"],filenames:["Cargo.lock","berksfile.lock","composer.lock","package-lock.json"]},{id:"log",extensions:[".log"],filenames:["*.log.?"]},{id:"lua",extensions:[".lua"]},{id:"makefile",extensions:[".mak",".mk"],filenames:["GNUmakefile","Makefile","OCamlMakefile","makefile"]},{id:"map",extensions:[".map",".css.map",".ts.map",".js.map"]},{id:"markdown",extensions:[".markdn",".markdown",".md",".mdown",".mdtext",".mdtxt",".mdwn",".mkd",".workbook"]},{id:"markdown_latex_combined",extensions:[]},{id:"markdown-math",extensions:[]},{id:"mdx",extensions:[".mdx"]},{id:"monkeyc",extensions:[".mb",".mc"]},{id:"mustache",extensions:[".mst",".mu",".mustache",".stache"]},{id:"nix",extensions:[".nix"]},{id:"nunjucks",extensions:[".nj",".njk",".nunj",".nunjs",".nunjucks",".tmpl",".tpl"]},{id:"objective-c",extensions:[".m"]},{id:"objective-cpp",extensions:[".mm"]},{id:"ocaml",extensions:[".eliom",".eliomi",".ml",".mli",".mll",".mly"]},{id:"pdf",extensions:[".pdf"]},{id:"pem",extensions:[".pem",".private-key.pem"]},{id:"pem-private-key",extensions:[".private-key.pem"]},{id:"perl",extensions:[".PL",".pl",".pm",".pod",".psgi",".t"]},{id:"perl6",extensions:[".nqp",".p6",".pl6",".pm6"]},{id:"php",extensions:[".ctp",".php",".php4",".php5",".phtml"]},{id:"plaintext",extensions:[".txt"]},{id:"powershell",extensions:[".ps1",".psd1",".psm1",".psrc",".pssc"]},{id:"properties",extensions:[".cfg",".conf",".directory",".editorconfig",".gitattributes",".gitconfig",".gitmodules",".npmrc",".properties",".repo"],filenames:[".env","gitconfig"]},{id:"puppet",extensions:[".puppet"]},{id:"purescript",extensions:[".purs"]},{id:"python",extensions:[".cpy",".gyp",".gypi",".ipy",".py",".pyi",".pyt",".pyw",".rpy"],filenames:["SConscript","SConstruct"]},{id:"r",extensions:[".R",".r",".rhistory",".rprofile",".rt"]},{id:"raku",extensions:[".nqp",".p6",".pl6",".pm6",".raku",".rakudoc",".rakumod",".rakutest"]},{id:"razor",extensions:[".cshtml",".razor"]},{id:"rescript",extensions:[".res",".resi"]},{id:"restructuredtext",extensions:[".rst"]},{id:"rsa",extensions:[".pub"],filenames:["id_rsa","id_rsa.pub"]},{id:"ruby",extensions:[".erb",".gemspec",".podspec",".rake",".rb",".rbi",".rbx",".rjs",".ru"],filenames:["Gemfile","appfile","appraisals","berksfile","berksfile.lock","brewfile","capfile","cheffile","dangerfile","deliverfile","fastfile","gemfile","guardfile","gymfile","hobofile","matchfile","podfile","puppetfile","rakefile","rantfile","scanfile","snapfile","thorfile","vagrantfile"]},{id:"rust",extensions:[".rs"]},{id:"sass",extensions:[".sass"]},{id:"scala",extensions:[".sbt",".sc",".scala"]},{id:"scss",extensions:[".scss"]},{id:"search-result",extensions:[".code-search"]},{id:"shaderlab",extensions:[".cginc",".shader"]},{id:"shellscript",extensions:[".Xsession",".bash",".bash_aliases",".bash_login",".bash_logout",".bash_profile",".bashrc",".csh",".cshrc",".ebuild",".eclass",".fish",".install",".ksh",".profile",".sh",".tcshrc",".xprofile",".xsession",".xsessionrc",".yash_profile",".yashrc",".zlogin",".zlogout",".zprofile",".zsh",".zsh-theme",".zshenv",".zshrc"],filenames:[".env.*",".envrc",".hushlogin","APKBUILD","PKGBUILD","bashrc_Apple_Terminal","zlogin","zlogout","zprofile","zshenv","zshrc","zshrc_Apple_Terminal"]},{id:"snippets",extensions:[".code-snippets"]},{id:"sql",extensions:[".dsql",".sql"]},{id:"stylus",extensions:[".styl"]},{id:"svelte",extensions:[".svelte"]},{id:"swift",extensions:[".swift"]},{id:"terraform",extensions:[".hcl",".tf",".tf.json",".tfvars"]},{id:"tex",extensions:[".bbx",".cbx",".cls",".sty"]},{id:"tfvars",extensions:[".tfvars"],description:"Terraform Variables"},{id:"todo",extensions:[],filenames:["todo"]},{id:"toml",extensions:[".toml"],filenames:["Cargo.lock","Cargo.toml"]},{id:"typescript",extensions:[".cts",".mts",".ts"]},{id:"typescriptreact",extensions:[".tsx"]},{id:"typst",extensions:[".typst"]},{id:"vala",extensions:[".vala"]},{id:"vb",extensions:[".bas",".brs",".vb",".vba",".vbs"]},{id:"vue",extensions:[".vue"]},{id:"xml",extensions:[".ascx",".atom",".axaml",".axml",".bpmn",".config",".cpt",".csl",".csproj",".csproj.user",".dita",".ditamap",".dtd",".dtml",".ent",".fsproj",".fxml",".iml",".isml",".jmx",".launch",".menu",".mod",".mxml",".nuspec",".opml",".owl",".proj",".props",".pt",".publishsettings",".pubxml",".pubxml.user",".rbxlx",".rbxmx",".rdf",".rng",".rss",".shproj",".storyboard",".svg",".targets",".tld",".tmx",".vbproj",".vbproj.user",".vcxproj",".vcxproj.filters",".wsdl",".wxi",".wxl",".wxs",".xaml",".xbl",".xib",".xlf",".xliff",".xml",".xoml",".xpdl",".xsd",".xul"]},{id:"xsl",extensions:[".xsl",".xslt"]},{id:"yaml",extensions:[".cff",".eyaml",".eyml",".yaml",".yaml-tmlanguage",".yaml-tmpreferences",".yaml-tmtheme",".yml"]},{id:"binary",extensions:[".bin",".cur",".dll",".eot",".exe",".gz",".lib",".o",".obj",".phar",".zip"],format:"Binary"},{id:"dll",extensions:[".dll"],format:"Binary"},{id:"exe",extensions:[".exe"],format:"Binary"},{id:"fonts",extensions:[".ttf",".woff",".woff2"],format:"Binary"},{id:"gzip",extensions:[".gz"],format:"Binary"},{id:"image",extensions:[".bmp",".exr",".gif",".heic",".ico",".jpeg",".jpg",".pbm",".pgm",".png",".ppm",".ras",".sgi",".tiff",".webp",".xbm"],format:"Binary",description:"Some image extensions"},{id:"jar",extensions:[".jar"],format:"Binary"},{id:"mdb",extensions:[".mdb"],format:"Binary",description:"Microsoft Access DB"},{id:"object-file",extensions:[".o",".obj"],format:"Binary"},{id:"spv",extensions:[".spv"],format:"Binary",description:"SPSS Output Document"},{id:"trie",extensions:[".trie"],format:"Binary",description:"CSpell dictionary file."},{id:"video",extensions:[".avi",".flv",".mkv",".mov",".mp4",".mpeg",".mpg",".wmv"],format:"Binary"},{id:"webm",extensions:[".webm"],format:"Binary",description:"WebM is an audiovisual media file format."},{id:"wheel",extensions:[".whl"],format:"Binary"}];var xK=pa.filter(e=>e.format==="Binary").map(e=>e.id),bK=new Set(["binary","image","video","fonts",...xK]),yK=new Set([...bK,"map","lock","pdf","cache_files","rsa","pem","trie","log"]),zbe=pa.map(({id:e})=>e),CK=SK(pa),I3=wK(CK),EK=pa.map(_K).filter(e=>!!e);function ma(e){return DK(yK,e)}function DK(e,t){if(typeof t=="string")return e.has(t);for(let n of t)if(e.has(n))return!0;return!1}function SK(e){return e.reduce((t,n)=>{function r(i){vK(t,i,()=>new Set).add(n.id)}return n.extensions.forEach(r),n.filenames?.forEach(i=>typeof i=="string"?r(i):void 0),t},new Map)}function wK(e){return new Map([...e].map(([t,n])=>[t,[...n]]))}function AK(e){return EK.filter(({regexp:t})=>t.test(e)).map(({id:t})=>t)}function _3(e){let t=I3.get(e);if(t)return t;let n=AK(e);if(n.length)return n;for(let r=e.indexOf(".");r>=0;r=e.indexOf(".",r+1)){let i=I3.get(e.slice(r));if(i)return i}}function cr(e){return e=kK(e),_3(e)||_3(e.toLowerCase())||[]}var L3=/[\\/]/g;function kK(e){return L3.test(e)?e.split(L3).slice(-1).join(""):e}function vK(e,t,n){let r=e.get(t);if(r!==void 0||e.has(t))return r;let i=n(t);return e.set(t,i),i}function FK(e){return e.replaceAll(/[|\\{}()[\]^$+*?.]/g,"\\$&").replaceAll("-","\\x2d")}function TK(e){return e.includes("*")?IK(e):e}function IK(e){e=e.replaceAll("**","*");let t="";for(let n of e)switch(n){case"?":{t+=".";break}case"*":{t+=".*";break}default:t+=FK(n)}return new RegExp(t)}function _K(e){if(!e.filenames)return;let t=e.filenames.map(TK).map(r=>r instanceof RegExp?r:void 0).filter(r=>!!r);return t.length?{regexp:new RegExp(t.map(r=>r.source).join("|")),id:e.id}:void 0}var N3=B(require("node:assert"),1);var R3;(()=>{"use strict";var e={975:L=>{function _(E){if(typeof E!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(E))}function R(E,N){for(var M,U="",z=0,S=-1,q=0,j=0;j<=E.length;++j){if(j2){var I=U.lastIndexOf("/");if(I!==U.length-1){I===-1?(U="",z=0):z=(U=U.slice(0,I)).length-1-U.lastIndexOf("/"),S=j,q=0;continue}}else if(U.length===2||U.length===1){U="",z=0,S=j,q=0;continue}}N&&(U.length>0?U+="/..":U="..",z=2)}else U.length>0?U+="/"+E.slice(S+1,j):U=E.slice(S+1,j),z=j-S-1;S=j,q=0}else M===46&&q!==-1?++q:q=-1}return U}var F={resolve:function(){for(var E,N="",M=!1,U=arguments.length-1;U>=-1&&!M;U--){var z;U>=0?z=arguments[U]:(E===void 0&&(E=process.cwd()),z=E),_(z),z.length!==0&&(N=z+"/"+N,M=z.charCodeAt(0)===47)}return N=R(N,!M),M?N.length>0?"/"+N:"/":N.length>0?N:"."},normalize:function(E){if(_(E),E.length===0)return".";var N=E.charCodeAt(0)===47,M=E.charCodeAt(E.length-1)===47;return(E=R(E,!N)).length!==0||N||(E="."),E.length>0&&M&&(E+="/"),N?"/"+E:E},isAbsolute:function(E){return _(E),E.length>0&&E.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var E,N=0;N0&&(E===void 0?E=M:E+="/"+M)}return E===void 0?".":F.normalize(E)},relative:function(E,N){if(_(E),_(N),E===N||(E=F.resolve(E))===(N=F.resolve(N)))return"";for(var M=1;Mj){if(N.charCodeAt(S+Q)===47)return N.slice(S+Q+1);if(Q===0)return N.slice(S+Q)}else z>j&&(E.charCodeAt(M+Q)===47?I=Q:Q===0&&(I=0));break}var Y=E.charCodeAt(M+Q);if(Y!==N.charCodeAt(S+Q))break;Y===47&&(I=Q)}var De="";for(Q=M+I+1;Q<=U;++Q)Q!==U&&E.charCodeAt(Q)!==47||(De.length===0?De+="..":De+="/..");return De.length>0?De+N.slice(S+I):(S+=I,N.charCodeAt(S)===47&&++S,N.slice(S))},_makeLong:function(E){return E},dirname:function(E){if(_(E),E.length===0)return".";for(var N=E.charCodeAt(0),M=N===47,U=-1,z=!0,S=E.length-1;S>=1;--S)if((N=E.charCodeAt(S))===47){if(!z){U=S;break}}else z=!1;return U===-1?M?"/":".":M&&U===1?"//":E.slice(0,U)},basename:function(E,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');_(E);var M,U=0,z=-1,S=!0;if(N!==void 0&&N.length>0&&N.length<=E.length){if(N.length===E.length&&N===E)return"";var q=N.length-1,j=-1;for(M=E.length-1;M>=0;--M){var I=E.charCodeAt(M);if(I===47){if(!S){U=M+1;break}}else j===-1&&(S=!1,j=M+1),q>=0&&(I===N.charCodeAt(q)?--q==-1&&(z=M):(q=-1,z=j))}return U===z?z=j:z===-1&&(z=E.length),E.slice(U,z)}for(M=E.length-1;M>=0;--M)if(E.charCodeAt(M)===47){if(!S){U=M+1;break}}else z===-1&&(S=!1,z=M+1);return z===-1?"":E.slice(U,z)},extname:function(E){_(E);for(var N=-1,M=0,U=-1,z=!0,S=0,q=E.length-1;q>=0;--q){var j=E.charCodeAt(q);if(j!==47)U===-1&&(z=!1,U=q+1),j===46?N===-1?N=q:S!==1&&(S=1):N!==-1&&(S=-1);else if(!z){M=q+1;break}}return N===-1||U===-1||S===0||S===1&&N===U-1&&N===M+1?"":E.slice(N,U)},format:function(E){if(E===null||typeof E!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof E);return function(N,M){var U=M.dir||M.root,z=M.base||(M.name||"")+(M.ext||"");return U?U===M.root?U+z:U+"/"+z:z}(0,E)},parse:function(E){_(E);var N={root:"",dir:"",base:"",ext:"",name:""};if(E.length===0)return N;var M,U=E.charCodeAt(0),z=U===47;z?(N.root="/",M=1):M=0;for(var S=-1,q=0,j=-1,I=!0,Q=E.length-1,Y=0;Q>=M;--Q)if((U=E.charCodeAt(Q))!==47)j===-1&&(I=!1,j=Q+1),U===46?S===-1?S=Q:Y!==1&&(Y=1):S!==-1&&(Y=-1);else if(!I){q=Q+1;break}return S===-1||j===-1||Y===0||Y===1&&S===j-1&&S===q+1?j!==-1&&(N.base=N.name=q===0&&z?E.slice(1,j):E.slice(q,j)):(q===0&&z?(N.name=E.slice(1,S),N.base=E.slice(1,j)):(N.name=E.slice(q,S),N.base=E.slice(q,j)),N.ext=E.slice(S,j)),q>0?N.dir=E.slice(0,q-1):z&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};F.posix=F,L.exports=F}},t={};function n(L){var _=t[L];if(_!==void 0)return _.exports;var R=t[L]={exports:{}};return e[L](R,R.exports,n),R.exports}n.d=(L,_)=>{for(var R in _)n.o(_,R)&&!n.o(L,R)&&Object.defineProperty(L,R,{enumerable:!0,get:_[R]})},n.o=(L,_)=>Object.prototype.hasOwnProperty.call(L,_),n.r=L=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(L,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(L,"__esModule",{value:!0})};var r={};let i;n.r(r),n.d(r,{URI:()=>h,Utils:()=>A}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let s=/^\w[\w\d+.-]*$/,o=/^\//,a=/^\/\//;function u(L,_){if(!L.scheme&&_)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${L.authority}", path: "${L.path}", query: "${L.query}", fragment: "${L.fragment}"}`);if(L.scheme&&!s.test(L.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(L.path){if(L.authority){if(!o.test(L.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(L.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let c="",l="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{static isUri(_){return _ instanceof h||!!_&&typeof _.authority=="string"&&typeof _.fragment=="string"&&typeof _.path=="string"&&typeof _.query=="string"&&typeof _.scheme=="string"&&typeof _.fsPath=="string"&&typeof _.with=="function"&&typeof _.toString=="function"}scheme;authority;path;query;fragment;constructor(_,R,F,E,N,M=!1){typeof _=="object"?(this.scheme=_.scheme||c,this.authority=_.authority||c,this.path=_.path||c,this.query=_.query||c,this.fragment=_.fragment||c):(this.scheme=function(U,z){return U||z?U:"file"}(_,M),this.authority=R||c,this.path=function(U,z){switch(U){case"https":case"http":case"file":z?z[0]!==l&&(z=l+z):z=l}return z}(this.scheme,F||c),this.query=E||c,this.fragment=N||c,u(this,M))}get fsPath(){return b(this,!1)}with(_){if(!_)return this;let{scheme:R,authority:F,path:E,query:N,fragment:M}=_;return R===void 0?R=this.scheme:R===null&&(R=c),F===void 0?F=this.authority:F===null&&(F=c),E===void 0?E=this.path:E===null&&(E=c),N===void 0?N=this.query:N===null&&(N=c),M===void 0?M=this.fragment:M===null&&(M=c),R===this.scheme&&F===this.authority&&E===this.path&&N===this.query&&M===this.fragment?this:new p(R,F,E,N,M)}static parse(_,R=!1){let F=d.exec(_);return F?new p(F[2]||c,C(F[4]||c),C(F[5]||c),C(F[7]||c),C(F[9]||c),R):new p(c,c,c,c,c)}static file(_){let R=c;if(i&&(_=_.replace(/\\/g,l)),_[0]===l&&_[1]===l){let F=_.indexOf(l,2);F===-1?(R=_.substring(2),_=l):(R=_.substring(2,F),_=_.substring(F)||l)}return new p("file",R,_,c,c)}static from(_){let R=new p(_.scheme,_.authority,_.path,_.query,_.fragment);return u(R,!0),R}toString(_=!1){return y(this,_)}toJSON(){return this}static revive(_){if(_){if(_ instanceof h)return _;{let R=new p(_);return R._formatted=_.external,R._fsPath=_._sep===f?_.fsPath:null,R}}return _}}let f=i?1:void 0;class p extends h{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(_=!1){return _?y(this,!0):(this._formatted||(this._formatted=y(this,!1)),this._formatted)}toJSON(){let _={$mid:1};return this._fsPath&&(_.fsPath=this._fsPath,_._sep=f),this._formatted&&(_.external=this._formatted),this.path&&(_.path=this.path),this.scheme&&(_.scheme=this.scheme),this.authority&&(_.authority=this.authority),this.query&&(_.query=this.query),this.fragment&&(_.fragment=this.fragment),_}}let m={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function g(L,_,R){let F,E=-1;for(let N=0;N=97&&M<=122||M>=65&&M<=90||M>=48&&M<=57||M===45||M===46||M===95||M===126||_&&M===47||R&&M===91||R&&M===93||R&&M===58)E!==-1&&(F+=encodeURIComponent(L.substring(E,N)),E=-1),F!==void 0&&(F+=L.charAt(N));else{F===void 0&&(F=L.substr(0,N));let U=m[M];U!==void 0?(E!==-1&&(F+=encodeURIComponent(L.substring(E,N)),E=-1),F+=U):E===-1&&(E=N)}}return E!==-1&&(F+=encodeURIComponent(L.substring(E))),F!==void 0?F:L}function x(L){let _;for(let R=0;R1&&L.scheme==="file"?`//${L.authority}${L.path}`:L.path.charCodeAt(0)===47&&(L.path.charCodeAt(1)>=65&&L.path.charCodeAt(1)<=90||L.path.charCodeAt(1)>=97&&L.path.charCodeAt(1)<=122)&&L.path.charCodeAt(2)===58?_?L.path.substr(1):L.path[1].toLowerCase()+L.path.substr(2):L.path,i&&(R=R.replace(/\//g,"\\")),R}function y(L,_){let R=_?x:g,F="",{scheme:E,authority:N,path:M,query:U,fragment:z}=L;if(E&&(F+=E,F+=":"),(N||E==="file")&&(F+=l,F+=l),N){let S=N.indexOf("@");if(S!==-1){let q=N.substr(0,S);N=N.substr(S+1),S=q.lastIndexOf(":"),S===-1?F+=R(q,!1,!1):(F+=R(q.substr(0,S),!1,!1),F+=":",F+=R(q.substr(S+1),!1,!0)),F+="@"}N=N.toLowerCase(),S=N.lastIndexOf(":"),S===-1?F+=R(N,!1,!0):(F+=R(N.substr(0,S),!1,!0),F+=N.substr(S))}if(M){if(M.length>=3&&M.charCodeAt(0)===47&&M.charCodeAt(2)===58){let S=M.charCodeAt(1);S>=65&&S<=90&&(M=`/${String.fromCharCode(S+32)}:${M.substr(3)}`)}else if(M.length>=2&&M.charCodeAt(1)===58){let S=M.charCodeAt(0);S>=65&&S<=90&&(M=`${String.fromCharCode(S+32)}:${M.substr(2)}`)}F+=R(M,!0,!1)}return U&&(F+="?",F+=R(U,!1,!1)),z&&(F+="#",F+=_?z:g(z,!1,!1)),F}function D(L){try{return decodeURIComponent(L)}catch{return L.length>3?L.substr(0,3)+D(L.substr(3)):L}}let w=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(L){return L.match(w)?L.replace(w,_=>D(_)):L}var T=n(975);let v=T.posix||T,k="/";var A;(function(L){L.joinPath=function(_,...R){return _.with({path:v.join(_.path,...R)})},L.resolvePath=function(_,...R){let F=_.path,E=!1;F[0]!==k&&(F=k+F,E=!0);let N=v.resolve(F,...R);return E&&N[0]===k&&!_.authority&&(N=N.substring(1)),_.with({path:N})},L.dirname=function(_){if(_.path.length===0||_.path===k)return _;let R=v.dirname(_.path);return R.length===1&&R.charCodeAt(0)===46&&(R=""),_.with({path:R})},L.basename=function(_){return v.basename(_.path)},L.extname=function(_){return v.extname(_.path)}})(A||(A={})),R3=r})();var{URI:lr,Utils:ga}=R3;var Tg="stdin:";function fr(e){return zt.isUri(e)?e:lr.isUri(e)?zt.from(e):e instanceof URL?zt.parse(e.toString()):BK(e)?zt.parse(e.href):MK(e)?zt.from(e):Fe(e)?zt.parse(e):zt.file(M3(e))}var RK=process.platform==="win32",B3=/^[a-zA-Z]:[\\/]/,NK=Je("/");function ls(e){let t=ri(e);return t=t.protocol==="stdin:"?new URL(t.pathname,NK):t,Ee(t)}function M3(e){return B3.test(e)?e[0].toUpperCase()+e.slice(1):e}function BK(e){return!!e&&typeof e=="object"&&typeof e.href=="string"||!1}function MK(e){if(!e||typeof e!="object")return!1;if(zt.isUri(e)||lr.isUri(e))return!0;let t=e;return typeof t.path=="string"&&typeof t.scheme=="string"}function xf(e){return ga.basename(lr.from(e))}function PK(e,...t){return zt.from(e,...t)}var OK=["scheme","authority","path","query","fragment"],zt=class e extends lr{constructor(t){super(t.scheme,t.authority,t.path,t.query,t.fragment)}toString(){let t=encodeURI(this.path||"").replaceAll(/[#?]/g,o=>`%${(o.codePointAt(0)||0).toString(16)}`),n=`${this.scheme}://${this.authority||""}${t}`,r=this.query&&`?${this.query}`||"",i=this.fragment&&`#${this.fragment}`||"";return n+r+i}toJSON(){let{scheme:t,authority:n,path:r,query:i,fragment:s}=this;return{scheme:t,authority:n,path:r,query:i,fragment:s}}with(t){let{scheme:n,authority:r,path:i,query:s,fragment:o}=this,a={scheme:n,authority:r,path:i,query:s,fragment:o};for(let u of OK)t[u]&&typeof t[u]=="string"&&(a[u]=t[u]);return new e(a)}static isUri(t){return t instanceof e}static from(t,...n){let r=new e(t);for(let i of n)r=r.with(i);return r}static parse(t){if(t.startsWith(Tg))return e.from(zK(t));let n=lr.parse(t);return e.from(n)}static file(t){!RK&&B3.test(t)&&(t="/"+t.replaceAll("\\","/"));let n=pe(t);return e.parse(n.href)}static stdin(t=""){return e.from(e.file(t),{scheme:"stdin"})}};function UK(e){return M3(e.replaceAll("\\","/"))}function zK(e){(0,N3.default)(e.startsWith(Tg));let t=Tg.length,n=t;for(;e[n]==="/";++n);let r=n,i=e.indexOf("#",r),s=i>0?i:e.length,o=e.indexOf("?",r),a=o>0&&o2?"/":"")+UK(decodeURI(c)),query:decodeURI(l),fragment:decodeURI(d)}}function ri(e){return Ut(e instanceof URL?e:typeof e=="string"?pe(e):new URL(PK(e).toString()))}function P3(e){return(Array.isArray(e)?e.join(","):e).split(",").map(t=>t.trim())}function Ig(e){return jK(fr(e.uri),e.languageId,e.text)}function jK(e,t,n){let r=fr(e);if(t){let o=P3(t);if(o.length)return ma(o)}let i=xf(r),s=cr(i);return s.length?ma(s):n?.slice(0,1024).includes("\0")||!1}var $3=require("node:fs/promises");var q3=B(require("node:assert"),1);var bf=class e{constructor(t,n,r,i){this._uri=t,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){let n=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(n,r)}return this._content}update(t,n){for(let r of t)if(e.isIncremental(r)){let i=z3(r.range),s=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(o,this._content.length);let a=Math.max(i.start.line,0),u=Math.max(i.end.line,0),c=this._lineOffsets,l=O3(r.text,!1,s);if(u-a===l.length)for(let h=0,f=l.length;ht?i=o:r=o+1}let s=r-1;return t=this.ensureBeforeEOL(t,n[s]),{line:s,character:t-n[s]}}offsetAt(t){let n=this.getLineOffsets();if(t.line>=n.length)return this._content.length;if(t.line<0)return 0;let r=n[t.line];if(t.character<=0)return r;let i=t.line+1n&&U3(this._content.charCodeAt(t-1));)t--;return t}get lineCount(){return this.getLineOffsets().length}static isIncremental(t){let n=t;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(t){let n=t;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}},xa;(function(e){function t(i,s,o,a){return new bf(i,s,o,a)}e.create=t;function n(i,s,o){if(i instanceof bf)return i.update(s,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}e.update=n;function r(i,s){let o=i.getText(),a=_g(s.map(WK),(l,d)=>{let h=l.range.start.line-d.range.start.line;return h===0?l.range.start.character-d.range.start.character:h}),u=0,c=[];for(let l of a){let d=i.offsetAt(l.range.start);if(du&&c.push(o.substring(u,d)),l.newText.length&&c.push(l.newText),u=i.offsetAt(l.range.end)}return c.push(o.substr(u)),c.join("")}e.applyEdits=r})(xa||(xa={}));function _g(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);_g(r,t),_g(i,t);let s=0,o=0,a=0;for(;sn.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function WK(e){let t=z3(e.range);return t!==e.range?{newText:e.newText,range:t}:e}var yf=class{languageId;locale;vsTextDoc;uri;constructor(t,n,r,i,s){this.languageId=r,this.locale=i;let o=typeof r=="string"?r:r[0]||"plaintext";this.vsTextDoc=xa.create(t.toString(),o,s,n),this.uri=ri(t)}get version(){return this.vsTextDoc.version}get text(){return this.vsTextDoc.getText()}positionAt(t){return this.vsTextDoc.positionAt(t)}offsetAt(t){return this.vsTextDoc.offsetAt(t)}lineAt(t){let n=this.vsTextDoc.positionAt(t);return this.getLine(n.line)}getLine(t){let n={line:t,character:0},r={line:t+1,character:0},i={start:n,end:r},s=this.vsTextDoc.offsetAt(n);return{text:this.vsTextDoc.getText(i),offset:s,position:n}}*getLines(){let t={start:{line:0,character:0},end:{line:1,character:0}};for(;this.vsTextDoc.offsetAt(t.end)>this.vsTextDoc.offsetAt(t.start);){let n=this.vsTextDoc.offsetAt(t.start);yield{text:this.vsTextDoc.getText(t),offset:n,position:t.start},++t.start.line,++t.end.line}}update(t,n){n=n??this.version+1;for(let r of t){let i=r.range?{range:{start:this.positionAt(r.range[0]),end:this.positionAt(r.range[1])},text:r.text}:r;xa.update(this.vsTextDoc,[i],n)}return this}};function j3({uri:e,content:t,languageId:n,locale:r,version:i}){return i=i??1,e=fr(e),n=n??cr(xf(e)),n=n.length===0?"text":n,new yf(e,t,n,r,i)}function W3(e,t,n){return(0,q3.default)($K(e),"Unknown TextDocument type"),e.update(t,n)}function $K(e){return e instanceof yf}var HK="utf8";function H3(e){let{uri:t,text:n,languageId:r,locale:i}=e;return j3({uri:t,content:n,languageId:r,locale:i})}async function GK(e,t=HK){let n=await(0,$3.readFile)(e,t);return{uri:fr(e).toString(),text:n}}function G3(e,t){if(VK(e))return Promise.resolve(e);let n=fr(e.uri);if(n.scheme!=="file")throw new Error(`Unsupported schema: "${n.scheme}", open "${n.toString()}"`);return GK(ls(n),t)}function VK(e){return e.text!==void 0}var ba=B(require("node:path"),1);var{posix:V3}=ba,KK=/^!*[*]{2}/;var XK=new Yr,dr={cwd:"${cwd}"},K3={suffixAny:"/**",suffixDir:"/**/*",prefixAny:"**/"};function JK(e){return typeof e!="string"&&typeof e.glob=="string"}function X3(e){return typeof e=="string"?!1:typeof e.root=="string"&&"isGlobalPattern"in e}function J3(e){if(!X3(e))return!1;let t=e;return"rawGlob"in t&&"rawRoot"in t&&typeof t.rawGlob=="string"}function YK(e,t){return J3(e)?e.root===t.root:!1}function Y3(e=ba){return e===ba?XK:new Yr({path:e})}function ZK(e,t){e=e.replace(/^(!!)+/,"");let n=e.startsWith("!"),r=n?"!":"";return e=n?e.slice(1):e,(t?QK(e):eX(e)).map(s=>r+s)}function QK(e){if(!e.includes("/"))return e==="**"?["**"]:["**/"+e,"**/"+e+"/**"];let t=e.startsWith("/");return e=t?e.slice(1):e,e.endsWith("/")?t||e.slice(0,-1).includes("/")?[e+"**/*"]:["**/"+e+"**/*"]:e.endsWith("**")?[e]:[e,e+"/**"]}function eX(e){return e=e.startsWith("/")?e.slice(1):e,e=e.endsWith("/")?e+"**/*":e,[e]}function Z3(e,t){function*n(){for(let r of e){if(J3(r)){yield YK(r,t)?r:Lg(r,t.root,t.nodePath||ba);continue}yield*tX(r,t)}}return[...n()]}function tX(e,t){let{root:n,nodePath:r=ba,nested:i}=t,s=Y3(r),o=t.cwd??r.resolve(),a=s.toFileDirURL(o),u=s.toFileDirURL(n,a),c=X3(e)?e.isGlobalPattern:void 0;e=JK(e)?e:{glob:e};let l={...e,root:e.root??n},d=l.root,h=e.glob;if(l.glob=rX(e.glob),l.glob.startsWith(dr.cwd)&&(l.glob=l.glob.replace(dr.cwd,""),l.root=dr.cwd),l.root.startsWith(dr.cwd)){let m=l.root.replace(dr.cwd,"./"),g=s.toFileDirURL(m,a);g.pathname=V3.normalize(g.pathname),l.root=s.urlToFilePathOrHref(g)}let f=c??uX(l.glob);return l.root=s.urlToFilePathOrHref(s.toFileDirURL(l.root,u)),ZK(l.glob,i).map(m=>({...l,glob:m,rawGlob:h,rawRoot:d,isGlobalPattern:f}))}function Lg(e,t,n){let r=Y3(n);e={...e},lX(e,r);let i=r.toFileDirURL(t);if(t=r.urlToFilePathOrHref(i),e.root===t)return e;let s=r.toFileDirURL(e.root),o=r.relative(i,s);if(!o)return e;if(e.isGlobalPattern)return{...e,root:t};let a=r.relative(s,i),u=Ef(o),c=Ef(a);if(!u&&!c)return e;let l=e.glob.startsWith("!"),d=l?e.glob.slice(1):e.glob,h=l?"!":"";if(u){let p=o;return{...e,glob:h+V3.join(p,d),root:t}}let f=nX(d,Cf(o),Cf(a));return f?{...e,glob:h+f,root:t}:e}function Cf(e){return e.endsWith("/")?e:e+"/"}function Ef(e){return!e||!(e===".."||e.startsWith("../")||e.startsWith("/"))}function nX(e,t,n){if(!n||n==="/"||t.startsWith("../")&&!n.startsWith("../")&&e.startsWith("**"))return e;t=Cf(t),n=Cf(n);let r=t.split("/"),i=n.split("/");if(e.startsWith(n)&&t==="../".repeat(r.length-1))return e.slice(n.length);let s=r.findIndex(u=>u!==".."),o=s<0?r.length:s,a=[...r.slice(o).filter(u=>u),...e.split("/")];if(r.length=o,t.startsWith("../")&&i.length!==r.length+1)return t+(e.startsWith("/")?e.slice(1):e);for(let u=0;u=0&&e[n]in sX;)--n;return e[n]==="\\"&&++n,++n,n?e.slice(0,n):""}function aX(e){return e.trimStart()}function uX(e){return KK.test(e)}function cX(e,t){return e.startsWith(dr.cwd)?new URL(t.normalizeFilePathForUrl(e.replace(dr.cwd,".")),t.cwd):t.toFileDirURL(e)}function lX(e,t){return e.root.startsWith(dr.cwd)||(e.root=t.urlToFilePathOrHref(cX(e.root,t))),e}function Q3(e){let t={};return e.split("/").map(n=>t[n]?`{${n},${n}}`:n).join("/")}var jX=B(require("node:path"),1);var ST=B(DT(),1);var WX=!1,$X=0,ds=class{matchEx;path;patterns;patternsNormalizedToRoot;root;dot;options;id;constructor(t,n,r){this.id=$X++;let i=typeof n=="string"||n instanceof URL?{root:n.toString()}:n??{},s=i.mode??"exclude",o=s!=="include",a=i.nodePath??r??jX;this.path=a;let u=i.cwd??a.resolve(),c=i.dot??o,l=i.nested??o,d=i.nobrace,h=i.root??a.resolve(),f=new Yr({path:a}),p=f.toFileDirURL(h),m=f.urlToFilePathOrHref(p);this.options={root:m,dot:c,nodePath:a,nested:l,mode:s,nobrace:d,cwd:u},t=Array.isArray(t)?t:typeof t=="string"?t.split(/\r?\n/g):[t];let g=Z3(t,this.options);this.patternsNormalizedToRoot=g.map(x=>Lg(x,m,a)).filter(x=>f.relative(f.toFileDirURL(x.root),p)===""),this.patterns=g,this.root=m,this.dot=c,this.matchEx=HX(this.id,this.patterns,this.options)}match(t){return this.matchEx(t).matched}};function HX(e,t,n){let{nodePath:r,dot:i,nobrace:s}=n,o=new Yr({path:r}),a={dot:i,nobrace:s},u=K3.suffixDir,c=t.map((p,m)=>({pattern:p,index:m})).filter(p=>!!p.pattern.glob).filter(p=>!p.pattern.glob.startsWith("#")).map(({pattern:p,index:m})=>{let g=p.glob.match(/^!/),x=p.glob.replace(/^!/,""),b=g&&g[0].length&1&&!0||!1,y=ST.default.makeRe(Q3(x),a),D=p.glob.endsWith(u)?w=>y.test(w)||w.endsWith("/")&&y.test(w+" "):w=>y.test(w);return{pattern:p,index:m,isNeg:b,fn:D,reg:y}}),l=c.filter(p=>p.isNeg),d=c.filter(p=>!p.isNeg),h=new Map;return p=>{let m=o.toFileURL(p),g=o.relative(new URL("file:///"),m),x=new URL("placeHolder://"),b="";function y(T){let v=h.get(T);if(v)return v;let k=o.toFileDirURL(T);return h.set(T,k),k}function D(T){return T.href!==x.href&&(x=T,b=o.relative(T,m)),b}function w(T,v){for(let k of T){let A=k.pattern,L=A.root,_=y(L),R=!A.isGlobalPattern,F=g;if(R){let E=D(_);if(!Ef(E))continue;F=E}if(k.fn(F))return{matched:v,glob:A.glob,root:L,pattern:A,index:k.index,isNeg:k.isNeg}}}let C=w(l,!1)||w(d,!0)||{matched:!1};return WX&&GX(e,p,C),C}}function GX(e,t,n){console.warn("%s;%d;%s",t,e,JSON.stringify(n.matched))}var Vg=B(require("node:assert"),1);var Af="0.1",jg="0.2",Wg=jg,Da="CSPELL_GLOB_ROOT",kf="@cspell/cspell-bundled-dicts/cspell-default.json";var ii=class{map=new gt;_toDispose;constructor(){this._toDispose=bn(()=>{this.clear()})}get(t,n,r){return this.map.get(t,()=>new gt).get(n,()=>r(t,n))}clear(){this.map.clear()}dispose(){this.map.dispose(),this._toDispose?.dispose(),this._toDispose=void 0}stats(){return this.map.stats()}};var wT=new ii,AT=new ii;function hr(e,t){if(!Array.isArray(e))return Array.isArray(t)?t:void 0;if(!Array.isArray(t)||!t.length)return e;if(!e.length)return t;let n=wT.get(e,t,(r,i)=>[...new Set([...r,...i])]);return Object.freeze(e),Object.freeze(t),Object.freeze(n),n}function vf(e,t){if(!Array.isArray(e))return Array.isArray(t)?t:void 0;if(!Array.isArray(t))return e;if(!e.length)return t;if(!t.length)return e;let n=AT.get(e,t,(r,i)=>[...r,...i]);return Object.freeze(e),Object.freeze(t),Object.freeze(n),n}function $g(){return{cacheMergeListUnique:wT.stats(),cacheMergeLists:AT.stats()}}var vT=/(\p{Ll}\p{M}?)(\p{Lu})/gu,FT=/(\p{Lu}\p{M}?)((\p{Lu}\p{M}?)\p{Ll})/gu,Hg=/(?<=\p{Ll}\p{M}?)(?=\p{Lu})|(?<=\p{Lu}\p{M}?)(?=\p{Lu}\p{M}?\p{Ll})(?!\p{Lu}\p{M}?(?:s|ing|ies|es|ings|ed|ning)(?!\p{Ll}))/gu;var TT=/\p{L}\p{M}?(?:(?:\\?['’])?\p{L}\p{M}?)*/gu,Ff=/[\p{L}\w'’`.+-](?:(?:\\(?=[']))?[\p{L}\p{M}\w'’`.+-])*/gu,hs=/[\p{sc=Hiragana}\p{sc=Han}\p{sc=Katakana}\u30A0-\u30FF\p{sc=Hangul}]/gu;var IT=/[-+_’'`.\s]/g,VX=/^\s*\/([\s\S]*?)\/([gimuxy]*)\s*$/;var _T=/(?<=\\)[anrvtbf]/gi,LT=/(?<=(?:^|(?!\p{M})\P{L})(?:\p{L}\p{M}?)?)[']/gu,RT=/(?<=(?:\p{Lu}\p{M}?){2})['’]?(?:s|d|ings?|ies|e[ds]?|ning|th|nth)(?!\p{Ll})/gu,NT=/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][-+]?\d+)?$/;function BT(e,t="gimu",n="g"){if(e instanceof RegExp)return e;try{let[,r,i]=[...e.match(VX)||["",e.trim(),t],n];if(r){let s=i.includes("x")?KX(r):r,o=[...new Set(n+i)].join("").replaceAll(/[^gimuy]/g,"");return new RegExp(s,o)}}catch{}}var kT={" ":!0,"\n":!0,"\r":!0," ":!0};function KX(e){function t(u){if(e[u.idx]!=="\\")return;let l=e[++u.idx];return u.idx++,l==="#"?(u.result+="#",u):l in kT?(u.result+=l,l==="\r"&&e[u.idx]===` +`&&(u.result+=` +`,u.idx++),u):(u.result+="\\"+l,u)}function n(u){let c=e[u.idx];if(c!=="[")return;u.result+=c,u.idx++;let l=0;for(;u.idx[u.name.toLowerCase(),u.pattern])),r=new Set;function i(u){if(!r.has(u))return r.add(u),n.get(u.toString().toLowerCase())||u}function*s(u){for(let c of u)Array.isArray(c)?yield*s(c.map(i).filter(At)):yield c}let o=e.map(i).filter(At),a=[...s(o)].map(QX).filter(At);return Object.freeze(e),Object.freeze(t),Object.freeze(a),a}function QX(e){return e instanceof RegExp?new RegExp(e):BT(e,"gim","g")}var Tf=class{#e;#t;#n;#r;constructor(){this.#n=process.cwd(),this.#r=Je(this.#n),this.#e=this.#n,this.#t=this.#r}resolveUrl(t){return t=t||this.#n,t===this.#e?this.#t:t===this.#n?this.#r:(this.#e=t,this.#t=pe(t),this.#t)}reset(t=process.cwd()){this.#n=t,this.#r=Je(this.#n)}};var UT=[];Object.freeze(UT);var zT=new gt,qT=new gt,jT=new gt,WT=new gt,$T=new Map,HT=new Tf,GT=process.env[Da];bn(()=>{WT.clear(),$T.clear(),zT.clear(),qT.clear(),jT.clear(),HT.reset(),GT=process.env[Da]});function eJ(e,t){let n=rs(zT,e,()=>new WeakMap);return rs(n,t,()=>[...e,...t])}function Sa(e,t){return!Array.isArray(e)||!e.length?Array.isArray(t)?t.length?t:UT:void 0:!Array.isArray(t)||!t.length?e:eJ(e,t)}function MT(e,t){return!e||typeof e!="object"?!t||typeof t!="object"?void 0:t:!t||typeof t!="object"?e:{...e,...t}}function tJ(e=[],t=[]){let n=t.filter(r=>!!r);return n.length?n:e}function _e(e,...t){let n=t.filter(At).reduce(nJ,pr(e));return He(n)}function PT(e){return!e||Object.keys(e).length===0}function nJ(e,t){let n=qT.get(e,()=>new WeakMap);return rs(n,t,()=>rJ(e,t))}function rJ(e,t){let n=pr(e),r=pr(t);if(e===t||PT(t))return n;if(PT(e)||iJ(n,r))return r;if(sJ(n,r))return n;let i=VT(n.includeRegExpList,r.includeRegExpList),s=i?.length?{includeRegExpList:i}:{},o=cJ(n.version,r.version);return ql({...n,...r,...s,...{name:void 0,id:void 0,description:void 0,globRoot:void 0,import:void 0,__importRef:void 0},version:o,words:Sa(n.words,r.words),userWords:Sa(n.userWords,r.userWords),flagWords:Sa(n.flagWords,r.flagWords),ignoreWords:Sa(n.ignoreWords,r.ignoreWords),suggestWords:Sa(n.suggestWords,r.suggestWords),enabledLanguageIds:tJ(n.enabledLanguageIds,r.enabledLanguageIds),enableFiletypes:vf(n.enableFiletypes,r.enableFiletypes),enabledFileTypes:MT(n.enabledFileTypes,r.enabledFileTypes),ignoreRegExpList:hr(n.ignoreRegExpList,r.ignoreRegExpList),patterns:hr(n.patterns,r.patterns),dictionaryDefinitions:hr(n.dictionaryDefinitions,r.dictionaryDefinitions),dictionaries:hr(n.dictionaries,r.dictionaries),noSuggestDictionaries:hr(n.noSuggestDictionaries,r.noSuggestDictionaries),languageSettings:vf(n.languageSettings,r.languageSettings),enabled:r.enabled!==void 0?r.enabled:n.enabled,files:hr(n.files,r.files),ignorePaths:OT(n.ignorePaths,r.ignorePaths,o),overrides:OT(n.overrides,r.overrides,o),features:MT(n.features,r.features),source:uJ(n,r),plugins:vf(n.plugins,r.plugins),__imports:lJ(n,r)})}function OT(e,t,n){return n===Af?VT(e,t):hr(e,t)}function iJ(e,t){return Kg(t,e,0)}function sJ(e,t){return Kg(e,t,1)}function Kg(e,t,n){let r=e.source?.sources;if(!r)return!1;let i=n?r.length-1:0,s=r[i];return s===t||s&&Kg(s,t,n)||!1}function VT(e,t){return t?.length?t:e||t}function ps(e){return oJ(pr(e))}function oJ(e){let t={...e,finalized:!0,ignoreRegExpList:Gg(e.ignoreRegExpList,e.patterns),includeRegExpList:Gg(e.includeRegExpList,e.patterns),parserFn:dJ(e)};return t.name="Finalized "+(t.name||""),t.source={name:e.name||"src",sources:[e]},t}function pr(e){if(e!==void 0)return Pv(e)?e:jT.get(e,aJ)}function aJ(e){let{dictionaryDefinitions:t,...n}=e,r=t&&aa(t,e.source?.filename&&vt(e.source?.filename)||fJ()),i=r?{...n,dictionaryDefinitions:r}:n;return ql(i)}function uJ(e,t){return{name:"merged",sources:[e,t]}}function cJ(e,t){return e==null?t:t==null||e>t?e:t}function Xg(e){let t=new Set,n=[];function r(i){if(!(!i||t.has(i))){if(t.add(i),!i.source?.sources?.length){n.push(i);return}i.source.sources.forEach(r)}}return r(e),n}function lJ(e,t={}){let n=new Map(e.__imports||[]);e.__importRef&&n.set(e.__importRef.filename,e.__importRef),t.__importRef&&n.set(t.__importRef.filename,t.__importRef);let r=t.__imports?.values()||[];for(let i of r)n.set(i.filename,i);return n.size?n:void 0}function fJ(){return HT.resolveUrl(GT)}function dJ(e){if(!e.parser)return;if(typeof e.parser=="function")return e.parser;let t=e.parser;(0,Vg.default)(typeof t=="string");let r=mJ(e.plugins).get(t);return(0,Vg.default)(r,`Parser "${t}" not found.`),r}function*hJ(e){for(let t of e)if(t.parsers)for(let n of t.parsers)yield[n.name,n]}function pJ(e){return new Map(hJ(e))}function mJ(e){return!e||!e.length?$T:WT.get(e,pJ)}function rn(e,t,n){return new Jg(e,t,n)}var Jg=class{name;onEnd;timeNowFn;_start=performance.now();_elapsed=void 0;_running=!0;constructor(t,n,r=performance.now){this.name=t,this.onEnd=n,this.timeNowFn=r}get startTime(){return this._start}get elapsed(){return this._elapsed??performance.now()-this._start}end(){if(!this._running)return;this._running=!1;let t=performance.now();this._elapsed=t-this._start,this.onEnd?.(this._elapsed,this.name)}start(){this._start=performance.now(),this._running=!0}};var Yg=new Map,Zg=new WeakMap;bn(()=>{Zg=new WeakMap,Yg.clear()});var xJ=[];function If(e){return!e||Array.isArray(e)&&!e.length?KT(xJ):typeof e=="string"?bJ(e):KT(e)}function bJ(e){let t=Yg.get(e);if(t)return t;let n=new ds(e);return Yg.set(e,n),n}function KT(e){let t=Zg.get(e);if(t)return t;let n=new ds(e);return Zg.set(e,n),n}function XT(e,t){return If(t).match(e)}function Qg(e,t){let n=pr(e);return(n.overrides||[]).filter(s=>XT(t,s.filename)).reduce((s,o)=>_e(s,o),n)}var u1=B(require("node:assert"),1),SL=B(require("node:path"),1),Zf=require("node:url");var C_=require("node:path/posix");var sn=class{url;constructor(t){this.url=t}get readonly(){return this.settings.readonly||this.url.protocol!=="file:"}get virtual(){return!1}get remote(){return this.url.protocol!=="file:"}},wa=class extends sn{},Ft=class extends sn{url;settings;constructor(t,n){super(t),this.url=t,this.settings=n}setSchema(t){return this}removeAllComments(){if(this.readonly)throw new Error(`Config file is readonly: ${this.url.href}`);return this}addWords(t){if(this.readonly)throw new Error(`Config file is readonly: ${this.url.href}`);let n=this.settings.words||[];return this.settings.words=n,yJ(n,t),this}setComment(t,n,r){if(this.readonly)throw new Error(`Config file is readonly: ${this.url.href}`);return this}setValue(t,n){if(this.readonly)throw new Error(`Config file is readonly: ${this.url.href}`);return this.settings[t]=n,this}};function yJ(e,t){e.push(...t),e.sort();for(let n=1;n-1&&n!=="'"&&eZ(e,t));return t>-1&&(t+=r.length,r.length>1&&(e[t]===n&&t++,e[t]===n&&t++)),t}var tZ=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}:\d{2}(?:\.\d+)?)?(Z|[-+]\d{2}:\d{2})?$/i,Ba=class e extends Date{#e=!1;#t=!1;#n=null;constructor(t){let n=!0,r=!0,i="Z";if(typeof t=="string"){let s=t.match(tZ);s?(s[1]||(n=!1,t=`0000-01-01T${t}`),r=!!s[2],r&&t[10]===" "&&(t=t.replace(" ","T")),s[2]&&+s[2]>23?t="":(i=s[3]||null,t=t.toUpperCase(),!i&&r&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#e=n,this.#t=r,this.#n=i)}isDateTime(){return this.#e&&this.#t}isLocal(){return!this.#e||!this.#t||!this.#n}isDate(){return this.#e&&!this.#t}isTime(){return this.#t&&!this.#e}isValid(){return this.#e||this.#t}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#n===null)return t.slice(0,-1);if(this.#n==="Z")return t;let n=+this.#n.slice(1,3)*60+ +this.#n.slice(4,6);return n=this.#n[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#n}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#n=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#n=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#t=!1,n.#n=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#e=!1,n.#n=null,n}};var nZ=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,rZ=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,iZ=/^[+-]?0[0-9_]/,sZ=/^[0-9a-f]{4,8}$/i,r_={b:"\b",t:" ",n:` +`,f:"\f",r:"\r",'"':'"',"\\":"\\"};function qf(e,t=0,n=e.length){let r=e[t]==="'",i=e[t++]===e[t]&&e[t]===e[t+1];i&&(n-=2,e[t+=2]==="\r"&&t++,e[t]===` +`&&t++);let s=0,o,a="",u=t;for(;t-1&&(Na(e,s),i=i.slice(0,s));let o=i.trimEnd();if(!r){let a=i.indexOf(` +`,o.length);if(a>-1)throw new ae("newlines are not allowed in inline tables",{toml:e,ptr:t+a})}return[o,s]}function Ma(e,t,n,r,i){if(r===0)throw new ae("document contains excessively nested structures. aborting.",{toml:e,ptr:t});let s=e[t];if(s==="["||s==="{"){let[u,c]=s==="["?o_(e,t,r,i):s_(e,t,r,i),l=n?Tx(e,c,",",n):c;if(c-l&&n==="}"){let d=ys(e,c,l);if(d>-1)throw new ae("newlines are not allowed in inline tables",{toml:e,ptr:d})}return[u,l]}let o;if(s==='"'||s==="'"){o=zf(e,t);let u=qf(e,t,o);if(n){if(o=yt(e,o,n!=="]"),e[o]&&e[o]!==","&&e[o]!==n&&e[o]!==` +`&&e[o]!=="\r")throw new ae("unexpected character encountered",{toml:e,ptr:o});o+=+(e[o]===",")}return[u,o]}o=Tx(e,t,",",n);let a=oZ(e,t,o-+(e[o-1]===","),n==="]");if(!a[0])throw new ae("incomplete key-value declaration: no value specified",{toml:e,ptr:t});return n&&a[1]>-1&&(o=yt(e,t+a[1]),o+=+(e[o]===",")),[i_(a[0],e,t,i),o]}var aZ=/^[a-zA-Z0-9-_]+[ \t]*$/;function jf(e,t,n="="){let r=t-1,i=[],s=e.indexOf(n,t);if(s<0)throw new ae("incomplete key-value: cannot find end of key",{toml:e,ptr:t});do{let o=e[t=++r];if(o!==" "&&o!==" ")if(o==='"'||o==="'"){if(o===e[t+1]&&o===e[t+2])throw new ae("multiline strings are not allowed in keys",{toml:e,ptr:t});let a=zf(e,t);if(a<0)throw new ae("unfinished string encountered",{toml:e,ptr:t});r=e.indexOf(".",a);let u=e.slice(a,r<0||r>s?s:r),c=ys(u);if(c>-1)throw new ae("newlines are not allowed in keys",{toml:e,ptr:t+r+c});if(u.trimStart())throw new ae("found extra tokens after the string part",{toml:e,ptr:a});if(ss?s:r);if(!aZ.test(a))throw new ae("only letter, numbers, dashes and underscores are allowed in keys",{toml:e,ptr:t});i.push(a.trimEnd())}}while(r+1&&rBx(s)));t.forEach(s=>{r.has(s)||(n.add(s),r.add(s))});let i=xZ(n.items);return i.forEach((s,o)=>n.set(o,s)),n.items.length=i.length,this.#r("words",n),this.#n(),this}serialize(){return(0,ie.stringify)(this.yamlDoc,{indent:this.indent})}setValue(t,n){if(Ua(n)){let r=this.#t(t);r?SZ(r,n):(r=this.yamlDoc.createNode(n.value),zx(r,n),this.#r(t,r))}else this.#r(t,n);return this.#n(),this}getValue(t){return this.#t(t)?.toJS(this.yamlDoc)}#t(t){return yr(this.yamlDoc,t)}getNode(t,n){let r=this.#t(t);if(!r){if(n===void 0)return;r=this.yamlDoc.createNode(n),this.#r(t,r)}return this.#n(),Wf(this.yamlDoc,r)}getFieldNode(t){let n=this.yamlDoc.contents;if(!(0,ie.isMap)(n))return;let r=f_(n,t),i=r&&this.#i(r);if(i)return Wf(this.yamlDoc,i.key)}delete(t){let n=this.yamlDoc.delete(t);return n&&this.#n(),n}get comment(){return this.yamlDoc.comment??void 0}set comment(t){this.yamlDoc.comment=t??null}setSchema(t){d_(this.yamlDoc);let n=this.yamlDoc.commentBefore||"";n=n.replace(/^ yaml-language-server: \$schema=.*\n?/m,""),n=` yaml-language-server: $schema=${t}`+(n?` +`+n:""),this.yamlDoc.commentBefore=n;let i=this.#s().items[0];if(i&&(0,ie.isPair)(i)){let s=i.key;(0,ie.isNode)(s)&&d_(s)}return this.getNode("$schema")&&this.setValue("$schema",t),this}removeAllComments(){let t=this.yamlDoc;return t.comment=null,t.commentBefore=null,(0,ie.visit)(this.yamlDoc,(n,r)=>{((0,ie.isScalar)(r)||(0,ie.isMap)(r)||(0,ie.isSeq)(r))&&(r.comment=null,r.commentBefore=null)}),this}setComment(t,n,r){let i=this.getFieldNode(t);return i?(r?i.comment=n:i.commentBefore=n,this):this}#n(){this.#e=void 0}#r(t,n){this.yamlDoc.set(t,n);let r=this.#s(),i=f_(r,t);(0,un.default)(i,`Expected pair for key: ${String(t)}`),this.#i(i)}#o(t){return(0,ie.isNode)(t)?t:this.yamlDoc.createNode(t)}#i(t){return(0,un.default)((0,ie.isPair)(t),"Expected pair to be a Pair"),t.key=this.#o(t.key),t.value=this.#o(t.value),t}#s(){let t=this.yamlDoc.contents;return(0,un.default)((0,ie.isMap)(t),"Expected contents to be a YAMLMap"),t}static parse(t){return Ux(t)}static from(t,n,r=2){let i=new ie.Document(n);return new e(t,i,r)}};function Ux(e){let{url:t,content:n}=e;try{let r=(0,ie.parseDocument)(n);if((r.contents===null||(0,ie.isScalar)(r.contents)&&!r.contents.value)&&(r.contents=new ie.YAMLMap),!(0,ie.isMap)(r.contents))throw new dt(t,`Invalid YAML content ${t}`);let i=t_(n);return new Cs(t,r,i)}catch(r){throw r instanceof dt?r:new dt(t,void 0,{cause:r})}}function Bx(e){return(0,ie.isScalar)(e)?e.value:e}function l_(e){return(0,ie.isScalar)(e)?e:new ie.Scalar(e)}function pZ(e){let t=[];if(e.length===0)return t;let n=[];t.push(n);for(let r of e)mZ(r)&&(n=[],t.push(n)),n.push(bZ(r));return t}function mZ(e){return!(0,ie.isScalar)(e)||!e.commentBefore&&!e.spaceBefore?!1:e.spaceBefore?!0:e.commentBefore?e.commentBefore.includes(` + +`):!1}function gZ(e,t,n){if(!(0,ie.isScalar)(t))return;let r=n;if(t.spaceBefore&&(e.spaceBefore=!0,r=!0,delete t.spaceBefore),!t.commentBefore)return;let i=t.commentBefore,s=i.split(/^\n/gm),o=s[s.length-1];r=r&&i.trim()===o.trim()||i.endsWith(` +`);let a=i;r?delete t.commentBefore:(t.commentBefore=o,s.pop(),a=s.join(` +`)),e.commentBefore&&(a+=a.endsWith(` + +`)?"":` +`,a+=a.endsWith(` + +`)?"":` +`,a+=e.commentBefore),e.commentBefore=a}function xZ(e){let t=new Intl.Collator().compare,n=pZ(e),r=!0;for(let s of n){let o=s[0];if(s.sort((a,u)=>t(Bx(a),Bx(u))),s[0]!==o&&(0,ie.isScalar)(o)){let a=s[0]=l_(s[0]);gZ(a,o,r)}r=!1}return n.flat().map(s=>l_(s))}function bZ(e){return(0,ie.isScalar)(e)?e.clone():e}function yr(e,t){return Array.isArray(t)?e.getIn(t,!0):e.get(t,!0)}function Wf(e,t){if(DZ(t))return yZ(e,t);if((0,ie.isMap)(t))return CZ(e,t);if((0,ie.isScalar)(t))return EZ(e,t);throw new Error(`Unsupported YAML node type: ${h_(t)}`)}var za=class{type;constructor(t){this.type=t}},Mx=class extends za{#e;#t;constructor(t,n){super("array"),this.#e=t,this.#t=n}get value(){return this.#t.toJS(this.#e)}get comment(){return this.#t.comment??void 0}set comment(t){this.#t.comment=t??null}get commentBefore(){return this.#t.commentBefore??void 0}set commentBefore(t){this.#t.commentBefore=t??null}getNode(t){let n=yr(this.#t,t);if(n)return Wf(this.#e,n)}getValue(t){let n=yr(this.#t,t);if(n)return n.toJS(this.#e)}setValue(t,n){if(!Ua(n)){this.#t.set(t,n);return}this.#t.set(t,n.value);let r=yr(this.#t,t);(0,un.default)(r),r.comment=n.comment??null,r.commentBefore=n.commentBefore??null}delete(t){return this.#t.delete(t)}push(t){return Ua(t)?(this.#t.add(t.value),zx(yr(this.#t,this.#t.items.length-1),t),this.#t.items.length):(this.#t.add(t),this.#t.items.length)}get length(){return this.#t.items.length}};function yZ(e,t){return new Mx(e,t)}var Px=class extends za{#e;#t;constructor(t,n){super("object"),this.#e=t,this.#t=n}get value(){return this.#t.toJS(this.#e)}get comment(){return this.#t.comment??void 0}set comment(t){this.#t.comment=t??null}get commentBefore(){return this.#t.commentBefore??void 0}set commentBefore(t){this.#t.commentBefore=t??null}getValue(t){let n=yr(this.#t,t);if(n)return n.toJS(this.#e)}getNode(t){let n=yr(this.#t,t);if(n)return Wf(this.#e,n)}setValue(t,n){if(!Ua(n)){this.#t.set(t,n);return}this.#t.set(t,n.value);let r=yr(this.#t,t);(0,un.default)(r),r.comment=n.comment??null,r.commentBefore=n.commentBefore??null}delete(t){return this.#t.delete(t)}};function CZ(e,t){return new Px(e,t)}var Ox=class extends za{$doc;$yNode;type="scalar";constructor(t,n){super("scalar"),this.$doc=t,this.$yNode=n,(0,un.default)((0,ie.isScalar)(n),"Expected yNode to be a Scalar")}get value(){return this.$yNode.toJS(this.$doc)}set value(t){this.$yNode.value=t}get comment(){return this.$yNode.comment??void 0}set comment(t){this.$yNode.comment=t??null}get commentBefore(){return this.$yNode.commentBefore??void 0}set commentBefore(t){this.$yNode.commentBefore=t??null}toJSON(){return{type:this.type,value:this.value,comment:this.comment,commentBefore:this.commentBefore}}};function EZ(e,t){return new Ox(e,t)}function DZ(e){return(0,ie.isSeq)(e)}function h_(e){return(0,ie.isScalar)(e)?"scalar":(0,ie.isSeq)(e)?"seq":(0,ie.isMap)(e)?"map":(0,ie.isAlias)(e)?"alias":"unknown"}function zx(e,t){e&&("comment"in t&&(e.comment=t.comment??null),"commentBefore"in t&&(e.commentBefore=t.commentBefore??null))}function SZ(e,t){if(zx(e,t),(0,ie.isScalar)(e)){e.value=t.value;return}let n=t.value;if((0,ie.isSeq)(e)){(0,un.default)(Array.isArray(n),"Expected value to be an array for YAMLSeq"),e.items=[];for(let r=0;r{throw new Error(`Unable to parse config file: "${e.url}"`)},m_=e=>{throw new Error(`Unable to serialize config file: "${e.url}"`)};function g_(e){let t=p_;for(let n of e)t=wZ(n,t);return t}function x_(e){let t=m_;for(let n of e)t=AZ(n,t);return t}function wZ(e,t){return n=>e.deserialize(n,t)}function AZ(e,t){return n=>e.serialize(n,t)}function kZ(e,t){return n=>e.load(n,t)}async function vZ(e){let{io:t,deserialize:n}=e.context,r=e.url,i=await t.readFile(r);return n(i)}function b_(e){let t=vZ;for(let n of e)t=kZ(n,t);return t}function y_(e){return typeof e=="string"?new URL(e):e}var $f=class{io;middleware;loaders;constructor(t,n,r){this.io=t,this.middleware=n,this.loaders=r}_untrustedExtensions=new Set;_trustedUrls=[];get untrustedExtensions(){return[...this._untrustedExtensions]}get trustedUrls(){return[...this._trustedUrls].map(t=>new URL(t))}readConfig(t){let n=new URL(t);return FZ(n,this._trustedUrls,this._untrustedExtensions)?b_(this.loaders)({url:y_(t),context:{deserialize:this.getDeserializer(),io:this.io}}):Promise.reject(new qx(n))}toCSpellConfigFile(t){return t instanceof sn?t:new mr(t.url,t.settings)}getDeserializer(){return g_(this.middleware)}parse(t){return this.getDeserializer()(t)}serialize(t){return x_(this.middleware)(t)}async writeConfig(t){if(t.readonly)throw new Error(`Config file is readonly: ${t.url.href}`);let n=this.serialize(t);return{url:(await this.io.writeFile({url:t.url,content:n})).url}}setUntrustedExtensions(t){return this._untrustedExtensions.clear(),t.forEach(n=>this._untrustedExtensions.add(n.toLowerCase())),this}setTrustedUrls(t){return this._trustedUrls=[...new Set(t.map(n=>new URL(n).href))].sort(),this}clearCachedFiles(){for(let t of this.loaders)t.reset?.()}};function FZ(e,t,n){let r=e.pathname,i=(0,C_.extname)(r).toLowerCase();if(!n.has(i))return!0;let s=e.href;return t.some(o=>s.startsWith(o))}var qx=class extends Error{constructor(t){super(`Untrusted URL: "${t.href}"`)}};var jx=require("node:fs"),E_={readFile:TZ,writeFile:IZ};async function TZ(e){let t=await jx.promises.readFile(e,"utf8");return{url:e,content:t}}async function IZ(e){return await jx.promises.writeFile(e.url,e.content),{url:e.url}}var D_=require("node:path/posix");var _Z=!1,Wx=_Z?console.warn.bind(console):()=>{};async function LZ(e,t){try{let n=new URL(e.href);n.hash=`${n.hash};loaderSuffix=${t}`,Wx("importJavaScript: %o",{url:n.href});let r=await import(n.href),i=await(r.default??r),s=typeof i=="function"?await i():i;return new Aa(e,s)}catch(n){throw Wx("importJavaScript Error: %o",{url:e.href,error:n,hashSuffix:t}),n}finally{Wx("importJavaScript Done: %o",{url:e.href,hashSuffix:t})}}var $x=class{hashSuffix=1;async _load(t,n){let{url:r}=t;switch((0,D_.extname)(r.pathname).toLowerCase()){case".js":case".cjs":case".mjs":return LZ(r,this.hashSuffix)}return n(t)}load=this._load.bind(this);reset(){this.hashSuffix+=1}},S_=new $x;var w_=[S_];function RZ(e,t){return NZ(e.url.pathname)?Fx(e):t(e)}function NZ(e){return e=e.toLowerCase(),e.endsWith(".json")||e.endsWith(".jsonc")}function BZ(e,t){return e instanceof _n?e.serialize():t(e)}var A_={deserialize:RZ,serialize:BZ};function MZ(e,t){return PZ(e.url.pathname)?c_(e):t(e)}function PZ(e){return e=e.toLowerCase(),e.endsWith(".toml")}function OZ(e,t){return e instanceof Oa?e.serialize():t(e)}var k_={deserialize:MZ,serialize:OZ};function UZ(e,t){return zZ(e.url.pathname)?Ux(e):t(e)}function zZ(e){return e=e.toLowerCase(),e.endsWith(".yml")||e.endsWith(".yaml")}function qZ(e,t){return e instanceof Cs?e.serialize():t(e)}var v_={deserialize:UZ,serialize:qZ};var jZ=/\bpackage\.json$/i;function WZ(e,t){return jZ.test(e.url.pathname)?n_(e):t(e)}function $Z(e,t){return e instanceof bs?e.serialize():t(e)}var F_={deserialize:WZ,serialize:$Z};var T_=[A_,v_,F_,k_];function Hx(e=[],t=[],n=E_){return new $f(n,[...T_,...e],[...w_,...t])}var I_=console;function Gx(...e){I_.error(...e)}function __(...e){I_.warn(...e)}var Gf=B(require("node:fs/promises"),1),ui=B(require("node:path"),1);var Te=B(require("node:path"),1),Vx=B(require("node:os"),1),Hf=B(require("node:process"),1),Cr=Vx.default.homedir(),Kx=Vx.default.tmpdir(),{env:Es}=Hf.default,HZ=e=>{let t=Te.default.join(Cr,"Library");return{data:Te.default.join(t,"Application Support",e),config:Te.default.join(t,"Preferences",e),cache:Te.default.join(t,"Caches",e),log:Te.default.join(t,"Logs",e),temp:Te.default.join(Kx,e)}},GZ=e=>{let t=Es.APPDATA||Te.default.join(Cr,"AppData","Roaming"),n=Es.LOCALAPPDATA||Te.default.join(Cr,"AppData","Local");return{data:Te.default.join(n,e,"Data"),config:Te.default.join(t,e,"Config"),cache:Te.default.join(n,e,"Cache"),log:Te.default.join(n,e,"Log"),temp:Te.default.join(Kx,e)}},VZ=e=>{let t=Te.default.basename(Cr);return{data:Te.default.join(Es.XDG_DATA_HOME||Te.default.join(Cr,".local","share"),e),config:Te.default.join(Es.XDG_CONFIG_HOME||Te.default.join(Cr,".config"),e),cache:Te.default.join(Es.XDG_CACHE_HOME||Te.default.join(Cr,".cache"),e),log:Te.default.join(Es.XDG_STATE_HOME||Te.default.join(Cr,".local","state"),e),temp:Te.default.join(Kx,t,e)}};function Xx(e,{suffix:t="nodejs"}={}){if(typeof e!="string")throw new TypeError(`Expected a string, got ${typeof e}`);return t&&(e+=`-${t}`),Hf.default.platform==="darwin"?HZ(e):Hf.default.platform==="win32"?GZ(e):VZ(e)}var R_=B(require("os"),1),ja=B(require("path"),1),Er=R_.default.homedir(),{env:ai}=process,L_=ai.XDG_DATA_HOME||(Er?ja.default.join(Er,".local","share"):void 0),qa=ai.XDG_CONFIG_HOME||(Er?ja.default.join(Er,".config"):void 0),iDe=ai.XDG_STATE_HOME||(Er?ja.default.join(Er,".local","state"):void 0),sDe=ai.XDG_CACHE_HOME||(Er?ja.default.join(Er,".cache"):void 0),oDe=ai.XDG_RUNTIME_DIR||void 0,KZ=(ai.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");L_&&KZ.unshift(L_);var XZ=(ai.XDG_CONFIG_DIRS||"/etc/xdg").split(":");qa&&XZ.unshift(qa);var JZ="cspell",YZ=qa?ui.default.join(qa,"configstore"):void 0,Vf=Xx(JZ,{suffix:""}).config,Jx="cspell.json",ZZ=[Vf,YZ].filter(At),Wa=class{#e;#t;constructor(t=Jx){this.#t=t}async#n(t){try{let n=await Gf.default.readFile(t,"utf8");return{filename:t,config:JSON.parse(n)}}catch{return}}async readConfigFile(){if(this.#e){let r=await this.#n(this.#e);if(r)return r}let t=ui.default.resolve(Vf,this.#t),n=new Set([t,...ZZ.map(r=>ui.default.resolve(r,Jx))]);for(let r of n){let i=await this.#n(r);if(i)return this.#e=i.filename,i}}async writeConfigFile(t){return this.#e??=ui.default.join(Vf,this.#t),await Gf.default.mkdir(ui.default.dirname(this.#e),{recursive:!0}),await Gf.default.writeFile(this.#e,JSON.stringify(t,void 0,2)+` +`),this.#e}get location(){return this.#e}static create(){return new this}static defaultLocation=ui.default.join(Vf,Jx)};var N_=require("node:os"),B_=require("node:url");function Ds(e,t,n){if(e!==void 0){if(Array.isArray(e))return e.map(r=>Ds(r,t,n));if(typeof e=="string"){let r={glob:e};return t!==void 0&&(r.root=t),Ds(r,t,n)}return n?{...e,source:n}:e}}function M_(e){typeof e.version=="number"&&(e.version=e.version.toString()),e.import&&(e.import=$a(e.import))}function Yx(e,t){let n=aa(e.dictionaryDefinitions,t),r=e.languageSettings?.map(i=>He({...i,dictionaryDefinitions:aa(i.dictionaryDefinitions,t)}));return He({dictionaryDefinitions:n,languageSettings:r})}function P_(e,t){let{globRoot:n=Ee(new URL(".",t))}=e,r=e.overrides?.map(i=>{let s=Ds(i.filename,n,Ee(t)),{dictionaryDefinitions:o,languageSettings:a}=Yx(i,t);return He({...i,filename:s,dictionaryDefinitions:o,languageSettings:Zx(a)})});return r?{overrides:r}:{}}async function O_(e,t){if(e.reporters===void 0)return{};async function n(i){if(i==="default")return i;let s=await hf(i,t);if(!s.found)throw new Error(`Not found: "${i}"`);return s.filename}async function r(i){if(typeof i=="string")return n(i);if(!Array.isArray(i)||typeof i[0]!="string")throw new Error("Invalid Reporter");let[s,...o]=i;return[await n(s),...o]}return{reporters:await Promise.all(e.reporters.map(r))}}function Zx(e){if(!e)return;function t(n){let{local:r,...i}=n;return He({locale:r,...i})}return e.map(t)}function U_(e,t){let{gitignoreRoot:n}=e;return n?{gitignoreRoot:(Array.isArray(n)?n:[n]).map(i=>QZ(i,t))}:{}}function z_(e,t){let{globRoot:n}=e,r={};return e.ignorePaths&&(r.ignorePaths=Ds(e.ignorePaths,n,Ee(t))),e.files&&(r.files=Ds(e.files,n,Ee(t))),r}function q_(e,t){let{cache:n}=e;if(n===void 0)return{};let{cacheLocation:r}=n;return r===void 0?{cache:n}:{cache:{...n,cacheLocation:Ee(j_(r,t))}}}function j_(e,t){let n=process.cwd();return pe(e.replace("${cwd}",n).replace(/^~/,(0,N_.homedir)()),t)}function QZ(e,t){let n=j_(e,t);return n.protocol==="file:"?(0,B_.fileURLToPath)(n):n.toString()}function $a(e){return typeof e=="string"?[e]:Array.isArray(e)?e:[]}function Qx(e){if(!e)return{};let t=e.url,n=Ee(t),r={filename:n,error:void 0},i={name:e.settings.name||n,filename:e.virtual?void 0:n},s={...e.settings};s.import=$a(s.import),M_(s),s.source=i,e.virtual||(s.__importRef=r);let o=s.id||eQ(t),a=s.name||o;return s.id=o,s.name=e.settings.name||a,s}function eQ(e){return e.pathname.split("/").slice(-2).join("/")}var W_=new Wa;async function $_(){let e="CSpell Configstore",t=tQ(),n=t?pe(t):new URL("global-config.json",p3()),r={name:e,filename:Ee(n)},i={source:r},s=!1,o=await W_.readConfigFile();if(o&&o.config&&o.filename){let c=o.config;n=pe(o.filename),c&&Object.keys(c).length&&(Object.assign(i,c),i.source={name:e,filename:o.filename},s=Object.keys(c).length>0)}let a={...i,name:e,source:r},u=s?_n:mr;return new u(n,a)}function tQ(){try{return W_.location||Wa.defaultLocation}catch{return}}var Ha=class extends Error{cause;constructor(t,n){super(t),this.cause=Ao(n)?n:void 0}};var Kf=class extends Error{constructor(t){super(t)}};var i1=require("node:url"),hL=B(Q_(),1),pL=B(aL(),1);var cL=require("node:fs/promises"),ws=B(require("node:path"),1),lL=require("node:url");async function fL(e,t={}){let{cwd:n=process.cwd(),type:r="file",stopAt:i}=t,s=ws.default.resolve(uL(n)),o=ws.default.parse(s).root,a=uQ(e,r),u=ws.default.resolve(uL(i||o));for(;s!==o&&s!==u;){let c=await a(s);if(c!==void 0)return c;s=ws.default.dirname(s)}}function uQ(e,t){if(typeof e=="function")return e;let n=t==="file"?"isFile":"isDirectory";function r(i,s){let o=ws.default.join(i,s);return(0,cL.stat)(o).then(a=>a[n]()&&o||void 0).catch(()=>{})}return Array.isArray(e)?async i=>{let s=e.map(o=>r(i,o));for(let o of s){let a=await o;if(a)return a}}:i=>r(i,e)}function uL(e){return e instanceof URL?(0,lL.fileURLToPath)(new URL(".",e)):e}var cQ=[".pnp.cjs",".pnp.js"],lQ=new Set(["file:"]),Ga=new Map,ci,Va=new Map,mL=new Map,r1=class{pnpFiles;cacheKeySuffix;constructor(t=cQ){this.pnpFiles=t,this.cacheKeySuffix=":"+t.join(",")}async load(t){if(!dL(t))return;await ci;let n=this.calcKey(t),r=Ga.get(n);if(r)return r;let i=fQ(t,this.pnpFiles);Ga.set(n,i);let s=await i;return mL.set(n,s),s}async peek(t){if(!dL(t))return;await ci;let n=this.calcKey(t);return Ga.get(n)??Promise.resolve(void 0)}clearCache(){return pQ()}calcKey(t){return t.toString()+this.cacheKeySuffix}};function gL(e){return new r1(e)}async function fQ(e,t){let n=await fL(t,{cwd:(0,i1.fileURLToPath)(e)});return dQ(n)}function dQ(e){if(!e)return;let t=Va.get(e);if(t||Va.has(e))return t;let n=hQ(e);return Va.set(e,n),n}function hQ(e){let t=(0,pL.default)(e);if(t.setup)return t.setup(),vt(e);throw new Kf(`Unsupported pnp file: "${e}"`)}function pQ(){return ci||(ci=mQ().finally(()=>{ci=void 0}),ci)}async function mQ(){await Promise.all([...Ga.values()].map(gQ)),[...Va.values()].forEach(t=>t&&hL.default.single((0,i1.fileURLToPath)(t))),Ga.clear(),mL.clear(),Va.clear()}function gQ(e){return e.catch(()=>{})}function dL(e){return lQ.has(e.protocol)}var Xf=[".json",".jsonc",".yaml",".yml",".mjs",".cjs",".js",".toml"],xQ=new Set(["package.json",".cspell.json","cspell.json",".cSpell.json","cSpell.json",".cspell.jsonc","cspell.jsonc",".vscode/cspell.json",".vscode/cSpell.json",".vscode/.cspell.json",".cspell.config.json",".cspell.config.jsonc",".cspell.config.yaml",".cspell.config.yml","cspell.config.json","cspell.config.jsonc","cspell.config.yaml","cspell.config.yml",...Jf("cspell.config",Xf),...Jf(".cspell.config",Xf),".cspell.yaml",".cspell.yml","cspell.yaml","cspell.yml",".config/.cspell.json",".config/cspell.json",".config/.cSpell.json",".config/cSpell.json",".config/.cspell.jsonc",".config/cspell.jsonc",...Jf(".config/cspell.config",Xf),...Jf(".config/.cspell.config",Xf),".config/cspell.yaml",".config/cspell.yml"]),Yf=Object.freeze([...xQ]),bQ=Object.freeze([...Yf]);function Jf(e,t){return t.map(n=>e+n)}var bL=require("node:path/posix");async function xL(e,t,n={}){return(n.fs??na().fs).findUp(e,t,n)}var Ka=class{#e=new Map;#t;constructor(t,n,r){this.#t=new s1(t,n,r)}async searchForConfig(t,n){let r=t.pathname.endsWith("/")?t:new URL("./",t),i=n?n.map(s=>s.pathname.endsWith("/")?s:new URL("./",s)):void 0;return this.#n(r,i)}clearCache(){this.#e.clear(),this.#t.clearCache()}#n(t,n){let r=this.#e,i=r.get(t.href);if(i)return i;let s=[],o;return o=xL(c=>(u(c),this.#t.scanDirForConfigFile(c)),t,{type:"file",...n&&{stopAt:n}}),r.set(t.href,o),s.forEach(c=>r.set(c.href,o)),o;function u(c){if(!o){s.push(c);return}r.set(c.href,r.get(c.href)||o)}}},s1=class{allowedExtensionsByProtocol;fs;#e=new Map;#t;#n;constructor(t,n,r){this.allowedExtensionsByProtocol=n,this.fs=r,this.#t=yQ(t,n),this.#n=this.#t.get("*")||t}clearCache(){this.#e.clear()}scanDirForConfigFile(t){let n=this.#e,r=t.href,i=n.get(r);if(i)return i;let s=this.#s(t);return n.set(r,s),s}#r(){let t=ns();return async r=>{let i=new URL(".",r),o=new URL("..",i).href,a=t.get(o);if(a){let h=await a,f=An(i).slice(0,-1),p=h.get(f);if(!p?.isDirectory()&&!p?.isSymbolicLink())return!1}let u=i.href,c=await t.get(u,async()=>await this.#o(i)),l=An(r),d=c.get(l);return d?.isFile()||d?.isSymbolicLink()||!1}}async#o(t){try{let n=await this.fs.readDirectory(t);return new Map(n.map(r=>[r.name,r]))}catch{return new Map}}#i(){return async n=>!!(await this.fs.stat(n).catch(()=>{}))?.isFile()}async#s(t){let n=this.fs.getCapabilities(t).readDirectory?this.#r():this.#i(),r=this.#t.get(t.protocol)||this.#n;for(let i of r){let s=new URL(i,t);if(await n(s)&&(An(s)!=="package.json"||await CQ(this.fs,s)))return s}}};function yQ(e,t){return new Map([...t.entries()].map(([r,i])=>[r,new Set(i)]).map(([r,i])=>[r,e.filter(s=>i.has((0,bL.extname)(s)))]))}async function CQ(e,t){try{let n=await e.readFile(t);return typeof JSON.parse(n.getText()).cspell=="object"}catch{return!1}}var yL=En({id:"default",name:"default",version:Wg});var As=Object.freeze({}),o1=As;function EL(e){if(CL(o1,e))return o1;if(CL(As,e))return As;let{usePnP:t,pnpFiles:n}=e;return o1=He({usePnP:t,pnpFiles:n})}function CL(e,t){return e===t||e.usePnP===t.usePnP&&(e.pnpFiles===t.pnpFiles||e.pnpFiles?.join("|")===t.pnpFiles?.join("|"))}var EQ=[jg],ESe=Object.freeze(new Set(EQ));var a1,c1=[".json",".yaml",".yml",".jsonc"],wL=[".js",".cjs",".mjs"],DL=new Map([["*",c1],["file:",[...c1,...wL]]]),DQ=new Map([["*",c1]]),l1=class{fs;templateVariables;onReady;fileResolver;_isTrusted=!0;constructor(t,n=ra(process.env)){this.fs=t,this.templateVariables=n,this.configSearch=new Ka(Yf,DL,t),this.cspellConfigFileReaderWriter=Hx(void 0,void 0,kQ(t)),this.fileResolver=new sa(t,this.templateVariables),this.onReady=this.init(),this.subscribeToEvents()}subscribeToEvents(){this.toDispose.push(bn(()=>this.clearCachedSettingsFiles()))}cachedConfig=new Map;cachedConfigFiles=new Map;cachedPendingConfigFile=new Dn;cachedMergedConfig=new WeakMap;cachedCSpellConfigFileInMemory=new WeakMap;globalSettings;cspellConfigFileReaderWriter;configSearch;stopSearchAtCache=new WeakMap;toDispose=[];async readSettingsAsync(t,n,r){await this.onReady;let i=await this.resolveFilename(t,n||Je("./"));return this.importSettings(i,r||As,[]).onReady}async readConfigFile(t,n){let r=await this.resolveFilename(t.toString(),n||Je("./")),s=pe(r.filename).href;if(r.error)return new Ha(`Failed to read config file: "${r.filename}"`,r.error);let o=this.cachedConfigFiles.get(s);return o||this.cachedPendingConfigFile.get(s,async()=>{try{let a=await this.cspellConfigFileReaderWriter.readConfig(s);return this.cachedConfigFiles.set(s,a),a}catch(a){return new Ha(`Failed to read config file: "${r.filename}"`,a)}finally{setTimeout(()=>this.cachedPendingConfigFile.delete(s),1)}})}async searchForConfigFileLocation(t,n){let r=await this.#t(t)||ia();return this.configSearch.searchForConfig(r,n)}async searchForConfigFile(t,n){let r=await this.searchForConfigFileLocation(t,n);if(!r)return;let i=await this.readConfigFile(r);return i instanceof Error?void 0:i}async searchForConfig(t,n){let r=await this.#e(n),i=await this.searchForConfigFile(t,r);if(i)return this.mergeConfigFileWithImports(i,n)}getGlobalSettings(){return(0,u1.default)(this.globalSettings,"Global settings not loaded"),this.globalSettings}async getGlobalSettingsAsync(){if(!this.globalSettings){let t=await $_(),n=await this.mergeConfigFileWithImports(t,void 0);n.id??="global_config",this.globalSettings=n}return this.globalSettings}clearCachedSettingsFiles(){this.globalSettings=void 0,this.cachedConfig.clear(),this.cachedConfigFiles.clear(),this.configSearch.clearCache(),this.cachedPendingConfigFile.clear(),this.cspellConfigFileReaderWriter.clearCachedFiles(),this.cachedMergedConfig=new WeakMap,this.cachedCSpellConfigFileInMemory=new WeakMap,this.prefetchGlobalSettingsAsync()}resolveSettingsImports(t,n){let r=this.createCSpellConfigFile(n,t);return this.mergeConfigFileWithImports(r,t)}init(){return this.onReady=Promise.all([this.prefetchGlobalSettingsAsync(),this.resolveDefaultConfig()]).then(()=>{}),this.onReady}async prefetchGlobalSettingsAsync(){await this.getGlobalSettingsAsync().catch(t=>Gx(t))}async resolveDefaultConfig(){let t=await this.fileResolver.resolveFile(kf,ur),n=pe(t.filename);return this.cspellConfigFileReaderWriter.setTrustedUrls([new URL("../..",n)]),n}importSettings(t,n,r){let s=pe(t.filename).href,o=this.cachedConfig.get(s);if(o)return r.forEach(p=>o.referencedSet.add(p)),o;if(t.error){let p=En({__importRef:t,source:{name:t.filename,filename:t.filename}}),m={href:s,fileRef:t,configFile:void 0,settings:p,isReady:!0,onReady:Promise.resolve(p),onConfigFileReady:Promise.resolve(t.error),referencedSet:new Set(r)};return this.cachedConfig.set(s,m),m}let a={name:t.filename,filename:t.filename},u=p=>p instanceof Error?(t.error=p,En({__importRef:t,source:a})):this.mergeConfigFileWithImports(p,n,r),c=new Set(r),l=f(this.readConfigFile(t.filename)),d={href:s,fileRef:t,configFile:void 0,settings:void 0,isReady:!1,onReady:h(l.then(u)),onConfigFileReady:l,referencedSet:c};return this.cachedConfig.set(s,d),d;async function h(p){let m=await p;return m.source??=a,m.__importRef??=t,d.isReady=!0,d.settings=m,m}async function f(p){let m=await p;return m instanceof Error?(d.fileRef.error=m,m):(a.name=m.settings.name||a.name,d.configFile=m,m)}}async setupPnp(t,n){if(!n?.usePnP||n===As||t.url.protocol!=="file:")return;let{usePnP:r=n.usePnP,pnpFiles:i=n.pnpFiles}=t.settings,s=EL({usePnP:r,pnpFiles:i}),o=new URL(".",t.url);await AL(s,o)}mergeConfigFileWithImports(t,n,r){let i=this.toCSpellConfigFile(t),s=this.cachedMergedConfig.get(i);if(s&&s.pnpSettings===n&&s.referencedBy===r)return s.result;let o={usePnP:t.settings.usePnP??n?.usePnP??!!process.versions.pnp,pnpFiles:t.settings.pnpFiles??n?.pnpFiles},a=this._mergeConfigFileWithImports(i,o,r);return this.cachedMergedConfig.set(i,{pnpSettings:n,referencedBy:r,result:a}),a}async _mergeConfigFileWithImports(t,n,r=[]){await this.setupPnp(t,n);let i=t.url.href,s=new Set(r),o=$a(t.settings.import),u=(await Promise.all(o.map(h=>this.resolveFilename(h,t.url)))).map(h=>this.importSettings(h,n,[...r,i]));u.forEach(h=>{h.referencedSet.add(i)});let c=u.map(h=>s.has(h.href)?h.settings||Qx(h.configFile):h.onReady),l=await Promise.all(c);return await this.mergeImports(t,l)}async mergeImports(t,n){let r=Qx(t),i=t.url,s=r.__importRef,o=r.source;(0,u1.default)(o);let a={version:yL.version,...r,globRoot:wQ(r,t.url),languageSettings:Zx(r.languageSettings)},u=Yx(a,i),c=z_(a,i),l=P_(a,i),d=await O_(a,i),h=U_(a,i),f=q_(a,i),p=En({...a,source:o,...u,...c,...l,...d,...h,...f});if(!n.length)return p;let m=n.reduce((x,b)=>_e(x,b)),g=_e(m,p);return g.name=a.name||g.name||"",g.id=a.id||g.id||"",s&&(g.__importRef=s),g}createCSpellConfigFile(t,n){let r=rs(this.cachedCSpellConfigFileInMemory,n,()=>new Map);return ts(r,t,()=>this.cspellConfigFileReaderWriter.toCSpellConfigFile({url:pe(t),settings:n}))}toCSpellConfigFile(t){return t instanceof sn?t:this.createCSpellConfigFile(t.url,t.settings)}dispose(){for(;this.toDispose.length;)try{this.toDispose.pop()?.dispose()}catch(t){Gx(t)}}getStats(){return{...$g()}}async resolveConfigFileLocation(t,n){let r=await this.fileResolver.resolveFile(t,n);return r.found?pe(r.filename):void 0}async resolveFilename(t,n){if(t instanceof URL)return{filename:Ee(t)};if(Fe(t))return{filename:Ee(t)};let r=await this.fileResolver.resolveFile(t,n);return r.warning&&__(r.warning),{filename:r.filename.startsWith("file:/")?(0,Zf.fileURLToPath)(r.filename):r.filename,error:r.found?void 0:new h1(t,n)}}get isTrusted(){return this._isTrusted}setIsTrusted(t){this._isTrusted=t,this.clearCachedSettingsFiles(),this.configSearch=new Ka(Yf,t?DL:DQ,this.fs),this.cspellConfigFileReaderWriter.setUntrustedExtensions(t?[]:wL)}async#e(t){if(!t?.stopSearchAt)return;if(this.stopSearchAtCache.has(t))return this.stopSearchAtCache.get(t);let n=Array.isArray(t.stopSearchAt)?t.stopSearchAt:[t.stopSearchAt],r=await Promise.all(n.map(i=>this.#t(i)));return this.stopSearchAtCache.set(t,r),r}async#t(t){if(!t)return;let n=pe(t,ia());return n.pathname.endsWith("/")?n:t instanceof URL?new URL(".",n):typeof t=="string"&&!Fe(t)&&n.protocol==="file:"&&await vQ(this.fs,n)?Go(n):new URL(".",n)}},f1=class extends l1{constructor(t){super(t)}get _cachedFiles(){return this.cachedConfig}};function AL(e,t){return e.usePnP?gL(e.pnpFiles).load(t):Promise.resolve(void 0)}var SQ={".vscode":!0,".config":!0};function wQ(e,t){let n=new URL(".",t),r=lr.parse(n.href),i=ga.basename(r),s=i in SQ,o=i===".vscode",a=(s?ga.dirname(r):r).toString(),u=process.env[Da],c=u??"${cwd}",l=e.globRoot??(e.version===Af||u&&!e.version||o&&!e.version?c:a),d=l.startsWith("${cwd}")?l:pe(l,new URL(a));return typeof d=="string"?d:d.protocol==="file:"?g3(SL.default.resolve((0,Zf.fileURLToPath)(d))):Go(d).href}function AQ(e){return new f1(e??na().fs)}function p1(){return a1||(a1=AQ())}function kQ(e){return{readFile:r=>e.readFile(r).then(i=>({url:i.url,content:i.getText()})),writeFile:r=>e.writeFile(r)}}async function vQ(e,t){try{return(await e.stat(t)).isDirectory()}catch{return!1}}var d1=class extends Error{configurationFile;relativeTo;constructor(t,n,r,i){super(t),this.configurationFile=n,this.relativeTo=r,this.name="Configuration Loader Error",i&&(this.cause=i)}},h1=class extends d1{configurationFile;relativeTo;constructor(t,n,r){let i=t.startsWith("file:/")?(0,Zf.fileURLToPath)(t):t,s=FQ(n),o=`Failed to resolve configuration file: "${i}" referenced from "${s}"`;super(o,t,n,r),this.configurationFile=t,this.relativeTo=n}};function FQ(e){let t=vt(e),n=ia().pathname.split("/").slice(0,-1),r=t.pathname.split("/");if(r[0]!==n[0])return Ee(e);let i=0;for(;i3?Ee(e):[[...".".repeat(s)].map(()=>"..").join("/")||".",...r.slice(i)].join("/")}var Xa=p1;function Qf(e,t){return Xa().searchForConfig(e,t)}async function ed(e,t){return Xa().readSettingsAsync(e,void 0,t)}async function td(e,t){return Xa().resolveSettingsImports(e,t)}async function Ja(e){return Xa().mergeConfigFileWithImports(e,e.settings)}function li(){return Xa().getGlobalSettingsAsync()}function nd(){return p1()}async function rd(e,t,n){let r=nd(),i=typeof t=="string"||t instanceof URL?t:void 0,s=n||(typeof t=="string"||t instanceof URL?void 0:t);return r.readSettingsAsync(e,i,s)}function kL(e){return!!e.include}var vL={object:!0,string:!0},FL=vL,NQ={...FL,undefined:!0};function TL(e){let t=e;return!!t.match&&typeof t.match in vL}function IL(e){let t=e;return t.begin!==void 0&&typeof t.begin in FL&&typeof t.end in NQ}function _L(e){return Array.isArray(e.patterns)}function LL(e){let{matches:t,index:n,groups:r,input:i}=e,s=[],o=n;for(let u=0;u=o?l:i.lastIndexOf(c,o);d<0||(s.push({match:c,index:d,groupNum:u,groupName:void 0}),o=d)}let a=new Map(s.map(u=>[u.match,u]));for(let[u,c]of Object.entries(r)){let l=c&&a.get(c);l&&(l.groupName=l.groupName?Array.isArray(l.groupName)?[...l.groupName,u]:[l.groupName,u]:u)}return s}function RL(e,t){let n=Object.create(null);e.groups&&Object.assign(n,e.groups);let r=e,i=e[0];return{index:e.index,input:e.input,match:i,matches:r,groups:n,lineNumber:t}}function m1(e,t,n,r){return{index:n,input:t,match:e,matches:[e],groups:Object.create(null),lineNumber:r}}var NL=B(require("node:assert"),1),id=class e{value;parent;constructor(t,n){this.value=t,this.parent=n}toString(t=!1){return this.parent?t?this.parent.toString(t)+" "+this.value:this.value+" "+this.parent.toString(t):this.value}static isScope(t){return t instanceof e}},ks=class{pool=new Map;getScope(t,n){let r=this.pool.get(t),i=r||new Map;i!==r&&this.pool.set(t,i);let s=i.get(n);if(s)return s.v;let o=new id(t,n);return i.set(n,{v:o}),o}parseScope(t,n=!1){if(id.isScope(t))return t;if(BQ(t)){let r=t.parent?this.parseScope(t.parent):void 0;return this.getScope(t.value,r)}return this.parseScopeString(t,n)}parseScopeString(t,n){t=Array.isArray(t)?t:t.split(" ");let r=n?t:t.reverse(),i;for(let s of r)i=this.getScope(s,i);return(0,NL.default)(i,"Empty scope is not allowed."),i}};function BQ(e){return typeof e=="object"&&!Array.isArray(e)&&e.value!==void 0}function BL(e){return new x1(e)}var MQ={$self:!0,$base:!0};function y1(e){return TL(e)?PQ(e):IL(e)?OQ(e):kL(e)?UQ(e):_L(e)?jQ(e):ML(e)}function PQ(e){let t=g1(e.match),n={...e,captures:sd(e.captures),findMatch:r};function r(i,s){let o=t(i);return o?{rule:od(s,n),match:o,line:i}:void 0}return n}function OQ(e){let t=PL(e.patterns),n={...e,captures:sd(e.captures),beginCaptures:sd(e.beginCaptures),endCaptures:sd(e.endCaptures),patterns:t,findMatch:r};function r(u,c){let l=i(u);return l?{rule:od(c,n,o,a),match:l,line:u}:void 0}let i=g1(e.begin),s=e.end!==void 0?g1(e.end):()=>{};function o(u){return t&&C1(t,u,this)}function a(u){return s(u)}return n}function ML(e){let n={...e,patterns:void 0,findMatch:r};function r(i,s){let o=od(s,n),a=i.text.slice(i.offset),u=m1(a,a,i.offset,i.lineNumber);return{rule:o,match:u,line:i}}return n}function UQ(e){let{include:t}=e;return t.startsWith("#")||t in MQ?zQ(e):qQ(e)}function zQ(e){let{include:t,...n}=e,r=t.startsWith("#")?t.slice(1):t,i={...n,reference:r,findMatch:s};function s(o,a){let u=a.repository[r];if(u===void 0)throw new Error(`Unknown Include Reference ${t}`);return u.findMatch(o,a)}return i}function qQ(e){function t(r){}return{...e,findMatch:t}}function jQ(e){return new b1(e)}function C1(e,t,n){let r;for(let i of e){if(i.disabled)continue;let s=i.findMatch(t,n);s?.match!==void 0&&!s.rule.pattern.disabled&&(r=r&&r.match&&r.match.index<=s.match.index&&r||s)}return r}function PL(e){if(e)return e.map(t=>typeof t=="string"?{include:t}:t).map(y1)}var WQ=Object.freeze(Object.create(null));function $Q(e){return e?HQ(e):WQ}function HQ(e){let t=Object.create(null);for(let[n,r]of Object.entries(e))t[n]=y1(r);return t}var GQ=0;function OL(e,t,n,r,i,s){let o=e?e.depth+1:0;return{id:GQ++,grammar:r,pattern:t,parent:e,repository:n,depth:o,findNext:i,end:s}}function od(e,t,n,r){return OL(e,t,e.repository,e.grammar,n,r)}function sd(e){if(e===void 0)return;if(typeof e=="string")return{0:e};let t=Object.create(null);for(let[n,r]of Object.entries(e))t[n]=typeof r=="string"?r:ML(r).name;return t}function g1(e){return typeof e=="string"?VQ(e):KQ(e)}function VQ(e){return t=>{let n=t.text,r=n.indexOf(e,t.offset);if(!(r<0))return m1(e,n,r,t.lineNumber)}}function KQ(e){return t=>{let n=RegExp(e,"gm");n.lastIndex=t.offset;let r=n.exec(t.text);return(r&&RL(r,t.lineNumber))??void 0}}function ad(e,t=!0){let n=[];for(let r=e;r;r=r.parent){let i=r.pattern,{name:s,contentName:o}=i;o&&t&&n.push(o),s!==void 0&&n.push(s),t=!0}return e.grammar.scopePool.parseScope(n)}var x1=class{scopeName;name;comment;disabled;patterns;repository;grammarName;self;scopePool;constructor(t){this.scopeName=t.scopeName,this.name=t.scopeName,this.comment=t.comment,this.disabled=t.disabled,this.grammarName=t.name;let n=y1({patterns:[{patterns:t.patterns}]}),r=$Q(t.repository);this.patterns=n.patterns,this.repository=r,this.self=n,this.scopePool=new ks}begin(t){let n=this.patterns;function r(i,s,o){let a=Object.create(null);Object.assign(a,i.repository),a.$self=i.self,a.$base=a.$base||s.self;function u(l){return C1(n,l,this)}function c(l){}return OL(o,i,a,i,u,c)}return r(this,t?.grammar??this,t)}},b1=class{name;comment;disabled;patterns;constructor(t){let{name:n,comment:r,disabled:i,...s}=t;this.patterns=PL(s.patterns),this.name=n,this.comment=r,this.disabled=i}findMatch(t,n){let r=this.patterns,i=od(n,this,s);function s(o){return C1(r,o,this)}return i.findNext?.(t)}};function UL(e){return BL(e)}var HL=B(require("node:assert"),1);function E1(e){return e!=null}function zL(e){let{match:t,rule:n}=e,r=n.pattern,i=r.beginCaptures??r.captures;return jL(n,t,i)}function qL(e,t){let{pattern:n}=e,r=n,i=r.endCaptures??r.captures;return jL(e,t,i)}function jL(e,t,n){let r=ad(e,!1),i=e.grammar.scopePool,s=t.match,o=t.input,a=[t.index,t.index+s.length,t.lineNumber];if(!s&&!n)return[];if(!n)return[{scope:r,text:s,range:a}];let u=new Map(Object.entries(n)),c=u.get("0");if(u.size===1&&c)return[{scope:e.grammar.scopePool.getScope(c,r),text:s,range:a}];let l=t.index,d=t.index+s.length;function h(y){let{index:D,match:w}=y,C=w.length;if(D>=l&&C<=d)return y;if(D>=d||CA){let L={...C,a:A};C.b=A,C.n=L}C.s={seg:v,next:C.s},C=C.n}}return w}function m(y){function*D(C){for(;C;){let T=C.seg;T.groupName&&(Array.isArray(T.groupName)?yield*T.groupName:yield T.groupName),yield T.groupNum.toString(),C=C.next}}return[...D(y)].map(C=>u.get(C)).filter(E1).reverse().reduce((C,T)=>i.getScope(T,C),r)}let g=p(f);function*x(y){for(;y;)yield{text:o.slice(y.a,y.b),range:[y.a,y.b,t.lineNumber],scope:m(y.s)},y=y.n}return[...x(g)]}function GL(e,t){let n=e.text,r=e.text.length,i=[],s=$L({...e,offset:0,anchor:-1},t);for(;s.line.offset<=r;){let o=s.rule.end?.(s.line);for(;o?.index===s.line.offset;)i.push(...qL(s.rule,o)),s=YQ(s),s.line.offset=o.index+o.match.length,o=s.rule.end?.(s.line);if(s.line.offset>=r)break;let{line:a,rule:u}=s,c=a.offset,l=u.findNext?.(a),d=o?.index??r,h=l?Math.min(l.match.index,d):d;if(cGL(r,t)}}function $L(e,t){let n=JQ(t),i=n.length-1,s=n[i],a={line:e,rule:s};for(let u=i-1;u>=0;--u){let c=n[u];a={line:a.line,rule:c,parent:a}}return a}function JQ(e){let t=[],n=e;for(;n;)t.push(n),n=n.parent;return t}function KL(e,t="Must be defined"){return(0,HL.default)(e!=null,t),e}function YQ(e){return XL(KL(e.parent))}function XL(e){for(;!e.rule.end;)e=KL(e.parent);return e}var ZQ={statements:{name:"code.ts",patterns:["#keyword","#regexp","#string","#comment","#braces","#punctuation","#space",{name:"identifier",match:/[^\s;,!|&:^%{}[\]()*/+=<>]+/}]},keyword:{patterns:["#keywordBase","#standardTypes","#standardLib"]},keywordBase:{name:"keyword.typescript.ts",match:/\b(?:any|as|async|await|bigint|boolean|break|case|catch|const|continue|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|in|instanceof|interface|import|let|map|module|new|new|null|number|of|package|private|public|require|return|set|static|string|super|switch|this|throw|true|try|type|typeof|unknown|undefined|var|void|while|yield)\b/},standardTypes:{name:"keyword.type.ts",match:/\b(?:Promise|Record|Omit|Extract|Exclude|BigInt|Array)\b/},standardLib:{name:"keyword.lib.ts",match:/\b(?:console|process|window)\b/},string:{patterns:["#string_q_single","#string_q_double","#string_template"]},string_q_single:{name:"string.quoted.single.ts",begin:"'",end:/'|((?:[^\\\n])$)/,captures:"punctuation.string.ts",patterns:[{include:"#string_character_escape"}]},string_q_double:{name:"string.quoted.double.ts",begin:'"',end:/"|((?:[^\\\n])$)/,captures:"punctuation.string.ts",patterns:[{include:"#string_character_escape"}]},string_template:{name:"string.template.ts",begin:"`",end:"`",captures:"punctuation.string.ts",patterns:[{name:"meta.template.expression.ts",contentName:"meta.embedded.line.ts",begin:"${",end:"}",patterns:["#statements"],captures:"punctuation.definition.template.expression.ts"},{include:"#string_character_escape"}]},string_character_escape:{name:"constant.character.escape.ts",match:/\\(x[0-9A-Fa-f]{2}|[0-3][0-7]{0,2}|[4-7][0-7]?|u[0-9A-Fa-f]{4}|.|\r?\n?$)/},braces:{patterns:[{begin:"(",end:")",captures:"punctuation.meta.brace.ts",patterns:["#statements"],name:"meta.brace.ts",contentName:"code.ts"},{begin:"{",end:"}",captures:"punctuation.meta.brace.ts",patterns:["#statements"],name:"meta.brace.ts",contentName:"code.ts"},{begin:"[",end:"]",captures:"punctuation.meta.brace.ts",patterns:["#statements"],name:"meta.brace.ts",contentName:"code.ts"}]},punctuation:{name:"punctuation.ts",match:/[-;:,!|&^%*/+=<>\n\r]/},space:{name:"punctuation.space.ts",match:/\s+/},comment:{patterns:[{name:"comment.line.ts",comment:"line comment",begin:"//",end:/(?=$)/,captures:"punctuation.definition.comment.ts"},{name:"comment.block.documentation.ts",comment:"DocBlock",begin:/\/\*\*(?!\/)/,captures:"punctuation.definition.comment.ts",end:"*/"},{name:"comment.block.ts",begin:"/*",end:"*/",captures:"punctuation.definition.comment.ts"}]},regexp:{name:"regexp.ts",begin:/\/(?![/*])/,end:/\/([a-z]*)/i,beginCaptures:"punctuation.begin.regexp.ts",endCaptures:"punctuation.end.regexp.ts",patterns:["#regexp_escape","#regexp_brace"]},regexp_escape:{name:"escape.regexp.ts",match:/\\./},regexp_brace:{name:"brace.regexp.ts",begin:"[",end:"]",contentName:"character-class.regexp.ts",patterns:["#regexp_escape"]}},JL={name:"TypeScript",scopeName:"source.ts",patterns:[{name:"comment.line.shebang.ts",match:/^#!.*(?=$)/},{include:"#statements"}],repository:ZQ};var Ya=B(require("node:assert"),1);function YL(e,t){if(!e.map&&!t.map)return{text:e.text+t.text};let n=e.text.length,r=t.text.length,i=[0,0,...e.map||[0,0,n,n]],s=[0,0,...t.map||[0,0,r,r]];return(0,Ya.default)(i[i.length-1]===n),(0,Ya.default)(s[s.length-1]===r),(0,Ya.default)((i.length&1)===0),(0,Ya.default)((s.length&1)===0),{text:e.text+t.text,map:QQ(i,s)}}function QQ(e,t){let n=e.length-1,r=[e[n-1],e[n]],i=[...e,...t.map((u,c)=>u+r[c&1])],s=[0,0],o=0,a=0;for(let u=0;u({text:t.text,range:[e.offset+t.range[0],e.offset+t.range[1]],scope:t.scope}))}function ree(e){return se(e,ce(nee),rt())}function QL(e,t,n=ree){function r(i,s){let o=se(VL(i,e),n);return{content:i,filename:s,parsedTexts:o}}return{name:t,parse:r}}var iee=UL(JL),see=new ks,e6=new WeakMap;function*oee(e){for(let t of e){if(t6(t.scope,"constant.character.escape.ts")){let n=ZL(t.text),r=t.scope?see.parseScope(t.scope):void 0;yield{text:n.text,scope:r?.parent,map:n.map,range:t.range};continue}yield t}}function*aee(e){let t;for(let n of e){if(!t6(n.scope,"string.")){t&&(yield t,t=void 0),yield n;continue}if(!t){t=n;continue}if(n.scope!==t.scope||t.range[1]!==n.range[0]){yield t,t=n;continue}t=uee(t,n)}t&&(yield t)}function uee(e,t){let n=YL(e,t);return{text:n.text,scope:e.scope,range:[e.range[0],t.range[1]],map:n.map,delegate:e.delegate}}function cee(e){let t=e6.get(e);if(t!==void 0)return t;let n=e.value,r=!n.startsWith("punctuation")&&!n.startsWith("keyword.");return e6.set(e,r),r}function lee(e){return e.tokens.filter(t=>cee(t.scope)).map(t=>({text:t.text,range:[e.offset+t.range[0],e.offset+t.range[1]],scope:t.scope}))}function fee(e){return se(e,ce(lee),rt(),oee,aee)}var D1=QL(iee,"typescript",fee);function t6(e,t){return e?typeof e=="string"?e.startsWith(t):e.value.startsWith(t):!1}var S1=[D1];var fi=class extends RegExp{constructor(t){super(t)}toJSON(){return this.toString()}};var dee="en",hee=[];function n6(){return hee}function pee(e){return r6(e.replaceAll(/\s+/g,","))}function r6(e){return e.replaceAll(/[|;]/g,",").split(",").map(t=>t.trim()).filter(t=>!!t)}function i6(e){let t=ns();return n=>t.get(n,e)}var mee=i6(gee);function gee(e){let t=r6(e);return new Set(t.map(n=>n.toLowerCase()))}function s6(e){return mee(typeof e=="string"?e:e.join(","))}var xee=i6(bee);function bee(e){let t=pee(e);return new Set(t.map(n=>n.toLowerCase().replaceAll(/[^a-z]/g,"")))}function w1(e){return e=typeof e=="string"?e:e.join(","),xee(e)}function o6(e){let t=[...w1(e)].map(n=>n.replace(/^([a-z]{2})-?([a-z]{2})$/,(r,i,s)=>s?`${i}-${s.toUpperCase()}`:i));return new Set(t)}function yee(e,t){let n=w1(e);return Mv(n,t)}var a6=/^[a-z]{2}(-[A-Z]{2})?$/,Cee=new RegExp(a6,"i");function A1(e,t=!1){if(typeof e=="string")return t?a6.test(e):Cee.test(e);for(let n of e)if(!A1(n,t))return!1;return e.length>0}var Eee=q0();function Dee(e,t,n){return Eee.get(e,()=>new Dn).get(t,()=>new Dn).get(n,()=>See(e,t,n))}function See(e,t,n){t=t.toLowerCase();let r=w1(n),i=e.filter(s=>Aee(s,t)).filter(s=>!s.locale||s.locale==="*"||yee(s.locale,r)).map(s=>{let{languageId:o,locale:a,...u}=s;return u}).reduce((s,o)=>_e(s,o),{});return i.languageId=t,i.locale=n,i}var wee=q0();function Aee(e,t){return wee.get(e,()=>new Dn).get(t,()=>kee(e,t))}function kee(e,t){let n=e.languageId;if(!n||n==="*")return!0;let r=s6(n);return r.has(t)?!0:r.has("!"+t)?!1:[...r].filter(s=>s.startsWith("!")).length===r.size}function vee(e,t){let{languageSettings:n=[],language:r=dee,allowCompoundWords:i,enabled:s}=e,o={allowCompoundWords:i,enabled:s,...Dee(n,t,r)};return _e(e,o)}function Za(e,t){return["*",...s6(t)].reduce((i,s)=>vee(i,s),e)}var u6=/(?:https?|ftp):\/\/[^\s"]+/gi,c6=/\bhref\s*=\s*".*?"/gi,l6=/(?:#[0-9a-f]{3,8})|(?:0x[0-9a-f]+)|(?:\\u[0-9a-f]{4})|(?:\\x\{[0-9a-f]{4}\})/gi,f6=/\b(?![a-f]+\b)(?:0x)?[0-9a-f]{7,}\b/gi,d6=/\[[0-9a-f]{7,}\]/gi,h6=/\b0x[0-9a-f_]+\b/gi,p6=/#[0-9a-f]{3,8}\b/gi,m6=/\b[0-9a-fx]{8}-[0-9a-fx]{4}-[0-9a-fx]{4}-[0-9a-fx]{4}-[0-9a-fx]{12}\b/gi,g6=/\bU\+[0-9a-f]{4,5}(?:-[0-9a-f]{4,5})?/gi,k1=/(\bc?spell(?:-?checker)?::?)\s*disable(?!-line|-next)\b(?!-)[\s\S]*?((?:\1\s*enable\b)|$)/gi,v1=/\bc?spell(?:-?checker)?::?\s*disable-next\b.*\s\s?.*/gi,F1=/^.*\bc?spell(?:-?checker)?::?\s*disable-line\b.*/gim,x6=/\bc?spell(?:-?checker)?::?\s*ignoreRegExp.*/gim,b6=/-{5}BEGIN\s+((?:RSA\s+)?PUBLIC\s+KEY)[\w=+\-/=\\\s]+?END\s+\1-{5}/g,y6=/-{5}BEGIN\s+(CERTIFICATE|(?:RSA\s+)?(?:PRIVATE|PUBLIC)\s+KEY)[\w=+\-/=\\\s]+?END\s+\1-{5}/g,C6=/ssh-rsa\s+[a-z0-9/+]{28,}={0,3}(?![a-z0-9/+=])/gi,E6=/\\(?:[anrvtbf]|[xu][a-f0-9]+)/gi,D6=/(??/gi,T6=/^(\w)\1{3,}$/i,I6=/\bsha\d+-[a-z0-9+/]{25,}={0,3}/gi,_6=/(?:\b(?:sha\d+|md5|base64|crypt|bcrypt|scrypt|security-token|assertion)[-,:$=]|#code[/])[-\w/+%.]{25,}={0,3}(?:(['"])\s*\+?\s*\1?[-\w/+%.]+={0,3})*(?![-\w/+=%.])/gi;var Tee=()=>Mee(kf),Iee=[new fi(k1),new fi(F1),new fi(v1)],_ee=[{name:"CommitHash",pattern:f6},{name:"CommitHashLink",pattern:d6},{name:"CStyleHexValue",pattern:h6},{name:"CSSHexValue",pattern:p6},{name:"Urls",pattern:u6},{name:"HexValues",pattern:l6},{name:"SpellCheckerDisable",pattern:Iee},{name:"PublicKey",pattern:b6},{name:"RsaCert",pattern:y6},{name:"SshRsa",pattern:C6},{name:"EscapeCharacters",pattern:E6},{name:"Base64",pattern:D6},{name:"Base64SingleLine",pattern:S6},{name:"Base64MultiLine",pattern:w6},{name:"Email",pattern:F6},{name:"SHA",pattern:I6},{name:"HashStrings",pattern:_6},{name:"UnicodeRef",pattern:g6},{name:"UUID",pattern:m6},{name:"href",pattern:c6},{name:"SpellCheckerDisableBlock",pattern:k1},{name:"SpellCheckerDisableLine",pattern:F1},{name:"SpellCheckerDisableNext",pattern:v1},{name:"SpellCheckerIgnoreInDocSetting",pattern:x6},{name:"PhpHereDoc",pattern:A6},{name:"string",pattern:k6},{name:"CStyleComment",pattern:v6},{name:"Everything",pattern:".*"}],Lee=[..._ee].map(Pee),Ree=["SpellCheckerDisable","SpellCheckerIgnoreInDocSetting","Urls","Email","RsaCert","SshRsa","Base64MultiLine","Base64SingleLine","CommitHash","CommitHashLink","CStyleHexValue","CSSHexValue","SHA","HashStrings","UnicodeRef","UUID"],Nee=Ree,R6=Object.freeze(En({id:"static_defaults",language:"en",name:"Static Defaults",enabled:!0,enabledLanguageIds:[],maxNumberOfProblems:100,numSuggestions:10,suggestionsTimeout:500,suggestionNumChanges:3,words:[],userWords:[],ignorePaths:[],allowCompoundWords:!1,patterns:Lee,ignoreRegExpList:[],languageSettings:[],source:{name:"defaultSettings"},reporters:[],plugins:[{parsers:S1}]})),Bee=Object.freeze(En({...R6,enabledFileTypes:{"*":!0},ignoreRegExpList:Nee,languageSettings:n6()}));async function Mee(e){return(await hf(e,ur)).filename}function Pee(e){let{name:t,pattern:n,description:r}=e;return n instanceof RegExp?{name:t,pattern:new fi(n),description:r}:e}var T1=class{settings=void 0;pending=void 0;constructor(){this.getDefaultSettingsAsync().catch(()=>{})}getDefaultSettingsAsync(t=!0){return t?this.settings?Promise.resolve(this.settings):this.pending?this.pending:(this.pending=(async()=>{let n=await Tee(),r=await rd(n);return this.settings=_e(Bee,r),r.name!==void 0?this.settings.name=r.name:delete this.settings.name,this.settings})(),this.pending):Promise.resolve(R6)}},N6=new T1;function vs(e=!0){return N6.getDefaultSettingsAsync(e)}function B6(e,t){return Oee(e.text,t).map(Nv((n,r)=>({text:r,offset:n.offset+n.text.length}),{text:"",offset:e.offset}))}function Oee(e,t){return e.split(t)}function I1(e,t){return t?(e=e.global?e:new RegExp(e.source,e.flags+"g"),t.matchAll(e)):[]}function M6(e,t){let n=t.text,r=t.offset;return se(I1(e,n),ce(i=>({text:i[0],offset:r+i.index})))}function P6(e){let t=new RegExp(TT);return M6(t,zee(e))}function Uee(e){return hs.lastIndex=0,hs.test(e)&&(e=e.replace(hs,t=>" ".repeat(t.length))),e}function zee(e){return hs.lastIndex=0,hs.test(e.text)?{text:Uee(e.text),offset:e.offset}:e}function O6(e){let t=new RegExp(Ff);return M6(t,e)}function U6(e,t,n){let{text:r,offset:i}=e,s=Math.max(t-i,0),o=Math.max(n-i,0);return r.slice(s,o)}var jee=/\/.*\/[gimuy]*/,Wee=/\b(?:spell-?checker|c?spell)::?(.*)/gi,$ee=/(?<=\b(?:spell-?checker|c?spell)::?)(?!:)(.*)/i,Hee=[Wee,/\b(LocalWords:?.*)/g],Gee=["enable","disable","disable-line","disable-next","disable-next-line","word","words","ignore","ignoreWord","ignoreWords","ignore-word","ignore-words","includeRegExp","ignoreRegExp","local","locale","language","dictionaries","dictionary","forbid","forbidWord","forbid-word","flag","flagWord","flag-word","enableCompoundWords","enableAllowCompoundWords","disableCompoundWords","disableAllowCompoundWords","enableCaseSensitive","disableCaseSensitive"],Vee=new Set(["local"]),Kee=["enable","disable","disable-line","disable-next-line","words","ignore","forbid","locale","dictionary","dictionaries","enableCaseSensitive","disableCaseSensitive"],j6=new Set([...Kee,...Gee]),Xee=[...se(j6,ce(e=>({word:e})))],Jee=Xe(j6,"Directives","Directive List",{supportNonStrictSearches:!1}),Yee=[];Object.freeze(Yee);var z6="[in-document-dict]";function Zee(e){return[...V6(e)].flatMap(n=>nte(n))}var _1={id:"in-doc-settings"};Object.freeze(_1);function W6(e){let t=Zee(e);if(!t.length)return{..._1};let n=ite(t,{..._1}),{words:r,flagWords:i,ignoreWords:s,suggestWords:o,dictionaries:a=[],dictionaryDefinitions:u=[],...c}=n,l=(r||i||s||o)&&He({name:z6,words:r,flagWords:i,ignoreWords:s,suggestWords:o}),d=l?{dictionaries:[...a,z6],dictionaryDefinitions:[...u,l]}:He({dictionaries:a.length?a:void 0,dictionaryDefinitions:u.length?u:void 0});return{...c,...d}}function $6(e,t){return se(V6(e),ce(ete),Ie(At))}var H6=[[/^(?:enable|disable)(?:allow)?CompoundWords\b(?!-)/i,ste,"CompoundWords"],[/^(?:enable|disable)CaseSensitive\b(?!-)/i,ote,"CaseSensitive"],[/^enable\b(?!-)/i,pte,"Enable"],[/^disable(-line|-next(-line)?)?\b(?!-)/i,mte,"Disable"],[/^words?\b(?!-)/i,ute,"Words"],[/^ignore(?:-?words?)?\b(?!-)/i,cte,"Ignore"],[/^(?:flag|forbid)(?:-?words?)?\b(?!-)/i,lte,"Flag"],[/^ignore_?Reg_?Exp\s+.+$/i,fte,"IgnoreRegExp"],[/^include_?Reg_?Exp\s+.+$/i,dte,"IncludeRegExp"],[/^locale?\b(?!-)/i,q6,"Locale"],[/^language\s\b(?!-)/i,q6,"Locale"],[/^dictionar(?:y|ies)\b(?!-)/i,hte,"Dictionaries"],[/^LocalWords:/,(e,t)=>cd(e,t.replaceAll(/^LocalWords:?/gi," "),"words"),"Words"]];var Qee={unknownDirective:"Unknown CSpell directive"};function ete(e){let{fullDirective:t,offset:n}=e,r=t.match($ee);if(!r)return;let i=r[1],s=i.trim();if(!s)return;let o=n+(r.index||0)+(i.length-i.trimStart().length),a=s.replace(/^([-\w]+)?.*/,"$1"),u=o+a.length;if(!a||H6.filter(([m])=>m.test(s)).length>0)return;let l=Jee.suggest(a,{ignoreCase:!1}).map(({word:m,isPreferred:g})=>g?{word:m,isPreferred:g}:{word:m}).filter(m=>!Vee.has(m.word)),h=[...se(l,Jn(Xee),tte)].slice(0,8),f=h.map(m=>m.word);return{range:[o,u],text:a,message:Qee.unknownDirective,suggestions:f,suggestionsEx:h}}function*tte(e){let t=new Map;for(let n of e){let r=t.get(n.word);r&&n.isPreferred&&(r.isPreferred=!0),yield n}}function nte(e){let{match:t}=e,n=t.trim();return H6.filter(([r])=>r.test(n)).map(([,r,i])=>({...e,directive:i,fn:r}))}function rte(e,t){return t.fn(e,t.match)}function ite(e,t){for(let n of e)t=rte(t,n);return t}function ste(e,t){return e.allowCompoundWords=/enable/i.test(t),e}function ote(e,t){return e.caseSensitive=/enable/i.test(t),e}function ate(e){return e.split(/[,\s;]+/g).slice(1).filter(t=>!!t)}function ud(e,t){return e?t?[...e,...t]:e:t}function cd(e,t,n){let r=ate(t);return r.length&&(e[n]=ud(e[n],r)),e}function ute(e,t){return cd(e,t,"words")}function q6(e,t){let r=t.trim().split(/[\s,]+/).slice(1).join(",");return r&&(e.language=r),e}function cte(e,t){return cd(e,t,"ignoreWords")}function lte(e,t){return cd(e,t,"flagWords")}function G6(e){return[e.replace(/^[^\s]+\s+/,"")].map(n=>{let r=n.match(jee);return r&&r[0]?r[0]:n.replace(/((?:[^\s]|\\ )+).*/,"$1")})}function fte(e,t){let n=G6(t);return n.length&&(e.ignoreRegExpList=ud(e.ignoreRegExpList,n)),e}function dte(e,t){let n=G6(t);return n.length&&(e.includeRegExpList=ud(e.includeRegExpList,n)),e}function hte(e,t){let n=t.split(/[,\s]+/g).slice(1);return n.length&&(e.dictionaries=ud(e.dictionaries,n)),e}function V6(e){return se(Hee,ce(t=>I1(t,e)),rt(),ce(t=>({fullDirective:t[0],offset:t.index,match:t[1].trim()})))}function pte(e,t){return e}function mte(e,t){return e}function K6(e,t,n){if(!t)return pr(Za(e,n));let r=gte(t),i=_e(e,r),s=Za(i,n);return _e(s,r)}function gte(e){return W6(e)}var X6=B(require("node:path"),1);async function L1(e,t){let n=ls(e.uri),r=_e(await vs(t.loadDefaultConfiguration??!0),await li(),t),i=Qg(r,n),s=i?.languageId?.length?i.languageId:e.languageId?e.languageId:xte(n);return e.locale&&(i.language=e.locale),K6(i,e.text,s)}function xte(e){let t=X6.basename(e);return cr(t)}var ze=B(require("node:assert"),1);var J6=function(e){return e[e.spelling=0]="spelling",e[e.directive=1]="directive",e}({});var R1={ReportAll:"report-all",ReportSimple:"report-simple",ReportCommonTypos:"report-common-typos",ReportFlagged:"report-flagged"},N1={ignoreRandomStrings:!0,minRandomLength:40};var Q6=B(require("node:assert"),1);function Y6(e){let t;return(...n)=>{if(t&&Bv(t.args,n))return t.value;let r=n,i=e(...r);return t={args:r,value:i},i}}var h2e=Object.freeze({}),p2e=Object.freeze({});var m2e=Y6(bte);function bte(e,t){let n=ns();return r=>n.get(r,i=>yte(i,e,t))}async function yte(e,t,n){let{languageId:r,locale:i,includeDefaultConfig:s=!0,dictionaries:o}=t;async function a(d){let h=_e(d,He({language:i||d.language})),f=Za(h,r??h.languageId??"plaintext"),p=ps(f);p.dictionaries=o?.length?o:p.dictionaries||[],Dte(p,o);let m=await cs(p);p.dictionaries=p.dictionaryDefinitions?.map(x=>x.name)||[];let g=await cs(p);return{dictionaryCollection:m,allDictionaryCollection:g}}await F3();let u=s?_e(await vs(n.loadDefaultConfiguration??!0),await li(),n):n,{dictionaryCollection:c,allDictionaryCollection:l}=await a(u);return Cte(e,t,n,c,l)}async function Cte(e,t,n,r,i){let s=i||r,{locale:o,strict:a=!0,numChanges:u=4,numSuggestions:c=8,includeTies:l=!0,includeDefaultConfig:d=!0}=t,h=!a,f=d?_e(await vs(n.loadDefaultConfiguration??!0),await li(),n):n,p={ignoreCase:h,numChanges:u,numSuggestions:c,includeTies:l},m=r.dictionaries.flatMap(w=>w.suggest(e,p).map(C=>({...C,dictName:w.name}))),g=e4(o||f.language||void 0),x=Intl.Collator(g),b=Z6(Ete(m.sort((w,C)=>w.cost-C.cost||x.compare(w.word,C.word))),c,l),D=M1(e,b,g,h,s).map(w=>{let C=s.find(w.word);return{...w,forbidden:C?.forbidden||!1,noSuggest:C?.noSuggest||!1}});return{word:e,suggestions:Z6(D,c,l)}}function Ete(e){let t=new Map;for(let n of e){let{word:r,cost:i,dictName:s,...o}=n,a=t.get(r)||{word:r,cost:i,...o,dictionaries:[]};a.cost=Math.min(a.cost,i),a.dictionaries.push(s),a.dictionaries.sort(),t.set(r,a)}return[...t.values()]}function e4(e){if(!e)return;let t=[...o6(e)].filter(n=>A1(n));if(t.length)return t.length===1?t[0]:t}function M1(e,t,n,r,i){n=e4(n);let s=new Set(t.map(a=>a.word)),o={...wte(e),locale:n,ignoreCase:r};return t.map(a=>{let u=Ste(a.word,!!a.isPreferred,o);if(u===a.word||s.has(u))return a;let c=i.find(u);return!c||!c.forbidden||!c.noSuggest?(s.add(u),{...a,wordAdjustedToMatchCase:u}):a})}function Z6(e,t,n){let r=e[0]?.cost,i=0;for(;i=t&&(!n||e[i].cost>r));++i)r=e[i].cost;return e.slice(0,i)}function Dte(e,t){if(!t?.length)return;let n=new Set(e.dictionaryDefinitions?.map(r=>r.name)||[]);for(let r of t)if(!n.has(r))throw new B1(`Unknown dictionary: "${r}"`,"E_dictionary_unknown")}function Ste(e,t,n){let r=n.locale;return n.isMixedCaps?e:Ate(e)?n.isAllCaps?e.toLocaleUpperCase(r):!n.ignoreCase||n.hasCaps||t?e:kte(e)||vte(e)?e.toLocaleLowerCase(r):e:n.hasCaps?n.isAllCaps?e.toLocaleUpperCase(r):((0,Q6.default)(n.isTitleCase),e.replace(/^\p{L}/u,i=>i.toLocaleUpperCase(r))):e}var t4=/\p{Lu}/u,n4=/^[\P{L}\p{Lu}]+$/u,r4=/^\p{Lu}[\P{L}\p{Ll}]+$/u;function wte(e){let t=t4.test(e),n=t&&n4.test(e),r=t&&!n&&r4.test(e);return{hasCaps:t,isAllCaps:n,isMixedCaps:t&&!n&&!r,isTitleCase:r}}function Ate(e){return t4.test(e)}function kte(e){return r4.test(e)}function vte(e){return n4.test(e)}var B1=class extends Error{code;constructor(t,n){super(t),this.code=n}};var x4=B(require("node:assert"),1);var ld=class{compare;_heap;_size=0;constructor(t){this.compare=t}add(t){return this._heap=Tte(this.compare,this._heap,t),++this._size,this}dequeue(){let t=this.next();if(!t.done)return t.value}append(t){for(let n of t)this.add(n);return this}next(){if(!this._heap)return{value:void 0,done:!0};let t=this._heap.v;return--this._size,this._heap=Fte(this.compare,this._heap),{value:t}}peek(){return this._heap?.v}[Symbol.iterator](){return this}get length(){return this._size}};function Fte(e,t){if(!(!t||!t.c))return s4(e,t.c)}function Tte(e,t,n){let r={v:n,s:void 0,c:void 0};return!t||e(n,t.v)<=0?(r.c=t,r):(r.s=t.c,t.c=r,t)}function i4(e,t,n){return e(t.v,n.v)<=0?(t.s=void 0,n.s=t.c,t.c=n,t):(n.s=void 0,t.s=n.c,n.c=t,n)}function s4(e,t){if(!t.s)return t;let n=t.s,r=n.s,i=i4(e,t,n);return r?i4(e,i,s4(e,r)):i}function o4(e){return e.replaceAll(/[|\\{}()[\]^$+*?.]/g,"\\$&").replaceAll("-","\\x2d")}var Qa=Object.freeze([]);function fd(e,t,n,r={}){let i=a4({text:e.text,offset:t-e.offset}),s=e.offset,o=new Map,a=/^[-.+\d_eE'`\\\s]+$/;if(!i.text){let f=l(i);return{line:e,offset:t,text:f,words:[],endOffset:f.offset+f.text.length}}let u={line:e,relStart:i.offset,relEnd:i.offset+i.text.length},c=Ite(u,r);if(!c.length){let f=l(i);return{line:e,offset:t,text:f,words:[{...f,isFound:n(f)}],endOffset:f.offset+f.text.length}}function l(f){return{...f,offset:f.offset+s}}function d(f){if(a.test(f.text))return!0;let p=f.offset,m=f.text.length,g=p+(m<<20);if(p<1<<20&&m<2048){let b=o.get(g);if(b!==void 0)return b}else g=-1;let x=n(l(f));return g>=0&&o.set(g,x),x}return c.push({offset:u.relEnd,breaks:[Qa]}),{line:e,offset:t,text:l(i),words:Nte(u,c,d).map(l),endOffset:s+u.relEnd}}function a4({text:e,offset:t}){let n=new RegExp(Ff);n.lastIndex=t;let r=n.exec(e);return r?NT.test(r[0])?a4({text:e,offset:t+r[0].length}):{text:r[0],offset:r.index}:{text:"",offset:t+e.length}}function Ite(e,t){let n=_te(e),r=Rte(e),i=Lte(e,t.optionalWordBreakCharacters);return Bte(...n,...r,...i)}function P1(e,t){let n=new RegExp(e);return n.lastIndex=t,n}function _te(e){let t=[],n=e.line.text.slice(0,e.relEnd);for(let i of n.matchAll(P1(vT,e.relStart))){if(i.index===void 0)break;let s=i.index+i[1].length;t.push({offset:i.index,breaks:[[s,s],Qa]})}let r=[];for(let i of n.matchAll(P1(FT,e.relStart))){if(i.index===void 0)break;let s=i.index+i[1].length,o=s+i[3].length;r.push({offset:i.index,breaks:[[s,s],[o,o],Qa]})}return[t,r]}function Fs(e,t,n){let r=[],i=e.line.text.slice(0,e.relEnd);for(let s of i.matchAll(P1(t,e.relStart))){let o=n(s);o&&r.push(o)}return r}function Lte(e,t){function n(i){let s=i.index;if(s===void 0)return;let o=s+i[0].length;return{offset:s,breaks:[[s,o],Qa]}}let r=[Fs(e,LT,n),Fs(e,RT,n)];if(t){let i=new RegExp(`[${o4(t)}]`,"gu");r.push(Fs(e,i,n))}return r}function Rte(e){function t(n){let r=n.index;if(r===void 0)return;let i=r+n[0].length;return{offset:r,breaks:[[r,i],[r,r],[i,i],Qa]}}return[Fs(e,IT,t),Fs(e,/\d+/g,t),Fs(e,_T,t)]}function Nte(e,t,n){let r=e.relEnd,i=1e3,s=new Map;function o(g,x,b,y){let D=r;for(;b=t.length)return[];let w=t[b];function C(T){let v=T.length<2?D-x:(T[0]-x)*.5+D-T[1],k=y+v;return{p:g,i:x,bi:b,bp:T,c:y,ec:k,text:void 0}}return w.breaks.map(C)}function a(g,x){let b=n({text:g,offset:x});return{text:g,offset:x,isFound:b}}function u(g,x){return g.ec-x.ec||x.i-g.i}function c(g){let x=[];for(let b=g;b;b=b.n)b.text&&x.push(b.text);return x}function l(g,x){for(let b=g;b!==void 0;b=b.p){let y=b.text,D=b.i,w=(!y||y.isFound?0:y.text.length)+(x?.c??0),C=s.get(D);if(C&&C.c<=w)return;let T={n:x,i:D,c:w,text:y};s.set(D,T),x=T}return x}let d=e.relEnd-e.relStart,h=new ld(u),f=e.line.text;h.append(o(void 0,e.relStart,0,0));let p=0,m;for(;d&&h.length&&p++=d)){if(g.bp.length){let x=g.bp[0],b=g.bp[1],y=x>g.i?a(f.slice(g.i,x),g.i):void 0,D=!y||y.isFound?0:y.text.length,w=r-b;g.c+=D,g.ec=g.c+w,g.text=y;let C=s.get(b);if(C){let T=l(g,C);m=!m||T&&T.cg.i?a(f.slice(g.i,r),g.i):void 0,y=!b||b.isFound?0:b.text.length;g.c+=y,g.ec=g.c,g.text=b;let D=b||g.p?.text||a("",g.i),w=b?{...g,text:D}:{...g,...g.p,text:D},C=l(w,void 0);m=!m||C&&C.ct.offset-n.offset)}function l4(e,t=.5){return Mte(e)>=t}function Mte(e){return e.length?Pte(e).length/e.length:0}function Pte(e){return e.replaceAll(/\d+/g,"0").replaceAll(/\p{Ll}\p{M}+/gu,"a").replaceAll(/\p{Lu}\p{M}+/gu,"A").replaceAll(/\p{Lu}?\p{Ll}+/gu,"1").replaceAll(/\p{Lu}+/gu,"2").replaceAll(/\p{M}/gu,"4").replaceAll("_","").replaceAll(/[-_.']+/g,"3")}var Ote=/(?:\b|(?<=[\W_]))[0-9a-fA-F][-0-9a-fA-F]*[0-9a-fA-F](?:\b|(?=[\W_]))/g,u4=/\p{L}/uy;function c4(e,t){return u4.lastIndex=t,u4.test(e)}var Ute=4;function f4(e,t=Ute){return[...e.matchAll(Ote)].filter(n=>n[0].length>=t&&(n.index===0||!c4(e,n.index-1))&&!c4(e,n.index+n[0].length)).map(n=>({text:n[0],offset:n.index}))}function d4(e,t){return t=t.includes("\\")?t.replaceAll("\\",""):t,e.has(t)}function O1(e,t,n){return d4(e,t.text)||n.text[t.offset-n.offset-1]==="\\"&&d4(e,t.text.slice(1))}var h4=B(require("node:assert"),1);function p4(e,t){let{text:n,range:r,map:i}=e,[s,o]=r,a=Math.min(Math.max(t[0],s),o),u=Math.min(Math.max(t[1],s),o),c=a-s,l=u-s,d=[a,u];if(!i||!i.length||c===l)return{text:n.slice(c,l),range:d};(0,h4.default)((i.length&1)===0,"Map must be pairs of values.");let h=i.length,f=i[h-2],p=i[h-1],m=n.length-p,g=!i[0]&&!i[1]?[]:[0,0],x=[f+m,p+m],b=[...g,...i,...x],y=0;for(;y=b[y];y+=2);let D=y;y-=2;let w=c-b[y],C=w+b[y+1];for(;yb[y];y+=2);let T=y,k=l-b[y]+b[y+1],A=n.slice(C,k);if(T===D)return{text:A,range:d};let L=[w,C],_=b.slice(D,T+2).map((R,F)=>R-L[F&1]);return{text:A,range:d,map:_}}function m4(e,t){if(!t||!t.length)return e;let[n,r]=e,i=0,s=0,o=1;for(;o=e.length||e[t].startPos>o);)t-=1;let a=e[t];if(s<=a.endPos&&o>=a.startPos){yield r;return}for(;oq=>{let j=S(q);return j||p.add(q.text),j},g=S=>!p.has(S.text),x={has(S){let q=z(S);return q.isFound!==void 0?q.isFound:q.isFlagged?!0:q.isFlagged?!1:(q.isFound=l.has(S),q.isFound)}};function b(S){return S.isIgnored??=l.isNoSuggestWord(S.word),S.isIgnored}function y(S){if(S.isFlagged!==void 0)return S.isFlagged;let q=S.word;return S.isFlagged=(h.has(q)||h.has(q.toLowerCase())||l.isForbidden(q))&&!b(S),S.isFlagged}function D(S){return b(z(S))}let w=new Map;function C(S){return ts(w,S,()=>l.getPreferredSuggestions(S))}let T=new Map;function v(S){return ts(T,S,()=>!!l.suggest(S,{numSuggestions:1,compoundMethod:0,includeTies:!1,ignoreCase:s,timeout:100,numChanges:1.8}).length)}function k(S){return y(z(S.text))}function A(S){return S.isFlagged=k(S),S}function L(S){let q=C(S.text);return q?.length?(S.suggestionsEx=q,S.hasPreferredSuggestions=!0,S.hasSimpleSuggestions=!0,S):(S.hasPreferredSuggestions=q!==void 0?!1:void 0,u===R1.ReportSimple&&(S.hasSimpleSuggestions=v(S.text)),S)}let _=S=>S.text.length>=n||!!S.isFlagged,R=m(S=>S.isFlagged||!S.isFound),F=m(S=>!T6.test(S.text));function E(S){let q=z(S.text);if(q.fin){let{isFlagged:Q,isFound:Y,isIgnored:De}=q,ke=S.isFlagged??(!De&&Q);return S.isFlagged=ke,S.isFound=ke?void 0:Y,S}let j=b(q),I=S.isFlagged??y(q);return q.isFound??=I?!1:j||O1(x,S,S.line),q.isFlagged=!!I,q.fin=!0,S.isFlagged=I,S.isFound=I?void 0:q.isFound,S}let N=/^([\p{Lu}\p{M}]{2,})['’]?(?:s|ing|ies|es|ings|ize|ed|ning)$/u,M=/\p{L}/u,U=S=>{let q=S.line;function j(J,ye=!1){if(J.text.length>=n*2||[...J.text].length>=n)return!1;let ge=J.offset-q.offset;x4.default.equal(q.text.slice(ge,ge+J.text.length),J.text);let qe=[...q.text.slice(Math.max(0,ge-2),ge)];if(!!qe.length&&M.test(qe[qe.length-1]))return!1;if(ye)return!0;let Lt=[...q.text.slice(ge+J.text.length,ge+J.text.length+2)];return!(!!Lt.length&&M.test(Lt[0]))}function I(J){return p.has(J.text)?!0:k(J)?!1:O1(x,J,S.line)||j(J)?!0:Q(J)}function Q(J){if(!N.test(J.text))return!1;let ye=J.text.match(N);if(!ye)return!1;let qe={offset:J.offset,text:ye[1],line:q},me=E(qe);return me.isFlagged?!1:!!(me.isFound||j(qe,!0))}function Y(J){if(J.isFlagged)return[J];if(Q(J))return[];if(D(J.text)||E(J).isFound)return m(ge=>!1)(J),[];if(J.isFlagged)return[J];let ye=De(J);return ye.length?ye:(m(ge=>!1)(J),[])}function De(J){return ke(J,Hg)}function ke(J,ye){let ge=[];for(let qe of B6(J,ye)){if(p.has(qe.text))continue;let me=qe;me.line=J.line,me.isFlagged=void 0,me.isFound=void 0,A(me),_(me)&&(E(me),!(!R(me)||!F(me))&&(me.text=U6(S.segment,me.offset,me.offset+me.text.length),ge.push(me)))}return ge}function V(J,ye){let{issues:ge}=ye,qe=J.offset-ye.possibleWord.offset;return ge.map(me=>(me={...me},me.offset+=qe,me.line=S.line,me))}function he(J){if(k(J))return{...J,line:S.line,isFlagged:!0};if(J.text.endsWith(".")&&J.text.length>1){let ye={...J,text:J.text.slice(0,-1)};if(k(ye))return{...ye,line:S.line,isFlagged:!0}}}function $(J){let ye=f.get(J.text);if(ye)return ye.issues.length?V(J,ye):ye.issues;let ge=K(J).map(L);return f.set(J.text,{possibleWord:J,issues:ge}),ge}function K(J){let ye=he(J);if(ye)return[ye];let ge=[];for(let me of P6(J)){if(p.has(me.text))continue;let Lt=me;if(Lt.line=S.line,A(Lt),!!_(Lt))for(let Sr of Y(Lt))ge.push(Sr)}if(!ge.length)return ge;let qe=o?f4(J.text,zte).filter(me=>(me.text===me.text.toLowerCase()||me.text===me.text.toUpperCase())&&/[\d-]/.test(me.text)).map(me=>(me.offset+=J.offset,me)):void 0;if(qe?.length&&(ge=g4(ge,qe)),ge.length){let Lt=fd(S.segment,J.offset,I).words.filter(Ln=>!Ln.isFound).filter(Ln=>{let nu=Ln.text.match(N);if(!nu)return!0;let ru=E({...Ln,text:nu[1],line:S.line});return ru.isFlagged||!ru.isFound}),Sr=g4(Lt.map(Ln=>({...Ln,line:S.line})).map(A),qe);if(Sr.length=t.length)break;(s.isFlagged||s.offsets){e[r++]={startPos:i,endPos:s},i=o.startPos,s=o.endPos;continue}s=Math.max(s,o.endPos)}return ijte(r,t));return $te(Gte(n)).values}function y4(e,t){return Hte(j1(e),j1(t))}function Hte(e,t){let n=e.values,r=t.values;if(!n.length||!r.length)return n;let i=[];i.length=n.length+r.length+1;let s=0,o=0,a=r.length;for(let u of n){let c=u.endPos,l=u.startPos;for(;o=c)break;if(!(d.endPos<=l)&&(d.startPos>l&&(i[s++]={startPos:l,endPos:d.startPos}),l=d.endPos,l>=c))break}l=0;--i)t+=e[i].length;let n=new Array(t),r=0;for(let i=0;i!!a),s=i.length?i:[/.*/gim];return y4(W1(s,e),W1(n,e))}function D4(e,t,n){let r={ignoreCase:n.ignoreCase??!0,useCompounds:n.allowCompoundWords||!1},s=fd({text:e,offset:0},0,d).words.map(h=>({word:h.text,found:h.isFound})),o=Rv(h=>h.word+"|"+h.found),a={word:e,found:t.has(e,r)},u=s.some(h=>h.word===e)?s:[a,...s],c=u.filter(o).map(h=>h.word).flatMap(h=>t.dictionaries.map(f=>({dict:f,word:h}))).map(({dict:h,word:f})=>({dict:h,findResult:h.find(f,r),word:f})).flatMap(h=>Kte(h,n)),l=new H1(...c);return l.splits=u,l;function d(h){return t.has(h.text,r)}}function Kte(e,t){let{word:n,dict:r,findResult:i}=e,s=E4(r,n),o={word:n,found:!!i?.found,foundWord:i?.found||void 0,forbidden:i?.forbidden||!1,noSuggest:i?.noSuggest||!1,dictName:r.name,dictSource:r.source,configSource:void 0,preferredSuggestions:s,errors:C4(r.getErrors?.())},a=T3.get(r.name);if(!i?.found||!a||!t.source)return[o];let u={ignoreCase:!0,useCompounds:t.allowCompoundWords||!1},c=Xg(t),l=[];for(let d of c){if(!d[a]||!Array.isArray(d[a])||!d[a]?.length||!d.source?.filename)continue;let h=vt(d.source.filename).href,f={[a]:d[a]},p=Cn(Fg(f),r.name,h),m=p.find(n,u),g=E4(p,n);if(!m?.found&&!g)continue;let x={word:n,found:!!m?.found,foundWord:m?.found||void 0,forbidden:m?.forbidden||!1,noSuggest:m?.noSuggest||!1,dictName:r.name,dictSource:h,configSource:h,preferredSuggestions:g,errors:C4(r.getErrors?.())};l.push(x)}return l.length?l:[o]}function C4(e){return e?.length?e:void 0}function E4(e,t){let n=e.getPreferredSuggestions?.(t);return n?.length?n.filter(i=>i.isPreferred).map(i=>i.word):void 0}var H1=class extends Array{splits=[];constructor(...t){super(...t)}};var It="Validator Must be prepared before calling this function.",tu=class e{settings;_document;_ready=!1;errors=[];_prepared;_preparations;_preparationTime=-1;_suggestions=new mf(t=>this.genSuggestions(t),1e3);options;perfTiming={};skipValidation;static async create(t,n,r){let i=ms(r)?await Ja(r):r,s=new e(t,n,i);return await s.prepare(),s}constructor(t,n,r){this.settings=r,this._document=t,this.options={...n};let i=this.options.numSuggestions??r.numSuggestions;i!==void 0&&(this.options.numSuggestions=i),this.skipValidation=!!n.skipValidation}get ready(){return this._ready}prepare(){return this._ready?Promise.resolve():this._prepared?this._prepared:(this._prepared=this._prepareAsync(),this._prepared)}async _prepareAsync(){(0,ze.default)(!this._ready);let t=rn("_prepareAsync"),{options:n,settings:r}=this,i=pe(n.resolveImportsRelativeTo||pe("./virtual.settings.json")),s=r.import?.length?await td(r,i):r,o=!n.noConfigSearch&&!s.noConfigSearch||n.noConfigSearch===!1,a=n.configFile?ed(n.configFile,s):o?dd(this.perfTiming,"__searchForDocumentConfig",Jte(this._document,s,s)):void 0;a&&dd(this.perfTiming,"_loadConfig",a);let u=await $2(a,T=>this.addPossibleError(T))||{};this.addPossibleError(u?.__importRef?.error);let c=_e(s,u),l=await dd(this.perfTiming,"_determineTextDocumentSettings",L1(this._document,c)),d=await dd(this.perfTiming,"_getDictionaryInternal",cs(l)),h=eu(this.perfTiming,"_GlobMatcher"),f=If(u?.ignorePaths),p=this._document.uri;h();let m=eu(this.perfTiming,"_shouldCheck"),g=!f.match(ls(p))&&(l.enabled??!0);m();let x=eu(this.perfTiming,"_finalizeSettings"),b=ps(l),y=q1(b),D=$1(this._document.text,y),w=U1(D),C=z1(d,y);x(),this._preparations={config:c,dictionary:d,docSettings:l,finalSettings:b,shouldCheck:g,validateOptions:y,includeRanges:D,segmenter:w,textValidator:C,localConfig:u,localConfigFilepath:u?.__importRef?.filename},this._ready=!0,this._preparationTime=t.elapsed,this.perfTiming.prepTime=this._preparationTime}async _updatePrep(){(0,ze.default)(this._preparations,It);let t=rn("_updatePrep"),n=this._preparations,r=await L1(this._document,n.config),i=await cs(r),s=r.enabled??!0,o=ps(r),a=q1(o),u=$1(this._document.text,a),c=U1(u),l=z1(i,a);this._preparations={...n,dictionary:i,docSettings:r,shouldCheck:s,validateOptions:a,includeRanges:u,segmenter:c,textValidator:l},this._preparationTime=t.elapsed}get prepTime(){return this._preparationTime}get validateDirectives(){return this.options.validateDirectives??this._preparations?.config.validateDirectives??!1}checkText(t,n,r){let i=this._document.text.slice(t[0],t[1]);return r=(Array.isArray(r)?r.join(" "):r)||"",this.check({text:i,range:t,scope:r})}check(t){(0,ze.default)(this._ready),(0,ze.default)(this._preparations,It);let{segmenter:n,textValidator:r}=this._preparations,i=this._document,s;function o(c){let{range:l,text:d,isFlagged:h,isFound:f,suggestionsEx:p,hasPreferredSuggestions:m,hasSimpleSuggestions:g}=c,x=l[0],b=l[1]-l[0];return(0,ze.default)(!s||s.offset<=x),(!s||s.offset+s.text.length<=x)&&(s=i.lineAt(x)),{text:d,offset:x,line:s,length:b,isFlagged:h,isFound:f,suggestionsEx:p,hasPreferredSuggestions:m,hasSimpleSuggestions:g}}let a=[...se(n(t),$e(r.validate),ce(o))];return this.options.generateSuggestions?a.map(c=>{let l=c.text,d=this.getSuggestions(l);return c.suggestionsEx=d,c.suggestions=d.map(h=>h.word),c}):a.map(c=>{if(!c.suggestionsEx)return c;let l=this.adjustSuggestions(c.text,c.suggestionsEx),d=l.map(h=>h.word);return{...c,suggestionsEx:l,suggestions:d}})}async checkDocumentAsync(t){return await this.prepare(),this.checkDocument(t)}checkDocument(t=!1){let n=eu(this.perfTiming,"checkDocument");try{if(this.skipValidation)return[];(0,ze.default)(this._ready),(0,ze.default)(this._preparations,It);let r=t||this.shouldCheckDocument()?[...this._checkParsedText(this._parse())]:[],i=this.checkDocumentDirectives();return[...r,...i].sort((o,a)=>o.offset-a.offset)}finally{n()}}checkDocumentDirectives(t=!1){if((0,ze.default)(this._ready),(0,ze.default)(this._preparations,It),!(t||this.validateDirectives))return[];let r=this.document,i=J6.directive;function s(o){let{text:a,range:u,suggestions:c,suggestionsEx:l,message:d}=o,h=u[0],f=r.positionAt(h),p=r.getLine(f.line);return{text:a,offset:h,line:p,suggestions:c,suggestionsEx:l,message:d,issueType:i}}return[...$6(this.document.text,this._preparations.config)].map(s)}get document(){return this._document}async updateDocumentText(t){W3(this._document,[{text:t}]),await this._updatePrep()}getCheckedTextRanges(){return(0,ze.default)(this._preparations,It),this._preparations.includeRanges}traceWord(t){return(0,ze.default)(this._preparations,It),D4(t,this._preparations.dictionary,this._preparations.config)}defaultParser(){return se(this.document.getLines(),ce(t=>{let{text:n,offset:r}=t,i=[r,r+n.length];return{text:n,range:i}}))}*_checkParsedText(t){(0,ze.default)(this._preparations,It);let{maxNumberOfProblems:n=200,maxDuplicateProblems:r=5}=this._preparations.validateOptions,i=0,s=new Map;for(let o of t)for(let a of this.check(o)){let{text:u}=a,c=(s.get(u)||0)+1;if(s.set(u,c),!(c>r)&&(yield a,++i>=n))return}}addPossibleError(t){t&&(t=this.errors.push(Hi(t)))}_parse(){(0,ze.default)(this._preparations,It);let t=this._preparations.finalSettings.parserFn;return typeof t!="object"?this.defaultParser():t.parse(this.document.text,Ee(ri(this.document.uri))).parsedTexts}getSuggestions(t){return this._suggestions.get(t)}genSuggestions(t){(0,ze.default)(this._preparations,It);let n=this._preparations.docSettings,r=this._preparations.dictionary,i={compoundMethod:0,numSuggestions:this.options.numSuggestions,includeTies:!1,ignoreCase:!(n.caseSensitive??!1),timeout:n.suggestionsTimeout,numChanges:n.suggestionNumChanges},s=r.suggest(t,i);return this.adjustSuggestions(t,s)}adjustSuggestions(t,n){(0,ze.default)(this._preparations,It);let i=!(this._preparations.docSettings.caseSensitive??!1),s=this._preparations.config.language,o=this._preparations.dictionary;return M1(t,n.map(Yte),s,i,o).map(Xte)}getFinalizedDocSettings(){return(0,ze.default)(this._ready),(0,ze.default)(this._preparations,It),this._preparations.docSettings}shouldCheckDocument(){return(0,ze.default)(this._preparations,It),this._preparations.shouldCheck}_getPreparations(){return this._preparations}};function Xte(e){let{word:t,isPreferred:n,wordAdjustedToMatchCase:r}=e;return n&&r?{word:t,wordAdjustedToMatchCase:r,isPreferred:n}:n?{word:t,isPreferred:n}:r?{word:t,wordAdjustedToMatchCase:r}:{word:t}}async function Jte(e,t,n){let r=ri(e.uri);try{return await Qf(r,n).then(i=>i||t)}catch(i){if(r.protocol!=="file:")return t;throw i}}function Yte(e){return{cost:999,...e}}function eu(e,t){let n=rn(t,r=>e[t]=r);return()=>n.end()}function dd(e,t,n){return n.finally(eu(e,t))}async function G1(e,t,n){let r=ms(n)?n.settings:n;if(Ig(e))return{document:e,options:t,settingsUsed:r,localConfigFilepath:void 0,issues:[],checked:!1,errors:void 0};try{let i=rn("loadFile"),s=await G3(e).finally(()=>i.end());if(Ig(s))return{document:e,options:t,settingsUsed:r,localConfigFilepath:void 0,issues:[],checked:!1,errors:void 0};let o=await Zte(s,t,n),a=o.perf||{};return a.loadTimeMs=i.elapsed,o.perf=a,o}catch(i){let s=Ao(i)?[i]:[];return{document:e,options:t,settingsUsed:r,localConfigFilepath:void 0,issues:[],checked:!1,errors:s}}}async function Zte(e,t,n){let r={},i=rn("spellCheckFullDocument",f=>r.totalTimeMs=f),s=rn("check",f=>r.checkTimeMs=f),o=rn("prepare",f=>r.prepareTimeMs=f),a=H3(e),u=t,c=await tu.create(a,u,n).finally(()=>o.end());Object.assign(r,Object.fromEntries(Object.entries(c.perfTiming).map(([f,p])=>["_"+f,p])));let l=c._getPreparations();if(c.errors.length)return{document:e,options:t,settingsUsed:l?.localConfig||(ms(n)?n.settings:n),localConfigFilepath:l?.localConfigFilepath,issues:[],checked:!1,errors:c.errors,perf:r};s.start();let d=c.checkDocument();s.end(),Object.assign(r,Object.fromEntries(Object.entries(c.perfTiming).map(([f,p])=>["_"+f,p])));let h={document:e,options:t,settingsUsed:c.getFinalizedDocSettings(),localConfigFilepath:l?.localConfigFilepath,issues:d,checked:c.shouldCheckDocument(),errors:void 0,perf:r};return i.end(),h}var hd="codespell-check";async function S4(e,t=[]){return(await G1({uri:"text.txt",text:e,languageId:"markdown",locale:"en, en-US"},{generateSuggestions:!0,noConfigSearch:!0},{allowCompoundWords:!0,words:t,suggestionsTimeout:2e3,ignoreRegExpList:["/\\[.*?\\]\\(.*?\\)/g","/<[^>]*?>/g","[\\u4e00-\\u9fa5]"]})).issues.map(r=>({name:hd,type:"warning",content:r.text,start:r.offset,end:r.offset+r.text.length,extras:r.suggestions,message:{zh:`\u5355\u8BCD\u62FC\u5199\u9519\u8BEF\uFF1A${r.text}`,en:`Spelling mistake: ${r.text}.`}}))}var w4=B(require("path"));var pd="link-validity-check",Qte={\u951A\u70B9\u65E0\u6CD5\u8BBF\u95EE:"Invalid anchor.",\u94FE\u63A5\u65E0\u6CD5\u8BBF\u95EE:"Invalid link.",\u8BBF\u95EE\u8D85\u65F6:"Timeout."},ene=[/(?]+)>/g,/]*href=["']([^"]+?)["'][^>]*>/gi];async function A4(e,t){let{prefixPath:n,whiteList:r=[],disableCheckExternalUrl:i=!1,disableCheckInternalUrl:s=!1,disableCheckAnchor:o=!1,signal:a}=t,u=[],c=new Set(r),l=new Map;for(let d of ene)for(let h of e.matchAll(d)){if(a?.aborted)throw new Error("aborted");let f=h[1].trim();if(!f||c.has(f))continue;let p=0,m="",[g,x]=f.split("#");if(g){if(i&&g.startsWith("http"))continue;if(s&&!g.startsWith("http"))continue;if(p=await Pr(g,n,r,a),p>=100&&p<400)if(!o&&x&&!g.startsWith("http")){let D=w4.default.join(n,decodeURI(g.replace(".html",".md")));if(!l.get(D)){let w=await yD(D);l.set(D,kh(w))}if(l.get(D).has(x))continue;p=404,m="\u951A\u70B9\u65E0\u6CD5\u8BBF\u95EE"}else continue;else p===499?m="\u8BBF\u95EE\u8D85\u65F6":m="\u94FE\u63A5\u65E0\u6CD5\u8BBF\u95EE"}else if(!o&&x){if(l.get(".")||l.set(".",kh(e)),l.get(".").has(x))continue;p=404,m="\u951A\u70B9\u65E0\u6CD5\u8BBF\u95EE"}let b=h.index+(h[0].startsWith("\"'`"),"!":new Set(")]}>\"'`"),"?":new Set(")]}>\"'`"),";":new Set(")]}>\"'`"),":":new Set(""),",":new Set(""),"\u3002":new Set("\u201C\u201D\u2018\u2019\uFF08\u3010\u300A"),"\uFF01":new Set("\u201C\u201D\u2018\u2019\uFF08\u3010\u300A"),"\uFF1F":new Set("\u201C\u201D\u2018\u2019\uFF08\u3010\u300A"),"\uFF1B":new Set("\u201C\u201D\u2018\u2019\uFF08\u3010\u300A"),"\uFF1A":new Set("\u201C\u2018\uFF08\u3010\u300A"),"\uFF0C":new Set("\u201C\u2018\uFF08\u3010\u300A"),"\u201D":new Set("\u3002\uFF01\uFF1F\uFF1B\uFF1A\uFF0C\uFF09\u3011\u300B\u2014\uFF0D\uFF5E\u2026\u3001\uFF08\u201C\u201D\u2018\u2019\uFF08\u3010\u300A"),"\u2019":new Set("\u3002\uFF01\uFF1F\uFF1B\uFF1A\uFF0C\uFF09\u3011\u300B\u2014\uFF0D\uFF5E\u2026\u3001\u201C\u201D\u2018\u2019\uFF08\u3010\u300A"),"\uFF08":new Set("\u201C\u2018\u3010\u300A"),"\uFF09":new Set("\u3002\uFF01\uFF1F\uFF1B\uFF1A\uFF0C\u201D\u2019\u2014\uFF0D\uFF5E\u2026\u3001"),"\u3010":new Set("\u201C\u2018\uFF08\u300A"),"\u3011":new Set("\u3002\uFF01\uFF1F\uFF1B\uFF1A\uFF0C\u201D\u2019\u2014\uFF0D\uFF5E\u2026\u3001"),"\u300A":new Set("\u201C\u2018\uFF08\u3010"),"\u300B":new Set("\u3002\uFF01\uFF1F\uFF1B\uFF1A\uFF0C\u201D\u2019\u2014\uFF0D\uFF5E\u2026\u3001\uFF09\u3011\u300B"),"\u3001":new Set("\u201C\u2018\uFF08\u3010\u300A"),"\uFF5E":new Set("\u201C\u2018\uFF08\u3010\u300A"),"\u2014":new Set("\u201C\u2018\uFF08\u3010\u300A"),"\uFF0D":new Set("\u201C\u2018\uFF08\u3010\u300A"),"\u2026":new Set("\u2026\u201C\u2018\uFF08\u3010\u300A")},ZAe=new Set(Object.keys(tne));var v4={"\u300C":"\u300D","\u300E":"\u300F","\uFF08":"\uFF09","\u3010":"\u3011","\u300A":"\u300B","\u3008":"\u3009","\u201C":"\u201D","\u2018":"\u2019","[":"]","{":"}","(":")"},eke=new Set(Object.keys(v4)),tke=new Set(Object.values(v4));var md="resource-existence-check",nne=[/!\[.*?\]\((.*?)( ".*?")?\)/g,/]*src="([^"]+)"[^>]*>/gi,/]*src="([^"]+)"[^>]*>/gi,/]*src="([^"]+)"[^>]*>/gi];async function F4(e,t){let{prefixPath:n,whiteList:r=[],disableCheckExternalUrl:i=!1,disableCheckInternalUrl:s=!1,signal:o}=t,a=[],u=new Set(r);for(let c of nne)for(let l of e.matchAll(c)){if(o?.aborted)throw new Error("aborted");if(!l[1]||u.has(l[1]))continue;let d=l[1];if(i&&d.startsWith("http"))continue;if(s&&!d.startsWith("http"))continue;let h=await Pr(d,n,r,o);if(h>=100&&h<400)continue;let f=l.index+l[0].indexOf(d,3),p=f+d.length;a.push({name:md,type:h===404?"error":"warning",content:d,start:f,end:p,extras:h,message:{zh:h===499?"\u8BBF\u95EE\u8D85\u65F6":"\u8D44\u6E90\u94FE\u63A5\u65E0\u6CD5\u8BBF\u95EE",en:h===499?"Timeout.":"Invalid resource link."}})}return a}var Dr="tag-closed-check";function rne(e){let t=!1,n=!1,r=!1;for(let i=0;i]*?)>|(?]*?)\/>|\\<([a-zA-Z]+[^>]*?)>|<([a-zA-Z]+[^>]*?)\\>/g;for(let o of e.matchAll(s)){if(rne(o[0])||i.has(o.index)||(i.add(o.index),t.push({name:Dr,type:"error",content:o[0],start:o.index,end:o.index+o[0].length,message:{zh:`\u5C5E\u6027\u4E2D\u7684\u5F15\u53F7\u672A\u6B63\u786E\u95ED\u5408\uFF1A${o[0]}`,en:`The quotes in the attribute are not closed correctly: ${o[0]}`}})),o[0].startsWith("<")&&o[0].endsWith(">")&&!o[0].includes("href=")&&!o[0].includes("src=")&&(o[0].includes("://")||o[0].includes("@")))continue;if(o[0].startsWith("\\<")||o[0].endsWith("\\>")){n.length>0&&(i.has(o.index)||(i.add(o.index),t.push({name:Dr,type:"error",content:o[0],start:o.index,end:o.index+o[0].length,message:{zh:`\u672A\u95ED\u5408\u7684 html \u6807\u7B7E\uFF1A${o[0]}\uFF1B\\<\u6216\\>\u7684\u8F6C\u4E49\u5199\u6CD5\u4E0D\u5141\u8BB8\u5728\u6807\u7B7E\u5D4C\u5957\u4E2D\u4F7F\u7528`,en:`Unclosed html tag: ${o[0]}. \\< or \\> escape syntax is not allowed to be used in nested tags.`}})));continue}if(o[0].startsWith("<")&&!o[0].startsWith("")||o[1]&&r.has(o[1]?.toLowerCase())&&o[0].startsWith(`<${o[1]}`)||o[1]&&!/^[a-zA-Z]/.test(o[1]))continue;let a=o[1]?.toLowerCase();if(!(a&&o[0].startsWith("0&&n[n.length-1].tag===a)c=!0,n.pop();else if(n.length>0){let l=-1;for(let d=n.length-1;d>=0;d--)if(n[d].tag===a){l=d;break}if(l!==-1){for(let d=n.length-1;d>l;d--){let h=n[d];i.has(h.match.index)||(i.add(h.match.index),t.push({name:Dr,type:"error",content:h.match[0],start:h.match.index,end:h.match.index+h.match[0].length,message:{zh:`\u672A\u6B63\u786E\u95ED\u5408\u7684 html \u6807\u7B7E\uFF1A<${h.tag}>`,en:`Unclosed html tag: <${h.tag}>.`}}))}n.splice(l,1),c=!0}}c||i.has(o.index)||(i.add(o.index),t.push({name:Dr,type:"error",content:o[0],start:o.index,end:o.index+o[0].length,message:{zh:`\u672A\u5339\u914D\u7684\u7ED3\u675F\u6807\u7B7E\uFF1A`,en:`Unmatched closing tag: .`}}))}for(;n.length>0;){let{tag:o,match:a}=n.pop();i.has(a.index)||(i.add(a.index),t.push({name:Dr,type:"error",content:a[0],start:a.index,end:a.index+a[0].length,message:{zh:`\u672A\u95ED\u5408\u7684 html \u6807\u7B7E\uFF1A<${o}>`,en:`Unclosed html tag: <${o}>.`}}))}return t}var Ts=B(Ec());var _t="toc-check",V1={label:{checkValue:async e=>{if(typeof e!="string")return{zh:"label \u503C\u53EA\u80FD\u4E3A\u5B57\u7B26\u4E32",en:"label value can only be a string."};if(e.trim()==="")return{zh:"label \u503C\u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26\u4E32",en:"label value cannot be an empty string."}}},description:{checkValue:async e=>{if(typeof e!="string")return{zh:"description \u503C\u53EA\u80FD\u4E3A\u5B57\u7B26\u4E32",en:"description value can only be a string."};if(e.trim()==="")return{zh:"description \u503C\u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26\u4E32",en:"description value cannot be an empty string."}}},isManual:{checkValue:async e=>{if(typeof e!="boolean")return{zh:"isManual \u503C\u53EA\u80FD\u4E3A boolean",en:"isManual value can only be a boolean."}}},sections:{checkValue:async e=>{if(!Array.isArray(e))return{zh:"sections \u503C\u53EA\u80FD\u4E3A\u6570\u7EC4",en:"sections value can only be an array."}}},href:{checkValue:async(e,t,n)=>{if(typeof e!="string"&&typeof e!="object")return{zh:"href \u503C\u53EA\u80FD\u4E3A\u5B57\u7B26\u4E32\u6216\u5BF9\u8C61",en:"href value can only be a string or object."};if(typeof e=="string"){if(e.trim()==="")return{zh:"href \u503C\u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26\u4E32",en:"href value cannot be an empty string."};if(await Pr(e,t,[],n)===404)return{zh:"\u6587\u6863\u8D44\u6E90\u4E0D\u5B58\u5728",en:"Document resource does not exist."}}}},upstream:{checkValue:async(e,t,n)=>{if(typeof e!="string")return{zh:"upstream \u503C\u53EA\u80FD\u4E3A\u5B57\u7B26\u4E32",en:"upstream can only be a string."};if(e.trim()==="")return{zh:"upstream \u503C\u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26\u4E32",en:"upstream value cannot be an empty string."};if(e.startsWith("http")){if(!e.startsWith("https")&&(e.includes("github.com")||e.includes("gitee.com")||e.includes("gitcode.com")))return{zh:"github\u3001gitee\u3001gitcode \u94FE\u63A5\u5FC5\u987B\u4EE5 https \u5F00\u5934",en:"github\u3001gitee\u3001gitcode links must start with https."}}else return{zh:"upstream \u503C\u5FC5\u987B\u4EE5 http \u5F00\u5934",en:"upstream must start with http."};if(await Pr(e,"",[],n)===404)return{zh:"\u6587\u6863\u8D44\u6E90\u4E0D\u5B58\u5728",en:"Document resource does not exist."}}},path:{checkValue:async e=>{if(typeof e!="string")return{zh:"path \u503C\u53EA\u80FD\u4E3A\u5B57\u7B26\u4E32",en:"path value can only be a string."};if(e.trim()==="")return{zh:"path \u503C\u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26\u4E32",en:"path value cannot be an empty string."}}}};async function gd(e,t,n,r,i=!1){if((0,Ts.isMap)(e)){for(let{key:s,value:o}of e.items){if(r?.aborted)throw new Error("aborted");let a=s.toString();if(!V1[a]){n.push({name:_t,type:"error",content:a,start:s.range[0],end:s.range[1],message:{zh:`_toc.yaml \u4E0D\u5141\u8BB8\u8BE5\u5B57\u6BB5\uFF1A${a}`,en:"_toc.yaml does not allow this field: ${keyString}."}});continue}if(o&&V1[a].checkValue){let c=o.toJSON(),l=await V1[a].checkValue(c,t,r);l&&n.push({name:_t,type:"error",content:c,start:o.range[0],end:o.range[1],message:l})}if(e.items.filter(({key:c})=>c.toString()===a).length>1&&n.push({name:_t,type:"error",content:a,start:s.range[0],end:s.range[1],message:{zh:`${a} \u5B57\u6BB5\u91CD\u590D`,en:`${a} field repeated.`}}),a==="label"){e.items.length===1&&n.push({name:_t,type:"error",content:a,start:s.range[0],end:s.range[1],message:{zh:"\u7F3A\u5C11 href \u6216 sections \u5B57\u6BB5",en:"Missing href or sections field."}});continue}if(a==="href"){o&&await gd(o,t,n,r);continue}if(a==="sections"){e.items.some(({key:c})=>c.toString()==="label")||n.push({name:_t,type:"error",content:a,start:s.range[0],end:s.range[1],message:{zh:"\u7F3A\u5C11 label \u5B57\u6BB5",en:"Missing label field."}}),o&&await gd(o,t,n,r);continue}if(a==="upstream"){e.items.some(({key:c})=>c.toString()==="href")&&n.push({name:_t,type:"error",content:a,start:s.range[0],end:s.range[1],message:{zh:"upstream \u5B57\u6BB5\u4E0D\u5141\u8BB8\u4E0E href \u5B57\u6BB5\u540C\u65F6\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\u7F29\u8FDB\u662F\u5426\u6B63\u786E",en:"upstream field cannot exist with href field, please check indentation."}});continue}if(a==="path"){e.items.some(({key:c})=>c.toString()==="href")&&n.push({name:_t,type:"error",content:a,start:s.range[0],end:s.range[1],message:{zh:"path \u5B57\u6BB5\u4E0D\u5141\u8BB8\u4E0E href \u5B57\u6BB5\u540C\u65F6\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\u7F29\u8FDB\u662F\u5426\u6B63\u786E",en:"path field cannot exist with href field, please check indentation."}}),e.items.some(({key:c})=>c.toString()==="upstream")||n.push({name:_t,type:"error",content:a,start:s.range[0],end:s.range[1],message:{zh:"\u9700\u8981\u6DFB\u52A0 upstream \u5B57\u6BB5\u624D\u53EF\u4F7F\u7528 path \u5B57\u6BB5",en:"Need to add the upstream field to use the path field."}});continue}}return}if((0,Ts.isSeq)(e)){for(let s of e.items){if(r?.aborted)throw new Error("aborted");await gd(s,t,n,r)}return}i&&n.push({name:_t,type:"error",content:"",start:e.range[0],end:e.range[1],message:{zh:"_toc.yaml \u8F6C\u6362\u5931\u8D25\uFF01\u8BF7\u68C0\u67E5\u662F\u5426\u6309\u683C\u5F0F\u7F16\u5199 _toc.yaml",en:"_toc.yaml conversion failed! Please check whether _toc.yaml is written in the correct format."}})}async function I4(e,t,n){let r=[];try{let i=(0,Ts.parseDocument)(e);await gd(i.contents,t,r,n,!0)}catch{}return r}var K1="file-naming-check";function ine(e){return/^[a-z0-9]*(_[a-z0-9]+)*$/.test(e)}function _4(e,t=[]){if(t.includes(e))return t.includes(e);let n=e.split(".");return n.pop(),ine(n.join("."))}var xd=B(require("path"));var X1="file-naming-consistency-check";async function L4(e,t=[]){let n=e.replace(/\\/g,"/").split("/").pop();if(t.includes(n))return[!0];let r=e.includes("/zh/")?e.replace("/zh/","/en/"):e.replace("/en/","/zh/");if(await mo(r))return[!0];let i=await CD(xd.default.dirname(r)),s=n.toLowerCase().replace(/-/g,"_");for(let o of i)if(o.toLowerCase().replace(/-/g,"_")===s)return[!1,xd.default.join(xd.default.dirname(r),o).replace(/\\/g,"/")];return[!1]}var J1=B(require("path"));function R4(e,t,n){let r=e.split(` +`),i=0,s=1,o=1;for(let a=0;a=i&&t=i&&n{let s=tt({fileContent:e,filePath:n,checkType:i.name,message:i.message.zh,errorContent:i.content,errorContentStartIndex:i.start,errorContentEndIndex:i.end});return et(s),s})}async function B4(e,t,n){let r=await FD(n),[i]=await j2(e,r);return i.map(s=>{let o=tt({fileContent:e,filePath:t,checkType:s.name,message:`${s.extras?.split(",")?.[0]||""}\uFF1A${s.message.zh}`,errorContent:s.content,errorContentStartIndex:s.start,errorContentEndIndex:s.end});return et(o),o})}var M4=B(require("path"));async function P4(e,t){let n=M4.default.join(e,t),[r,i]=await L4(n,wc);if(!r){if(!i&&t.includes("/zh/"))return[];let s=tt({filePath:t,checkType:"file-naming-consistency-check",message:i?"\u4E2D\u82F1\u6587\u6587\u6863\u540D\u79F0\u4E0D\u4E00\u81F4":`\u7F3A\u5C11\u5BF9\u5E94\u7684${t.includes("/zh/")?"\u82F1\u6587":"\u4E2D\u6587"}\u6587\u6863`});return et(s),[s]}return[]}async function O4(e,t){return(await T4(e)).map(r=>{let i=tt({fileContent:e,filePath:t,checkType:r.name,message:r.message.zh,errorContent:r.content,errorContentStartIndex:r.start,errorContentEndIndex:r.end});return et(i),i.message=i.message.replace(/o.extras===404).map(o=>{let a=tt({fileContent:e,filePath:n,checkType:o.name,message:o.message.zh,errorContent:o.content,errorContentStartIndex:o.start,errorContentEndIndex:o.end});return et(a),a})}var Z1=B(require("path"));async function q4(e,t,n,r){let i=await Sc(r);return(await F4(e,{prefixPath:Z1.default.dirname(Z1.default.join(t,n)),whiteList:i})).filter(o=>o.extras===404).map(o=>{let a=tt({fileContent:e,filePath:n,checkType:o.name,message:o.message.zh,errorContent:o.content,errorContentStartIndex:o.start,errorContentEndIndex:o.end});return et(a),a})}async function j4(e,t,n){let r=await TD(n);return(await S4(e,r)).map(s=>{let o=tt({fileContent:e,filePath:t,checkType:s.name,message:s.message.zh,errorContent:s.content,errorContentStartIndex:s.start,errorContentEndIndex:s.end});return et(o),o})}(async()=>{let e=kD(),t=e.repoPath,n=e.checkDirs,r=e.targetOwnerRepo,i=e.targetBranch,s=e.detailUrl,o=parseInt(e.outputCount)||20,a=e.remoteCiConfigUrl,u=e.remoteMdlintConfigUrl,c=e.remoteCodespellConfigUrl,l=e.remoteWhiteListUrlsConfigUrl;if(!t){console.error("\u8BF7\u63D0\u4F9B\u4ED3\u5E93\u5B58\u653E\u8DEF\u5F84");return}let d=n.trim()?n.trim().split(","):["docs/zh","docs/en"];console.log(`\u68C0\u67E5\u76EE\u5F55: ${n}`),console.log(`\u76EE\u6807\u4ED3\u5E93: ${r}`),console.log(`\u76EE\u6807\u5206\u652F: ${i}`);let h=["all"];try{let T=await(await Mr(a,"get")).json();T?.[r]&&(Array.isArray(T?.[r]?.branches?.[i])?h=T[r].branches[i]:Array.isArray(T?.[r]?.global)&&(h=T[r].global))}catch(C){console.error("\u83B7\u53D6 CI \u914D\u7F6E\u5931\u8D25\uFF1A",C?.message)}let f={},p=[ul,pd,md,hd,Dr,K1,X1,_t];console.log("\u68C0\u67E5\u9879\uFF1A"),p.forEach(C=>{(h?.[0]==="all"||Array.isArray(h)&&h.includes(C))&&(f[C]=!0,console.log(C))});let m=AD(t),g=[];for(let C of m)if(d.some(T=>C.startsWith(T)))try{let T=W4.default.join(t,C),v=bd.default.readFileSync(T,"utf-8");if(T.endsWith(".md")){let k=wu(v,{disableHtmlComment:!0,disableCode:!0});f[ul]&&g.push(...await B4(v,C,u)),f[pd]&&g.push(...await z4(k,t,C,l)),f[md]&&g.push(...await q4(k,t,C,l)),f[hd]&&g.push(...await j4(k,C,c)),f[Dr]&&g.push(...await O4(k,C)),f[K1]&&g.push(...await U4(C)),f[X1]&&g.push(...await P4(t,C));continue}if(T.endsWith("_toc.yaml")){f[_t]&&g.push(...await N4(v,t,C));continue}}catch(T){console.error(`\u68C0\u67E5\u6587\u4EF6 ${C} \u5931\u8D25\uFF1A`,T?.message),g.push({filePath:C,message:"\u68C0\u67E5\u5F02\u5E38~"})}let x="./output.md";if(g.length===0){let C=["| \u68C0\u67E5\u9879 | \u68C0\u67E5\u7ED3\u679C | \u8BE6\u60C5 |","| --- | --- | --- |"];Object.keys(f).forEach(T=>{C.push(`| ${T} | \u2705 \u5DF2\u901A\u8FC7 | [\u67E5\u770B\u8BE6\u60C5](${s}) |`)}),console.log("\u2705 \u95E8\u7981\u68C0\u67E5\u901A\u8FC7\uFF01"),bd.default.writeFileSync(x,`\u2705 \u95E8\u7981\u68C0\u67E5\u901A\u8FC7\uFF01 + +${f.length?C.join(` +`):""}`);return}let b=["| \u5E8F\u53F7 | \u9519\u8BEF\u8BE6\u60C5 |","| --- | --- |"],y=o+b.length;g.forEach((C,T)=>{if(C.checkType&&(f[C.checkType]=!1),b.length100?C.message.slice(0,100)+"...":C.message}`,C.content&&C.content.trim()?`[\u9519\u8BEF\u5185\u5BB9]\uFF1A${C.content.trim().length>100?C.content.trim().slice(0,100)+"...":C.content.trim()}`:""].filter(Boolean);b.push(`| ${T+1} | ${v.join("
")} |`)}});let D=s?["| \u68C0\u67E5\u9879 | \u68C0\u67E5\u7ED3\u679C | \u8BE6\u60C5 |","| --- | --- | --- |"]:["| \u68C0\u67E5\u9879 | \u68C0\u67E5\u7ED3\u679C |","| --- | --- |"];Object.keys(f).forEach(C=>{D.push(`| ${C} | ${f[C]?"\u2705 \u5DF2\u901A\u8FC7":"\u274C \u672A\u901A\u8FC7"} | ${s?`[\u67E5\u770B\u8BE6\u60C5](${s}) |`:""}`)});let w=`\u274C \u95E8\u7981\u68C0\u67E5\u672A\u901A\u8FC7\uFF01 + + ${D.join(` +`)} + + ${g.length>o?`\u{1F4A1} \u672C\u6B21\u68C0\u67E5\u51FA ${g.length} \u9879\u9519\u8BEF\uFF0C\u4EC5\u5C55\u793A\u524D ${o} \u6761\uFF0C\u8BF7\u901A\u8FC7\u4E0A\u65B9\u8868\u683C\u7684 \u201C\u67E5\u770B\u8BE6\u60C5\u201D \u83B7\u53D6\u66F4\u591A\u4FE1\u606F~`:`\u{1F4A1} \u672C\u6B21\u68C0\u67E5\u51FA ${g.length} \u9879\u9519\u8BEF\uFF0C\u8BE6\u60C5\u5185\u5BB9\u5982\u4E0B\uFF1A`} + + ${b.join(` +`)}`;bd.default.writeFileSync(x,w)})(); +/*! Bundled license information: + +repeat-string/index.js: + (*! + * repeat-string + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + *) + +smol-toml/dist/error.js: +smol-toml/dist/util.js: +smol-toml/dist/date.js: +smol-toml/dist/primitive.js: +smol-toml/dist/extract.js: +smol-toml/dist/struct.js: +smol-toml/dist/parse.js: +smol-toml/dist/stringify.js: +smol-toml/dist/index.js: + (*! + * Copyright (c) Squirrel Chat et al., All rights reserved. + * SPDX-License-Identifier: BSD-3-Clause + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its contributors + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *) +*/ diff --git a/env.d.ts b/env.d.ts deleted file mode 100644 index 11f02fe2a0061d6e6e1f271b21da95423b448b32..0000000000000000000000000000000000000000 --- a/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/eslint.config.js b/eslint.config.js deleted file mode 100644 index 92a10a4b49e5cc1c1424809f2da939c87644b510..0000000000000000000000000000000000000000 --- a/eslint.config.js +++ /dev/null @@ -1,32 +0,0 @@ -import js from '@eslint/js'; -import globals from 'globals'; -import tseslint from 'typescript-eslint'; -import pluginVue from 'eslint-plugin-vue'; -import { defineConfig } from 'eslint/config'; - -export default defineConfig([ - { files: ['**/*.{js,mjs,cjs,ts,mts,cts,vue}'], plugins: { js }, extends: ['js/recommended'] }, - { files: ['**/*.{js,mjs,cjs,ts,mts,cts,vue}'], languageOptions: { globals: globals.browser } }, - tseslint.configs.recommended, - pluginVue.configs['flat/essential'], - { files: ['**/*.vue'], languageOptions: { parserOptions: { parser: tseslint.parser } } }, - { - languageOptions: { - globals: { - NodeJS: 'readonly', - }, - }, - rules: { - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-unused-vars': [ - 'error', - { - varsIgnorePattern: '^_', - argsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^_', - destructuredArrayIgnorePattern: '^_', - }, - ], - }, - }, -]); diff --git a/markdownlint-config.json b/markdownlint-config.json new file mode 100644 index 0000000000000000000000000000000000000000..8e64ea07cb1b632a9976f333347d3edec3e8ad30 --- /dev/null +++ b/markdownlint-config.json @@ -0,0 +1,34 @@ +{ + "default": true, + "MD003": { + "style": "atx" + }, + "MD029": { + "style": "ordered" + }, + "MD004": false, + "MD007": false, + "MD009": false, + "MD013": false, + "MD014": false, + "MD020": false, + "MD021": false, + "MD024": false, + "MD025": false, + "MD033": false, + "MD036": false, + "MD042": false, + "MD043": false, + "MD044": false, + "MD045": false, + "MD046": false, + "MD048": false, + "MD049": false, + "MD050": false, + "MD051": false, + "MD052": false, + "MD053": false, + "MD055": false, + "MD056": false, + "MD057": false +} diff --git a/package.json b/package.json index 520ab135b1de88e0c6177d7a930b102932cda899..fb5f7ec815350f4e3833c7be8c50026937448283 100644 --- a/package.json +++ b/package.json @@ -1,70 +1,7 @@ { - "name": "docs", + "name": "docs-ci", "version": "0.0.1", - "type": "module", - "scripts": { - "dev": "node scripts/dev.js", - "dev:clone": "node scripts/clone-docs.js", - "dev:toc": "node scripts/gen-toc.js", - "dev:app": "vitepress dev app", - "build": "node scripts/gen-toc.js $VERSION && node scripts/merge-redirect.js $VERSION && vitepress build app", - "preview": "vitepress preview app", - "format": "prettier --write app/.vitepress/src/", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false", - "test": "vitest", - "lint": "eslint app/.vitepress/src/**", - "fix": "eslint app/.vitepress/src/** --fix" - }, - "pnpm": { - "overrides": { - "axios": "1.12.2", - "ua-parser-js": "1.0.34" - } - }, "dependencies": { - "@opensig/open-analytics": "0.0.9", - "@opensig/opendesign": "1.0.2", - "@vueuse/core": "9.12.0", - "axios": "1.12.2", - "clipboard": "2.0.11", - "element-plus": "2.11.5", - "js-cookie": "3.0.5", - "pinia": "2.1.6", - "vue": "3.3.4", - "vue-dompurify-html": "5.3.0", - "vue-i18n": "11.1.12" - }, - "devDependencies": { - "@eslint/js": "^9.29.0", - "@inquirer/prompts": "^7.9.0", - "@rushstack/eslint-patch": "^1.3.3", - "@tsconfig/node18": "^18.2.2", - "@types/js-cookie": "^3.0.6", - "@types/markdown-it": "^14.1.2", - "@types/node": "^18.18.10", - "@vitejs/plugin-basic-ssl": "^1.1.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/eslint-config-prettier": "^8.0.0", - "@vue/eslint-config-typescript": "^12.0.0", - "@vue/tsconfig": "^0.4.0", - "eslint": "^9.29.0", - "eslint-plugin-vue": "^9.32.0", - "fs-extra": "^11.2.0", - "github-markdown-css": "5.1.0", - "globals": "^16.2.0", - "gray-matter": "4.0.3", - "js-yaml": "^4.1.0", - "markdown-it": "^14.1.0", - "markdown-it-anchor": "^9.2.0", - "markdown-it-mathjax3": "^4.3.2", - "prettier": "^3.2.5", - "sass": "^1.93.2", - "typescript": "~5.2.0", - "typescript-eslint": "^8.35.0", - "unplugin-icons": "^0.17.1", - "vitepress": "^1.6.4", - "vitest": "^3.2.3", - "vue-tsc": "^1.8.19" + "cspell-lib": "9.2.1" } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 35b154d9aa32d2bc33d9267621e858e7a580eb44..238b27a42ad46afb2d716ffe2f23b25958c6c947 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,5933 +4,692 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - axios: 1.12.2 - ua-parser-js: 1.0.34 - -importers: - - .: - dependencies: - '@opensig/open-analytics': - specifier: 0.0.9 - version: 0.0.9 - '@opensig/opendesign': - specifier: 1.0.2 - version: 1.0.2(vue@3.3.4) - '@vueuse/core': - specifier: 9.12.0 - version: 9.12.0(vue@3.3.4) - axios: - specifier: 1.12.2 - version: 1.12.2 - clipboard: - specifier: 2.0.11 - version: 2.0.11 - element-plus: - specifier: 2.11.5 - version: 2.11.5(vue@3.3.4) - js-cookie: - specifier: 3.0.5 - version: 3.0.5 - pinia: - specifier: 2.1.6 - version: 2.1.6(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: 3.3.4 - version: 3.3.4 - vue-dompurify-html: - specifier: 5.3.0 - version: 5.3.0(vue@3.3.4) - vue-i18n: - specifier: 11.1.12 - version: 11.1.12(vue@3.3.4) - devDependencies: - '@eslint/js': - specifier: ^9.29.0 - version: 9.29.0 - '@inquirer/prompts': - specifier: ^7.9.0 - version: 7.9.0(@types/node@18.19.70) - '@rushstack/eslint-patch': - specifier: ^1.3.3 - version: 1.10.5 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.4 - '@types/js-cookie': - specifier: ^3.0.6 - version: 3.0.6 - '@types/markdown-it': - specifier: ^14.1.2 - version: 14.1.2 - '@types/node': - specifier: ^18.18.10 - version: 18.19.70 - '@vitejs/plugin-basic-ssl': - specifier: ^1.1.0 - version: 1.2.0(vite@5.4.11(@types/node@18.19.70)(sass@1.93.2)) - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.6.2(vite@5.4.11(@types/node@18.19.70)(sass@1.93.2))(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.1.0(vite@5.4.11(@types/node@18.19.70)(sass@1.93.2))(vue@3.3.4) - '@vue/eslint-config-prettier': - specifier: ^8.0.0 - version: 8.0.0(eslint@9.29.0)(prettier@3.4.2) - '@vue/eslint-config-typescript': - specifier: ^12.0.0 - version: 12.0.0(eslint-plugin-vue@9.32.0(eslint@9.29.0))(eslint@9.29.0)(typescript@5.2.2) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - eslint: - specifier: ^9.29.0 - version: 9.29.0 - eslint-plugin-vue: - specifier: ^9.32.0 - version: 9.32.0(eslint@9.29.0) - fs-extra: - specifier: ^11.2.0 - version: 11.2.0 - github-markdown-css: - specifier: 5.1.0 - version: 5.1.0 - globals: - specifier: ^16.2.0 - version: 16.2.0 - gray-matter: - specifier: 4.0.3 - version: 4.0.3 - js-yaml: - specifier: ^4.1.0 - version: 4.1.0 - markdown-it: - specifier: ^14.1.0 - version: 14.1.0 - markdown-it-anchor: - specifier: ^9.2.0 - version: 9.2.0(@types/markdown-it@14.1.2)(markdown-it@14.1.0) - markdown-it-mathjax3: - specifier: ^4.3.2 - version: 4.3.2 - prettier: - specifier: ^3.2.5 - version: 3.4.2 - sass: - specifier: ^1.93.2 - version: 1.93.2 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - typescript-eslint: - specifier: ^8.35.0 - version: 8.35.0(eslint@9.29.0)(typescript@5.2.2) - unplugin-icons: - specifier: ^0.17.1 - version: 0.17.4(@vue/compiler-sfc@3.5.13)(vue-template-compiler@2.7.16) - vitepress: - specifier: ^1.6.4 - version: 1.6.4(@algolia/client-search@5.19.0)(@types/node@18.19.70)(async-validator@4.2.5)(axios@1.12.2)(markdown-it-mathjax3@4.3.2)(postcss@8.4.49)(sass@1.93.2)(search-insights@2.17.3)(typescript@5.2.2) - vitest: - specifier: ^3.2.3 - version: 3.2.3(@types/node@18.19.70)(sass@1.93.2) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.27(typescript@5.2.2) - -packages: - - '@algolia/autocomplete-core@1.17.7': - resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==} - - '@algolia/autocomplete-plugin-algolia-insights@1.17.7': - resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==} - peerDependencies: - search-insights: '>= 1 < 3' - - '@algolia/autocomplete-preset-algolia@1.17.7': - resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - - '@algolia/autocomplete-shared@1.17.7': - resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - - '@algolia/client-abtesting@5.19.0': - resolution: {integrity: sha512-dMHwy2+nBL0SnIsC1iHvkBao64h4z+roGelOz11cxrDBrAdASxLxmfVMop8gmodQ2yZSacX0Rzevtxa+9SqxCw==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-analytics@5.19.0': - resolution: {integrity: sha512-CDW4RwnCHzU10upPJqS6N6YwDpDHno7w6/qXT9KPbPbt8szIIzCHrva4O9KIfx1OhdsHzfGSI5hMAiOOYl4DEQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-common@5.19.0': - resolution: {integrity: sha512-2ERRbICHXvtj5kfFpY5r8qu9pJII/NAHsdgUXnUitQFwPdPL7wXiupcvZJC7DSntOnE8AE0lM7oDsPhrJfj5nQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-insights@5.19.0': - resolution: {integrity: sha512-xPOiGjo6I9mfjdJO7Y+p035aWePcbsItizIp+qVyfkfZiGgD+TbNxM12g7QhFAHIkx/mlYaocxPY/TmwPzTe+A==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-personalization@5.19.0': - resolution: {integrity: sha512-B9eoce/fk8NLboGje+pMr72pw+PV7c5Z01On477heTZ7jkxoZ4X92dobeGuEQop61cJ93Gaevd1of4mBr4hu2A==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-query-suggestions@5.19.0': - resolution: {integrity: sha512-6fcP8d4S8XRDtVogrDvmSM6g5g6DndLc0pEm1GCKe9/ZkAzCmM3ZmW1wFYYPxdjMeifWy1vVEDMJK7sbE4W7MA==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-search@5.19.0': - resolution: {integrity: sha512-Ctg3xXD/1VtcwmkulR5+cKGOMj4r0wC49Y/KZdGQcqpydKn+e86F6l3tb3utLJQVq4lpEJud6kdRykFgcNsp8Q==} - engines: {node: '>= 14.0.0'} - - '@algolia/ingestion@1.19.0': - resolution: {integrity: sha512-LO7w1MDV+ZLESwfPmXkp+KLeYeFrYEgtbCZG6buWjddhYraPQ9MuQWLhLLiaMlKxZ/sZvFTcZYuyI6Jx4WBhcg==} - engines: {node: '>= 14.0.0'} - - '@algolia/monitoring@1.19.0': - resolution: {integrity: sha512-Mg4uoS0aIKeTpu6iv6O0Hj81s8UHagi5TLm9k2mLIib4vmMtX7WgIAHAcFIaqIZp5D6s5EVy1BaDOoZ7buuJHA==} - engines: {node: '>= 14.0.0'} - - '@algolia/recommend@5.19.0': - resolution: {integrity: sha512-PbgrMTbUPlmwfJsxjFhal4XqZO2kpBNRjemLVTkUiti4w/+kzcYO4Hg5zaBgVqPwvFDNQ8JS4SS3TBBem88u+g==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-browser-xhr@5.19.0': - resolution: {integrity: sha512-GfnhnQBT23mW/VMNs7m1qyEyZzhZz093aY2x8p0era96MMyNv8+FxGek5pjVX0b57tmSCZPf4EqNCpkGcGsmbw==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-fetch@5.19.0': - resolution: {integrity: sha512-oyTt8ZJ4T4fYvW5avAnuEc6Laedcme9fAFryMD9ndUTIUe/P0kn3BuGcCLFjN3FDmdrETHSFkgPPf1hGy3sLCw==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-node-http@5.19.0': - resolution: {integrity: sha512-p6t8ue0XZNjcRiqNkb5QAM0qQRAKsCiebZ6n9JjWA+p8fWf8BvnhO55y2fO28g3GW0Imj7PrAuyBuxq8aDVQwQ==} - engines: {node: '>= 14.0.0'} - - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@antfu/install-pkg@0.1.1': - resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} - - '@antfu/install-pkg@0.4.1': - resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==} - - '@antfu/utils@0.7.10': - resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} - - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.26.3': - resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.26.0': - resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.26.3': - resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-annotate-as-pure@7.25.9': - resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.25.9': - resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-create-class-features-plugin@7.25.9': - resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-member-expression-to-functions@7.25.9': - resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.25.9': - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.26.0': - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-optimise-call-expression@7.25.9': - resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.25.9': - resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-replace-supers@7.25.9': - resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.25.9': - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.26.0': - resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.26.3': - resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/plugin-syntax-jsx@7.25.9': - resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-typescript@7.25.9': - resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typescript@7.26.3': - resolution: {integrity: sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/template@7.25.9': - resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.26.4': - resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.26.3': - resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} - engines: {node: '>=6.9.0'} - - '@ctrl/tinycolor@3.6.1': - resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} - engines: {node: '>=10'} - - '@docsearch/css@3.8.2': - resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==} - - '@docsearch/js@3.8.2': - resolution: {integrity: sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==} - - '@docsearch/react@3.8.2': - resolution: {integrity: sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==} - peerDependencies: - '@types/react': '>= 16.8.0 < 19.0.0' - react: '>= 16.8.0 < 19.0.0' - react-dom: '>= 16.8.0 < 19.0.0' - search-insights: '>= 1 < 3' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true - - '@element-plus/icons-vue@2.3.2': - resolution: {integrity: sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==} - peerDependencies: - vue: ^3.2.0 - - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@eslint-community/eslint-utils@4.4.1': - resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/eslint-utils@4.7.0': - resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/regexpp@4.12.1': - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint/config-array@0.20.1': - resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/config-helpers@0.2.3': - resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/core@0.14.0': - resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/core@0.15.0': - resolution: {integrity: sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/eslintrc@3.3.1': - resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/js@9.29.0': - resolution: {integrity: sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/object-schema@2.1.6': - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/plugin-kit@0.3.2': - resolution: {integrity: sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@floating-ui/core@1.6.9': - resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} - - '@floating-ui/dom@1.6.13': - resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==} - - '@floating-ui/utils@0.2.9': - resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} - - '@humanfs/core@0.19.1': - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} - engines: {node: '>=18.18.0'} - - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} - engines: {node: '>=18.18.0'} - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - - '@humanwhocodes/retry@0.4.3': - resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} - engines: {node: '>=18.18'} - - '@iconify-json/simple-icons@1.2.54': - resolution: {integrity: sha512-OQQYl8yC5j3QklZOYnK31QYe5h47IhyCoxSLd53f0e0nA4dgi8VOZS30SgSAbsecQ+S0xlGJMjXIHTIqZ+ML3w==} - - '@iconify/types@2.0.0': - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - - '@iconify/utils@2.2.1': - resolution: {integrity: sha512-0/7J7hk4PqXmxo5PDBDxmnecw5PxklZJfNjIVG9FM0mEfVrvfudS22rYWsqVk6gR3UJ/mSYS90X4R3znXnqfNA==} - - '@inquirer/ansi@1.0.1': - resolution: {integrity: sha512-yqq0aJW/5XPhi5xOAL1xRCpe1eh8UFVgYFpFsjEqmIR8rKLyP+HINvFXwUaxYICflJrVlxnp7lLN6As735kVpw==} - engines: {node: '>=18'} - - '@inquirer/checkbox@4.3.0': - resolution: {integrity: sha512-5+Q3PKH35YsnoPTh75LucALdAxom6xh5D1oeY561x4cqBuH24ZFVyFREPe14xgnrtmGu3EEt1dIi60wRVSnGCw==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/confirm@5.1.19': - resolution: {integrity: sha512-wQNz9cfcxrtEnUyG5PndC8g3gZ7lGDBzmWiXZkX8ot3vfZ+/BLjR8EvyGX4YzQLeVqtAlY/YScZpW7CW8qMoDQ==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/core@10.3.0': - resolution: {integrity: sha512-Uv2aPPPSK5jeCplQmQ9xadnFx2Zhj9b5Dj7bU6ZeCdDNNY11nhYy4btcSdtDguHqCT2h5oNeQTcUNSGGLA7NTA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/editor@4.2.21': - resolution: {integrity: sha512-MjtjOGjr0Kh4BciaFShYpZ1s9400idOdvQ5D7u7lE6VztPFoyLcVNE5dXBmEEIQq5zi4B9h2kU+q7AVBxJMAkQ==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/expand@4.0.21': - resolution: {integrity: sha512-+mScLhIcbPFmuvU3tAGBed78XvYHSvCl6dBiYMlzCLhpr0bzGzd8tfivMMeqND6XZiaZ1tgusbUHJEfc6YzOdA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/external-editor@1.0.2': - resolution: {integrity: sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/figures@1.0.14': - resolution: {integrity: sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ==} - engines: {node: '>=18'} - - '@inquirer/input@4.2.5': - resolution: {integrity: sha512-7GoWev7P6s7t0oJbenH0eQ0ThNdDJbEAEtVt9vsrYZ9FulIokvd823yLyhQlWHJPGce1wzP53ttfdCZmonMHyA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/number@3.0.21': - resolution: {integrity: sha512-5QWs0KGaNMlhbdhOSCFfKsW+/dcAVC2g4wT/z2MCiZM47uLgatC5N20kpkDQf7dHx+XFct/MJvvNGy6aYJn4Pw==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/password@4.0.21': - resolution: {integrity: sha512-xxeW1V5SbNFNig2pLfetsDb0svWlKuhmr7MPJZMYuDnCTkpVBI+X/doudg4pznc1/U+yYmWFFOi4hNvGgUo7EA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/prompts@7.9.0': - resolution: {integrity: sha512-X7/+dG9SLpSzRkwgG5/xiIzW0oMrV3C0HOa7YHG1WnrLK+vCQHfte4k/T80059YBdei29RBC3s+pSMvPJDU9/A==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/rawlist@4.1.9': - resolution: {integrity: sha512-AWpxB7MuJrRiSfTKGJ7Y68imYt8P9N3Gaa7ySdkFj1iWjr6WfbGAhdZvw/UnhFXTHITJzxGUI9k8IX7akAEBCg==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/search@3.2.0': - resolution: {integrity: sha512-a5SzB/qrXafDX1Z4AZW3CsVoiNxcIYCzYP7r9RzrfMpaLpB+yWi5U8BWagZyLmwR0pKbbL5umnGRd0RzGVI8bQ==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/select@4.4.0': - resolution: {integrity: sha512-kaC3FHsJZvVyIjYBs5Ih8y8Bj4P/QItQWrZW22WJax7zTN+ZPXVGuOM55vzbdCP9zKUiBd9iEJVdesujfF+cAA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/type@3.0.9': - resolution: {integrity: sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@intlify/core-base@11.1.12': - resolution: {integrity: sha512-whh0trqRsSqVLNEUCwU59pyJZYpU8AmSWl8M3Jz2Mv5ESPP6kFh4juas2NpZ1iCvy7GlNRffUD1xr84gceimjg==} - engines: {node: '>= 16'} - - '@intlify/message-compiler@11.1.12': - resolution: {integrity: sha512-Fv9iQSJoJaXl4ZGkOCN1LDM3trzze0AS2zRz2EHLiwenwL6t0Ki9KySYlyr27yVOj5aVz0e55JePO+kELIvfdQ==} - engines: {node: '>= 16'} - - '@intlify/shared@11.1.12': - resolution: {integrity: sha512-Om86EjuQtA69hdNj3GQec9ZC0L0vPSAnXzB3gP/gyJ7+mA7t06d9aOAiqMZ+xEOsumGP4eEBlfl8zF2LOTzf2A==} - engines: {node: '>= 16'} - - '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@opensig/open-analytics@0.0.9': - resolution: {integrity: sha512-D+4VWxgBc1ABsQjWEjWfBfoBQ4PQbc1lNZeEYpQXkTJLLFcj6nSa+LwcYZFXtZdGz9dzOhhbwRwXv66WFw2qJw==} - - '@opensig/opendesign@1.0.2': - resolution: {integrity: sha512-orCBF4uO+hjRRcdihzdTtDCYTnZkcYUqLsFuBTyhrr7kb4uwxk9rZ94jOyMACuaNjTjenVMqF50+C6sMGO2Ghw==} - peerDependencies: - vue: ^3.3.0 - - '@parcel/watcher-android-arm64@2.5.1': - resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [android] - - '@parcel/watcher-darwin-arm64@2.5.1': - resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [darwin] - - '@parcel/watcher-darwin-x64@2.5.1': - resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [darwin] - - '@parcel/watcher-freebsd-x64@2.5.1': - resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [freebsd] - - '@parcel/watcher-linux-arm-glibc@2.5.1': - resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - libc: [glibc] - - '@parcel/watcher-linux-arm-musl@2.5.1': - resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - libc: [musl] - - '@parcel/watcher-linux-arm64-glibc@2.5.1': - resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@parcel/watcher-linux-arm64-musl@2.5.1': - resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@parcel/watcher-linux-x64-glibc@2.5.1': - resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@parcel/watcher-linux-x64-musl@2.5.1': - resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - libc: [musl] - - '@parcel/watcher-win32-arm64@2.5.1': - resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [win32] - - '@parcel/watcher-win32-ia32@2.5.1': - resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} - engines: {node: '>= 10.0.0'} - cpu: [ia32] - os: [win32] - - '@parcel/watcher-win32-x64@2.5.1': - resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [win32] - - '@parcel/watcher@2.5.1': - resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} - engines: {node: '>= 10.0.0'} - - '@pkgr/core@0.1.1': - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - - '@rollup/rollup-android-arm-eabi@4.30.1': - resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.30.1': - resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.30.1': - resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.30.1': - resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.30.1': - resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.30.1': - resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.30.1': - resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==} - cpu: [arm] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm-musleabihf@4.30.1': - resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==} - cpu: [arm] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-arm64-gnu@4.30.1': - resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm64-musl@4.30.1': - resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-loongarch64-gnu@4.30.1': - resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==} - cpu: [loong64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': - resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-riscv64-gnu@4.30.1': - resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-s390x-gnu@4.30.1': - resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-x64-gnu@4.30.1': - resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-x64-musl@4.30.1': - resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==} - cpu: [x64] - os: [linux] - libc: [musl] - - '@rollup/rollup-win32-arm64-msvc@4.30.1': - resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.30.1': - resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.30.1': - resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==} - cpu: [x64] - os: [win32] - - '@rushstack/eslint-patch@1.10.5': - resolution: {integrity: sha512-kkKUDVlII2DQiKy7UstOR1ErJP8kUKAQ4oa+SQtM0K+lPdmmjj0YnnxBgtTVYH7mUKtbsxeFC9y0AmK7Yb78/A==} - - '@shikijs/core@2.5.0': - resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==} - - '@shikijs/engine-javascript@2.5.0': - resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==} - - '@shikijs/engine-oniguruma@2.5.0': - resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==} - - '@shikijs/langs@2.5.0': - resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==} - - '@shikijs/themes@2.5.0': - resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==} - - '@shikijs/transformers@2.5.0': - resolution: {integrity: sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==} - - '@shikijs/types@2.5.0': - resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==} - - '@shikijs/vscode-textmate@10.0.2': - resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - - '@sxzz/popperjs-es@2.11.7': - resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==} - - '@tsconfig/node18@18.2.4': - resolution: {integrity: sha512-5xxU8vVs9/FNcvm3gE07fPbn9tl6tqGGWA9tSlwsUEkBxtRnTsNmwrV8gasZ9F/EobaSv9+nu8AxUKccw77JpQ==} - - '@types/chai@5.2.2': - resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} - - '@types/deep-eql@4.0.2': - resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - - '@types/js-cookie@3.0.6': - resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==} - - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - '@types/linkify-it@5.0.0': - resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} - - '@types/lodash-es@4.17.12': - resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} - - '@types/lodash@4.17.20': - resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==} - - '@types/markdown-it@14.1.2': - resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} - - '@types/mdast@4.0.4': - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - - '@types/mdurl@2.0.0': - resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} - - '@types/node@18.19.70': - resolution: {integrity: sha512-RE+K0+KZoEpDUbGGctnGdkrLFwi1eYKTlIHNl2Um98mUkGsm1u2Ff6Ltd0e8DktTtC98uy7rSj+hO8t/QuLoVQ==} - - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - - '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - - '@types/unist@3.0.3': - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - - '@types/web-bluetooth@0.0.16': - resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} - - '@types/web-bluetooth@0.0.21': - resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} - - '@typescript-eslint/eslint-plugin@6.21.0': - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/eslint-plugin@8.35.0': - resolution: {integrity: sha512-ijItUYaiWuce0N1SoSMrEd0b6b6lYkYt99pqCPfybd+HKVXtEvYhICfLdwp42MhiI5mp0oq7PKEL+g1cNiz/Eg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.35.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/parser@6.21.0': - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/parser@8.35.0': - resolution: {integrity: sha512-6sMvZePQrnZH2/cJkwRpkT7DxoAWh+g6+GFRK6bV3YQo7ogi3SX5rgF6099r5Q53Ma5qeT7LGmOmuIutF4t3lA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/project-service@8.35.0': - resolution: {integrity: sha512-41xatqRwWZuhUMF/aZm2fcUsOFKNcG28xqRSS6ZVr9BVJtGExosLAm5A1OxTjRMagx8nJqva+P5zNIGt8RIgbQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/scope-manager@8.35.0': - resolution: {integrity: sha512-+AgL5+mcoLxl1vGjwNfiWq5fLDZM1TmTPYs2UkyHfFhgERxBbqHlNjRzhThJqz+ktBqTChRYY6zwbMwy0591AA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/tsconfig-utils@8.35.0': - resolution: {integrity: sha512-04k/7247kZzFraweuEirmvUj+W3bJLI9fX6fbo1Qm2YykuBvEhRTPl8tcxlYO8kZZW+HIXfkZNoasVb8EV4jpA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/type-utils@6.21.0': - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/type-utils@8.35.0': - resolution: {integrity: sha512-ceNNttjfmSEoM9PW87bWLDEIaLAyR+E6BoYJQ5PfaDau37UGca9Nyq3lBk8Bw2ad0AKvYabz6wxc7DMTO2jnNA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/types@8.35.0': - resolution: {integrity: sha512-0mYH3emanku0vHw2aRLNGqe7EXh9WHEhi7kZzscrMDf6IIRUQ5Jk4wp1QrledE/36KtdZrVfKnE32eZCf/vaVQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/typescript-estree@8.35.0': - resolution: {integrity: sha512-F+BhnaBemgu1Qf8oHrxyw14wq6vbL8xwWKKMwTMwYIRmFFY/1n/9T/jpbobZL8vp7QyEUcC6xGrnAO4ua8Kp7w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/utils@6.21.0': - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - - '@typescript-eslint/utils@8.35.0': - resolution: {integrity: sha512-nqoMu7WWM7ki5tPgLVsmPM8CkqtoPUG6xXGeefM5t4x3XumOEKMoUZPdi+7F+/EotukN4R9OWdmDxN80fqoZeg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/visitor-keys@8.35.0': - resolution: {integrity: sha512-zTh2+1Y8ZpmeQaQVIc/ZZxsx8UzgKJyNg1PTvjzC7WMhPSVS8bfDX34k1SrwOf016qd5RU3az2UxUNue3IfQ5g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@ungap/structured-clone@1.2.1': - resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} - - '@vitejs/plugin-basic-ssl@1.2.0': - resolution: {integrity: sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q==} - engines: {node: '>=14.21.3'} - peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 - - '@vitejs/plugin-vue-jsx@3.1.0': - resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.0.0 || ^5.0.0 - vue: ^3.0.0 - - '@vitejs/plugin-vue@4.6.2': - resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.0.0 || ^5.0.0 - vue: ^3.2.25 - - '@vitejs/plugin-vue@5.2.1': - resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - vite: ^5.0.0 || ^6.0.0 - vue: ^3.2.25 - - '@vitest/expect@3.2.3': - resolution: {integrity: sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==} - - '@vitest/mocker@3.2.3': - resolution: {integrity: sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==} - peerDependencies: - msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 - peerDependenciesMeta: - msw: - optional: true - vite: - optional: true - - '@vitest/pretty-format@3.2.3': - resolution: {integrity: sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==} - - '@vitest/runner@3.2.3': - resolution: {integrity: sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==} - - '@vitest/snapshot@3.2.3': - resolution: {integrity: sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==} - - '@vitest/spy@3.2.3': - resolution: {integrity: sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==} - - '@vitest/utils@3.2.3': - resolution: {integrity: sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==} - - '@volar/language-core@1.11.1': - resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} - - '@volar/source-map@1.11.1': - resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} - - '@volar/typescript@1.11.1': - resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} - - '@vue/babel-helper-vue-transform-on@1.2.5': - resolution: {integrity: sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==} - - '@vue/babel-plugin-jsx@1.2.5': - resolution: {integrity: sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - peerDependenciesMeta: - '@babel/core': - optional: true - - '@vue/babel-plugin-resolve-type@1.2.5': - resolution: {integrity: sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@vue/compiler-core@3.3.4': - resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} - - '@vue/compiler-core@3.5.13': - resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - - '@vue/compiler-dom@3.3.4': - resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} - - '@vue/compiler-dom@3.5.13': - resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} - - '@vue/compiler-sfc@3.3.4': - resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} - - '@vue/compiler-sfc@3.5.13': - resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} - - '@vue/compiler-ssr@3.3.4': - resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} - - '@vue/compiler-ssr@3.5.13': - resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} - - '@vue/devtools-api@6.6.4': - resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - - '@vue/devtools-api@7.7.0': - resolution: {integrity: sha512-bHEv6kT85BHtyGgDhE07bAUMAy7zpv6nnR004nSTd0wWMrAOtcrYoXO5iyr20Hkf5jR8obQOfS3byW+I3l2CCA==} - - '@vue/devtools-kit@7.7.0': - resolution: {integrity: sha512-5cvZ+6SA88zKC8XiuxUfqpdTwVjJbvYnQZY5NReh7qlSGPvVDjjzyEtW+gdzLXNSd8tStgOjAdMCpvDQamUXtA==} - - '@vue/devtools-shared@7.7.0': - resolution: {integrity: sha512-jtlQY26R5thQxW9YQTpXbI0HoK0Wf9Rd4ekidOkRvSy7ChfK0kIU6vvcBtjj87/EcpeOSK49fZAicaFNJcoTcQ==} - - '@vue/eslint-config-prettier@8.0.0': - resolution: {integrity: sha512-55dPqtC4PM/yBjhAr+yEw6+7KzzdkBuLmnhBrDfp4I48+wy+Giqqj9yUr5T2uD/BkBROjjmqnLZmXRdOx/VtQg==} - peerDependencies: - eslint: '>= 8.0.0' - prettier: '>= 3.0.0' - - '@vue/eslint-config-typescript@12.0.0': - resolution: {integrity: sha512-StxLFet2Qe97T8+7L8pGlhYBBr8Eg05LPuTDVopQV6il+SK6qqom59BA/rcFipUef2jD8P2X44Vd8tMFytfvlg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 - eslint-plugin-vue: ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@vue/language-core@1.8.27': - resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@vue/reactivity-transform@3.3.4': - resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} - - '@vue/reactivity@3.3.4': - resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} - - '@vue/reactivity@3.5.13': - resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} - - '@vue/runtime-core@3.3.4': - resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==} - - '@vue/runtime-core@3.5.13': - resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} - - '@vue/runtime-dom@3.3.4': - resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==} - - '@vue/runtime-dom@3.5.13': - resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} - - '@vue/server-renderer@3.3.4': - resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==} - peerDependencies: - vue: 3.3.4 - - '@vue/server-renderer@3.5.13': - resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} - peerDependencies: - vue: 3.5.13 - - '@vue/shared@3.3.4': - resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} - - '@vue/shared@3.5.13': - resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - - '@vue/tsconfig@0.4.0': - resolution: {integrity: sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==} - - '@vueuse/core@12.8.2': - resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==} - - '@vueuse/core@9.12.0': - resolution: {integrity: sha512-h/Di8Bvf6xRcvS/PvUVheiMYYz3U0tH3X25YxONSaAUBa841ayMwxkuzx/DGUMCW/wHWzD8tRy2zYmOC36r4sg==} - - '@vueuse/integrations@12.8.2': - resolution: {integrity: sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==} - peerDependencies: - async-validator: ^4 - axios: 1.12.2 - change-case: ^5 - drauu: ^0.4 - focus-trap: ^7 - fuse.js: ^7 - idb-keyval: ^6 - jwt-decode: ^4 - nprogress: ^0.2 - qrcode: ^1.5 - sortablejs: ^1 - universal-cookie: ^7 - peerDependenciesMeta: - async-validator: - optional: true - axios: - optional: true - change-case: - optional: true - drauu: - optional: true - focus-trap: - optional: true - fuse.js: - optional: true - idb-keyval: - optional: true - jwt-decode: - optional: true - nprogress: - optional: true - qrcode: - optional: true - sortablejs: - optional: true - universal-cookie: - optional: true - - '@vueuse/metadata@12.8.2': - resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==} - - '@vueuse/metadata@9.12.0': - resolution: {integrity: sha512-9oJ9MM9lFLlmvxXUqsR1wLt1uF7EVbP5iYaHJYqk+G2PbMjY6EXvZeTjbdO89HgoF5cI6z49o2zT/jD9SVoNpQ==} - - '@vueuse/shared@12.8.2': - resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==} - - '@vueuse/shared@9.12.0': - resolution: {integrity: sha512-TWuJLACQ0BVithVTRbex4Wf1a1VaRuSpVeyEd4vMUWl54PzlE0ciFUshKCXnlLuD0lxIaLK4Ypj3NXYzZh4+SQ==} - - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} - engines: {node: '>=0.4.0'} - hasBin: true - - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - algoliasearch@5.19.0: - resolution: {integrity: sha512-zrLtGhC63z3sVLDDKGW+SlCRN9eJHFTgdEmoAOpsVh6wgGL1GgTTDou7tpCBjevzgIvi3AIyDAQO3Xjbg5eqZg==} - engines: {node: '>= 14.0.0'} - - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - - assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} - - async-validator@4.2.5: - resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} - - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - axios@1.12.2: - resolution: {integrity: sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==} - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - birpc@0.2.19: - resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==} - - boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - browserslist@4.24.4: - resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - caniuse-lite@1.0.30001692: - resolution: {integrity: sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==} - - ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - - chai@5.2.0: - resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} - engines: {node: '>=12'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - character-entities-html4@2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - - character-entities-legacy@3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - - chardet@2.1.0: - resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} - - check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} - engines: {node: '>= 16'} - - cheerio-select@1.6.0: - resolution: {integrity: sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==} - - cheerio@1.0.0-rc.10: - resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} - engines: {node: '>= 6'} - - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} - - cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} - - clipboard@2.0.11: - resolution: {integrity: sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - - comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - - commander@6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - - commander@9.2.0: - resolution: {integrity: sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==} - engines: {node: ^12.20.0 || >=14} - - computeds@0.0.1: - resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - copy-anything@3.0.5: - resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} - engines: {node: '>=12.13'} - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - - css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} - - css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} - - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - - dayjs@1.11.18: - resolution: {integrity: sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==} - - de-indent@1.0.2: - resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} - - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - - delegate@3.2.0: - resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==} - - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - - devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - - dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} - - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@3.3.0: - resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==} - engines: {node: '>= 4'} - - domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} - - dompurify@3.2.6: - resolution: {integrity: sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==} - - domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - - electron-to-chromium@1.5.79: - resolution: {integrity: sha512-nYOxJNxQ9Om4EC88BE4pPoNI8xwSFf8pU/BAeOl4Hh/b/i6V4biTAzwV7pXi3ARKeoYO5JZKMIXTryXSVer5RA==} - - element-plus@2.11.5: - resolution: {integrity: sha512-O+bIVHQCjUDm4GiIznDXRoS8ar2TpWLwfOGnN/Aam0VXf5kbuc4SxdKKJdovWNxmxeqbcwjsSZPKgtXNcqys4A==} - peerDependencies: - vue: ^3.2.0 - - emoji-regex-xs@1.0.0: - resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} - - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} - hasBin: true - - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - escape-goat@3.0.0: - resolution: {integrity: sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==} - engines: {node: '>=10'} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - eslint-config-prettier@8.10.0: - resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - - eslint-plugin-prettier@5.2.1: - resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': - optional: true - eslint-config-prettier: - optional: true - - eslint-plugin-vue@9.32.0: - resolution: {integrity: sha512-b/Y05HYmnB/32wqVcjxjHZzNpwxj1onBOvqW89W+V+XNG1dRuaFbNd3vT9CLbr2LXjEoq+3vn8DanWf7XU22Ug==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-scope@8.4.0: - resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@4.2.1: - resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint@9.29.0: - resolution: {integrity: sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true - - esm@3.2.25: - resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} - engines: {node: '>=6'} - - espree@10.4.0: - resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - - estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - expect-type@1.2.1: - resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} - engines: {node: '>=12.0.0'} - - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - - fastq@1.18.0: - resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} - - fdir@6.4.6: - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} - - flatted@3.3.2: - resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} - - focus-trap@7.6.5: - resolution: {integrity: sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==} - - follow-redirects@1.15.9: - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - - form-data@4.0.4: - resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} - engines: {node: '>= 6'} - - fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - - github-markdown-css@5.1.0: - resolution: {integrity: sha512-QLtORwHHtUHhPMHu7i4GKfP6Vx5CWZn+NKQXe+cBhslY1HEt0CTEkP4d/vSROKV0iIJSpl4UtlQ16AD8C6lMug==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - - globals@15.14.0: - resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} - engines: {node: '>=18'} - - globals@16.2.0: - resolution: {integrity: sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==} - engines: {node: '>=18'} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - - good-listener@1.2.2: - resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==} - - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - - gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - hast-util-to-html@9.0.4: - resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} - - hast-util-whitespace@3.0.0: - resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - - hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - - html-tags@3.3.1: - resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} - engines: {node: '>=8'} - - html-void-elements@3.0.0: - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - - htmlparser2@5.0.1: - resolution: {integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==} - - htmlparser2@6.1.0: - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - iconv-lite@0.7.0: - resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} - engines: {node: '>=0.10.0'} - - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - - ignore@7.0.5: - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} - engines: {node: '>= 4'} - - immutable@5.1.4: - resolution: {integrity: sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==} - - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - js-cookie@3.0.5: - resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} - engines: {node: '>=14'} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-tokens@9.0.1: - resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - - juice@8.1.0: - resolution: {integrity: sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==} - engines: {node: '>=10.0.0'} - hasBin: true - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - kolorist@1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - - linkify-it@5.0.0: - resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - - local-pkg@0.5.1: - resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} - engines: {node: '>=14'} - - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - - lodash-unified@1.0.3: - resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==} - peerDependencies: - '@types/lodash-es': '*' - lodash: '*' - lodash-es: '*' - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - loupe@3.1.3: - resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - - mark.js@8.11.1: - resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} - - markdown-it-anchor@9.2.0: - resolution: {integrity: sha512-sa2ErMQ6kKOA4l31gLGYliFQrMKkqSO0ZJgGhDHKijPf0pNFM9vghjAh3gn26pS4JDRs7Iwa9S36gxm3vgZTzg==} - peerDependencies: - '@types/markdown-it': '*' - markdown-it: '*' - - markdown-it-mathjax3@4.3.2: - resolution: {integrity: sha512-TX3GW5NjmupgFtMJGRauioMbbkGsOXAAt1DZ/rzzYmTHqzkO1rNAdiMD4NiruurToPApn2kYy76x02QN26qr2w==} - - markdown-it@14.1.0: - resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} - hasBin: true - - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - - mathjax-full@3.2.2: - resolution: {integrity: sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==} - - mdast-util-to-hast@13.2.0: - resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} - - mdurl@2.0.0: - resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - - memoize-one@6.0.0: - resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} - - mensch@0.3.4: - resolution: {integrity: sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - mhchemparser@4.2.1: - resolution: {integrity: sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==} - - micromark-util-character@2.1.1: - resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - - micromark-util-encode@2.0.1: - resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - - micromark-util-sanitize-uri@2.0.1: - resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - - micromark-util-symbol@2.0.1: - resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - - micromark-util-types@2.0.1: - resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} - - minisearch@7.1.1: - resolution: {integrity: sha512-b3YZEYCEH4EdCAtYP7OlDyx7FdPwNzuNwLQ34SfJpM9dlbBZzeXndGavTrC+VCiRWomL21SWfMc6SCKO/U2ZNw==} - - mitt@3.0.1: - resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - - mj-context-menu@0.6.1: - resolution: {integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==} - - mlly@1.7.3: - resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - muggle-string@0.3.1: - resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} - - mute-stream@2.0.0: - resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} - engines: {node: ^18.17.0 || >=20.5.0} - - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - - normalize-wheel-es@1.2.0: - resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - oniguruma-to-es@3.1.1: - resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==} - - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - package-manager-detector@0.2.8: - resolution: {integrity: sha512-ts9KSdroZisdvKMWVAVCXiKqnqNfXz4+IbrBG8/BWx/TR5le+jfenvoBuIZ6UWM9nz47W7AbD9qYfAwfWMIwzA==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse5-htmlparser2-tree-adapter@6.0.1: - resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} - - parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - - path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - - pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} - engines: {node: '>= 14.16'} - - perfect-debounce@1.0.0: - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - - pinia@2.1.6: - resolution: {integrity: sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==} - peerDependencies: - '@vue/composition-api': ^1.4.0 - typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.3.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - typescript: - optional: true - - pkg-types@1.3.0: - resolution: {integrity: sha512-kS7yWjVFCkIw9hqdJBoMxDdzEngmkr5FXeWZZfQ6GoYacjVnsW6l2CcYW/0ThD0vF4LPJgVYnrg4d0uuhwYQbg==} - - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} - - postcss@8.4.49: - resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} - engines: {node: ^10 || ^12 || >=14} - - preact@10.25.4: - resolution: {integrity: sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA==} - - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - - prettier@3.4.2: - resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} - engines: {node: '>=14'} - hasBin: true - - property-information@6.5.0: - resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} - - proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - - punycode.js@2.3.1: - resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} - engines: {node: '>=6'} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} - - regex-recursion@6.0.2: - resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} - - regex-utilities@2.3.0: - resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - - regex@6.0.1: - resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rfdc@1.4.1: - resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - - rollup@4.30.1: - resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - sass@1.93.2: - resolution: {integrity: sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==} - engines: {node: '>=14.0.0'} - hasBin: true - - search-insights@2.17.3: - resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} - - section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - - select@1.1.2: - resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==} - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} - engines: {node: '>=10'} - hasBin: true - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shiki@2.5.0: - resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==} - - siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slick@1.12.2: - resolution: {integrity: sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==} - - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - - space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - - speakingurl@14.0.1: - resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} - engines: {node: '>=0.10.0'} - - speech-rule-engine@4.0.7: - resolution: {integrity: sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==} - hasBin: true - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - - std-env@3.9.0: - resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - stringify-entities@4.0.4: - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - strip-literal@3.0.0: - resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - - superjson@2.2.2: - resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} - engines: {node: '>=16'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - svg-tags@1.0.0: - resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} - - synckit@0.9.2: - resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} - engines: {node: ^14.18.0 || >=16.0.0} - - tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - - tiny-emitter@2.1.0: - resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} - - tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - - tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} - engines: {node: '>=12.0.0'} - - tinypool@1.1.0: - resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} - engines: {node: ^18.0.0 || >=20.0.0} - - tinyrainbow@2.0.0: - resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} - engines: {node: '>=14.0.0'} - - tinyspy@4.0.3: - resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} - engines: {node: '>=14.0.0'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - - trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - - ts-api-utils@1.4.3: - resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - - ts-api-utils@2.1.0: - resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - typescript-eslint@8.35.0: - resolution: {integrity: sha512-uEnz70b7kBz6eg/j0Czy6K5NivaYopgxRjsnAJ2Fx5oTLo3wefTHIbL7AkQr1+7tJCRVpTs/wiM8JR/11Loq9A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' - - typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} - engines: {node: '>=14.17'} - hasBin: true - - ua-parser-js@1.0.34: - resolution: {integrity: sha512-K9mwJm/DaB6mRLZfw6q8IMXipcrmuT6yfhYmwhAkuh+81sChuYstYA+znlgaflUPaYUa3odxKPKGw6Vw/lANew==} - - uc.micro@2.1.0: - resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - - ufo@1.5.4: - resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - - unist-util-position@5.0.0: - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - - unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - - unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - - unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - unplugin-icons@0.17.4: - resolution: {integrity: sha512-PHLxjBx3ZV8RUBvfMafFl8uWH88jHeZgOijcRpkwgne7y2Ovx7WI0Ltzzw3fjZQ7dGaDhB8udyKVdm9N2S6BIw==} - peerDependencies: - '@svgr/core': '>=7.0.0' - '@svgx/core': ^1.0.1 - '@vue/compiler-sfc': ^3.0.2 || ^2.7.0 - vue-template-compiler: ^2.6.12 - vue-template-es2015-compiler: ^1.9.0 - peerDependenciesMeta: - '@svgr/core': - optional: true - '@svgx/core': - optional: true - '@vue/compiler-sfc': - optional: true - vue-template-compiler: - optional: true - vue-template-es2015-compiler: - optional: true - - unplugin@1.16.1: - resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} - engines: {node: '>=14.0.0'} - - update-browserslist-db@1.1.2: - resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - uuid@10.0.0: - resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} - hasBin: true - - valid-data-url@3.0.1: - resolution: {integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==} - engines: {node: '>=10'} - - vfile-message@4.0.2: - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} - - vfile@6.0.3: - resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - - vite-node@3.2.3: - resolution: {integrity: sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - - vite@5.4.11: - resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - - vite@5.4.20: - resolution: {integrity: sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - - vitepress@1.6.4: - resolution: {integrity: sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg==} - hasBin: true - peerDependencies: - markdown-it-mathjax3: ^4 - postcss: ^8 - peerDependenciesMeta: - markdown-it-mathjax3: - optional: true - postcss: - optional: true - - vitest@3.2.3: - resolution: {integrity: sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/debug': ^4.1.12 - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.3 - '@vitest/ui': 3.2.3 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/debug': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - - vue-demi@0.14.10: - resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} - engines: {node: '>=12'} - hasBin: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - - vue-dompurify-html@5.3.0: - resolution: {integrity: sha512-HJQGBHbfSPcb6Mu97McdKbX7TqRHZa6Ji8OCpCNyuHca5QvQZ8IiuwghFPSO8OkSQfqXPNPKFMZdCOrnGGmOSQ==} - peerDependencies: - vue: ^3.4.36 - - vue-eslint-parser@9.4.3: - resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - - vue-i18n@11.1.12: - resolution: {integrity: sha512-BnstPj3KLHLrsqbVU2UOrPmr0+Mv11bsUZG0PyCOzsawCivk8W00GMXHeVUWIDOgNaScCuZah47CZFE+Wnl8mw==} - engines: {node: '>= 16'} - peerDependencies: - vue: ^3.0.0 - - vue-template-compiler@2.7.16: - resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} - - vue-tsc@1.8.27: - resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} - hasBin: true - peerDependencies: - typescript: '*' - - vue@3.3.4: - resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==} - - vue@3.5.13: - resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - web-resource-inliner@6.0.1: - resolution: {integrity: sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==} - engines: {node: '>=10.0.0'} - - web-vitals@4.2.4: - resolution: {integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==} - - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - webpack-virtual-modules@0.6.2: - resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - why-is-node-running@2.3.0: - resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} - engines: {node: '>=8'} - hasBin: true - - wicked-good-xpath@1.3.0: - resolution: {integrity: sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==} - - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - - xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} - - xmldom-sre@0.1.31: - resolution: {integrity: sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==} - engines: {node: '>=0.1'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - yoctocolors-cjs@2.1.3: - resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} - engines: {node: '>=18'} - - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - -snapshots: - - '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)': - dependencies: - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) - '@algolia/client-search': 5.19.0 - algoliasearch: 5.19.0 - - '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)': - dependencies: - '@algolia/client-search': 5.19.0 - algoliasearch: 5.19.0 - - '@algolia/client-abtesting@5.19.0': - dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 - - '@algolia/client-analytics@5.19.0': - dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 - - '@algolia/client-common@5.19.0': {} - - '@algolia/client-insights@5.19.0': - dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 - - '@algolia/client-personalization@5.19.0': - dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 - - '@algolia/client-query-suggestions@5.19.0': - dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 - - '@algolia/client-search@5.19.0': - dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 - - '@algolia/ingestion@1.19.0': - dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 - - '@algolia/monitoring@1.19.0': - dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 - - '@algolia/recommend@5.19.0': - dependencies: - '@algolia/client-common': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 - - '@algolia/requester-browser-xhr@5.19.0': - dependencies: - '@algolia/client-common': 5.19.0 - - '@algolia/requester-fetch@5.19.0': - dependencies: - '@algolia/client-common': 5.19.0 - - '@algolia/requester-node-http@5.19.0': - dependencies: - '@algolia/client-common': 5.19.0 - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - - '@antfu/install-pkg@0.1.1': - dependencies: - execa: 5.1.1 - find-up: 5.0.0 - - '@antfu/install-pkg@0.4.1': - dependencies: - package-manager-detector: 0.2.8 - tinyexec: 0.3.2 - - '@antfu/utils@0.7.10': {} - - '@babel/code-frame@7.26.2': - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.26.3': {} - - '@babel/core@7.26.0': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.3 - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - convert-source-map: 2.0.0 - debug: 4.4.0 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.26.3': - dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.1.0 - - '@babel/helper-annotate-as-pure@7.25.9': - dependencies: - '@babel/types': 7.26.3 - - '@babel/helper-compilation-targets@7.25.9': - dependencies: - '@babel/compat-data': 7.26.3 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.4 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.4 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-member-expression-to-functions@7.25.9': - dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.25.9': - dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.25.9': - dependencies: - '@babel/types': 7.26.3 - - '@babel/helper-plugin-utils@7.25.9': {} - - '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.25.9': {} - - '@babel/helper-validator-identifier@7.25.9': {} - - '@babel/helper-validator-option@7.25.9': {} - - '@babel/helpers@7.26.0': - dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - - '@babel/parser@7.26.3': - dependencies: - '@babel/types': 7.26.3 - - '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-typescript@7.26.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/template@7.25.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - - '@babel/traverse@7.26.4': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - debug: 4.4.1 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.26.3': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - - '@ctrl/tinycolor@3.6.1': {} - - '@docsearch/css@3.8.2': {} - - '@docsearch/js@3.8.2(@algolia/client-search@5.19.0)(search-insights@2.17.3)': - dependencies: - '@docsearch/react': 3.8.2(@algolia/client-search@5.19.0)(search-insights@2.17.3) - preact: 10.25.4 - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/react' - - react - - react-dom - - search-insights - - '@docsearch/react@3.8.2(@algolia/client-search@5.19.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) - '@docsearch/css': 3.8.2 - algoliasearch: 5.19.0 - optionalDependencies: - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - '@element-plus/icons-vue@2.3.2(vue@3.3.4)': - dependencies: - vue: 3.3.4 - - '@esbuild/aix-ppc64@0.21.5': - optional: true - - '@esbuild/android-arm64@0.21.5': - optional: true - - '@esbuild/android-arm@0.21.5': - optional: true - - '@esbuild/android-x64@0.21.5': - optional: true - - '@esbuild/darwin-arm64@0.21.5': - optional: true - - '@esbuild/darwin-x64@0.21.5': - optional: true - - '@esbuild/freebsd-arm64@0.21.5': - optional: true - - '@esbuild/freebsd-x64@0.21.5': - optional: true - - '@esbuild/linux-arm64@0.21.5': - optional: true - - '@esbuild/linux-arm@0.21.5': - optional: true - - '@esbuild/linux-ia32@0.21.5': - optional: true - - '@esbuild/linux-loong64@0.21.5': - optional: true - - '@esbuild/linux-mips64el@0.21.5': - optional: true - - '@esbuild/linux-ppc64@0.21.5': - optional: true - - '@esbuild/linux-riscv64@0.21.5': - optional: true - - '@esbuild/linux-s390x@0.21.5': - optional: true - - '@esbuild/linux-x64@0.21.5': - optional: true - - '@esbuild/netbsd-x64@0.21.5': - optional: true - - '@esbuild/openbsd-x64@0.21.5': - optional: true - - '@esbuild/sunos-x64@0.21.5': - optional: true - - '@esbuild/win32-arm64@0.21.5': - optional: true - - '@esbuild/win32-ia32@0.21.5': - optional: true - - '@esbuild/win32-x64@0.21.5': - optional: true - - '@eslint-community/eslint-utils@4.4.1(eslint@9.29.0)': - dependencies: - eslint: 9.29.0 - eslint-visitor-keys: 3.4.3 - - '@eslint-community/eslint-utils@4.7.0(eslint@9.29.0)': - dependencies: - eslint: 9.29.0 - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.12.1': {} - - '@eslint/config-array@0.20.1': - dependencies: - '@eslint/object-schema': 2.1.6 - debug: 4.4.1 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@eslint/config-helpers@0.2.3': {} - - '@eslint/core@0.14.0': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/core@0.15.0': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/eslintrc@3.3.1': - dependencies: - ajv: 6.12.6 - debug: 4.4.1 - espree: 10.4.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@9.29.0': {} - - '@eslint/object-schema@2.1.6': {} - - '@eslint/plugin-kit@0.3.2': - dependencies: - '@eslint/core': 0.15.0 - levn: 0.4.1 - - '@floating-ui/core@1.6.9': - dependencies: - '@floating-ui/utils': 0.2.9 - - '@floating-ui/dom@1.6.13': - dependencies: - '@floating-ui/core': 1.6.9 - '@floating-ui/utils': 0.2.9 - - '@floating-ui/utils@0.2.9': {} - - '@humanfs/core@0.19.1': {} - - '@humanfs/node@0.16.6': - dependencies: - '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 - - '@humanwhocodes/module-importer@1.0.1': {} - - '@humanwhocodes/retry@0.3.1': {} - - '@humanwhocodes/retry@0.4.3': {} - - '@iconify-json/simple-icons@1.2.54': - dependencies: - '@iconify/types': 2.0.0 - - '@iconify/types@2.0.0': {} - - '@iconify/utils@2.2.1': - dependencies: - '@antfu/install-pkg': 0.4.1 - '@antfu/utils': 0.7.10 - '@iconify/types': 2.0.0 - debug: 4.4.1 - globals: 15.14.0 - kolorist: 1.8.0 - local-pkg: 0.5.1 - mlly: 1.7.3 - transitivePeerDependencies: - - supports-color - - '@inquirer/ansi@1.0.1': {} - - '@inquirer/checkbox@4.3.0(@types/node@18.19.70)': - dependencies: - '@inquirer/ansi': 1.0.1 - '@inquirer/core': 10.3.0(@types/node@18.19.70) - '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@18.19.70) - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/confirm@5.1.19(@types/node@18.19.70)': - dependencies: - '@inquirer/core': 10.3.0(@types/node@18.19.70) - '@inquirer/type': 3.0.9(@types/node@18.19.70) - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/core@10.3.0(@types/node@18.19.70)': - dependencies: - '@inquirer/ansi': 1.0.1 - '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@18.19.70) - cli-width: 4.1.0 - mute-stream: 2.0.0 - signal-exit: 4.1.0 - wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/editor@4.2.21(@types/node@18.19.70)': - dependencies: - '@inquirer/core': 10.3.0(@types/node@18.19.70) - '@inquirer/external-editor': 1.0.2(@types/node@18.19.70) - '@inquirer/type': 3.0.9(@types/node@18.19.70) - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/expand@4.0.21(@types/node@18.19.70)': - dependencies: - '@inquirer/core': 10.3.0(@types/node@18.19.70) - '@inquirer/type': 3.0.9(@types/node@18.19.70) - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/external-editor@1.0.2(@types/node@18.19.70)': - dependencies: - chardet: 2.1.0 - iconv-lite: 0.7.0 - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/figures@1.0.14': {} - - '@inquirer/input@4.2.5(@types/node@18.19.70)': - dependencies: - '@inquirer/core': 10.3.0(@types/node@18.19.70) - '@inquirer/type': 3.0.9(@types/node@18.19.70) - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/number@3.0.21(@types/node@18.19.70)': - dependencies: - '@inquirer/core': 10.3.0(@types/node@18.19.70) - '@inquirer/type': 3.0.9(@types/node@18.19.70) - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/password@4.0.21(@types/node@18.19.70)': - dependencies: - '@inquirer/ansi': 1.0.1 - '@inquirer/core': 10.3.0(@types/node@18.19.70) - '@inquirer/type': 3.0.9(@types/node@18.19.70) - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/prompts@7.9.0(@types/node@18.19.70)': - dependencies: - '@inquirer/checkbox': 4.3.0(@types/node@18.19.70) - '@inquirer/confirm': 5.1.19(@types/node@18.19.70) - '@inquirer/editor': 4.2.21(@types/node@18.19.70) - '@inquirer/expand': 4.0.21(@types/node@18.19.70) - '@inquirer/input': 4.2.5(@types/node@18.19.70) - '@inquirer/number': 3.0.21(@types/node@18.19.70) - '@inquirer/password': 4.0.21(@types/node@18.19.70) - '@inquirer/rawlist': 4.1.9(@types/node@18.19.70) - '@inquirer/search': 3.2.0(@types/node@18.19.70) - '@inquirer/select': 4.4.0(@types/node@18.19.70) - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/rawlist@4.1.9(@types/node@18.19.70)': - dependencies: - '@inquirer/core': 10.3.0(@types/node@18.19.70) - '@inquirer/type': 3.0.9(@types/node@18.19.70) - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/search@3.2.0(@types/node@18.19.70)': - dependencies: - '@inquirer/core': 10.3.0(@types/node@18.19.70) - '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@18.19.70) - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/select@4.4.0(@types/node@18.19.70)': - dependencies: - '@inquirer/ansi': 1.0.1 - '@inquirer/core': 10.3.0(@types/node@18.19.70) - '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@18.19.70) - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 18.19.70 - - '@inquirer/type@3.0.9(@types/node@18.19.70)': - optionalDependencies: - '@types/node': 18.19.70 - - '@intlify/core-base@11.1.12': - dependencies: - '@intlify/message-compiler': 11.1.12 - '@intlify/shared': 11.1.12 - - '@intlify/message-compiler@11.1.12': - dependencies: - '@intlify/shared': 11.1.12 - source-map-js: 1.2.1 - - '@intlify/shared@11.1.12': {} - - '@jridgewell/gen-mapping@0.3.8': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/sourcemap-codec@1.5.0': {} - - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.18.0 - - '@opensig/open-analytics@0.0.9': - dependencies: - ua-parser-js: 1.0.34 - uuid: 10.0.0 - web-vitals: 4.2.4 - - '@opensig/opendesign@1.0.2(vue@3.3.4)': - dependencies: - vue: 3.3.4 - - '@parcel/watcher-android-arm64@2.5.1': - optional: true - - '@parcel/watcher-darwin-arm64@2.5.1': - optional: true - - '@parcel/watcher-darwin-x64@2.5.1': - optional: true - - '@parcel/watcher-freebsd-x64@2.5.1': - optional: true - - '@parcel/watcher-linux-arm-glibc@2.5.1': - optional: true - - '@parcel/watcher-linux-arm-musl@2.5.1': - optional: true - - '@parcel/watcher-linux-arm64-glibc@2.5.1': - optional: true - - '@parcel/watcher-linux-arm64-musl@2.5.1': - optional: true - - '@parcel/watcher-linux-x64-glibc@2.5.1': - optional: true - - '@parcel/watcher-linux-x64-musl@2.5.1': - optional: true - - '@parcel/watcher-win32-arm64@2.5.1': - optional: true - - '@parcel/watcher-win32-ia32@2.5.1': - optional: true - - '@parcel/watcher-win32-x64@2.5.1': - optional: true - - '@parcel/watcher@2.5.1': - dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.8 - node-addon-api: 7.1.1 - optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.1 - '@parcel/watcher-darwin-arm64': 2.5.1 - '@parcel/watcher-darwin-x64': 2.5.1 - '@parcel/watcher-freebsd-x64': 2.5.1 - '@parcel/watcher-linux-arm-glibc': 2.5.1 - '@parcel/watcher-linux-arm-musl': 2.5.1 - '@parcel/watcher-linux-arm64-glibc': 2.5.1 - '@parcel/watcher-linux-arm64-musl': 2.5.1 - '@parcel/watcher-linux-x64-glibc': 2.5.1 - '@parcel/watcher-linux-x64-musl': 2.5.1 - '@parcel/watcher-win32-arm64': 2.5.1 - '@parcel/watcher-win32-ia32': 2.5.1 - '@parcel/watcher-win32-x64': 2.5.1 - optional: true - - '@pkgr/core@0.1.1': {} - - '@rollup/rollup-android-arm-eabi@4.30.1': - optional: true - - '@rollup/rollup-android-arm64@4.30.1': - optional: true - - '@rollup/rollup-darwin-arm64@4.30.1': - optional: true - - '@rollup/rollup-darwin-x64@4.30.1': - optional: true - - '@rollup/rollup-freebsd-arm64@4.30.1': - optional: true - - '@rollup/rollup-freebsd-x64@4.30.1': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.30.1': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.30.1': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.30.1': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.30.1': - optional: true - - '@rollup/rollup-linux-x64-musl@4.30.1': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.30.1': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.30.1': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.30.1': - optional: true - - '@rushstack/eslint-patch@1.10.5': {} - - '@shikijs/core@2.5.0': - dependencies: - '@shikijs/engine-javascript': 2.5.0 - '@shikijs/engine-oniguruma': 2.5.0 - '@shikijs/types': 2.5.0 - '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 - hast-util-to-html: 9.0.4 - - '@shikijs/engine-javascript@2.5.0': - dependencies: - '@shikijs/types': 2.5.0 - '@shikijs/vscode-textmate': 10.0.2 - oniguruma-to-es: 3.1.1 - - '@shikijs/engine-oniguruma@2.5.0': - dependencies: - '@shikijs/types': 2.5.0 - '@shikijs/vscode-textmate': 10.0.2 - - '@shikijs/langs@2.5.0': - dependencies: - '@shikijs/types': 2.5.0 - - '@shikijs/themes@2.5.0': - dependencies: - '@shikijs/types': 2.5.0 - - '@shikijs/transformers@2.5.0': - dependencies: - '@shikijs/core': 2.5.0 - '@shikijs/types': 2.5.0 - - '@shikijs/types@2.5.0': - dependencies: - '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 - - '@shikijs/vscode-textmate@10.0.2': {} - - '@sxzz/popperjs-es@2.11.7': {} - - '@tsconfig/node18@18.2.4': {} - - '@types/chai@5.2.2': - dependencies: - '@types/deep-eql': 4.0.2 - - '@types/deep-eql@4.0.2': {} - - '@types/estree@1.0.6': {} - - '@types/hast@3.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/js-cookie@3.0.6': {} - - '@types/json-schema@7.0.15': {} - - '@types/linkify-it@5.0.0': {} - - '@types/lodash-es@4.17.12': - dependencies: - '@types/lodash': 4.17.20 - - '@types/lodash@4.17.20': {} - - '@types/markdown-it@14.1.2': - dependencies: - '@types/linkify-it': 5.0.0 - '@types/mdurl': 2.0.0 - - '@types/mdast@4.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/mdurl@2.0.0': {} - - '@types/node@18.19.70': - dependencies: - undici-types: 5.26.5 - - '@types/semver@7.5.8': {} - - '@types/trusted-types@2.0.7': - optional: true - - '@types/unist@3.0.3': {} - - '@types/web-bluetooth@0.0.16': {} - - '@types/web-bluetooth@0.0.21': {} - - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.29.0)(typescript@5.2.2))(eslint@9.29.0)(typescript@5.2.2)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 6.21.0(eslint@9.29.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@9.29.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.21.0(eslint@9.29.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.1 - eslint: 9.29.0 - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - semver: 7.6.3 - ts-api-utils: 1.4.3(typescript@5.2.2) - optionalDependencies: - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/eslint-plugin@8.35.0(@typescript-eslint/parser@8.35.0(eslint@9.29.0)(typescript@5.2.2))(eslint@9.29.0)(typescript@5.2.2)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.35.0(eslint@9.29.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 8.35.0 - '@typescript-eslint/type-utils': 8.35.0(eslint@9.29.0)(typescript@5.2.2) - '@typescript-eslint/utils': 8.35.0(eslint@9.29.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 8.35.0 - eslint: 9.29.0 - graphemer: 1.4.0 - ignore: 7.0.5 - natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@6.21.0(eslint@9.29.0)(typescript@5.2.2)': - dependencies: - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.1 - eslint: 9.29.0 - optionalDependencies: - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.35.0(eslint@9.29.0)(typescript@5.2.2)': - dependencies: - '@typescript-eslint/scope-manager': 8.35.0 - '@typescript-eslint/types': 8.35.0 - '@typescript-eslint/typescript-estree': 8.35.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 8.35.0 - debug: 4.4.1 - eslint: 9.29.0 - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/project-service@8.35.0(typescript@5.2.2)': - dependencies: - '@typescript-eslint/tsconfig-utils': 8.35.0(typescript@5.2.2) - '@typescript-eslint/types': 8.35.0 - debug: 4.4.1 - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@6.21.0': - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - - '@typescript-eslint/scope-manager@8.35.0': - dependencies: - '@typescript-eslint/types': 8.35.0 - '@typescript-eslint/visitor-keys': 8.35.0 - - '@typescript-eslint/tsconfig-utils@8.35.0(typescript@5.2.2)': - dependencies: - typescript: 5.2.2 - - '@typescript-eslint/type-utils@6.21.0(eslint@9.29.0)(typescript@5.2.2)': - dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.21.0(eslint@9.29.0)(typescript@5.2.2) - debug: 4.4.1 - eslint: 9.29.0 - ts-api-utils: 1.4.3(typescript@5.2.2) - optionalDependencies: - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/type-utils@8.35.0(eslint@9.29.0)(typescript@5.2.2)': - dependencies: - '@typescript-eslint/typescript-estree': 8.35.0(typescript@5.2.2) - '@typescript-eslint/utils': 8.35.0(eslint@9.29.0)(typescript@5.2.2) - debug: 4.4.1 - eslint: 9.29.0 - ts-api-utils: 2.1.0(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/types@6.21.0': {} - - '@typescript-eslint/types@8.35.0': {} - - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.2.2)': - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.1 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.3 - ts-api-utils: 1.4.3(typescript@5.2.2) - optionalDependencies: - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@8.35.0(typescript@5.2.2)': - dependencies: - '@typescript-eslint/project-service': 8.35.0(typescript@5.2.2) - '@typescript-eslint/tsconfig-utils': 8.35.0(typescript@5.2.2) - '@typescript-eslint/types': 8.35.0 - '@typescript-eslint/visitor-keys': 8.35.0 - debug: 4.4.1 - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 2.1.0(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@6.21.0(eslint@9.29.0)(typescript@5.2.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.29.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) - eslint: 9.29.0 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@8.35.0(eslint@9.29.0)(typescript@5.2.2)': - dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0) - '@typescript-eslint/scope-manager': 8.35.0 - '@typescript-eslint/types': 8.35.0 - '@typescript-eslint/typescript-estree': 8.35.0(typescript@5.2.2) - eslint: 9.29.0 - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/visitor-keys@6.21.0': - dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 - - '@typescript-eslint/visitor-keys@8.35.0': - dependencies: - '@typescript-eslint/types': 8.35.0 - eslint-visitor-keys: 4.2.1 - - '@ungap/structured-clone@1.2.1': {} - - '@vitejs/plugin-basic-ssl@1.2.0(vite@5.4.11(@types/node@18.19.70)(sass@1.93.2))': - dependencies: - vite: 5.4.11(@types/node@18.19.70)(sass@1.93.2) - - '@vitejs/plugin-vue-jsx@3.1.0(vite@5.4.11(@types/node@18.19.70)(sass@1.93.2))(vue@3.3.4)': - dependencies: - '@babel/core': 7.26.0 - '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0) - '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0) - vite: 5.4.11(@types/node@18.19.70)(sass@1.93.2) - vue: 3.3.4 - transitivePeerDependencies: - - supports-color - - '@vitejs/plugin-vue@4.6.2(vite@5.4.11(@types/node@18.19.70)(sass@1.93.2))(vue@3.3.4)': - dependencies: - vite: 5.4.11(@types/node@18.19.70)(sass@1.93.2) - vue: 3.3.4 - - '@vitejs/plugin-vue@5.2.1(vite@5.4.20(@types/node@18.19.70)(sass@1.93.2))(vue@3.5.13(typescript@5.2.2))': - dependencies: - vite: 5.4.20(@types/node@18.19.70)(sass@1.93.2) - vue: 3.5.13(typescript@5.2.2) - - '@vitest/expect@3.2.3': - dependencies: - '@types/chai': 5.2.2 - '@vitest/spy': 3.2.3 - '@vitest/utils': 3.2.3 - chai: 5.2.0 - tinyrainbow: 2.0.0 - - '@vitest/mocker@3.2.3(vite@5.4.11(@types/node@18.19.70)(sass@1.93.2))': - dependencies: - '@vitest/spy': 3.2.3 - estree-walker: 3.0.3 - magic-string: 0.30.17 - optionalDependencies: - vite: 5.4.11(@types/node@18.19.70)(sass@1.93.2) - - '@vitest/pretty-format@3.2.3': - dependencies: - tinyrainbow: 2.0.0 - - '@vitest/runner@3.2.3': - dependencies: - '@vitest/utils': 3.2.3 - pathe: 2.0.3 - strip-literal: 3.0.0 - - '@vitest/snapshot@3.2.3': - dependencies: - '@vitest/pretty-format': 3.2.3 - magic-string: 0.30.17 - pathe: 2.0.3 - - '@vitest/spy@3.2.3': - dependencies: - tinyspy: 4.0.3 - - '@vitest/utils@3.2.3': - dependencies: - '@vitest/pretty-format': 3.2.3 - loupe: 3.1.3 - tinyrainbow: 2.0.0 - - '@volar/language-core@1.11.1': - dependencies: - '@volar/source-map': 1.11.1 - - '@volar/source-map@1.11.1': - dependencies: - muggle-string: 0.3.1 - - '@volar/typescript@1.11.1': - dependencies: - '@volar/language-core': 1.11.1 - path-browserify: 1.0.1 - - '@vue/babel-helper-vue-transform-on@1.2.5': {} - - '@vue/babel-plugin-jsx@1.2.5(@babel/core@7.26.0)': - dependencies: - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - '@vue/babel-helper-vue-transform-on': 1.2.5 - '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.26.0) - html-tags: 3.3.1 - svg-tags: 1.0.0 - optionalDependencies: - '@babel/core': 7.26.0 - transitivePeerDependencies: - - supports-color - - '@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.26.0)': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/parser': 7.26.3 - '@vue/compiler-sfc': 3.5.13 - transitivePeerDependencies: - - supports-color - - '@vue/compiler-core@3.3.4': - dependencies: - '@babel/parser': 7.26.3 - '@vue/shared': 3.3.4 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - - '@vue/compiler-core@3.5.13': - dependencies: - '@babel/parser': 7.26.3 - '@vue/shared': 3.5.13 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - - '@vue/compiler-dom@3.3.4': - dependencies: - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 - - '@vue/compiler-dom@3.5.13': - dependencies: - '@vue/compiler-core': 3.5.13 - '@vue/shared': 3.5.13 - - '@vue/compiler-sfc@3.3.4': - dependencies: - '@babel/parser': 7.26.3 - '@vue/compiler-core': 3.3.4 - '@vue/compiler-dom': 3.3.4 - '@vue/compiler-ssr': 3.3.4 - '@vue/reactivity-transform': 3.3.4 - '@vue/shared': 3.3.4 - estree-walker: 2.0.2 - magic-string: 0.30.17 - postcss: 8.4.49 - source-map-js: 1.2.1 - - '@vue/compiler-sfc@3.5.13': - dependencies: - '@babel/parser': 7.26.3 - '@vue/compiler-core': 3.5.13 - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - estree-walker: 2.0.2 - magic-string: 0.30.17 - postcss: 8.4.49 - source-map-js: 1.2.1 - - '@vue/compiler-ssr@3.3.4': - dependencies: - '@vue/compiler-dom': 3.3.4 - '@vue/shared': 3.3.4 - - '@vue/compiler-ssr@3.5.13': - dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/shared': 3.5.13 - - '@vue/devtools-api@6.6.4': {} - - '@vue/devtools-api@7.7.0': - dependencies: - '@vue/devtools-kit': 7.7.0 - - '@vue/devtools-kit@7.7.0': - dependencies: - '@vue/devtools-shared': 7.7.0 - birpc: 0.2.19 - hookable: 5.5.3 - mitt: 3.0.1 - perfect-debounce: 1.0.0 - speakingurl: 14.0.1 - superjson: 2.2.2 - - '@vue/devtools-shared@7.7.0': - dependencies: - rfdc: 1.4.1 - - '@vue/eslint-config-prettier@8.0.0(eslint@9.29.0)(prettier@3.4.2)': - dependencies: - eslint: 9.29.0 - eslint-config-prettier: 8.10.0(eslint@9.29.0) - eslint-plugin-prettier: 5.2.1(eslint-config-prettier@8.10.0(eslint@9.29.0))(eslint@9.29.0)(prettier@3.4.2) - prettier: 3.4.2 - transitivePeerDependencies: - - '@types/eslint' - - '@vue/eslint-config-typescript@12.0.0(eslint-plugin-vue@9.32.0(eslint@9.29.0))(eslint@9.29.0)(typescript@5.2.2)': - dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.29.0)(typescript@5.2.2))(eslint@9.29.0)(typescript@5.2.2) - '@typescript-eslint/parser': 6.21.0(eslint@9.29.0)(typescript@5.2.2) - eslint: 9.29.0 - eslint-plugin-vue: 9.32.0(eslint@9.29.0) - vue-eslint-parser: 9.4.3(eslint@9.29.0) - optionalDependencies: - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@vue/language-core@1.8.27(typescript@5.2.2)': - dependencies: - '@volar/language-core': 1.11.1 - '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.5.13 - '@vue/shared': 3.5.13 - computeds: 0.0.1 - minimatch: 9.0.5 - muggle-string: 0.3.1 - path-browserify: 1.0.1 - vue-template-compiler: 2.7.16 - optionalDependencies: - typescript: 5.2.2 - - '@vue/reactivity-transform@3.3.4': - dependencies: - '@babel/parser': 7.26.3 - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 - estree-walker: 2.0.2 - magic-string: 0.30.17 - - '@vue/reactivity@3.3.4': - dependencies: - '@vue/shared': 3.3.4 - - '@vue/reactivity@3.5.13': - dependencies: - '@vue/shared': 3.5.13 - - '@vue/runtime-core@3.3.4': - dependencies: - '@vue/reactivity': 3.3.4 - '@vue/shared': 3.3.4 - - '@vue/runtime-core@3.5.13': - dependencies: - '@vue/reactivity': 3.5.13 - '@vue/shared': 3.5.13 - - '@vue/runtime-dom@3.3.4': - dependencies: - '@vue/runtime-core': 3.3.4 - '@vue/shared': 3.3.4 - csstype: 3.1.3 - - '@vue/runtime-dom@3.5.13': - dependencies: - '@vue/reactivity': 3.5.13 - '@vue/runtime-core': 3.5.13 - '@vue/shared': 3.5.13 - csstype: 3.1.3 - - '@vue/server-renderer@3.3.4(vue@3.3.4)': - dependencies: - '@vue/compiler-ssr': 3.3.4 - '@vue/shared': 3.3.4 - vue: 3.3.4 - - '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.2.2))': - dependencies: - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - vue: 3.5.13(typescript@5.2.2) - - '@vue/shared@3.3.4': {} - - '@vue/shared@3.5.13': {} - - '@vue/tsconfig@0.4.0': {} - - '@vueuse/core@12.8.2(typescript@5.2.2)': - dependencies: - '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 12.8.2 - '@vueuse/shared': 12.8.2(typescript@5.2.2) - vue: 3.5.13(typescript@5.2.2) - transitivePeerDependencies: - - typescript - - '@vueuse/core@9.12.0(vue@3.3.4)': - dependencies: - '@types/web-bluetooth': 0.0.16 - '@vueuse/metadata': 9.12.0 - '@vueuse/shared': 9.12.0(vue@3.3.4) - vue-demi: 0.14.10(vue@3.3.4) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - - '@vueuse/integrations@12.8.2(async-validator@4.2.5)(axios@1.12.2)(focus-trap@7.6.5)(typescript@5.2.2)': - dependencies: - '@vueuse/core': 12.8.2(typescript@5.2.2) - '@vueuse/shared': 12.8.2(typescript@5.2.2) - vue: 3.5.13(typescript@5.2.2) - optionalDependencies: - async-validator: 4.2.5 - axios: 1.12.2 - focus-trap: 7.6.5 - transitivePeerDependencies: - - typescript - - '@vueuse/metadata@12.8.2': {} - - '@vueuse/metadata@9.12.0': {} - - '@vueuse/shared@12.8.2(typescript@5.2.2)': - dependencies: - vue: 3.5.13(typescript@5.2.2) - transitivePeerDependencies: - - typescript - - '@vueuse/shared@9.12.0(vue@3.3.4)': - dependencies: - vue-demi: 0.14.10(vue@3.3.4) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - - acorn-jsx@5.3.2(acorn@8.15.0): - dependencies: - acorn: 8.15.0 - - acorn@8.15.0: {} - - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - algoliasearch@5.19.0: - dependencies: - '@algolia/client-abtesting': 5.19.0 - '@algolia/client-analytics': 5.19.0 - '@algolia/client-common': 5.19.0 - '@algolia/client-insights': 5.19.0 - '@algolia/client-personalization': 5.19.0 - '@algolia/client-query-suggestions': 5.19.0 - '@algolia/client-search': 5.19.0 - '@algolia/ingestion': 1.19.0 - '@algolia/monitoring': 1.19.0 - '@algolia/recommend': 5.19.0 - '@algolia/requester-browser-xhr': 5.19.0 - '@algolia/requester-fetch': 5.19.0 - '@algolia/requester-node-http': 5.19.0 - - ansi-colors@4.1.3: {} - - ansi-regex@5.0.1: {} - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - argparse@2.0.1: {} - - array-union@2.1.0: {} - - assertion-error@2.0.1: {} - - async-validator@4.2.5: {} - - asynckit@0.4.0: {} - - axios@1.12.2: - dependencies: - follow-redirects: 1.15.9 - form-data: 4.0.4 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - - balanced-match@1.0.2: {} - - birpc@0.2.19: {} - - boolbase@1.0.0: {} - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browserslist@4.24.4: - dependencies: - caniuse-lite: 1.0.30001692 - electron-to-chromium: 1.5.79 - node-releases: 2.0.19 - update-browserslist-db: 1.1.2(browserslist@4.24.4) - - cac@6.7.14: {} - - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - callsites@3.1.0: {} - - caniuse-lite@1.0.30001692: {} - - ccount@2.0.1: {} - - chai@5.2.0: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.1 - deep-eql: 5.0.2 - loupe: 3.1.3 - pathval: 2.0.0 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - character-entities-html4@2.1.0: {} - - character-entities-legacy@3.0.0: {} - - chardet@2.1.0: {} - - check-error@2.1.1: {} - - cheerio-select@1.6.0: - dependencies: - css-select: 4.3.0 - css-what: 6.1.0 - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - - cheerio@1.0.0-rc.10: - dependencies: - cheerio-select: 1.6.0 - dom-serializer: 1.4.1 - domhandler: 4.3.1 - htmlparser2: 6.1.0 - parse5: 6.0.1 - parse5-htmlparser2-tree-adapter: 6.0.1 - tslib: 2.8.1 - - chokidar@4.0.3: - dependencies: - readdirp: 4.1.2 - - cli-width@4.1.0: {} - - clipboard@2.0.11: - dependencies: - good-listener: 1.2.2 - select: 1.1.2 - tiny-emitter: 2.1.0 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - - comma-separated-tokens@2.0.3: {} - - commander@6.2.1: {} - - commander@9.2.0: {} - - computeds@0.0.1: {} - - concat-map@0.0.1: {} - - confbox@0.1.8: {} - - convert-source-map@2.0.0: {} - - copy-anything@3.0.5: - dependencies: - is-what: 4.1.16 - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - css-select@4.3.0: - dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 4.3.1 - domutils: 2.8.0 - nth-check: 2.1.1 - - css-what@6.1.0: {} - - cssesc@3.0.0: {} - - csstype@3.1.3: {} - - dayjs@1.11.18: {} - - de-indent@1.0.2: {} - - debug@4.4.0: - dependencies: - ms: 2.1.3 - - debug@4.4.1: - dependencies: - ms: 2.1.3 - - deep-eql@5.0.2: {} - - deep-is@0.1.4: {} - - delayed-stream@1.0.0: {} - - delegate@3.2.0: {} - - dequal@2.0.3: {} - - detect-libc@1.0.3: - optional: true - - devlop@1.1.0: - dependencies: - dequal: 2.0.3 - - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - - dom-serializer@1.4.1: - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - entities: 2.2.0 - - domelementtype@2.3.0: {} - - domhandler@3.3.0: - dependencies: - domelementtype: 2.3.0 - - domhandler@4.3.1: - dependencies: - domelementtype: 2.3.0 - - dompurify@3.2.6: - optionalDependencies: - '@types/trusted-types': 2.0.7 - - domutils@2.8.0: - dependencies: - dom-serializer: 1.4.1 - domelementtype: 2.3.0 - domhandler: 4.3.1 - - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - - electron-to-chromium@1.5.79: {} - - element-plus@2.11.5(vue@3.3.4): - dependencies: - '@ctrl/tinycolor': 3.6.1 - '@element-plus/icons-vue': 2.3.2(vue@3.3.4) - '@floating-ui/dom': 1.6.13 - '@popperjs/core': '@sxzz/popperjs-es@2.11.7' - '@types/lodash': 4.17.20 - '@types/lodash-es': 4.17.12 - '@vueuse/core': 9.12.0(vue@3.3.4) - async-validator: 4.2.5 - dayjs: 1.11.18 - lodash: 4.17.21 - lodash-es: 4.17.21 - lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21) - memoize-one: 6.0.0 - normalize-wheel-es: 1.2.0 - vue: 3.3.4 - transitivePeerDependencies: - - '@vue/composition-api' - - emoji-regex-xs@1.0.0: {} - - emoji-regex@8.0.0: {} - - entities@2.2.0: {} - - entities@4.5.0: {} - - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-module-lexer@1.7.0: {} - - es-object-atoms@1.1.1: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.1.0: - dependencies: - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - esbuild@0.21.5: - optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 - - escalade@3.2.0: {} - - escape-goat@3.0.0: {} - - escape-string-regexp@4.0.0: {} - - eslint-config-prettier@8.10.0(eslint@9.29.0): - dependencies: - eslint: 9.29.0 - - eslint-plugin-prettier@5.2.1(eslint-config-prettier@8.10.0(eslint@9.29.0))(eslint@9.29.0)(prettier@3.4.2): - dependencies: - eslint: 9.29.0 - prettier: 3.4.2 - prettier-linter-helpers: 1.0.0 - synckit: 0.9.2 - optionalDependencies: - eslint-config-prettier: 8.10.0(eslint@9.29.0) - - eslint-plugin-vue@9.32.0(eslint@9.29.0): - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.29.0) - eslint: 9.29.0 - globals: 13.24.0 - natural-compare: 1.4.0 - nth-check: 2.1.1 - postcss-selector-parser: 6.1.2 - semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.29.0) - xml-name-validator: 4.0.0 - transitivePeerDependencies: - - supports-color - - eslint-scope@7.2.2: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-scope@8.4.0: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-visitor-keys@3.4.3: {} - - eslint-visitor-keys@4.2.1: {} - - eslint@9.29.0: - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.29.0) - '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.20.1 - '@eslint/config-helpers': 0.2.3 - '@eslint/core': 0.14.0 - '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.29.0 - '@eslint/plugin-kit': 0.3.2 - '@humanfs/node': 0.16.6 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.4.1 - escape-string-regexp: 4.0.0 - eslint-scope: 8.4.0 - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 - esquery: 1.6.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.4 - transitivePeerDependencies: - - supports-color - - esm@3.2.25: {} - - espree@10.4.0: - dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) - eslint-visitor-keys: 4.2.1 - - espree@9.6.1: - dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) - eslint-visitor-keys: 3.4.3 - - esprima@4.0.1: {} - - esquery@1.6.0: - dependencies: - estraverse: 5.3.0 - - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 - - estraverse@5.3.0: {} - - estree-walker@2.0.2: {} - - estree-walker@3.0.3: - dependencies: - '@types/estree': 1.0.6 - - esutils@2.0.3: {} - - execa@5.1.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - - expect-type@1.2.1: {} - - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - - fast-deep-equal@3.1.3: {} - - fast-diff@1.3.0: {} - - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - - fast-json-stable-stringify@2.1.0: {} - - fast-levenshtein@2.0.6: {} - - fastq@1.18.0: - dependencies: - reusify: 1.0.4 - - fdir@6.4.6(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - - file-entry-cache@8.0.0: - dependencies: - flat-cache: 4.0.1 - - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - flat-cache@4.0.1: - dependencies: - flatted: 3.3.2 - keyv: 4.5.4 - - flatted@3.3.2: {} - - focus-trap@7.6.5: - dependencies: - tabbable: 6.2.0 - - follow-redirects@1.15.9: {} - - form-data@4.0.4: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.2 - mime-types: 2.1.35 - - fs-extra@11.2.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - - fsevents@2.3.3: - optional: true - - function-bind@1.1.2: {} - - gensync@1.0.0-beta.2: {} - - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - - get-stream@6.0.1: {} - - github-markdown-css@5.1.0: {} - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - - globals@11.12.0: {} - - globals@13.24.0: - dependencies: - type-fest: 0.20.2 - - globals@14.0.0: {} - - globals@15.14.0: {} - - globals@16.2.0: {} - - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - - good-listener@1.2.2: - dependencies: - delegate: 3.2.0 - - gopd@1.2.0: {} - - graceful-fs@4.2.11: {} - - graphemer@1.4.0: {} - - gray-matter@4.0.3: - dependencies: - js-yaml: 3.14.1 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 - - has-flag@4.0.0: {} - - has-symbols@1.1.0: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 +importers: - hast-util-to-html@9.0.4: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - comma-separated-tokens: 2.0.3 - hast-util-whitespace: 3.0.0 - html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.0 - property-information: 6.5.0 - space-separated-tokens: 2.0.2 - stringify-entities: 4.0.4 - zwitch: 2.0.4 - - hast-util-whitespace@3.0.0: + .: dependencies: - '@types/hast': 3.0.4 - - he@1.2.0: {} - - hookable@5.5.3: {} - - html-tags@3.3.1: {} + cspell-lib: + specifier: 9.2.1 + version: 9.2.1 - html-void-elements@3.0.0: {} +packages: - htmlparser2@5.0.1: - dependencies: - domelementtype: 2.3.0 - domhandler: 3.3.0 - domutils: 2.8.0 - entities: 2.2.0 + '@cspell/cspell-bundled-dicts@9.2.1': + resolution: {integrity: sha512-85gHoZh3rgZ/EqrHIr1/I4OLO53fWNp6JZCqCdgaT7e3sMDaOOG6HoSxCvOnVspXNIf/1ZbfTCDMx9x79Xq0AQ==} + engines: {node: '>=20'} - htmlparser2@6.1.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - entities: 2.2.0 + '@cspell/cspell-pipe@9.2.1': + resolution: {integrity: sha512-2N1H63If5cezLqKToY/YSXon4m4REg/CVTFZr040wlHRbbQMh5EF3c7tEC/ue3iKAQR4sm52ihfqo1n4X6kz+g==} + engines: {node: '>=20'} - human-signals@2.1.0: {} + '@cspell/cspell-resolver@9.2.1': + resolution: {integrity: sha512-fRPQ6GWU5eyh8LN1TZblc7t24TlGhJprdjJkfZ+HjQo+6ivdeBPT7pC7pew6vuMBQPS1oHBR36hE0ZnJqqkCeg==} + engines: {node: '>=20'} - iconv-lite@0.7.0: - dependencies: - safer-buffer: 2.1.2 + '@cspell/cspell-service-bus@9.2.1': + resolution: {integrity: sha512-k4M6bqdvWbcGSbcfLD7Lf4coZVObsISDW+sm/VaWp9aZ7/uwiz1IuGUxL9WO4JIdr9CFEf7Ivmvd2txZpVOCIA==} + engines: {node: '>=20'} - ignore@5.3.2: {} + '@cspell/cspell-types@9.2.1': + resolution: {integrity: sha512-FQHgQYdTHkcpxT0u1ddLIg5Cc5ePVDcLg9+b5Wgaubmc5I0tLotgYj8c/mvStWuKsuZIs6sUopjJrE91wk6Onw==} + engines: {node: '>=20'} - ignore@7.0.5: {} + '@cspell/dict-ada@4.1.1': + resolution: {integrity: sha512-E+0YW9RhZod/9Qy2gxfNZiHJjCYFlCdI69br1eviQQWB8yOTJX0JHXLs79kOYhSW0kINPVUdvddEBe6Lu6CjGQ==} - immutable@5.1.4: {} + '@cspell/dict-al@1.1.1': + resolution: {integrity: sha512-sD8GCaZetgQL4+MaJLXqbzWcRjfKVp8x+px3HuCaaiATAAtvjwUQ5/Iubiqwfd1boIh2Y1/3EgM3TLQ7Q8e0wQ==} - import-fresh@3.3.0: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 + '@cspell/dict-aws@4.0.15': + resolution: {integrity: sha512-aPY7VVR5Os4rz36EaqXBAEy14wR4Rqv+leCJ2Ug/Gd0IglJpM30LalF3e2eJChnjje3vWoEC0Rz3+e5gpZG+Kg==} - imurmurhash@0.1.4: {} + '@cspell/dict-bash@4.2.1': + resolution: {integrity: sha512-SBnzfAyEAZLI9KFS7DUG6Xc1vDFuLllY3jz0WHvmxe8/4xV3ufFE3fGxalTikc1VVeZgZmxYiABw4iGxVldYEg==} - is-extendable@0.1.1: {} + '@cspell/dict-companies@3.2.5': + resolution: {integrity: sha512-H51R0w7c6RwJJPqH7Gs65tzP6ouZsYDEHmmol6MIIk0kQaOIBuFP2B3vIxHLUr2EPRVFZsMW8Ni7NmVyaQlwsg==} - is-extglob@2.1.1: {} + '@cspell/dict-cpp@6.0.12': + resolution: {integrity: sha512-N4NsCTttVpMqQEYbf0VQwCj6np+pJESov0WieCN7R/0aByz4+MXEiDieWWisaiVi8LbKzs1mEj4ZTw5K/6O2UQ==} - is-fullwidth-code-point@3.0.0: {} + '@cspell/dict-cryptocurrencies@5.0.5': + resolution: {integrity: sha512-R68hYYF/rtlE6T/dsObStzN5QZw+0aQBinAXuWCVqwdS7YZo0X33vGMfChkHaiCo3Z2+bkegqHlqxZF4TD3rUA==} - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 + '@cspell/dict-csharp@4.0.7': + resolution: {integrity: sha512-H16Hpu8O/1/lgijFt2lOk4/nnldFtQ4t8QHbyqphqZZVE5aS4J/zD/WvduqnLY21aKhZS6jo/xF5PX9jyqPKUA==} - is-number@7.0.0: {} + '@cspell/dict-css@4.0.18': + resolution: {integrity: sha512-EF77RqROHL+4LhMGW5NTeKqfUd/e4OOv6EDFQ/UQQiFyWuqkEKyEz0NDILxOFxWUEVdjT2GQ2cC7t12B6pESwg==} - is-stream@2.0.1: {} + '@cspell/dict-dart@2.3.1': + resolution: {integrity: sha512-xoiGnULEcWdodXI6EwVyqpZmpOoh8RA2Xk9BNdR7DLamV/QMvEYn8KJ7NlRiTSauJKPNkHHQ5EVHRM6sTS7jdg==} - is-what@4.1.16: {} + '@cspell/dict-data-science@2.0.9': + resolution: {integrity: sha512-wTOFMlxv06veIwKdXUwdGxrQcK44Zqs426m6JGgHIB/GqvieZQC5n0UI+tUm5OCxuNyo4OV6mylT4cRMjtKtWQ==} - isexe@2.0.0: {} + '@cspell/dict-django@4.1.5': + resolution: {integrity: sha512-AvTWu99doU3T8ifoMYOMLW2CXKvyKLukPh1auOPwFGHzueWYvBBN+OxF8wF7XwjTBMMeRleVdLh3aWCDEX/ZWg==} - js-cookie@3.0.5: {} + '@cspell/dict-docker@1.1.16': + resolution: {integrity: sha512-UiVQ5RmCg6j0qGIxrBnai3pIB+aYKL3zaJGvXk1O/ertTKJif9RZikKXCEgqhaCYMweM4fuLqWSVmw3hU164Iw==} - js-tokens@4.0.0: {} + '@cspell/dict-dotnet@5.0.10': + resolution: {integrity: sha512-ooar8BP/RBNP1gzYfJPStKEmpWy4uv/7JCq6FOnJLeD1yyfG3d/LFMVMwiJo+XWz025cxtkM3wuaikBWzCqkmg==} - js-tokens@9.0.1: {} + '@cspell/dict-elixir@4.0.8': + resolution: {integrity: sha512-CyfphrbMyl4Ms55Vzuj+mNmd693HjBFr9hvU+B2YbFEZprE5AG+EXLYTMRWrXbpds4AuZcvN3deM2XVB80BN/Q==} - js-yaml@3.14.1: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 + '@cspell/dict-en-common-misspellings@2.1.6': + resolution: {integrity: sha512-xV9yryOqZizbSqxRS7kSVRrxVEyWHUqwdY56IuT7eAWGyTCJNmitXzXa4p+AnEbhL+AB2WLynGVSbNoUC3ceFA==} - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 + '@cspell/dict-en-gb-mit@3.1.9': + resolution: {integrity: sha512-1lSnphnHTOxnpNLpPLg1XXv8df3hs4oL0LJ6dkQ0IqNROl8Jzl6PD55BDTlKy4YOAA76dJlePB0wyrxB+VVKbg==} - jsesc@3.1.0: {} + '@cspell/dict-en_us@4.4.19': + resolution: {integrity: sha512-JYYgzhGqSGuIMNY1cTlmq3zrNpehrExMHqLmLnSM2jEGFeHydlL+KLBwBYxMy4e73w+p1+o/rmAiGsMj9g3MCw==} - json-buffer@3.0.1: {} + '@cspell/dict-filetypes@3.0.13': + resolution: {integrity: sha512-g6rnytIpQlMNKGJT1JKzWkC+b3xCliDKpQ3ANFSq++MnR4GaLiifaC4JkVON11Oh/UTplYOR1nY3BR4X30bswA==} - json-schema-traverse@0.4.1: {} + '@cspell/dict-flutter@1.1.1': + resolution: {integrity: sha512-UlOzRcH2tNbFhZmHJN48Za/2/MEdRHl2BMkCWZBYs+30b91mWvBfzaN4IJQU7dUZtowKayVIF9FzvLZtZokc5A==} - json-stable-stringify-without-jsonify@1.0.1: {} + '@cspell/dict-fonts@4.0.5': + resolution: {integrity: sha512-BbpkX10DUX/xzHs6lb7yzDf/LPjwYIBJHJlUXSBXDtK/1HaeS+Wqol4Mlm2+NAgZ7ikIE5DQMViTgBUY3ezNoQ==} - json5@2.2.3: {} + '@cspell/dict-fsharp@1.1.1': + resolution: {integrity: sha512-imhs0u87wEA4/cYjgzS0tAyaJpwG7vwtC8UyMFbwpmtw+/bgss+osNfyqhYRyS/ehVCWL17Ewx2UPkexjKyaBA==} - jsonfile@6.1.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 + '@cspell/dict-fullstack@3.2.7': + resolution: {integrity: sha512-IxEk2YAwAJKYCUEgEeOg3QvTL4XLlyArJElFuMQevU1dPgHgzWElFevN5lsTFnvMFA1riYsVinqJJX0BanCFEg==} - juice@8.1.0: - dependencies: - cheerio: 1.0.0-rc.10 - commander: 6.2.1 - mensch: 0.3.4 - slick: 1.12.2 - web-resource-inliner: 6.0.1 - transitivePeerDependencies: - - encoding - - keyv@4.5.4: - dependencies: - json-buffer: 3.0.1 + '@cspell/dict-gaming-terms@1.1.2': + resolution: {integrity: sha512-9XnOvaoTBscq0xuD6KTEIkk9hhdfBkkvJAIsvw3JMcnp1214OCGW8+kako5RqQ2vTZR3Tnf3pc57o7VgkM0q1Q==} - kind-of@6.0.3: {} + '@cspell/dict-git@3.0.7': + resolution: {integrity: sha512-odOwVKgfxCQfiSb+nblQZc4ErXmnWEnv8XwkaI4sNJ7cNmojnvogYVeMqkXPjvfrgEcizEEA4URRD2Ms5PDk1w==} - kolorist@1.8.0: {} + '@cspell/dict-golang@6.0.23': + resolution: {integrity: sha512-oXqUh/9dDwcmVlfUF5bn3fYFqbUzC46lXFQmi5emB0vYsyQXdNWsqi6/yH3uE7bdRE21nP7Yo0mR1jjFNyLamg==} - levn@0.4.1: - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 + '@cspell/dict-google@1.0.9': + resolution: {integrity: sha512-biL65POqialY0i4g6crj7pR6JnBkbsPovB2WDYkj3H4TuC/QXv7Pu5pdPxeUJA6TSCHI7T5twsO4VSVyRxD9CA==} - linkify-it@5.0.0: - dependencies: - uc.micro: 2.1.0 + '@cspell/dict-haskell@4.0.6': + resolution: {integrity: sha512-ib8SA5qgftExpYNjWhpYIgvDsZ/0wvKKxSP+kuSkkak520iPvTJumEpIE+qPcmJQo4NzdKMN8nEfaeci4OcFAQ==} - local-pkg@0.5.1: - dependencies: - mlly: 1.7.3 - pkg-types: 1.3.0 + '@cspell/dict-html-symbol-entities@4.0.4': + resolution: {integrity: sha512-afea+0rGPDeOV9gdO06UW183Qg6wRhWVkgCFwiO3bDupAoyXRuvupbb5nUyqSTsLXIKL8u8uXQlJ9pkz07oVXw==} - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 + '@cspell/dict-html@4.0.12': + resolution: {integrity: sha512-JFffQ1dDVEyJq6tCDWv0r/RqkdSnV43P2F/3jJ9rwLgdsOIXwQbXrz6QDlvQLVvNSnORH9KjDtenFTGDyzfCaA==} - lodash-es@4.17.21: {} + '@cspell/dict-java@5.0.12': + resolution: {integrity: sha512-qPSNhTcl7LGJ5Qp6VN71H8zqvRQK04S08T67knMq9hTA8U7G1sTKzLmBaDOFhq17vNX/+rT+rbRYp+B5Nwza1A==} - lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21): - dependencies: - '@types/lodash-es': 4.17.12 - lodash: 4.17.21 - lodash-es: 4.17.21 + '@cspell/dict-julia@1.1.1': + resolution: {integrity: sha512-WylJR9TQ2cgwd5BWEOfdO3zvDB+L7kYFm0I9u0s9jKHWQ6yKmfKeMjU9oXxTBxIufhCXm92SKwwVNAC7gjv+yA==} - lodash.merge@4.6.2: {} + '@cspell/dict-k8s@1.0.12': + resolution: {integrity: sha512-2LcllTWgaTfYC7DmkMPOn9GsBWsA4DZdlun4po8s2ysTP7CPEnZc1ZfK6pZ2eI4TsZemlUQQ+NZxMe9/QutQxg==} - lodash@4.17.21: {} + '@cspell/dict-kotlin@1.1.1': + resolution: {integrity: sha512-J3NzzfgmxRvEeOe3qUXnSJQCd38i/dpF9/t3quuWh6gXM+krsAXP75dY1CzDmS8mrJAlBdVBeAW5eAZTD8g86Q==} - loupe@3.1.3: {} + '@cspell/dict-latex@4.0.4': + resolution: {integrity: sha512-YdTQhnTINEEm/LZgTzr9Voz4mzdOXH7YX+bSFs3hnkUHCUUtX/mhKgf1CFvZ0YNM2afjhQcmLaR9bDQVyYBvpA==} - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 + '@cspell/dict-lorem-ipsum@4.0.5': + resolution: {integrity: sha512-9a4TJYRcPWPBKkQAJ/whCu4uCAEgv/O2xAaZEI0n4y1/l18Yyx8pBKoIX5QuVXjjmKEkK7hi5SxyIsH7pFEK9Q==} - magic-string@0.30.17: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 + '@cspell/dict-lua@4.0.8': + resolution: {integrity: sha512-N4PkgNDMu9JVsRu7JBS/3E/dvfItRgk9w5ga2dKq+JupP2Y3lojNaAVFhXISh4Y0a6qXDn2clA6nvnavQ/jjLA==} - mark.js@8.11.1: {} + '@cspell/dict-makefile@1.0.5': + resolution: {integrity: sha512-4vrVt7bGiK8Rx98tfRbYo42Xo2IstJkAF4tLLDMNQLkQ86msDlYSKG1ZCk8Abg+EdNcFAjNhXIiNO+w4KflGAQ==} - markdown-it-anchor@9.2.0(@types/markdown-it@14.1.2)(markdown-it@14.1.0): - dependencies: - '@types/markdown-it': 14.1.2 - markdown-it: 14.1.0 + '@cspell/dict-markdown@2.0.12': + resolution: {integrity: sha512-ufwoliPijAgWkD/ivAMC+A9QD895xKiJRF/fwwknQb7kt7NozTLKFAOBtXGPJAB4UjhGBpYEJVo2elQ0FCAH9A==} + peerDependencies: + '@cspell/dict-css': ^4.0.18 + '@cspell/dict-html': ^4.0.12 + '@cspell/dict-html-symbol-entities': ^4.0.4 + '@cspell/dict-typescript': ^3.2.3 - markdown-it-mathjax3@4.3.2: - dependencies: - juice: 8.1.0 - mathjax-full: 3.2.2 - transitivePeerDependencies: - - encoding + '@cspell/dict-monkeyc@1.0.11': + resolution: {integrity: sha512-7Q1Ncu0urALI6dPTrEbSTd//UK0qjRBeaxhnm8uY5fgYNFYAG+u4gtnTIo59S6Bw5P++4H3DiIDYoQdY/lha8w==} - markdown-it@14.1.0: - dependencies: - argparse: 2.0.1 - entities: 4.5.0 - linkify-it: 5.0.0 - mdurl: 2.0.0 - punycode.js: 2.3.1 - uc.micro: 2.1.0 + '@cspell/dict-node@5.0.8': + resolution: {integrity: sha512-AirZcN2i84ynev3p2/1NCPEhnNsHKMz9zciTngGoqpdItUb2bDt1nJBjwlsrFI78GZRph/VaqTVFwYikmncpXg==} - math-intrinsics@1.1.0: {} + '@cspell/dict-npm@5.2.17': + resolution: {integrity: sha512-0yp7lBXtN3CtxBrpvTu/yAuPdOHR2ucKzPxdppc3VKO068waZNpKikn1NZCzBS3dIAFGVITzUPtuTXxt9cxnSg==} - mathjax-full@3.2.2: - dependencies: - esm: 3.2.25 - mhchemparser: 4.2.1 - mj-context-menu: 0.6.1 - speech-rule-engine: 4.0.7 + '@cspell/dict-php@4.0.15': + resolution: {integrity: sha512-iepGB2gtToMWSTvybesn4/lUp4LwXcEm0s8vasJLP76WWVkq1zYjmeS+WAIzNgsuURyZ/9mGqhS0CWMuo74ODw==} - mdast-util-to-hast@13.2.0: - dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.2.1 - devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.1 - trim-lines: 3.0.1 - unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 - vfile: 6.0.3 + '@cspell/dict-powershell@5.0.15': + resolution: {integrity: sha512-l4S5PAcvCFcVDMJShrYD0X6Huv9dcsQPlsVsBGbH38wvuN7gS7+GxZFAjTNxDmTY1wrNi1cCatSg6Pu2BW4rgg==} - mdurl@2.0.0: {} + '@cspell/dict-public-licenses@2.0.15': + resolution: {integrity: sha512-cJEOs901H13Pfy0fl4dCD1U+xpWIMaEPq8MeYU83FfDZvellAuSo4GqWCripfIqlhns/L6+UZEIJSOZnjgy7Wg==} - memoize-one@6.0.0: {} + '@cspell/dict-python@4.2.19': + resolution: {integrity: sha512-9S2gTlgILp1eb6OJcVZeC8/Od83N8EqBSg5WHVpx97eMMJhifOzePkE0kDYjyHMtAFznCQTUu0iQEJohNQ5B0A==} - mensch@0.3.4: {} + '@cspell/dict-r@2.1.1': + resolution: {integrity: sha512-71Ka+yKfG4ZHEMEmDxc6+blFkeTTvgKbKAbwiwQAuKl3zpqs1Y0vUtwW2N4b3LgmSPhV3ODVY0y4m5ofqDuKMw==} - merge-stream@2.0.0: {} + '@cspell/dict-ruby@5.0.9': + resolution: {integrity: sha512-H2vMcERMcANvQshAdrVx0XoWaNX8zmmiQN11dZZTQAZaNJ0xatdJoSqY8C8uhEMW89bfgpN+NQgGuDXW2vmXEw==} - merge2@1.4.1: {} + '@cspell/dict-rust@4.0.12': + resolution: {integrity: sha512-z2QiH+q9UlNhobBJArvILRxV8Jz0pKIK7gqu4TgmEYyjiu1TvnGZ1tbYHeu9w3I/wOP6UMDoCBTty5AlYfW0mw==} - mhchemparser@4.2.1: {} + '@cspell/dict-scala@5.0.8': + resolution: {integrity: sha512-YdftVmumv8IZq9zu1gn2U7A4bfM2yj9Vaupydotyjuc+EEZZSqAafTpvW/jKLWji2TgybM1L2IhmV0s/Iv9BTw==} - micromark-util-character@2.1.1: - dependencies: - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + '@cspell/dict-shell@1.1.1': + resolution: {integrity: sha512-T37oYxE7OV1x/1D4/13Y8JZGa1QgDCXV7AVt3HLXjn0Fe3TaNDvf5sU0fGnXKmBPqFFrHdpD3uutAQb1dlp15g==} - micromark-util-encode@2.0.1: {} + '@cspell/dict-software-terms@5.1.8': + resolution: {integrity: sha512-iwCHLP11OmVHEX2MzE8EPxpPw7BelvldxWe5cJ3xXIDL8TjF2dBTs2noGcrqnZi15SLYIlO8897BIOa33WHHZA==} - micromark-util-sanitize-uri@2.0.1: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-encode: 2.0.1 - micromark-util-symbol: 2.0.1 + '@cspell/dict-sql@2.2.1': + resolution: {integrity: sha512-qDHF8MpAYCf4pWU8NKbnVGzkoxMNrFqBHyG/dgrlic5EQiKANCLELYtGlX5auIMDLmTf1inA0eNtv74tyRJ/vg==} - micromark-util-symbol@2.0.1: {} + '@cspell/dict-svelte@1.0.7': + resolution: {integrity: sha512-hGZsGqP0WdzKkdpeVLBivRuSNzOTvN036EBmpOwxH+FTY2DuUH7ecW+cSaMwOgmq5JFSdTcbTNFlNC8HN8lhaQ==} - micromark-util-types@2.0.1: {} + '@cspell/dict-swift@2.0.6': + resolution: {integrity: sha512-PnpNbrIbex2aqU1kMgwEKvCzgbkHtj3dlFLPMqW1vSniop7YxaDTtvTUO4zA++ugYAEL+UK8vYrBwDPTjjvSnA==} - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 + '@cspell/dict-terraform@1.1.3': + resolution: {integrity: sha512-gr6wxCydwSFyyBKhBA2xkENXtVFToheqYYGFvlMZXWjviynXmh+NK/JTvTCk/VHk3+lzbO9EEQKee6VjrAUSbA==} - mime-db@1.52.0: {} + '@cspell/dict-typescript@3.2.3': + resolution: {integrity: sha512-zXh1wYsNljQZfWWdSPYwQhpwiuW0KPW1dSd8idjMRvSD0aSvWWHoWlrMsmZeRl4qM4QCEAjua8+cjflm41cQBg==} - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 + '@cspell/dict-vue@3.0.5': + resolution: {integrity: sha512-Mqutb8jbM+kIcywuPQCCaK5qQHTdaByoEO2J9LKFy3sqAdiBogNkrplqUK0HyyRFgCfbJUgjz3N85iCMcWH0JA==} - mime@2.6.0: {} + '@cspell/dynamic-import@9.2.1': + resolution: {integrity: sha512-izYQbk7ck0ffNA1gf7Gi3PkUEjj+crbYeyNK1hxHx5A+GuR416ozs0aEyp995KI2v9HZlXscOj3SC3wrWzHZeA==} + engines: {node: '>=20'} - mimic-fn@2.1.0: {} + '@cspell/filetypes@9.2.1': + resolution: {integrity: sha512-Dy1y1pQ+7hi2gPs+jERczVkACtYbUHcLodXDrzpipoxgOtVxMcyZuo+84WYHImfu0gtM0wU2uLObaVgMSTnytw==} + engines: {node: '>=20'} - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.11 + '@cspell/strong-weak-map@9.2.1': + resolution: {integrity: sha512-1HsQWZexvJSjDocVnbeAWjjgqWE/0op/txxzDPvDqI2sE6pY0oO4Cinj2I8z+IP+m6/E6yjPxdb23ydbQbPpJQ==} + engines: {node: '>=20'} - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.1 + '@cspell/url@9.2.1': + resolution: {integrity: sha512-9EHCoGKtisPNsEdBQ28tKxKeBmiVS3D4j+AN8Yjr+Dmtu+YACKGWiMOddNZG2VejQNIdFx7FwzU00BGX68ELhA==} + engines: {node: '>=20'} - minimatch@9.0.5: - dependencies: - brace-expansion: 2.0.1 + array-timsort@1.0.3: + resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} - minisearch@7.1.1: {} + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} - mitt@3.0.1: {} + clear-module@4.1.2: + resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} + engines: {node: '>=8'} - mj-context-menu@0.6.1: {} + comment-json@4.2.5: + resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} + engines: {node: '>= 6'} - mlly@1.7.3: - dependencies: - acorn: 8.15.0 - pathe: 1.1.2 - pkg-types: 1.3.0 - ufo: 1.5.4 + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - ms@2.1.3: {} + cspell-config-lib@9.2.1: + resolution: {integrity: sha512-qqhaWW+0Ilc7493lXAlXjziCyeEmQbmPMc1XSJw2EWZmzb+hDvLdFGHoX18QU67yzBtu5hgQsJDEDZKvVDTsRA==} + engines: {node: '>=20'} - muggle-string@0.3.1: {} + cspell-dictionary@9.2.1: + resolution: {integrity: sha512-0hQVFySPsoJ0fONmDPwCWGSG6SGj4ERolWdx4t42fzg5zMs+VYGXpQW4BJneQ5Tfxy98Wx8kPhmh/9E8uYzLTw==} + engines: {node: '>=20'} - mute-stream@2.0.0: {} + cspell-glob@9.2.1: + resolution: {integrity: sha512-CrT/6ld3rXhB36yWFjrx1SrMQzwDrGOLr+wYEnrWI719/LTYWWCiMFW7H+qhsJDTsR+ku8+OAmfRNBDXvh9mnQ==} + engines: {node: '>=20'} - nanoid@3.3.8: {} + cspell-grammar@9.2.1: + resolution: {integrity: sha512-10RGFG7ZTQPdwyW2vJyfmC1t8813y8QYRlVZ8jRHWzer9NV8QWrGnL83F+gTPXiKR/lqiW8WHmFlXR4/YMV+JQ==} + engines: {node: '>=20'} + hasBin: true - natural-compare@1.4.0: {} + cspell-io@9.2.1: + resolution: {integrity: sha512-v9uWXtRzB+RF/Mzg5qMzpb8/yt+1bwtTt2rZftkLDLrx5ybVvy6rhRQK05gFWHmWVtWEe0P/pIxaG2Vz92C8Ag==} + engines: {node: '>=20'} - node-addon-api@7.1.1: - optional: true + cspell-lib@9.2.1: + resolution: {integrity: sha512-KeB6NHcO0g1knWa7sIuDippC3gian0rC48cvO0B0B0QwhOxNxWVp8cSmkycXjk4ijBZNa++IwFjeK/iEqMdahQ==} + engines: {node: '>=20'} - node-fetch@2.7.0: - dependencies: - whatwg-url: 5.0.0 + cspell-trie-lib@9.2.1: + resolution: {integrity: sha512-qOtbL+/tUzGFHH0Uq2wi7sdB9iTy66QNx85P7DKeRdX9ZH53uQd7qC4nEk+/JPclx1EgXX26svxr0jTGISJhLw==} + engines: {node: '>=20'} - node-releases@2.0.19: {} + env-paths@3.0.0: + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - normalize-wheel-es@1.2.0: {} + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 + fast-equals@5.2.2: + resolution: {integrity: sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==} + engines: {node: '>=6.0.0'} - nth-check@2.1.1: - dependencies: - boolbase: 1.0.0 + gensequence@7.0.0: + resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==} + engines: {node: '>=18'} - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} - oniguruma-to-es@3.1.1: - dependencies: - emoji-regex-xs: 1.0.0 - regex: 6.0.1 - regex-recursion: 6.0.2 + has-own-prop@2.0.0: + resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} + engines: {node: '>=8'} - optionator@0.9.4: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.5 - - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} - package-manager-detector@0.2.8: {} + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} parent-module@1.0.1: - dependencies: - callsites: 3.1.0 + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} - parse5-htmlparser2-tree-adapter@6.0.1: - dependencies: - parse5: 6.0.1 + parent-module@2.0.0: + resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} + engines: {node: '>=8'} - parse5@6.0.1: {} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} - path-browserify@1.0.1: {} + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} - path-exists@4.0.0: {} + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} - path-key@3.1.1: {} + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} - path-type@4.0.0: {} + smol-toml@1.4.2: + resolution: {integrity: sha512-rInDH6lCNiEyn3+hH8KVGFdbjc099j47+OSgbMrfDYX1CmXLfdKd7qi6IfcWj2wFxvSVkuI46M+wPGYfEOEj6g==} + engines: {node: '>= 18'} - pathe@1.1.2: {} + vscode-languageserver-textdocument@1.0.12: + resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - pathe@2.0.3: {} + vscode-uri@3.1.0: + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - pathval@2.0.0: {} + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} - perfect-debounce@1.0.0: {} + yaml@2.8.1: + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} + engines: {node: '>= 14.6'} + hasBin: true - picocolors@1.1.1: {} +snapshots: - picomatch@2.3.1: {} + '@cspell/cspell-bundled-dicts@9.2.1': + dependencies: + '@cspell/dict-ada': 4.1.1 + '@cspell/dict-al': 1.1.1 + '@cspell/dict-aws': 4.0.15 + '@cspell/dict-bash': 4.2.1 + '@cspell/dict-companies': 3.2.5 + '@cspell/dict-cpp': 6.0.12 + '@cspell/dict-cryptocurrencies': 5.0.5 + '@cspell/dict-csharp': 4.0.7 + '@cspell/dict-css': 4.0.18 + '@cspell/dict-dart': 2.3.1 + '@cspell/dict-data-science': 2.0.9 + '@cspell/dict-django': 4.1.5 + '@cspell/dict-docker': 1.1.16 + '@cspell/dict-dotnet': 5.0.10 + '@cspell/dict-elixir': 4.0.8 + '@cspell/dict-en-common-misspellings': 2.1.6 + '@cspell/dict-en-gb-mit': 3.1.9 + '@cspell/dict-en_us': 4.4.19 + '@cspell/dict-filetypes': 3.0.13 + '@cspell/dict-flutter': 1.1.1 + '@cspell/dict-fonts': 4.0.5 + '@cspell/dict-fsharp': 1.1.1 + '@cspell/dict-fullstack': 3.2.7 + '@cspell/dict-gaming-terms': 1.1.2 + '@cspell/dict-git': 3.0.7 + '@cspell/dict-golang': 6.0.23 + '@cspell/dict-google': 1.0.9 + '@cspell/dict-haskell': 4.0.6 + '@cspell/dict-html': 4.0.12 + '@cspell/dict-html-symbol-entities': 4.0.4 + '@cspell/dict-java': 5.0.12 + '@cspell/dict-julia': 1.1.1 + '@cspell/dict-k8s': 1.0.12 + '@cspell/dict-kotlin': 1.1.1 + '@cspell/dict-latex': 4.0.4 + '@cspell/dict-lorem-ipsum': 4.0.5 + '@cspell/dict-lua': 4.0.8 + '@cspell/dict-makefile': 1.0.5 + '@cspell/dict-markdown': 2.0.12(@cspell/dict-css@4.0.18)(@cspell/dict-html-symbol-entities@4.0.4)(@cspell/dict-html@4.0.12)(@cspell/dict-typescript@3.2.3) + '@cspell/dict-monkeyc': 1.0.11 + '@cspell/dict-node': 5.0.8 + '@cspell/dict-npm': 5.2.17 + '@cspell/dict-php': 4.0.15 + '@cspell/dict-powershell': 5.0.15 + '@cspell/dict-public-licenses': 2.0.15 + '@cspell/dict-python': 4.2.19 + '@cspell/dict-r': 2.1.1 + '@cspell/dict-ruby': 5.0.9 + '@cspell/dict-rust': 4.0.12 + '@cspell/dict-scala': 5.0.8 + '@cspell/dict-shell': 1.1.1 + '@cspell/dict-software-terms': 5.1.8 + '@cspell/dict-sql': 2.2.1 + '@cspell/dict-svelte': 1.0.7 + '@cspell/dict-swift': 2.0.6 + '@cspell/dict-terraform': 1.1.3 + '@cspell/dict-typescript': 3.2.3 + '@cspell/dict-vue': 3.0.5 - picomatch@4.0.2: {} + '@cspell/cspell-pipe@9.2.1': {} - pinia@2.1.6(typescript@5.2.2)(vue@3.3.4): + '@cspell/cspell-resolver@9.2.1': dependencies: - '@vue/devtools-api': 6.6.4 - vue: 3.3.4 - vue-demi: 0.14.10(vue@3.3.4) - optionalDependencies: - typescript: 5.2.2 + global-directory: 4.0.1 - pkg-types@1.3.0: - dependencies: - confbox: 0.1.8 - mlly: 1.7.3 - pathe: 1.1.2 + '@cspell/cspell-service-bus@9.2.1': {} - postcss-selector-parser@6.1.2: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + '@cspell/cspell-types@9.2.1': {} - postcss@8.4.49: - dependencies: - nanoid: 3.3.8 - picocolors: 1.1.1 - source-map-js: 1.2.1 + '@cspell/dict-ada@4.1.1': {} - preact@10.25.4: {} + '@cspell/dict-al@1.1.1': {} - prelude-ls@1.2.1: {} + '@cspell/dict-aws@4.0.15': {} - prettier-linter-helpers@1.0.0: + '@cspell/dict-bash@4.2.1': dependencies: - fast-diff: 1.3.0 - - prettier@3.4.2: {} - - property-information@6.5.0: {} - - proxy-from-env@1.1.0: {} - - punycode.js@2.3.1: {} + '@cspell/dict-shell': 1.1.1 - punycode@2.3.1: {} + '@cspell/dict-companies@3.2.5': {} - queue-microtask@1.2.3: {} + '@cspell/dict-cpp@6.0.12': {} - readdirp@4.1.2: {} + '@cspell/dict-cryptocurrencies@5.0.5': {} - regex-recursion@6.0.2: - dependencies: - regex-utilities: 2.3.0 + '@cspell/dict-csharp@4.0.7': {} - regex-utilities@2.3.0: {} + '@cspell/dict-css@4.0.18': {} - regex@6.0.1: - dependencies: - regex-utilities: 2.3.0 + '@cspell/dict-dart@2.3.1': {} - resolve-from@4.0.0: {} + '@cspell/dict-data-science@2.0.9': {} - reusify@1.0.4: {} + '@cspell/dict-django@4.1.5': {} - rfdc@1.4.1: {} + '@cspell/dict-docker@1.1.16': {} - rollup@4.30.1: - dependencies: - '@types/estree': 1.0.6 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.30.1 - '@rollup/rollup-android-arm64': 4.30.1 - '@rollup/rollup-darwin-arm64': 4.30.1 - '@rollup/rollup-darwin-x64': 4.30.1 - '@rollup/rollup-freebsd-arm64': 4.30.1 - '@rollup/rollup-freebsd-x64': 4.30.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.30.1 - '@rollup/rollup-linux-arm-musleabihf': 4.30.1 - '@rollup/rollup-linux-arm64-gnu': 4.30.1 - '@rollup/rollup-linux-arm64-musl': 4.30.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.30.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.30.1 - '@rollup/rollup-linux-riscv64-gnu': 4.30.1 - '@rollup/rollup-linux-s390x-gnu': 4.30.1 - '@rollup/rollup-linux-x64-gnu': 4.30.1 - '@rollup/rollup-linux-x64-musl': 4.30.1 - '@rollup/rollup-win32-arm64-msvc': 4.30.1 - '@rollup/rollup-win32-ia32-msvc': 4.30.1 - '@rollup/rollup-win32-x64-msvc': 4.30.1 - fsevents: 2.3.3 - - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 + '@cspell/dict-dotnet@5.0.10': {} - safer-buffer@2.1.2: {} + '@cspell/dict-elixir@4.0.8': {} - sass@1.93.2: - dependencies: - chokidar: 4.0.3 - immutable: 5.1.4 - source-map-js: 1.2.1 - optionalDependencies: - '@parcel/watcher': 2.5.1 + '@cspell/dict-en-common-misspellings@2.1.6': {} - search-insights@2.17.3: {} + '@cspell/dict-en-gb-mit@3.1.9': {} - section-matter@1.0.0: - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 + '@cspell/dict-en_us@4.4.19': {} - select@1.1.2: {} + '@cspell/dict-filetypes@3.0.13': {} - semver@6.3.1: {} + '@cspell/dict-flutter@1.1.1': {} - semver@7.6.3: {} + '@cspell/dict-fonts@4.0.5': {} - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 + '@cspell/dict-fsharp@1.1.1': {} - shebang-regex@3.0.0: {} + '@cspell/dict-fullstack@3.2.7': {} - shiki@2.5.0: - dependencies: - '@shikijs/core': 2.5.0 - '@shikijs/engine-javascript': 2.5.0 - '@shikijs/engine-oniguruma': 2.5.0 - '@shikijs/langs': 2.5.0 - '@shikijs/themes': 2.5.0 - '@shikijs/types': 2.5.0 - '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 + '@cspell/dict-gaming-terms@1.1.2': {} - siginfo@2.0.0: {} + '@cspell/dict-git@3.0.7': {} - signal-exit@3.0.7: {} + '@cspell/dict-golang@6.0.23': {} - signal-exit@4.1.0: {} + '@cspell/dict-google@1.0.9': {} - slash@3.0.0: {} + '@cspell/dict-haskell@4.0.6': {} - slick@1.12.2: {} + '@cspell/dict-html-symbol-entities@4.0.4': {} - source-map-js@1.2.1: {} + '@cspell/dict-html@4.0.12': {} - space-separated-tokens@2.0.2: {} + '@cspell/dict-java@5.0.12': {} - speakingurl@14.0.1: {} + '@cspell/dict-julia@1.1.1': {} - speech-rule-engine@4.0.7: - dependencies: - commander: 9.2.0 - wicked-good-xpath: 1.3.0 - xmldom-sre: 0.1.31 + '@cspell/dict-k8s@1.0.12': {} - sprintf-js@1.0.3: {} + '@cspell/dict-kotlin@1.1.1': {} - stackback@0.0.2: {} + '@cspell/dict-latex@4.0.4': {} - std-env@3.9.0: {} + '@cspell/dict-lorem-ipsum@4.0.5': {} - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 + '@cspell/dict-lua@4.0.8': {} - stringify-entities@4.0.4: - dependencies: - character-entities-html4: 2.1.0 - character-entities-legacy: 3.0.0 + '@cspell/dict-makefile@1.0.5': {} - strip-ansi@6.0.1: + '@cspell/dict-markdown@2.0.12(@cspell/dict-css@4.0.18)(@cspell/dict-html-symbol-entities@4.0.4)(@cspell/dict-html@4.0.12)(@cspell/dict-typescript@3.2.3)': dependencies: - ansi-regex: 5.0.1 + '@cspell/dict-css': 4.0.18 + '@cspell/dict-html': 4.0.12 + '@cspell/dict-html-symbol-entities': 4.0.4 + '@cspell/dict-typescript': 3.2.3 - strip-bom-string@1.0.0: {} + '@cspell/dict-monkeyc@1.0.11': {} - strip-final-newline@2.0.0: {} + '@cspell/dict-node@5.0.8': {} - strip-json-comments@3.1.1: {} + '@cspell/dict-npm@5.2.17': {} - strip-literal@3.0.0: - dependencies: - js-tokens: 9.0.1 - - superjson@2.2.2: - dependencies: - copy-anything: 3.0.5 + '@cspell/dict-php@4.0.15': {} - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 + '@cspell/dict-powershell@5.0.15': {} - svg-tags@1.0.0: {} + '@cspell/dict-public-licenses@2.0.15': {} - synckit@0.9.2: + '@cspell/dict-python@4.2.19': dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.8.1 + '@cspell/dict-data-science': 2.0.9 - tabbable@6.2.0: {} + '@cspell/dict-r@2.1.1': {} - tiny-emitter@2.1.0: {} + '@cspell/dict-ruby@5.0.9': {} - tinybench@2.9.0: {} + '@cspell/dict-rust@4.0.12': {} - tinyexec@0.3.2: {} + '@cspell/dict-scala@5.0.8': {} - tinyglobby@0.2.14: - dependencies: - fdir: 6.4.6(picomatch@4.0.2) - picomatch: 4.0.2 - - tinypool@1.1.0: {} - - tinyrainbow@2.0.0: {} - - tinyspy@4.0.3: {} + '@cspell/dict-shell@1.1.1': {} - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - tr46@0.0.3: {} + '@cspell/dict-software-terms@5.1.8': {} - trim-lines@3.0.1: {} + '@cspell/dict-sql@2.2.1': {} - ts-api-utils@1.4.3(typescript@5.2.2): - dependencies: - typescript: 5.2.2 + '@cspell/dict-svelte@1.0.7': {} - ts-api-utils@2.1.0(typescript@5.2.2): - dependencies: - typescript: 5.2.2 + '@cspell/dict-swift@2.0.6': {} - tslib@2.8.1: {} + '@cspell/dict-terraform@1.1.3': {} - type-check@0.4.0: - dependencies: - prelude-ls: 1.2.1 + '@cspell/dict-typescript@3.2.3': {} - type-fest@0.20.2: {} + '@cspell/dict-vue@3.0.5': {} - typescript-eslint@8.35.0(eslint@9.29.0)(typescript@5.2.2): + '@cspell/dynamic-import@9.2.1': dependencies: - '@typescript-eslint/eslint-plugin': 8.35.0(@typescript-eslint/parser@8.35.0(eslint@9.29.0)(typescript@5.2.2))(eslint@9.29.0)(typescript@5.2.2) - '@typescript-eslint/parser': 8.35.0(eslint@9.29.0)(typescript@5.2.2) - '@typescript-eslint/utils': 8.35.0(eslint@9.29.0)(typescript@5.2.2) - eslint: 9.29.0 - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color + '@cspell/url': 9.2.1 + import-meta-resolve: 4.2.0 - typescript@5.2.2: {} + '@cspell/filetypes@9.2.1': {} - ua-parser-js@1.0.34: {} + '@cspell/strong-weak-map@9.2.1': {} - uc.micro@2.1.0: {} + '@cspell/url@9.2.1': {} - ufo@1.5.4: {} + array-timsort@1.0.3: {} - undici-types@5.26.5: {} + callsites@3.1.0: {} - unist-util-is@6.0.0: + clear-module@4.1.2: dependencies: - '@types/unist': 3.0.3 + parent-module: 2.0.0 + resolve-from: 5.0.0 - unist-util-position@5.0.0: + comment-json@4.2.5: dependencies: - '@types/unist': 3.0.3 + array-timsort: 1.0.3 + core-util-is: 1.0.3 + esprima: 4.0.1 + has-own-prop: 2.0.0 + repeat-string: 1.6.1 - unist-util-stringify-position@4.0.0: - dependencies: - '@types/unist': 3.0.3 + core-util-is@1.0.3: {} - unist-util-visit-parents@6.0.1: + cspell-config-lib@9.2.1: dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.0 + '@cspell/cspell-types': 9.2.1 + comment-json: 4.2.5 + smol-toml: 1.4.2 + yaml: 2.8.1 - unist-util-visit@5.0.0: + cspell-dictionary@9.2.1: dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 + '@cspell/cspell-pipe': 9.2.1 + '@cspell/cspell-types': 9.2.1 + cspell-trie-lib: 9.2.1 + fast-equals: 5.2.2 - universalify@2.0.1: {} - - unplugin-icons@0.17.4(@vue/compiler-sfc@3.5.13)(vue-template-compiler@2.7.16): - dependencies: - '@antfu/install-pkg': 0.1.1 - '@antfu/utils': 0.7.10 - '@iconify/utils': 2.2.1 - debug: 4.4.0 - kolorist: 1.8.0 - local-pkg: 0.5.1 - unplugin: 1.16.1 - optionalDependencies: - '@vue/compiler-sfc': 3.5.13 - vue-template-compiler: 2.7.16 - transitivePeerDependencies: - - supports-color - - unplugin@1.16.1: + cspell-glob@9.2.1: dependencies: - acorn: 8.15.0 - webpack-virtual-modules: 0.6.2 + '@cspell/url': 9.2.1 + picomatch: 4.0.3 - update-browserslist-db@1.1.2(browserslist@4.24.4): + cspell-grammar@9.2.1: dependencies: - browserslist: 4.24.4 - escalade: 3.2.0 - picocolors: 1.1.1 + '@cspell/cspell-pipe': 9.2.1 + '@cspell/cspell-types': 9.2.1 - uri-js@4.4.1: + cspell-io@9.2.1: dependencies: - punycode: 2.3.1 - - util-deprecate@1.0.2: {} - - uuid@10.0.0: {} + '@cspell/cspell-service-bus': 9.2.1 + '@cspell/url': 9.2.1 - valid-data-url@3.0.1: {} - - vfile-message@4.0.2: + cspell-lib@9.2.1: dependencies: - '@types/unist': 3.0.3 - unist-util-stringify-position: 4.0.0 + '@cspell/cspell-bundled-dicts': 9.2.1 + '@cspell/cspell-pipe': 9.2.1 + '@cspell/cspell-resolver': 9.2.1 + '@cspell/cspell-types': 9.2.1 + '@cspell/dynamic-import': 9.2.1 + '@cspell/filetypes': 9.2.1 + '@cspell/strong-weak-map': 9.2.1 + '@cspell/url': 9.2.1 + clear-module: 4.1.2 + comment-json: 4.2.5 + cspell-config-lib: 9.2.1 + cspell-dictionary: 9.2.1 + cspell-glob: 9.2.1 + cspell-grammar: 9.2.1 + cspell-io: 9.2.1 + cspell-trie-lib: 9.2.1 + env-paths: 3.0.0 + fast-equals: 5.2.2 + gensequence: 7.0.0 + import-fresh: 3.3.1 + resolve-from: 5.0.0 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.1.0 + xdg-basedir: 5.1.0 - vfile@6.0.3: + cspell-trie-lib@9.2.1: dependencies: - '@types/unist': 3.0.3 - vfile-message: 4.0.2 + '@cspell/cspell-pipe': 9.2.1 + '@cspell/cspell-types': 9.2.1 + gensequence: 7.0.0 - vite-node@3.2.3(@types/node@18.19.70)(sass@1.93.2): - dependencies: - cac: 6.7.14 - debug: 4.4.1 - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 5.4.11(@types/node@18.19.70)(sass@1.93.2) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - vite@5.4.11(@types/node@18.19.70)(sass@1.93.2): - dependencies: - esbuild: 0.21.5 - postcss: 8.4.49 - rollup: 4.30.1 - optionalDependencies: - '@types/node': 18.19.70 - fsevents: 2.3.3 - sass: 1.93.2 - - vite@5.4.20(@types/node@18.19.70)(sass@1.93.2): - dependencies: - esbuild: 0.21.5 - postcss: 8.4.49 - rollup: 4.30.1 - optionalDependencies: - '@types/node': 18.19.70 - fsevents: 2.3.3 - sass: 1.93.2 - - vitepress@1.6.4(@algolia/client-search@5.19.0)(@types/node@18.19.70)(async-validator@4.2.5)(axios@1.12.2)(markdown-it-mathjax3@4.3.2)(postcss@8.4.49)(sass@1.93.2)(search-insights@2.17.3)(typescript@5.2.2): - dependencies: - '@docsearch/css': 3.8.2 - '@docsearch/js': 3.8.2(@algolia/client-search@5.19.0)(search-insights@2.17.3) - '@iconify-json/simple-icons': 1.2.54 - '@shikijs/core': 2.5.0 - '@shikijs/transformers': 2.5.0 - '@shikijs/types': 2.5.0 - '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.2.1(vite@5.4.20(@types/node@18.19.70)(sass@1.93.2))(vue@3.5.13(typescript@5.2.2)) - '@vue/devtools-api': 7.7.0 - '@vue/shared': 3.5.13 - '@vueuse/core': 12.8.2(typescript@5.2.2) - '@vueuse/integrations': 12.8.2(async-validator@4.2.5)(axios@1.12.2)(focus-trap@7.6.5)(typescript@5.2.2) - focus-trap: 7.6.5 - mark.js: 8.11.1 - minisearch: 7.1.1 - shiki: 2.5.0 - vite: 5.4.20(@types/node@18.19.70)(sass@1.93.2) - vue: 3.5.13(typescript@5.2.2) - optionalDependencies: - markdown-it-mathjax3: 4.3.2 - postcss: 8.4.49 - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/node' - - '@types/react' - - async-validator - - axios - - change-case - - drauu - - fuse.js - - idb-keyval - - jwt-decode - - less - - lightningcss - - nprogress - - qrcode - - react - - react-dom - - sass - - sass-embedded - - search-insights - - sortablejs - - stylus - - sugarss - - terser - - typescript - - universal-cookie - - vitest@3.2.3(@types/node@18.19.70)(sass@1.93.2): - dependencies: - '@types/chai': 5.2.2 - '@vitest/expect': 3.2.3 - '@vitest/mocker': 3.2.3(vite@5.4.11(@types/node@18.19.70)(sass@1.93.2)) - '@vitest/pretty-format': 3.2.3 - '@vitest/runner': 3.2.3 - '@vitest/snapshot': 3.2.3 - '@vitest/spy': 3.2.3 - '@vitest/utils': 3.2.3 - chai: 5.2.0 - debug: 4.4.1 - expect-type: 1.2.1 - magic-string: 0.30.17 - pathe: 2.0.3 - picomatch: 4.0.2 - std-env: 3.9.0 - tinybench: 2.9.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.14 - tinypool: 1.1.0 - tinyrainbow: 2.0.0 - vite: 5.4.11(@types/node@18.19.70)(sass@1.93.2) - vite-node: 3.2.3(@types/node@18.19.70)(sass@1.93.2) - why-is-node-running: 2.3.0 - optionalDependencies: - '@types/node': 18.19.70 - transitivePeerDependencies: - - less - - lightningcss - - msw - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - vue-demi@0.14.10(vue@3.3.4): - dependencies: - vue: 3.3.4 + env-paths@3.0.0: {} - vue-dompurify-html@5.3.0(vue@3.3.4): - dependencies: - dompurify: 3.2.6 - vue: 3.3.4 + esprima@4.0.1: {} - vue-eslint-parser@9.4.3(eslint@9.29.0): - dependencies: - debug: 4.4.1 - eslint: 9.29.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.6.0 - lodash: 4.17.21 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - - vue-i18n@11.1.12(vue@3.3.4): - dependencies: - '@intlify/core-base': 11.1.12 - '@intlify/shared': 11.1.12 - '@vue/devtools-api': 6.6.4 - vue: 3.3.4 + fast-equals@5.2.2: {} - vue-template-compiler@2.7.16: - dependencies: - de-indent: 1.0.2 - he: 1.2.0 + gensequence@7.0.0: {} - vue-tsc@1.8.27(typescript@5.2.2): + global-directory@4.0.1: dependencies: - '@volar/typescript': 1.11.1 - '@vue/language-core': 1.8.27(typescript@5.2.2) - semver: 7.6.3 - typescript: 5.2.2 + ini: 4.1.1 - vue@3.3.4: - dependencies: - '@vue/compiler-dom': 3.3.4 - '@vue/compiler-sfc': 3.3.4 - '@vue/runtime-dom': 3.3.4 - '@vue/server-renderer': 3.3.4(vue@3.3.4) - '@vue/shared': 3.3.4 + has-own-prop@2.0.0: {} - vue@3.5.13(typescript@5.2.2): - dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-sfc': 3.5.13 - '@vue/runtime-dom': 3.5.13 - '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.2.2)) - '@vue/shared': 3.5.13 - optionalDependencies: - typescript: 5.2.2 - - web-resource-inliner@6.0.1: + import-fresh@3.3.1: dependencies: - ansi-colors: 4.1.3 - escape-goat: 3.0.0 - htmlparser2: 5.0.1 - mime: 2.6.0 - node-fetch: 2.7.0 - valid-data-url: 3.0.1 - transitivePeerDependencies: - - encoding - - web-vitals@4.2.4: {} - - webidl-conversions@3.0.1: {} + parent-module: 1.0.1 + resolve-from: 4.0.0 - webpack-virtual-modules@0.6.2: {} + import-meta-resolve@4.2.0: {} - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 + ini@4.1.1: {} - which@2.0.2: + parent-module@1.0.1: dependencies: - isexe: 2.0.0 + callsites: 3.1.0 - why-is-node-running@2.3.0: + parent-module@2.0.0: dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 + callsites: 3.1.0 - wicked-good-xpath@1.3.0: {} + picomatch@4.0.3: {} - word-wrap@1.2.5: {} + repeat-string@1.6.1: {} - wrap-ansi@6.2.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 + resolve-from@4.0.0: {} - xml-name-validator@4.0.0: {} + resolve-from@5.0.0: {} - xmldom-sre@0.1.31: {} + smol-toml@1.4.2: {} - yallist@3.1.1: {} + vscode-languageserver-textdocument@1.0.12: {} - yocto-queue@0.1.0: {} + vscode-uri@3.1.0: {} - yoctocolors-cjs@2.1.3: {} + xdg-basedir@5.1.0: {} - zwitch@2.0.4: {} + yaml@2.8.1: {} diff --git a/renameCheck.py b/renameCheck.py new file mode 100644 index 0000000000000000000000000000000000000000..6c8eaf057bed3353afc6124f00fc605b61731c8d --- /dev/null +++ b/renameCheck.py @@ -0,0 +1,146 @@ +import os +import subprocess +from typing import Dict, List, Optional + + +def check_redirects() -> bool: + """ + 检查所有变更的文档文件是否都在 _redirect.yaml 中有对应的重定向 + + Returns: + bool: 是否所有变更文件都有重定向映射 + """ + # 1. 获取变更的文档文件 + changed_docs = get_changed_docs() + if not changed_docs: + print("No document files changed.") + return True + + # 2. 查找并加载 _redirect.yaml 文件 + redirect_file = find_redirect_file() + if not redirect_file: + print("Error: _redirect.yaml not found in current directory or subdirectories.") + return False + + redirects = load_redirects(redirect_file) + if not redirects: + print(f"Error: {redirect_file} is empty or invalid.") + return False + + # 3. 检查每个变更文件是否有重定向 + all_valid = True + for doc in changed_docs: + if doc not in redirects: + print(f"Error: Changed document '{doc}' is not in {redirect_file}") + all_valid = False + else: + print(f"Valid: {doc} -> {redirects[doc]}") + + return all_valid + + +def find_redirect_file() -> Optional[str]: + """ + 在当前目录及其子目录中查找 _redirect.yaml 文件 + + Returns: + Optional[str]: 找到的文件路径,如果未找到则返回 None + """ + for root, _, files in os.walk('.'): + if '_redirect.yaml' in files: + return os.path.join(root, '_redirect.yaml') + return None + + +def load_redirects(redirect_file: str) -> Dict[str, str]: + """ + 加载 _redirect.yaml 文件并解析为字典 + + Args: + redirect_file: 重定向文件路径 + + Returns: + Dict[str, str]: 原路径到新路径的映射字典 + """ + with open(redirect_file, 'r') as f: + content = f.read() + + # 解析 YAML 内容 + redirects = {} + for line in content.split('\n'): + line = line.strip() + if not line or line.startswith('#'): + continue + + if ':' in line: + parts = line.split(':', 1) + old_path = parts[0].strip() + new_path = parts[1].strip().strip('"\'') + + # 处理可能的多行标记 '>-' + if new_path.startswith('>-'): + new_path = new_path[2:].strip() + + redirects[old_path] = new_path + + return redirects + + +def get_changed_docs() -> List[str]: + """获取变更的文档文件(仅限 docs/zh/ 和 docs/en/ 下的 .md 文件)""" + changed_files = get_all_changed_files() + return [ + file for file in changed_files + if (file.startswith('docs/zh/') or file.startswith('docs/en/')) + and file.endswith('.md') + ] + + +def get_all_changed_files() -> List[str]: + """ + 获取所有变更的文件(包括新增、修改、删除、重命名) + 结合 git diff 和 git show --numstat 确保不遗漏重命名文件 + + Returns: + List[str]: 变更的文件路径列表 + """ + changed_files = set() + + # 1. 使用 git diff 获取变更文件(包括暂存和未暂存的变更) + diff_cmd = "git diff --name-only HEAD" + try: + diff_output = subprocess.check_output(diff_cmd, shell=True, stderr=subprocess.PIPE).decode().strip() + for file in diff_output.split('\n'): + if file.strip(): + changed_files.add(file.strip()) + except subprocess.CalledProcessError as e: + print(f"Error executing git diff: {e.stderr.decode()}") + + # 2. 使用 git show --numstat 检测文件重命名/移动 + show_cmd = "git show --numstat --pretty=\"\" HEAD" + try: + show_output = subprocess.check_output(show_cmd, shell=True, stderr=subprocess.PIPE).decode().strip() + for line in show_output.split('\n'): + if not line.strip(): + continue + + parts = line.split('\t') + if len(parts) < 3: + continue + + path_part = parts[2].strip() + if '=>' in path_part: + # 处理重命名文件(如 "path/{old => new}/file.md") + new_path = path_part.split('{')[0] + path_part.split('=>')[1].replace('}', '').strip() + changed_files.add(new_path) + except subprocess.CalledProcessError as e: + print(f"Error executing git show: {e.stderr.decode()}") + + return sorted(changed_files) + +if __name__ == "__main__": + if not check_redirects(): + print("\nERROR: Some changed documents are not in _redirect.yaml") + exit(1) + else: + print("\nSUCCESS: All changed documents have redirects") diff --git a/repo_ci.json b/repo_ci.json new file mode 100644 index 0000000000000000000000000000000000000000..9a9d13ba48dff5bd0feab7e6aca71ad7c5e95ddb --- /dev/null +++ b/repo_ci.json @@ -0,0 +1,43 @@ +{ + "openEuler/docs": { + "branches": { + "master": [ + "markdownlint", + "link-validity-check", + "resource-existence-check", + "codespell-check", + "tag-closed-check", + "file-naming-consistency-check", + "toc-check" + ], + "stable-25.03": [ + "markdownlint", + "link-validity-check", + "resource-existence-check", + "codespell-check", + "tag-closed-check", + "toc-check" + ] + } + }, + "openeuler/docs-centralized": { + "global": [ + "markdownlint", + "link-validity-check", + "resource-existence-check" + ] + }, + "opengauss/docs": { + "global": [ + + ], + "branches": { + "refactor": [ + "link-validity-check", + "resource-existence-check", + "tag-closed-check", + "toc-check" + ] + } + } +} \ No newline at end of file diff --git a/repo_config.json b/repo_config.json new file mode 100644 index 0000000000000000000000000000000000000000..8b8f33b9896cb450fe91db08e886e25021c3b17f --- /dev/null +++ b/repo_config.json @@ -0,0 +1,190 @@ +{ + "openeuler/Virt-docs": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/openstack-docs": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/cloudnative-docs": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/A-Tune": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/oeAware-manager": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/secDetector": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/secGear": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/aops-zeus": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "src-openeuler/oeDevPlugin": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "src-openeuler/roo-code": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "src-openeuler/oeGitExt": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "src-openeuler/oeDeploy": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "src-openeuler/calamares": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/euler-copilot-framework": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/compiler-docs": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/syscare": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/cve-ease": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/jiuwen-agentcore": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/jiuwen-deepsearch": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/sysmaster": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/sysmonitor": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/dpu-utilities": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "src-openeuler/k3s": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/epkg": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/epkg-autopkg": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/patch-tracking": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/Storage-docs": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/Computing-docs": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/imageTailor": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/eulerlauncher": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/sysSentry": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "src-openeuler/gala-anteater": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "src-openeuler/kae_driver": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/Ha-docs": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/ros": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "src-openeuler/oemaker": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "src-openeuler/migration-tools": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/ukui": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/dde": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/kiran-desktop": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/Cpds": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/PilotGo": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "openeuler/gazelle": { + "enabled": true, + "docPaths": "doc/zh/user_manual,doc/en/user_manual" + }, + "openeuler/UniProton": { + "enabled": true, + "docPaths": "doc/zh,doc/en" + }, + "openeuler/CCA": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "src-openeuler/DevStore": { + "enabled": true, + "docPaths": "docs/zh,docs/en" + }, + "_default": { + "enabled": false, + "docPaths": "docs/zh,docs/en" + } +} \ No newline at end of file diff --git a/scripts/clone-docs.js b/scripts/clone-docs.js deleted file mode 100644 index b8a6558256a20580ea3b4fa00b473c398579c7e9..0000000000000000000000000000000000000000 --- a/scripts/clone-docs.js +++ /dev/null @@ -1,138 +0,0 @@ -/** - * 文档克隆脚本 - * ==================================================================================================== - * - * 功能概述: - * - 克隆指定分支的文档内容并复制到构建目录 - * - 扫描 _toc.yaml 中的 sig 仓,克隆 sig 文档并复制到构建目录 - * - 同步 DSL 相关文档内容 - * - * 使用方式: - * 在项目根目录下执行: - * node scripts/clone-docs.js [--branch=] [--build=] [--cache=] - * - * 参数说明: - * --branch= 指定要同步的分支名称,必需,多个分支用逗号分隔 - * --build= 指定构建目录路径,可省略,默认为当前工作目录 - * --cache= 指定缓存目录路径,可省略,默认为构建目录下的 .cache 文件夹 - * - * 示例: - * node scripts/clone-docs.js --branch=stable-common - * node scripts/clone-docs.js --branch=stable-common,stable-25.09 --build=./ - * node scripts/clone-docs.js --branch=stable-common,stable-25.09 --cache=.cache - * - * 工作流程: - * 1. 解析命令行参数 - * 2. 同步 stable-common 分支中的 dsl 内容到构建目录 - * 3. 针对每个指定分支: - * a. 同步该分支的中英文文档 - * b. 解析 _toc.yaml,将其中出现的远程 SIG 仓内容同步下来,并将用到的文档内容复制到构建目录中 - * - * 目录结构: - * 同步后的文档将按照以下结构存放: - * - 中文文档: app/zh/docs/[version]/ - * - 英文文档: app/en/docs/[version]/ - * - DSL文档: app/.vitepress/public/dsl/ - * ==================================================================================================== - */ - -import fs from 'fs'; -import path from 'path'; -import yaml from 'js-yaml'; - -import NEW_VERSONS from './config/new-version.js'; -import { parseNamedArgs } from './utils/common.js'; -import { getGitUrlInfo, gitCloneAndCheckout } from './utils/git.js'; -import { copyDirectorySync, removeSync } from './utils/file.js'; - -// ============================================ 脚本执行逻辑 ============================================ -const args = parseNamedArgs(); -const BUILD_DIR = args.build || path.resolve(); -const CACHE_DIR = args.cache || path.join(BUILD_DIR, '.cache'); -const BRANCH = args.branch || ''; - -const branches = BRANCH.split(','); -if (branches.length === 0) { - console.error('请提供分支名称'); - process.exit(1); -} - -syncDsl(); -for (const branch of branches) { - syncDocs(branch); - syncSigDocs(branch); -} - -// ============================================ 同步文档函数 ============================================ -/** - * 同步 dsl 内容 - */ -function syncDsl() { - const dslSourcePath = `${CACHE_DIR}/docs/dsl`; - const dslTargetPath = `${BUILD_DIR}/app/.vitepress/public/dsl/`; - - gitCloneAndCheckout('https://gitee.com/openeuler/docs.git', 'stable-common', CACHE_DIR); - removeSync(dslTargetPath); - copyDirectorySync(dslSourcePath, dslTargetPath); -} - -/** - * 同步文档内容到对应的目录 - * @param {string} branch 分支名 - */ -function syncDocs(branch) { - const branchName = NEW_VERSONS[branch]; - const zhSourcePath = `${CACHE_DIR}/docs/docs/zh`; - const zhTargetPath = `${BUILD_DIR}/app/zh/docs/${branchName}/`; - const enSourcePath = `${CACHE_DIR}/docs/docs/en`; - const enTargetPath = `${BUILD_DIR}/app/en/docs/${branchName}/`; - - gitCloneAndCheckout('https://gitee.com/openeuler/docs.git', branch, CACHE_DIR); - removeSync(zhTargetPath); - removeSync(enTargetPath); - copyDirectorySync(zhSourcePath, zhTargetPath); - copyDirectorySync(enSourcePath, enTargetPath); -} - -/** - * 同步 sig 文档内容到对应的目录 - * @param {string} branch 分支名 - */ -function syncSigDocs(branch) { - const scanYaml = (obj, currentDir) => { - if (typeof obj?.href?.upstream === 'string') { - const { url, repo, branch, locations } = getGitUrlInfo(obj.href.upstream); - console.log(`[syncSigDocs]: 检测到远程地址 - ${obj.href.upstream}`); - const sourcePath = path.join(CACHE_DIR, repo, ...locations.slice(0, -1)); - const destPath = typeof obj.href.path === 'string' ? path.join(currentDir, obj.href.path) : path.join(currentDir, repo, ...locations.slice(2, -1)); - gitCloneAndCheckout(url, branch, CACHE_DIR); - copyDirectorySync(sourcePath, destPath); - } - - if (Array.isArray(obj.sections)) { - obj.sections.forEach((item) => { - scanYaml(item, currentDir); - }); - } - } - - const scanDir = (targetPath) => { - if (!fs.existsSync(targetPath)) { - console.log(`${targetPath} 不存在`); - } - - for (const item of fs.readdirSync(targetPath)) { - const completePath = path.join(targetPath, item); - if (fs.statSync(completePath).isDirectory()) { - scanDir(completePath); - } else if (item.endsWith('.yaml')) { - const obj = yaml.load(fs.readFileSync(completePath, 'utf-8')); - scanYaml(obj, targetPath); - } - } - }; - - const branchName = NEW_VERSONS[branch]; - scanDir(`${BUILD_DIR}/app/zh/docs/${branchName}`); - scanDir(`${BUILD_DIR}/app/en/docs/${branchName}`); -} diff --git a/scripts/config/new-version.js b/scripts/config/new-version.js deleted file mode 100644 index e468c773ab71c6f1874b0d2f577099f6850b2b86..0000000000000000000000000000000000000000 --- a/scripts/config/new-version.js +++ /dev/null @@ -1,11 +0,0 @@ -// 第一个为 common 分支 -// 后续的按照文档显示版本的顺序 -// 后续添加请按规则添加 -export default { - 'stable-common': 'common', - 'stable-25.09': '25.09', - 'stable-24.03_LTS_SP2': '24.03_LTS_SP2', - 'stable-25.03': '25.03', - 'stable-24.03_LTS_SP1': '24.03_LTS_SP1', - 'stable-22.03_LTS_SP4': '22.03_LTS_SP4', -}; diff --git a/scripts/dev.js b/scripts/dev.js deleted file mode 100644 index 89b3fbdd9368cee494f060cc3661bec819fd2aa7..0000000000000000000000000000000000000000 --- a/scripts/dev.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * 文档开发环境启动脚本 - * ==================================================================================================== - * - * 功能概述: - * - 提供交互式界面选择要构建的文档版本 - * - 简化开发环境的搭建过程:自动执行文档克隆、目录生成和开发服务器启动流程 - * - * 使用方式: - * 在项目根目录下执行: - * pnpm dev 或 node scripts/dev.js - * - * 示例: - * pnpm dev - * node scripts/dev.js - * - * 工作流程: - * 1. 显示必需构建的文档版本(common分支和其他基础版本) - * 2. 提供交互式选择界面,让用户选择额外要构建的文档版本 - * 3. 根据用户选择执行以下操作: - * a. 克隆选定版本的文档内容 - * b. 生成文档目录结构 - * c. 启动本地开发服务器 - * - * 交互式选项说明: - * - 跳过: 仅构建必需的文档版本,不额外构建其他版本 - * - 所有版本: 构建所有可用的文档版本(谨慎选择,耗时较长) - * - 特定版本: 选择一个额外的文档版本进行构建 - * - * 注意事项: - * - 构建过程可能需要较长时间,取决于选择的版本数量 - * - 构建完成后会自动启动开发服务器 - * ==================================================================================================== - */ - -import { execSync } from 'child_process' -import { select } from '@inquirer/prompts'; - -import NEW_VERSONS from './config/new-version.js'; - -(async () => { - try { - const allBranches = Object.keys(NEW_VERSONS); - console.log(`构建必需的文档版本:`); - console.log(`- ${NEW_VERSONS[allBranches[0]]}`); // common分支 - console.log(`- ${NEW_VERSONS[allBranches[1]]}`); - console.log(``); - - const selectedBranches = await select({ - message: `请选择要额外构建的文档版本:`, - choices: [ - { name: '- 跳过', value: 'pass' }, - { name: '- 所有版本 (请谨慎选择)', value: 'all' }, - ...allBranches.slice(2).map((item) => ({ name: `- ${NEW_VERSONS[item]}`, value: item })), - ], - }); - - let branches; - if (selectedBranches === 'all') { - branches = allBranches; - } else if (selectedBranches === 'pass') { - branches = allBranches.slice(0, 2); - } else { - branches = [...allBranches.slice(0, 2), selectedBranches]; - } - - console.log(`即将拉取文档分支:${branches.join('、')}`); - execSync(`pnpm dev:clone --branch=${branches.join(',')}`, { stdio: 'inherit' }); - execSync(`pnpm dev:toc ${branches.join(' ')}`, { stdio: 'inherit' }); - execSync(`pnpm dev:app`, { stdio: 'inherit' }); - } catch { - // do nothingy - } -})(); diff --git a/scripts/gen-toc.js b/scripts/gen-toc.js deleted file mode 100644 index fbcb8c26b2d41bb6489f8b92aa1087424e76177f..0000000000000000000000000000000000000000 --- a/scripts/gen-toc.js +++ /dev/null @@ -1,453 +0,0 @@ -/** - * 文档目录结构生成脚本 - * ==================================================================================================== - * - * 功能概述: - * - 解析 _toc.yaml 生成文档站点的目录结构,并输出为 toc.json - * - 支持远程 SIG 文档中 _toc.yaml 的整合 - * - * 使用方式: - * 在项目根目录下执行: - * node scripts/gen-toc.js [branch2] [branch3]... - * - * 参数说明: - * branch - 文档版本分支名 - * - * 示例: - * node scripts/gen-toc.js stable-common - * node scripts/gen-toc.js stable-common stable-25.09 - * - * 输出文件: - * - app/.vitepress/public/toc/toc.json (中文) - * - app/.vitepress/public/toc/toc-en.json (英文) - * ==================================================================================================== - */ - -import fs from 'fs-extra'; -import path from 'path'; -import url from 'url'; -import matter from 'gray-matter'; -import markdownIt from 'markdown-it'; -import markdownItAnchor from 'markdown-it-anchor'; -import yaml from 'js-yaml'; - -import NEW_VERSONS from './config/new-version.js'; -import { getBranchName } from './utils/common.js'; -import { getGitUrlInfo } from './utils/git.js'; -import { getMdTitleId, getMdFilterContent } from './utils/markdown.js'; - -// ============================================ 脚本执行逻辑 ============================================ -const BUILD_PATH = path.resolve(); - -const globalErrors = []; -const globalIds = new Set(); -const globalHandledSceneMdPath = new Set(); -const globalHandledYaml = new Map(); - -(async () => { - const versions = process.argv.slice(2); - if (versions.length === 0) { - console.error('请提供分支名称'); - process.exit(1); - } - - const tocZh = []; - const tocEn = []; - const outputZhPath = path.join(BUILD_PATH, './app/.vitepress/public/toc/toc.json'); - const outputEnPath = path.join(BUILD_PATH, './app/.vitepress/public/toc/toc-en.json'); - - for (const item of versions) { - const version = NEW_VERSONS[item] || getBranchName(item); - console.log(`正在构建 ${version} toc 文件...`); - if (version === 'common') { - // common 分支处理 - const commonTocZh = createCommonToc('zh'); - tocZh.push(...commonTocZh); - const commonTocEn = createCommonToc('en'); - tocEn.push(...commonTocEn); - } else { - // 版本分支 - const versionTocZh = createVersionToc(version, 'zh'); - tocZh.push(...versionTocZh); - const versionTocEn = createVersionToc(version, 'en'); - tocEn.push(...versionTocEn); - } - } - - // 打印错误 - if (globalErrors.length > 0) { - console.log('[Exceptions - 异常]:'); - globalErrors.forEach((item) => { - console.log('-------------------------------------------------------'); - console.log(`[调用函数]:${item.functionName}`); - console.log(`[错误信息]:${item.message}`); - console.log(`[本地资源]:${item.filePath.replace(BUILD_PATH, '').replaceAll('\\', '/')}`); - if (item.upstream) { - console.log(`[远程地址]:${item.upstream}`); - } - - if (item.toc && (item.toc.label || item.toc.href)) { - console.log(`[toc]:${item.toc.label ? `label: ${item.toc.label}` : ''} ${item.toc.href ? `href: ${item.toc.href}` : ''}`); - } - }); - } - - fs.outputFileSync(outputZhPath, JSON.stringify(tocZh, null, 2)); - fs.outputFileSync(outputEnPath, JSON.stringify(tocEn, null, 2)); - console.log(`构建 toc 结束`); -})(); - -// ============================================ 处理版本 toc 相关函数 ============================================ -/** - * 创建文档场景页面的index.md - */ -function createSceneIndexMd(targetPath) { - const indexMdContent = `--- -title: '' -overview: true ----`; - - try { - fs.readdirSync(targetPath).forEach((item) => { - if (item !== 'tools' && fs.statSync(path.join(targetPath, item)).isDirectory() && fs.existsSync(path.join(targetPath, item, '_toc.yaml'))) { - const content = fs.readFileSync(path.join(targetPath, item, '_toc.yaml'), 'utf-8'); - const toc = yaml.load(content); - fs.outputFileSync(path.join(targetPath, item, 'index.md'), indexMdContent.replace(`title: ''`, `title: ${toc.label}`)); - } - }); - } catch (err) { - globalErrors.push(`构建异常:createSceneIndexMd(${targetPath.replace(BUILD_PATH, '.')}) - ${err.message.replace(BUILD_PATH, '.')}`); - } -} - -/** - * 创建版本分支的 toc - * @param {string} version 版本 - * @param {zh|en} lang 语言 - */ -function createVersionToc(version, lang = 'zh') { - try { - const tocFileZhPath = path.join(BUILD_PATH, `./app/${lang}/docs/${version}/_toc.yaml`); - createSceneIndexMd(path.join(BUILD_PATH, `./app/${lang}/docs/${version}`)); - createSceneIndexMd(path.join(BUILD_PATH, `./app/${lang}/docs/${version}/tools`)); - const toc = parseTocYaml(tocFileZhPath); - return toc?.sections || []; - } catch (err) { - globalErrors.push(`构建异常:createVersionToc(${version}, ${lang}) - ${err.message.replace(BUILD_PATH, '.')}`); - } - - return []; -} - -/** - * 创建 commom 分支的 toc - * @param {zh|en} lang 语言 - */ -function createCommonToc(lang = 'zh') { - try { - const result = []; - const commonPath = path.join(BUILD_PATH, `./app/${lang}/docs/common`); - for (const commonDirname of fs.readdirSync(commonPath)) { - const toc = parseTocYaml(path.join(commonPath, commonDirname, '_toc.yaml')); - result.push(toc); - } - - return result; - } catch (err) { - globalErrors.push(`构建异常:createCommonToc(${lang}) - ${err.message.replace(BUILD_PATH, '.')}`); - } - - return []; -} - -// ============================================ 合并 toc 相关函数 ============================================ -/** - * 获取文档链接 - * @param {string} href 链接 - * @param {string} label 名称 - */ -function getDocsUrl(href, label) { - const tempHref = href.replace(path.resolve(BUILD_PATH, 'app'), '').replace(/\\/g, '/').replace('.md', '.html'); - if (!globalIds.has(tempHref)) { - return tempHref; - } - - if (!globalIds.has(`${tempHref}?label=${label}`)) { - return `${tempHref}?label=${label}`; - } - - let i = 1; - while (globalIds.has(`${tempHref}?label=${label}-${i}`)) { - i++; - } - - return `${tempHref}?label=${label}-${i}`; -} - -/** - * 获取 id - * @param {object} toc toc 对象 - */ -function getId(toc) { - if (toc.href && !globalIds.has(toc.href)) { - globalIds.add(toc.href); - return toc.href; - } - - if (toc.path && !globalIds.has(toc.path)) { - globalIds.add(toc.path); - return toc.path; - } - - if (toc.label) { - if (!globalIds.has(toc.label)) { - globalIds.add(toc.label); - return toc.label; - } else { - let i = 1; - while (globalIds.has(`${toc.label}-${i}`)) { - i++; - } - return `${toc.label}-${i}`; - } - } - - return String(Math.random()); -} - -/** - * 通过 _toc.yaml 构建 toc - * @param {string} tocFilePath toc文件路径 - * @param {string} upstream 远程地址 - */ -function parseTocYaml(tocFilePath, upstream) { - // 已处理过直接返回 - if (globalHandledYaml.get(tocFilePath)) { - return globalHandledYaml.get(tocFilePath); - } - - try { - // 检查文件是否存在 - if (!fs.existsSync(tocFilePath)) { - throw new Error('文件不存在'); - } - - const toc = yaml.load(fs.readFileSync(tocFilePath, 'utf-8')); - globalHandledYaml.set(tocFilePath, toc); - return parseToc(toc, tocFilePath, upstream); - } catch (err) { - globalErrors.push({ - functionName: 'parseTocYaml', - message: err.message, - upstream, - filePath: tocFilePath, - }); - } - - return null; -} - -/** - * 获取转换过后的 toc - * @param {object} toc toc对象 - * @param {string} tocFilePath toc文件路径 - * @param {string} upstream 远程地址 - */ -function parseToc(toc, tocFilePath, upstream) { - if (toc.id) { - return toc; - } - - try { - toc = parseHref(toc, tocFilePath, upstream); - if (toc && !toc.id) { - toc = parseId(toc); - toc = parseLabel(toc, tocFilePath, upstream); - toc = parseSections(toc, tocFilePath, upstream); - } - - return toc; - } catch (err) { - globalErrors.push({ - functionName: 'parseToc', - message: err.message, - toc, - upstream, - filePath: tocFilePath, - }); - } - - return null; -} - -/** - * 处理 id - * @param {object} toc toc对象 - */ -function parseId(toc) { - if (!toc.id) { - toc.id = getId(toc); - } - - return toc; -} - -/** - * 处理 label - * @param {object} toc toc对象 - * @param {string} tocFilePath toc文件路径 - * @param {string} upstream 远程地址 - */ -function parseLabel(toc, tocFilePath, upstream) { - if (!toc.label) { - globalErrors.push({ - functionName: 'parseLabel', - message: 'label 字段为空', - toc, - upstream, - filePath: tocFilePath, - }); - } - - return toc; -} - -/** - * 处理 href - * @param {object} toc toc对象 - * @param {string} tocFilePath toc文件路径 - * @param {string} upstream 远程地址 - */ -function parseHref(toc, tocFilePath, upstream) { - const currentDir = path.dirname(tocFilePath); - - // 情况1:href 为字符串 - if (typeof toc.href === 'string') { - // _toc.yaml 继续转换 - if (toc.href.endsWith('_toc.yaml')) { - return parseTocYaml(path.join(currentDir, toc.href), upstream); - } - - // md 文件 - if (!toc.href.startsWith('http') && toc.href.endsWith('.md')) { - // 如果存在 upstream,代表该 toc 的祖/父节点是远程 toc 节点,需要还原出 git 地址 - if (upstream) { - toc.upstream = url.resolve(upstream, toc.href).replace(/\\/g, '/'); - } - - const mdPath = path.resolve(currentDir, toc.href); - toc.href = getDocsUrl(mdPath, toc.label || ''); - toc.type = 'page'; - if (!Array.isArray(toc.sections)) { - return parseAnchorSections(toc, mdPath, upstream); - } - } - - // toc 有 sections 或 href 可能为一个外链 - return toc; - } - - // 情况2:href 为 upstream 对象 - if (typeof toc.href === 'object' && typeof toc.href.upstream === 'string') { - const { repo, locations } = getGitUrlInfo(toc.href.upstream); - const yamlUpstream = toc.href.upstream.replace('_toc.yaml', ''); - const yamlPath = toc.href.path ? path.join(currentDir, toc.href.path, '_toc.yaml') : path.join(currentDir, repo, ...locations.slice(2)); - return parseTocYaml(yamlPath, yamlUpstream); - } - - // 情况3:场景节点 - const sceneMdPath = path.join(currentDir, 'index.md'); - if (!globalHandledSceneMdPath.has(sceneMdPath) && fs.existsSync(sceneMdPath)) { - const indexContent = fs.readFileSync(sceneMdPath, 'utf-8'); - const { data } = matter(indexContent); - if (data.overview) { - globalHandledSceneMdPath.add(sceneMdPath); - toc.href = getDocsUrl(sceneMdPath, toc.label || ''); - toc.type = 'page'; - return toc; - } - } - - // 情况4:没有 href - toc.href = getDocsUrl(currentDir, toc.label || ''); - toc.type = 'menu'; - return toc; -} - -/** - * 处理 sections - * @param {object} toc toc对象 - * @param {string} tocFilePath toc文件路径 - * @param {string} upstream 远程地址 - */ -function parseSections(toc, tocFilePath, upstream) { - if (Array.isArray(toc.sections)) { - const handledSections = []; - toc.sections.forEach((item) => { - let section = parseToc(item, tocFilePath, upstream); - if (section) { - handledSections.push(section); - } - }); - - toc.sections = handledSections; - } - - return toc; -} - -/** - * 处理添加 md 锚点 sections - * @param {object} toc toc对象 - * @param {string} mdPath md文件路径 - * @param {string} upstream 远程地址 - */ -function parseAnchorSections(toc, mdPath, upstream) { - if (!fs.existsSync(mdPath)) { - globalErrors.push({ - functionName: 'parseAnchorSections', - message: '文件不存在', - toc, - upstream, - filePath: mdPath, - }); - return toc; - } - - try { - const content = fs.readFileSync(mdPath, 'utf-8'); - - const sections = []; - const md = markdownIt().use(markdownItAnchor, { - permalink: false, - level: [2], - slugify: (str) => getMdTitleId(str), - callback: (_, info) => { - if (info && info.title && info.slug) { - const href = `${toc.href}#${info.slug}`; - sections.push({ - type: 'anchor', - label: getMdFilterContent(info.title), - id: href, - href, - }); - } - }, - }); - - md.parse(content, {}); - if (sections.length) { - toc.sections = sections; - } - } catch (err) { - globalErrors.push({ - functionName: 'parseAnchorSections', - message: err?.message, - toc, - upstream, - filePath: mdPath, - }); - } - - return toc; -} diff --git a/scripts/merge-redirect.js b/scripts/merge-redirect.js deleted file mode 100644 index 3647db6337383663deab1a04e4cb03adb5a5ca3b..0000000000000000000000000000000000000000 --- a/scripts/merge-redirect.js +++ /dev/null @@ -1,151 +0,0 @@ -import path from 'path'; -import fs from 'fs'; -import yaml from 'js-yaml'; - -import NEW_VERSONS from './config/new-version.js'; -import { getBranchName } from './utils/common.js'; -import { getGitUrlInfo } from './utils/git.js'; - -const __dirname = path.resolve(); -const tocZhPath = path.join(__dirname, './app/.vitepress/public/toc/toc.json'); -const tocEnPath = path.join(__dirname, './app/.vitepress/public/toc/toc-en.json'); -const cachePath = path.join(__dirname, '.cache'); -const nginxPath = path.join(__dirname, './deploy/nginx/nginx.conf'); - -const reversedRedirectMap = {}; -const outputRedirectMap = {}; - -function getRepoReversedRedirect(repoName) { - try { - if (reversedRedirectMap[repoName]) { - return reversedRedirectMap[repoName]; - } - - const yamlPath = path.join(cachePath, `_redirect-${repoName}.yaml`); - if (!fs.existsSync(yamlPath)) { - return; - } - - reversedRedirectMap[repoName] = {}; - const obj = yaml.load(fs.readFileSync(yamlPath, 'utf-8')); - Object.keys(obj).forEach((key) => { - reversedRedirectMap[repoName][obj[key]] = key; - }); - - return reversedRedirectMap[repoName]; - } catch (err) { - console.log(`getRepoReversedRedirect 异常: ${err?.message}`); - } -} - -function processSelfRedirect() { - const versions = process.argv.slice(2); - if (versions.length === 0) { - return; - } - - versions.forEach((version) => { - const branchName = NEW_VERSONS[version] || getBranchName(version); - const yamlPath = path.join(cachePath, `_redirect-${branchName}.yaml`); - if (!fs.existsSync(yamlPath)) { - return; - } - - try { - const obj = yaml.load(fs.readFileSync(yamlPath, 'utf-8')); - Object.keys(obj).forEach((key) => { - if (key.trim() === obj[key].trim()) { - return; - } - - const [_1, _2, oldLang, ...oldPath] = key.trim().split('/'); - const [_3, _4, newLang, ...newPath] = obj[key].trim().split('/'); - const oldHref = `/${oldLang}/docs/${branchName}/${oldPath.join('/')}`.replace('.md', '.html'); - const newHref = `/${newLang}/docs/${branchName}/${newPath.join('/')}`.replace('.md', '.html'); - outputRedirectMap[oldHref] = newHref; - }); - } catch (err) { - console.log(`processSelfRedirect 异常: ${err?.message}`); - } - }); -} - -function processToc(toc) { - if (Array.isArray(toc.sections)) { - toc.sections.forEach(processToc); - } - - if (toc.type !== 'page' || !toc.href || !toc.upstream) { - return; - } - - const { repo, locations } = getGitUrlInfo(toc.upstream); - - const repoRedirectMap = getRepoReversedRedirect(repo); - if (!repoRedirectMap) { - return; - } - - const localPath = `/${locations.join('/')}`; - if (!repoRedirectMap[localPath]) { - return; - } - - const hrefArr = toc.href.split('/'); - const newPathArr = [...locations]; - newPathArr[newPathArr.length - 1] = newPathArr[newPathArr.length - 1].replace('.md', '.html'); - while (hrefArr[hrefArr.length - 1] && newPathArr[newPathArr.length - 1] && hrefArr[hrefArr.length - 1] === newPathArr[newPathArr.length - 1]) { - hrefArr.pop(); - newPathArr.pop(); - } - - const newPathPrefix = `/${newPathArr.join('/')}`; - const oldHref = `${hrefArr.join('/')}${repoRedirectMap[localPath].replace(newPathPrefix, '')}`.replace('.md', '.html').trim(); - if (oldHref === toc.href.trim()) { - return; - } - - outputRedirectMap[oldHref] = toc.href.trim(); -} - -// 增加旧版本转发 -function replaceCommonNginxRedirect(obj) { - try { - const rewrites = []; - Object.keys(obj).forEach((key) => { - const oldUrl = key.replace(/([.*+?^${}()|[\]\\])/g, '\\$1').replace(/ /g, '\\s'); - rewrites.push(`rewrite ^${oldUrl}$ ${obj[key]} permanent;`); - }); - - const nginxContent = fs.readFileSync(nginxPath, 'utf8').replace('#[rewrite_template]', rewrites.join('\n ')); - fs.writeFileSync(nginxPath, nginxContent, 'utf8'); - console.log(nginxContent); - console.log(`替换nginx转发成功`); - } catch (err) { - console.log(`替换nginx转发内容失败,错误原因:${err?.message}`); - } -} - -function main() { - processSelfRedirect(); - - try { - const tocZh = JSON.parse(fs.readFileSync(tocZhPath, 'utf-8') || '[]'); - tocZh.forEach(processToc); - } catch (err) { - console.log(`转换redirect异常 - zh: ${err?.message}`); - } - - try { - const tocEn = JSON.parse(fs.readFileSync(tocEnPath, 'utf-8') || '[]'); - tocEn.forEach(processToc); - } catch (err) { - console.log(`转换redirect异常 - en: ${err?.message}`); - } - - console.log('_redirect.yaml 文件转换完成'); - console.log(JSON.stringify(outputRedirectMap, null, 2)); - replaceCommonNginxRedirect(outputRedirectMap); -} - -main(); diff --git a/scripts/merge-upstream.js b/scripts/merge-upstream.js deleted file mode 100644 index b460661053eb7273794fbf9e628f53ece7f1a007..0000000000000000000000000000000000000000 --- a/scripts/merge-upstream.js +++ /dev/null @@ -1,100 +0,0 @@ -import fs from 'fs'; -import path from 'path'; - -import NEW_VERSONS from './config/new-version.js'; -import { getGitUrlInfo, isGitRepo, checkoutBranch } from './utils/git.js'; -import { copyDirectorySync } from './utils/file.js'; - -const REPO_DIR = path.join(process.cwd(), '../../'); -const relativeRepo = new Set(); - -const copyRepoFromDiskCache = async (upstream, dir, storagePath) => { - try { - const { repo, branch, locations } = getGitUrlInfo(upstream); - const cachePath = path.join(REPO_DIR, repo); - if (!isGitRepo(cachePath)) { - console.log(`不存在 ${repo} 仓库缓存,跳过~`); - } - - relativeRepo.add(cachePath.replace(/\\/g, '/')); - await checkoutBranch(cachePath, branch); - const sourceDir = path.join(cachePath, ...locations.slice(0, -1)); - const destDir = storagePath ? path.join(dir, storagePath) : path.join(dir, repo, ...locations.slice(2, -1)); - copyDirectorySync(sourceDir, destDir); - console.log('复制完成'); - } catch (err) { - console.error(`copyRepoFromDiskCache error: ${err?.message}, upstream: ${upstream}`); - process.exit(1); - } -}; - -const scanYaml = async (yamlPath, dir) => { - const lines = fs.readFileSync(yamlPath, 'utf-8').split('\n'); - let i = 0; - while (i < lines.length) { - if (lines[i].includes('upstream:')) { - const upstream = lines[i].replace('upstream:', '').trim(); - let storagePath = ''; - - if (i + 1 < lines.length && lines[i + 1].includes('path:')) { - storagePath = lines[i + 1].replace('path:', '').trim(); - } - - await copyRepoFromDiskCache(upstream, dir, storagePath); - } - i++; - } -}; - -const mergeUpstream = async (targetPath) => { - if (fs.existsSync(targetPath)) { - for (const item of fs.readdirSync(targetPath)) { - const completePath = path.join(targetPath, item); - if (fs.statSync(completePath).isDirectory()) { - await mergeUpstream(completePath); - } else if (item.endsWith('.yaml')) { - await scanYaml(completePath, targetPath); - } - } - } -}; - -const copyRedirectYaml = async (buildPath) => { - for (const repoPath of relativeRepo) { - if (!fs.existsSync(`${repoPath}/docs/_redirect.yaml`) && !fs.existsSync(`${repoPath}/doc/_redirect.yaml`)) { - continue; - } - - if (!fs.existsSync(`${buildPath}/.cache/`)) { - fs.mkdirSync(`${buildPath}/.cache/`, { - recursive: true, - }); - } - - if (fs.existsSync(`${repoPath}/docs/_redirect.yaml`)) { - fs.copyFileSync(`${repoPath}/docs/_redirect.yaml`, `${buildPath}/.cache/_redirect-${repoPath.split('/').pop()}.yaml`); - } else { - fs.copyFileSync(`${repoPath}/doc/_redirect.yaml`, `${buildPath}/.cache/_redirect-${repoPath.split('/').pop()}.yaml`); - } - } -}; - -const merge = async (branch) => { - const buildPath = path.join(process.cwd(), `../../../build/${branch}`); - - await mergeUpstream(`${buildPath}/app/zh/`); - await mergeUpstream(`${buildPath}/app/en/`); - copyRedirectYaml(buildPath); -}; - -const args = process.argv.slice(2); -if (args.length === 0) { - console.error('请提供分支名称'); - process.exit(1); -} else { - if (Object.keys(NEW_VERSONS).includes(args[0])) { - merge(args[0]); - } else { - console.error('非新版本内容,跳过处理~'); - } -} diff --git a/scripts/merge.js b/scripts/merge.js deleted file mode 100644 index c128500260bf31bcebd52cd0817c22389377802d..0000000000000000000000000000000000000000 --- a/scripts/merge.js +++ /dev/null @@ -1,239 +0,0 @@ -/** - * 文档构建内容合并脚本 - * ==================================================================================================== - * - * 功能概述: - * - 根据传入分支,整合构建所需的 website 代码和文档内容到构建目录 - * - * 使用方式: - * 在项目根目录下执行: - * node scripts/merge.js [source] - * - * 参数说明: - * branch 指定要处理的分支名称,必需 - * source 指定构建来源,可选 - * - * 示例: - * node scripts/merge.js stable-common - * - * 工作流程: - * 1. 解析命令行参数 - * 2. 清理并重建目标构建目录 - * 3. 根据分支名判断使用哪种文档系统处理方式: - * a. 如果分支存在于 NEW_VERSIONS 配置中,使用 vitepress 文档处理方式 - * b. 否则使用 hugo 文档处理方式 - * - * 目录结构: - * 合并后的文档将按照以下结构存放: - * - Vitepress文档: - * - 中文文档: app/zh/docs/[version]/ - * - 英文文档: app/en/docs/[version]/ - * - DSL文档: app/.vitepress/public/dsl/ - * - Hugo文档: - * - 中文文档: content/zh/docs/[version]/ - * - 英文文档: content/en/docs/[version]/ - * ==================================================================================================== - */ - -import * as fs from 'fs'; -import * as path from 'path'; - -import NEW_VERSONS from './config/new-version.js'; -import { getBranchName } from './utils/common.js'; -import { checkoutBranch, isGitRepo, pullRemoteBranch } from './utils/git.js'; -import { copyDirectorySync, removeSync, renameSync, copyFileSync, ensureDirSync } from './utils/file.js'; - -// ============================================ 脚本执行逻辑 ============================================ -const REPO_PATH = path.join(process.cwd(), '../../'); // repo 路径 -const DOCS_PATH = path.join(REPO_PATH, 'docs'); // docs 仓库路径 (vitepress 构建所需) -const DOCS_CENTRALIZED_PATH = path.join(REPO_PATH, 'docs-centralized'); // docs-centralized 仓库路径 (hugo 构建所需) - -(async () => { - const [branch, source] = process.argv.slice(2); - if (!branch) { - console.error('请提供分支名称'); - process.exit(1); - } - - // 重新创建 build 目录 - const buildPath = path.join(process.cwd(), `../../../build/${branch}`); - removeSync(buildPath); - ensureDirSync(buildPath); - - // 处理文档内容 - if (Object.keys(NEW_VERSONS).includes(branch)) { - normalizeVitepressDocsContent(buildPath, branch, source); - } else { - normalizeHugoDocsContent(buildPath, branch, source); - } -})(); - -// ============================================ 文档内容处理函数 ============================================ -/** - * openatom 替换域名 - * @param {string} targetPath 开始扫描的目标路径 - */ -function replaceOrgDomain(targetPath) { - if (!fs.existsSync(targetPath)) { - console.log(`路径 ${targetPath} 不存在`); - return; - } - - fs.readdirSync(targetPath).forEach((name) => { - const completedPath = path.join(targetPath, name); - if (fs.statSync(completedPath).isDirectory()) { - replaceOrgDomain(completedPath); - return; - } - - if (!name.endsWith('js') && !name.endsWith('html') && !name.endsWith('toml') && !name.endsWith('md')) { - return; - } - - const content = fs.readFileSync(completedPath, 'utf8'); - const newContent = content.replace(/([a-zA-Z0-9\-]*)?\.openeuler\.org/g, (match, $1) => { - if ($1 === 'forum' || $1 === 'pkgmanage' || $1 === 'compliance') { - return match; - } - - console.log('替换内容:', completedPath, `${match} -> ${`${$1 || ''}.openeuler.openatom.cn`}`); - - return `${$1 || ''}.openeuler.openatom.cn`; - }); - - fs.writeFileSync(completedPath, newContent, 'utf8'); - }); -} - -/** - * 按 vitepress 文档方式处理 - * @param {string} buildPath build 目录 - * @param {string} branch 分支 - * @param {string} source 启动来源 - */ -function normalizeVitepressDocsContent(buildPath, branch, source) { - // 判断文档仓库是否存在 - if (!isGitRepo(DOCS_PATH)) { - throw new Error(`docs 文档仓库不存在: ${DOCS_PATH}`); - } - - const branchName = NEW_VERSONS[branch] || getBranchName(branch); - - // 复制website-vitepress内容到build目录 - copyDirectorySync(path.join(REPO_PATH, 'website-vitepress'), buildPath); - - const nginxPortalConfPath = path.join(buildPath, 'deploy/nginx/nginx.portal.conf'); - if (branchName == `common`) { - // 如果是公共分支,删掉nginx.conf并将nginx.portal.conf重命名为nginx.conf - const nginxConfPath = path.join(buildPath, 'deploy/nginx/nginx.conf'); - removeSync(nginxConfPath); - renameSync(nginxPortalConfPath, nginxConfPath); - } else { - // 如果是非公共分支,删除对应的nginx.portal.conf与中英文目录 - removeSync(nginxPortalConfPath); - removeSync(`${buildPath}/app/zh/`); - removeSync(`${buildPath}/app/en/`); - } - - // 替换 vitepress 配置中的资源路径前缀 - let vpConf = fs.readFileSync(`${buildPath}/app/.vitepress/config.ts`, 'utf8'); - if (vpConf) { - vpConf = vpConf.replace(/assetsDir:\s*'[^']*'/, `assetsDir: '/assets/${branchName}/'`); - fs.writeFileSync(`${buildPath}/app/.vitepress/config.ts`, vpConf, 'utf8'); - } - - // 替换 package.json 中的要构建的版本 - let packageJson = fs.readFileSync(`${buildPath}/package.json`, 'utf8'); - if (packageJson) { - packageJson = packageJson.replaceAll('$VERSION', branchName); - fs.writeFileSync(`${buildPath}/package.json`, packageJson, 'utf8'); - } - - // 检出文档内容分支 - checkoutBranch(DOCS_PATH, branch); - pullRemoteBranch(DOCS_PATH, branch); - - // 存在 zh 内容进行复制 - if (fs.existsSync(`${DOCS_PATH}/docs/zh/`) && (fs.existsSync(`${DOCS_PATH}/docs/zh/_toc.yaml`) || branchName === 'common')) { - copyDirectorySync(`${DOCS_PATH}/docs/zh/`, `${buildPath}/app/zh/docs/${branchName}/`); - } - - // 存在 en 内容进行复制 - if (fs.existsSync(`${DOCS_PATH}/docs/en/`) && (fs.existsSync(`${DOCS_PATH}/docs/en/_toc.yaml`) || branchName === 'common')) { - copyDirectorySync(`${DOCS_PATH}/docs/en/`, `${buildPath}/app/en/docs/${branchName}/`); - } - - // 复制 redirect.yaml - if (fs.existsSync(`${DOCS_PATH}/_redirect.yaml`)) { - copyFileSync(`${DOCS_PATH}/_redirect.yaml`, `${buildPath}/.cache/_redirect-${branchName}.yaml`); - } - - // 复制 stable-common 分支下的 dsl - if (branchName !== 'common') { - checkoutBranch(DOCS_PATH, 'stable-common'); - pullRemoteBranch(DOCS_PATH, 'stable-common'); - } - - if (fs.existsSync(`${DOCS_PATH}/dsl/`)) { - copyDirectorySync(`${DOCS_PATH}/dsl/`, `${buildPath}/app/.vitepress/public/dsl/`); - if ( - source === 'test' && - fs.existsSync(`${buildPath}/app/.vitepress/public/dsl/zh/home_test.json`) && - fs.existsSync(`${buildPath}/app/.vitepress/public/dsl/en/home_test.json`) - ) { - removeSync(`${buildPath}/app/.vitepress/public/dsl/zh/home.json`); - removeSync(`${buildPath}/app/.vitepress/public/dsl/en/home.json`); - renameSync(`${buildPath}/app/.vitepress/public/dsl/zh/home_test.json`, `${buildPath}/app/.vitepress/public/dsl/zh/home.json`); - renameSync(`${buildPath}/app/.vitepress/public/dsl/en/home_test.json`, `${buildPath}/app/.vitepress/public/dsl/en/home.json`); - } - - console.log(`已将 dsl 复制到 public 目录下`); - } -} - -/** - * 按 hugo 文档方式处理 - * @param {string} buildPath build 目录 - * @param {string} branch 分支 - * @param {string} source 启动来源 - */ -function normalizeHugoDocsContent(buildPath, branch, source) { - // 判断文档仓库是否存在 - if (!isGitRepo(DOCS_CENTRALIZED_PATH)) { - throw new Error(`docs-centralized 文档仓库不存在:${DOCS_CENTRALIZED_PATH}`); - } - - const branchName = getBranchName(branch); - - // 复制website-hugo内容到build目录 - copyDirectorySync(path.join(REPO_PATH, 'website-hugo'), buildPath); - - // 替换 config.toml 中的资源路径前缀 - let hugoConf = fs.readFileSync(`${buildPath}/config.toml`, 'utf8'); - if (hugoConf) { - hugoConf = hugoConf.replace(/resourceURL\s*=\s*(["'])(.*?)\1/, `resourceURL = "/docs/${branchName}/"`); - fs.writeFileSync(`${buildPath}/config.toml`, hugoConf, 'utf8'); - } - - // 检出文档内容分支 - checkoutBranch(DOCS_CENTRALIZED_PATH, branch); - pullRemoteBranch(DOCS_CENTRALIZED_PATH, branch); - - // 存在 zh 内容进行复制 - if (fs.existsSync(`${DOCS_CENTRALIZED_PATH}/docs/zh/`)) { - copyDirectorySync(`${DOCS_CENTRALIZED_PATH}/docs/zh/`, `${buildPath}/content/zh/docs/${branchName}/`); - } - - // 存在 en 内容进行复制 - if (fs.existsSync(`${DOCS_CENTRALIZED_PATH}/docs/en/`)) { - copyDirectorySync(`${DOCS_CENTRALIZED_PATH}/docs/en/`, `${buildPath}/content/en/docs/${branchName}/`); - } - - // 构建来源是 openatom 进行域名替换 - if (source === 'openatom') { - replaceOrgDomain(path.join(buildPath, 'i18n')); - replaceOrgDomain(path.join(buildPath, 'layouts')); - replaceOrgDomain(path.join(buildPath, 'static')); - replaceOrgDomain(path.join(buildPath, 'content')); - } -} diff --git a/scripts/utils/common.js b/scripts/utils/common.js deleted file mode 100644 index 357e4712a1e7b4d1c134a2b34bd40ce52ef681ac..0000000000000000000000000000000000000000 --- a/scripts/utils/common.js +++ /dev/null @@ -1,38 +0,0 @@ -/** - * 获取去除前缀的版本分支名 - * @param {string} branch - 原始分支名,可能包含前缀 - * @returns {string} 清理后的分支名,不包含指定前缀 - */ -export function getBranchName(branch) { - return branch.replace(/^stable2-|stable-|^test-/, ''); -} - -/** - * 解析命令行具名参数 - * @returns {object} 解析后的参数对象,键为参数名,值为参数值 - */ -export function parseNamedArgs() { - const args = process.argv.slice(2); - const namedArgs = {}; - - for (let i = 0; i < args.length; i++) { - const arg = args[i]; - - if (arg.startsWith('--')) { - const [key, value] = arg.slice(2).split('='); - if (value !== undefined) { - // 等号后面作为值:--key=val - namedArgs[key] = value; - } else if (i + 1 < args.length && !args[i + 1].startsWith('--')) { - // 下一个参数作为值:--key val - namedArgs[key] = args[i + 1]; - i++; // 跳过下一个参数 - } else { - // 后面没有值作为布尔类型,值为 true - namedArgs[key] = true; - } - } - } - - return namedArgs; -} \ No newline at end of file diff --git a/scripts/utils/file.js b/scripts/utils/file.js deleted file mode 100644 index 501e08216dc5e34a5a532442cc00e08001f1d4e2..0000000000000000000000000000000000000000 --- a/scripts/utils/file.js +++ /dev/null @@ -1,114 +0,0 @@ -import path from 'path'; -import fs from 'fs'; - -/** - * 复制目录 - * @param {string} sourceDir 源目录 - * @param {string} destDir 目标目录 - * @param {boolean} slient 是否禁止提示输出,默认输出 - */ -export function copyDirectorySync(sourceDir, destDir, slient) { - if (!fs.existsSync(sourceDir)) { - console.log(`[copyDirectorySync]:源路径 ${sourceDir} 不存在,跳过复制`); - return; - } - - if (!fs.existsSync(destDir)) { - fs.mkdirSync(destDir, { - recursive: true, - }); - } - - fs.readdirSync(sourceDir, { withFileTypes: true }).forEach((item) => { - const sourcePath = path.join(sourceDir, item.name); - const targetPath = path.join(destDir, item.name); - - if (item.isDirectory()) { - copyDirectorySync(sourcePath, targetPath, true); - } else { - fs.copyFileSync(sourcePath, targetPath); - } - }); - - if (!slient) { - console.log(`[copyDirectorySync]:成功复制 ${sourceDir} 到 ${destDir}`); - } -} - -/** - * 复制文件 - * @param {string} sourcePath 源文件 - * @param {string} destPath 目标路径 - * @param {boolean} slient 是否禁止提示输出,默认输出 - */ -export function copyFileSync(sourcePath, destPath, slient) { - if (!fs.existsSync(sourcePath)) { - console.log(`[copyFileSync]:源文件 ${sourcePath} 不存在,跳过复制`); - return; - } - - const destDir = path.dirname(destPath); - if (!fs.existsSync(destDir)) { - fs.mkdirSync(destDir, { - recursive: true, - }); - } - - fs.copyFileSync(sourcePath, destPath); - - if (!slient) { - console.log(`[copyFileSync]:成功复制 ${sourcePath} 到 ${destPath}`); - } -} - -/** - * 删除文件或目录 - * @param {string} targetPath 目标路径 - * @param {boolean} slient 是否禁止提示输出,默认输出 - */ -export function removeSync(targetPath, slient) { - if (fs.existsSync(targetPath)) { - fs.rmSync(targetPath, { - recursive: true, - force: true, - maxRetries: 10, - retryDelay: 100, - }); - - if (!slient) { - console.log(`[removeSync]:成功删除 ${targetPath}`); - } - } -} - -/** - * 确保目录存在 - * @param {string} dir - 目录路径 - */ -export function ensureDirSync(dir) { - const normalizedPath = path.resolve(dir); - if (fs.existsSync(normalizedPath) && !fs.statSync(normalizedPath).isDirectory()) { - throw new Error(`[ensureDirSync]:${normalizedPath} 已存在但非目录`); - } - - fs.mkdirSync(normalizedPath, { - recursive: true, - }); -} - - -/** - * 重命名文件或目录 - * @param {string} oldPath 原始路径 - * @param {string} newPath 新路径 - * @param {boolean} slient 是否禁止提示输出,默认输出 - */ -export function renameSync(oldPath, newPath, slient) { - if (fs.existsSync(oldPath)) { - fs.renameSync(oldPath, newPath); - - if (!slient) { - console.log(`[renameSync]:已将 ${oldPath} 重命名为 ${newPath}`); - } - } -} diff --git a/scripts/utils/git.js b/scripts/utils/git.js deleted file mode 100644 index 695a3b956e66d9d39084aa71cd91061dedcdf8a7..0000000000000000000000000000000000000000 --- a/scripts/utils/git.js +++ /dev/null @@ -1,103 +0,0 @@ -import fs from 'fs'; -import path from 'path'; -import { execSync } from 'child_process'; - -import { ensureDirSync, removeSync } from './file.js'; - -/** - * 解析 Git 仓库 URL,提取仓库信息 - * @param {string} gitUrl - 完整的 Git 仓库 URL 地址 - * @returns {object} 包含URL解析信息的对象 - */ -export function getGitUrlInfo(gitUrl) { - const url = new URL(gitUrl); - const [owner, repo, __, branch, ...locations] = url.pathname.replace('/', '').split('/'); - - return { - url: `${url.origin}/${owner}/${repo}`, - owner, - repo, - branch, - locations, - } -} - -/** - * 检查指定路径是否为 Git 仓库 - * @param {string} targetPath - 要检查的目标路径 - * @returns {boolean} 如果目标路径是 Git 仓库则返回 true,否则返回 false - */ -export function isGitRepo(targetPath) { - return fs.existsSync(path.join(targetPath, '.git/config')); -} - -/** - * 拉取并切换分支 - * @param {string} url 远程仓库地址 - * @param {string} branch 分支名 - * @param {string} storagePath 存放目录 - */ -export function gitCloneAndCheckout(url, branch, storagePath) { - ensureDirSync(storagePath); - const repo = url.split('/').slice().pop().replace('.git', ''); - const repoDir = path.join(storagePath, repo); - - // 拉取远程仓库 - if (!fs.existsSync(repoDir) || (fs.existsSync(repoDir) && !isGitRepo(repoDir))) { - removeSync(repoDir); - execSync(`git clone ${url} ${repoDir}`, { stdio: 'inherit' }); - console.log(`[gitCloneAndCheckout]:克隆 ${repo} 仓库成功! `); - } - - // 切换目标分支 - const branchList = execSync(`git branch --list ${branch}`, { cwd: repoDir }).toString().trim(); - if (!branchList) { - console.log(`[gitCloneAndCheckout]:本地不存在分支 ${branch},开始尝试拉取并切换远程分支`); - execSync(`git checkout -b ${branch} --track origin/${branch}`, { stdio: 'inherit', cwd: repoDir }); - console.log(`[gitCloneAndCheckout]:拉取并切换远程分支 ${branch} 成功`); - return; - } - - console.log(`[gitCloneAndCheckout]:本地存在分支 ${branch},开始切换分支`); - try { - execSync(`git checkout HEAD -- . && git clean -fd`, { stdio: 'inherit', cwd: repoDir }); - execSync(`git checkout ${branch}`, { stdio: 'inherit', cwd: repoDir }); - console.log(`[gitCloneAndCheckout]:切换分支成功,开始拉取远程更新内容`); - execSync(`git pull origin ${branch}`, { stdio: 'inherit', cwd: repoDir }); - console.log(`[gitCloneAndCheckout]:拉取远程内容成功`); - } catch { - console.log(`[gitCloneAndCheckout]:拉取远程内容成功,尝试强制拉取`); - execSync(`git reset --hard origin/${branch}`, { stdio: 'inherit', cwd: repoDir }); - console.log(`[gitCloneAndCheckout]:拉取远程分支 ${branch} 内容成功`); - } -} - -/** - * 切换到指定的 Git 分支 - * @param {string} repoPath - Git 仓库的本地路径 - * @param {string} branch - 要切换到的分支名称 - */ -export function checkoutBranch(repoPath, branch) { - console.log(`[checkoutBranch]:开始检出 ${branch} 分支`); - execSync(`git checkout ${branch}`, { - stdio: 'inherit', - cwd: repoPath, - }); - - console.log(`[checkoutBranch]:成功在 ${repoPath} 检出 ${branch} 分支`); -}; - -/** - * 拉取远程分支的内容 - * @param {string} repoPath - Git 仓库的本地路径 - * @param {string} branch - 要拉取的远程分支名称 - */ -export function pullRemoteBranch(repoPath, branch) { - console.log(`[pullRemoteBranch]:开始拉取 ${branch} 分支`); - execSync(`git pull origin ${branch}`, { - stdio: 'inherit', - cwd: repoPath, - }); - - console.log(`[pullRemoteBranch]:成功拉取远程 ${branch} 分支`); -}; \ No newline at end of file diff --git a/scripts/utils/markdown.js b/scripts/utils/markdown.js deleted file mode 100644 index 2c5e2e469c0831cb05c347ef6387104b3415d77f..0000000000000000000000000000000000000000 --- a/scripts/utils/markdown.js +++ /dev/null @@ -1,22 +0,0 @@ -const REGEX_TITLE_FILTER_ID = - /[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g; - -/** - * 获取标签 id - * @param {string} title 标题 - * @returns {string} 返回标题 id - */ -export function getMdTitleId(title) { - return getMdFilterContent(title).toLowerCase().replace(REGEX_TITLE_FILTER_ID, '').replace(/ /g, '-'); -} - -/** - * 去除一些 md 符号,只保留文本 - * @param {string} content 内容 - * @returns {string} 返回过滤后的内容 - */ -export function getMdFilterContent(content) { - return content - .replace(/<[^>]+>/g, '') // 去除 HTML 标签 - .replace(/`/g, ''); // 去除反引号 -} diff --git a/tests/common.test.ts b/tests/common.test.ts deleted file mode 100644 index 65cda6d4a73b978f3526540cfc6af29d921c09fb..0000000000000000000000000000000000000000 --- a/tests/common.test.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { - changeTimeStamp, - getDomId, - getSearchUrlParams, - getUrlParams, - getVersionFromUrl, - getYearByOffset, - isValidKey, -} from '../app/.vitepress/src/utils/common'; - -describe('changeTimeStamp', () => { - it('获取格式化时间', () => { - const date = new Date(); - const result = changeTimeStamp(date.getTime() / 1000); - const month = ('0' + (date.getMonth() + 1)).slice(-2); - const day = ('0' + date.getDate()).slice(-2); - const format = `${date.getFullYear()}/${month}/${day}`; - expect(result).toBe(format); - }); -}); - -describe('getUrlParams', () => { - it('存在 url 参数', () => { - expect(getUrlParams('http://example.com?a=1')).toHaveProperty('a'); - expect(getUrlParams('http://example.com?a=1&b=2')).toHaveProperty('b'); - }); - - it('不存在 url 参数', () => { - expect(getUrlParams('http://example.com?a=1')).not.toHaveProperty('c'); - expect(getUrlParams('http://example.com?a=1&b=2')).not.toHaveProperty('c'); - }); - - it('非法 url 地址', () => { - expect(getUrlParams('sdfgdfsgasDKJBFSJKFB')).toBe(undefined); - }); -}); - -describe('getSearchUrlParams', () => { - it('getSearchUrlParams', () => { - const result = getSearchUrlParams('http://example.com?a=1&b=2'); - expect(result.get('a')).toBe('1'); - }); -}); - -describe('isValidKey', () => { - it('key 为 string', () => { - const obj1 = { key: 1 }; - expect(isValidKey('key', obj1)).toBe(true); - expect(isValidKey('b', obj1)).toBe(false); - }); - - it('key 为 number', () => { - const obj1 = { 1: 1 }; - expect(isValidKey(1, obj1)).toBe(true); - expect(isValidKey(2, obj1)).toBe(false); - }); - - it('key 为 symbol', () => { - const symbol1 = Symbol('key1'); - const symbol2 = Symbol('key2'); - const obj1 = { [symbol1]: 1 }; - expect(isValidKey(symbol1, obj1)).toBe(true); - expect(isValidKey(symbol2, obj1)).toBe(false); - }); -}); - -describe('getYearByOffset', () => { - it('getYearByOffset', () => { - const date = new Date(); - expect(getYearByOffset()).toBe(date.getFullYear()); - }); -}); - -describe('getVersionFromUrl', () => { - it('getVersionFromUrl', () => { - expect(getVersionFromUrl('/zh/docs/25.03/server/index.html')).toBe('25.03'); - expect(getVersionFromUrl('/zh/docs/common/contribute/directory_structure_introductory.html')).toBe('common'); - }); -}); - -describe('getDomId', () => { - it('getDomId', () => { - expect(getDomId('aa bb cc')).toBe('aa-bb-cc'); - expect(getDomId('a&b')).toBe('ab'); - expect(getDomId('a-c')).toBe('a-c'); - }); -}); diff --git a/tests/tree.test.ts b/tests/tree.test.ts deleted file mode 100644 index 54b8b1140afa66ef47e2ec27060bf7a0a7c90ca3..0000000000000000000000000000000000000000 --- a/tests/tree.test.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { DocMenuTree, getNodeHrefSafely } from '../app/.vitepress/src/utils/tree'; - -const data = [{ - id: '1', - label: '1', - type: 'menu', - sections: [ - { - id: '1-1', - label: '1-1', - type: 'menu', - sections: [ - { - id: '1-1-1', - label: '1-1-1', - type: 'page', - href: '1-1-1', - }, - { - id: '1-1-2', - label: '1-1-2', - type: 'page', - href: '1-1-2.html', - }, - ], - }, - { - id: '1-2', - label: '1-2', - type: 'page', - href: '1-2', - }, - ], -}]; - - -describe('DocMenuTree', () => { - const tree = new DocMenuTree(data); - - it('getNode', () => { - expect(tree.getNode(tree.root, 'id', '1-1')?.id).toBe('1-1'); - expect(tree.getNode(tree.root, 'label', '1-1-1')?.label).toBe('1-1-1'); - expect(tree.getNode(tree.root, 'href', '1-1-2.html')?.href).toBe('1-1-2.html'); - }); - - it('getPrevNodes', () => { - expect(tree.getPrevNodes(tree.root).length).toBe(0); - expect(tree.getPrevNodes(tree.getNode(tree.root, 'id', '1')!!).length).toBe(1); - expect(tree.getPrevNodes(tree.getNode(tree.root, 'id', '1-1')!!).length).toBe(2); - expect(tree.getPrevNodes(tree.getNode(tree.root, 'id', '1-1-1')!!).length).toBe(3); - }); - - it('getNodeHrefSafely', () => { - expect(getNodeHrefSafely(tree.getNode(tree.root, 'id', '1-1')!!)).toBe('1-1-2.html'); - }); -}); \ No newline at end of file diff --git a/tocFileCheck.py b/tocFileCheck.py new file mode 100644 index 0000000000000000000000000000000000000000..60e86611139dc3841b1325fd24d106a9bf04b482 --- /dev/null +++ b/tocFileCheck.py @@ -0,0 +1,91 @@ +import os +from typing import List, Dict +from colorama import Fore, init +import yaml + +# 新增:定义项目根目录(假设脚本从项目根目录运行) +PROJECT_ROOT = os.getcwd() +init(autoreset=True) + + +def check_all_toc_files() -> Dict[str, List[str]]: + """ + 检查项目下所有_toc.yaml文件中的引用 + 返回包含所有错误信息的字典 + """ + result = {'toc_missing_files': [], 'toc_parse_errors': []} + + # 遍历整个项目目录 + for root, _, files in os.walk(PROJECT_ROOT): + if '_toc.yaml' in files: + toc_file = os.path.join(root, '_toc.yaml') + try: + with open(toc_file, 'r', encoding='utf-8') as f: + toc_content = yaml.safe_load(f) + + def check_sections(sections, toc_dir): + for section in sections: + if 'href' in section: + href_path = section['href'] + # 处理相对路径 + abs_href_path = os.path.normpath(os.path.join(toc_dir, href_path)) + if not os.path.exists(abs_href_path): + rel_path = os.path.relpath(abs_href_path, PROJECT_ROOT) + result['toc_missing_files'].append( + f"Missing file: {rel_path} (referenced in {os.path.relpath(toc_file, PROJECT_ROOT)})" + ) + if 'sections' in section: + check_sections(section['sections'], toc_dir) + + if toc_content and 'sections' in toc_content: + check_sections(toc_content['sections'], root) + except Exception as e: + result['toc_parse_errors'].append( + f"Failed to parse {os.path.relpath(toc_file, PROJECT_ROOT)}: {str(e)}" + ) + + return result + + +def format_error_report(errors: Dict[str, List[str]]) -> str: + """格式化错误报告""" + report = [] + if errors['menu_missing_refs']: + report.append("\nMenu引用缺失错误:") + report.extend([f" - {msg}" for msg in errors['_toc.yaml_missing_refs']]) + if errors['menu_parse_errors']: + report.append("\nMenu文件解析错误:") + report.extend([f" - {msg}" for msg in errors['_toc.yaml_parse_errors']]) + if errors['toc_missing_files']: + report.append("\nTOC文件引用缺失:") + report.extend([f" - {msg}" for msg in errors['toc_missing_files']]) + if errors['toc_parse_errors']: + report.append("\nTOC文件解析错误:") + report.extend([f" - {msg}" for msg in errors['toc_parse_errors']]) + + return "\n".join(report) if report else "" + + +try: + all_errors = { + 'menu_missing_refs': [], + 'menu_parse_errors': [], + 'toc_missing_files': [], + 'toc_parse_errors': [] + } + + # 新增:检查项目中所有_toc.yaml文件 + toc_errors = check_all_toc_files() + all_errors['toc_missing_files'].extend(toc_errors['toc_missing_files']) + all_errors['toc_parse_errors'].extend(toc_errors['toc_parse_errors']) + # 统一输出所有错误 + if any(all_errors.values()): + print(Fore.RED + "×××××××××××") + error_report = format_error_report(all_errors) + print(f"{error_report}") + exit(1) + print("All checks passed!") + +except Exception as e: + print(f"Unexpected error: {str(e)}") + exit(1) diff --git a/tsconfig.app.json b/tsconfig.app.json deleted file mode 100644 index 947ac49332422b94aa5a6b7a78368570e432bca8..0000000000000000000000000000000000000000 --- a/tsconfig.app.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": [ - "./env.d.ts", - "app/.vitepress/src/**/*", - "app/.vitepress/src/**/*.vue", - "app/.vitepress/config.ts", - "app/.vitepress/theme/index.ts" - ], - "exclude": ["app/.vitepress/src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["app/.vitepress/src/*"] - } - } -} diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 8f5fb569f6e2133494588f56b9c714486f7de0c9..0000000000000000000000000000000000000000 --- a/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - } - ] -} \ No newline at end of file diff --git a/tsconfig.node.json b/tsconfig.node.json deleted file mode 100644 index 3fa78be22876337688f7c0e1bb55f9c4778b1a33..0000000000000000000000000000000000000000 --- a/tsconfig.node.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "app/vite.config.*", - "app/.vitepress/plugins/*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "noEmit": true, - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", - "module": "ESNext", - "moduleResolution": "Bundler", - "types": [ - "node" - ] - } -} \ No newline at end of file diff --git a/whitelist_urls.txt b/whitelist_urls.txt new file mode 100644 index 0000000000000000000000000000000000000000..5eef44ee214d825f9e372f1c8d28636d523f5ec1 --- /dev/null +++ b/whitelist_urls.txt @@ -0,0 +1,17 @@ +^(mailto:|file://|ftp://).* +^(https?://)?localhost.* +^(https?://)?192\.168\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).* +^(https?://)?172\.(1[6-9]|2[0-9]|3[0-1])\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).* +^(https?://)?10\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).* +https://$(host_ip):8080 +https://域名 +http://ip:8888 +http://shim/metrics":dial +http://path/to/repo +https://libvirt.org/sources/libvirt-x.x.x.tar.xz +https://dl-cdn.openeuler.openatom.cn/openEuler-{version}/OS/aarch64 +https://repo.openeuler.org/openEuler-{version}/OS/x86_64/ +http://server +http://[gala-gopher所在节点ip]:[端口号]/[function(采集特性)] +https://example.com/* +https://repo.openeuler.org/openEuler-{version}/ISO/aarch64/openEuler-{version}-everything-aarch64-dvd.iso \ No newline at end of file diff --git a/whitelist_words.txt b/whitelist_words.txt new file mode 100644 index 0000000000000000000000000000000000000000..29eec71a95dba4ac4bf149e82b365b5a13b27373 --- /dev/null +++ b/whitelist_words.txt @@ -0,0 +1,3851 @@ +Kimi +iftop +nload +Nload +tshark +anlyze +kbcommit +iftop +DNAT +pwrapis +pwrserver +ondemand +schedutil +libpwrapi +pwrclient +Idele +ehash +lport +rlimit +Pluginss +heolleo +ECCP +vcca +Udate +ldiskfs +DAYU +ohos +Luste +lnet +xlog +mpctool +execve +Koji +lstask +acosf +acosl +acosh +acoshf +acoshl +asinf +asinl +asinh +asinhf +asinhl +atanf +atanl +atanh +atanhf +atanhl +cbrt +cbrtf +cbrtl +ceilf +ceill +copysignf +copysignl +cosf +cosl +coshf +coshl +erff +erfl +erfc +erfcf +erfcl +expf +expl +fabs +fabsf +fabsl +fdim +fdimf +fdiml +finitef +floorf +floorl +fmaf +fmal +fmaxf +fmaxl +fminf +fminl +fmod +fmodf +fmodl +frexp +frexpf +frexpl +hypot +hypotf +hypotl +ilogb +ilogbf +ilogbl +ldexp +ldexpf +ldexpl +lgammaf +lgammal +llrint +llrintf +llrintl +llround +llroundf +llroundl +logf +logl +logb +logbf +logbl +lrint +lrintf +lrintl +lround +lroundf +lroundl +modf +modff +modfl +nanf +nanl +nearbyintf +nextafterf +nextafterl +nexttowardf +nexttowardl +powf +powl +remainderf +remainderl +remquof +remquol +rint +rintf +rintl +roundf +roundl +scalb +scalbf +scalbln +scalblnf +scalblnl +scalbn +scalbnf +scalbnl +significand +significandf +sinf +sinl +sincosf +sincosl +sinhf +sinhl +sqrtf +sqrtl +tanf +tanl +tanhf +tanhl +tgamma +tgammaf +tgammal +truncf +truncl +vdev +lstask +isolcpus +nohz +nocbs +irqaffinity +GEMV +elasitcsearch +postgresql +isula +Sulad +kubernetes +kubeadm +kubelet +kube +isulad +crictl +smaster +snode +kubeconfig +Kubelet +urandom +etcds +dnsaddr +podcidr +dstpath +srcpath +eggo +EPOL +Kubeadm +CFSSL +virt +libvirtd +nvram +NVRAM +socketfd +masq +tlscacert +tlscert +userns +inodes +nocopy +blkio +syscall +SCMP +ERRNO +nsproxy +quotactl +setns +pciconfig +iobase +RAWIO +nsenter +epoll +mlock +kaslr +SETUID +FSETID +rootfs +nohup +aeskey +SIGCHLD +blockio +Blockio +cidfile +cpus +cpuset +NUMA +xvdc +resolv +MODULERS +tmpfs +trunc +holdon +ONBUILD +Firewalld +firewalld +auditd +sendto +tracesys +EXDEV +xattr +NSUID +dmsetup +veths +Sula +ipvlan +dpdk +ipmasp +vlan +vxlan +ican +DPDK +phynet +inited +hugetlb +lablel +pids +procs +squashfs +ptmx +Mbit +Rootfs +QUOTACTL +fsprogs +overlayfs +prjquota +huawei +ulimits +fsize +msgqueue +rtprio +rttime +nofile +rprivate +rslave +rshared +cgroupfs +sysctls +linux +privs +kata +pproxyisulad +kublet +CGROUPFS +YAJL +mycgroup +sysmonitor +imjournal +Suald +Sula's +xvdf +nodiscard +thinpooldev +Strato +Virt +stratovirt +vsock +kmem +Secomp +SETPCAP +MKNOD +mknod +FOWNER +setuid +SETFCAP +PACCT +fchmod +fchmodat +syscalls +chcon +execv +iface +openvswitch +Kata +ifaces +ipvs +ipvsadm +lblc +lblcr +tcpfin +protonum +vcpus +maxvcpus +ACPI +UEFI +Arges +msgmax +msgmnb +msgmni +shmall +shmmax +shmmni +rmid +mqueue +syscontainer +binners +fdisk +veth +qlen +QLEN +lxcfs +alice +ISULAD +Lxcfs +sysfs +lcrd +sibliing +myrootfs +cgconfig +libcgroup +msgsize +kuasar +Kuasar +oncn +bwmcli +qdisc +devs +prio +pkts +ENOBUFS +rubik +kubepods +iocost +rbps +rseqiops +rrandiops +wbps +wseqiops +wrandiops +cpuevict +memcg +cmdline +MPAM +mpam +acpi +numa +fssr +cpuacct +blkcg +Uler +ISULABUILD +iidfile +creds +openeuler +Kmesh +kmesh +Istiod +dosfstools +kbimg +qcow +QCOW +kubeos +unconfigured +ostree +nestos +Zincati +Kylin +kargs +rojig +wgetrc +releasever +nosa +CRIO +netsos +PXELINUX +oedp +ansible +Traefik +myserver +mynodetoken +kubeedge +GOPATH +GOARCH +CPUP +vring +virtio +Virtio +Nuttx's +Nuttx +SHELLCMD +localectl +timedatectl +hwclock +kdump +bootargs +Bootarg +dracut +syslogd +vsftpd +xferlog +vsftp +mget +myopen +mput +mdelete +repodata +createrepo +softeware +nginx +repoid +Repoids +gpgcheck +gpgkey +asis +avahi +Avahi +Vinit +autofs +chkconfig +quotaon +Syslogger +PITR +postgres +initdb +NOSUPERUSER +CREATEDB +NOCREATEDB +NOCREATEROLE +NOINHERIT +oldrolername +roleexapme +funcname +argmode +createdb +dropdb +PGDATABASE +dbname +psql +ISAM +nvme +datalv +mariadb +mysqldump +alldb +mysqld +infile +skel +chsh +Cmnd +NOPASSWD +globus +gshadow +gpasswd +newgrp +installonlypkgs +repolist +inotify +sysmaster +uevent +blkid +kmod +Sysfs +netif +rwxrwxrwx +KLOC +exts +withoutsd +rpmdev +RPMS +SRPM +noarch +nobuild +noclean +dbpath +FOSS +oscrc +submmission +ipaddriso +devel +Moba +libc +libm +fpic +lfoo +ldconfig +Sllfilename +javac +Javac +ifdef +endef +Tian +SAMGR +eletronic +NAPI +afot +GCOV +pgoing +pgoed +qtfs +rexec +udsproxyd +libudsproxy +qtinfo +virsh +virtlogd +libchan +QTFS +devtmpfs +rdma +nosuid +nodev +noexec +relatime +SPDK +DPUOS +eulerkiwi +minios +dpuos +hacluster +corosync +Corosync +Stonith +noverifyssl +mmcblk +wlan +ISOLINUX +mkisofs +isohybrid +raspi +Imager +Avago +RISCV +riscv +Graghic +WIFI +cpufreq +Licheepi +EMMC +SDCARD +OVMF +Penglai +libslirp +slirp +DHCPD +cdrom +Smasq +aops +zeus +vulcanus +diana +dianas +kabi +DEACTIVED +ACTIVED +prometheus +distro +UUCP +ftrace +debugfs +mmap +vmcore +Arangodb +Arango +tcpprobe +ksliprobe +ebpf +arangodb +arangod +nvwa +NVWA +kexec +quickkexec +criu +CRIU +ramfs +cpuparkmem +ifunc +syscare +SUPRESS +PSCNT +FDCNT +pgrep +irqbalance +validiy +NEWADDR +pscnt +iodelay +ENVIROMENTFILE +etmem +etmemd +cslide +sysmem +wmark +WMARK +kobj +vmas +GMEM +libgmem +CANN +cann +gmem +hnid +HSAK +spdk +Nvme +CUSE +trtype +traddr +Usec +bdev +ublock +readv +writev +wrtiev +ctrlr +Ublock +bdevs +fini +prchk +PRCHK +BDEV +UBLOCK +NVME +UEVENT +TRADDR +xfer +unusecap +lbads +lbaf +nlbaf +extented +nssa +nsso +contig +memseg +TAILQ +tailq +sqid +nsid +iostat +Ctrlr +nbytes +iovec +iovcnt +cfgfile +EAGAIN +tvar +DESCIRPTORS +HOSTID +CTRLR +INTERGRITY +UNRECOVERED +libstoage +avgrq +avgqu +svctm +pvdisplay +pvchange +pvname +pvremove +vgname +vgdisplay +vgchange +vgextend +vgreduce +vgremove +lvdisplay +lvname +lvresize +lvextend +lvreduce +lvremove +mntpath +fstype +liblstack +IOMMU +lstack +ltran +miimon +mbuf +LSTACK +tcpdump +pdump +nmcli +ONBOOT +BOOTPROTO +BSSID +mybond +ifdown +chrony +PMTU +dhclient +HWHW +dhcpd +sockaddr +nametoindex +DHCLIENT +DHCPV +IFADDR +nodad +RTNETLINK +PMTUD +ifup +DEFAULTGW +iscsi +iscsiadm +SMMU +uacce +hisi +hpre +libwd +libkae +kbit +HPRE +libpthread +sysboost +swpd +inact +kbmemfree +kbmemused +kbbuffers +kbcached +numactl +corss +numastat +numstat +rrqm +rareq +wrqm +wareq +drqm +dareq +areq +Postgresql +Mariadb +hdfs +Dubbo +SPECCPU +Cjbb +Gatk +atuned +atune +ATUNE +ATUNED +SERVERCN +tlsservercafile +tlsservercertfile +tlsrestcacertfile +tlsrestservercertfile +tlsenginecacertfile +tlsengineclientcertfile +tlsengineservercertfile +mpstat +dtype +gbrt +bayes +oeaware +bufs +libpmu +libsmc +libkperf +CUDA +cuda +pytorch +chatglm +Loongson +Loong +Renesas +Phytium +epkg +betwe +misoperations +shmem +MPTCP +iomap +xcall +xint +kfuncs +execveat +wakeup +CAQM +upatch +kpatch +HMAC +Armv +ccmp +linearizable +CSUM +recvfrom +IPVLAN +PCIPC +UADK +Hygon +Hygon's +VMCB +TLCP +DTLS +Memcg +CFGO +Sheng +CSPGO +flto +devirtualization +ACPO +Ansel +Dhrystone +Cbench +ONNX +Ezip +yocto +LTSSP +raspberrypi +IBACHW +micad +IBANAZ +cpio +qtenginio +mathjax +libcrystalhd +crystalhd +mecab +ipadic +EUCJP +eeprom +IAGS +umdk +urma +libumdk +tidb +IAGWFV +IAGX +libmd +IAGXT +lxml +libclc +sybil +spirv +qatzip +qatengine +moby +groff +qpdf +libstoragemgmt +pythran +librdkafka +kvdo +sscg +pydantic +gstreamer +pybind +certifi +jedi +lftp +memleax +inih +uadk +autofdo +rootsh +moto +kylin +dtkgui +ukui +faust +apptainer +kiran +pytimeparse +jose +pytest +asgiref +libkysdk +openjfx +jboss +netavark +tomcatjss +osinfo +fwupd +RPATH +epol +huks +safwk +samgr +dsoftbus +ffmpegthumbnailer +akonadi +bluez +kactivities +kauth +kconfig +khtml +kimap +knotifications +knotifyconfig +kuserfeedback +kwin +libksysguard +okular +ovirt +qtav +zram +hiviewdfx +hilog +EPKG +mypy +hadoop +xorg +xauth +fbdev +qtquick +dphysics +lldpad +protobuf +vdagent +Xtst +ipmitool +evdev +isns +thai +iotop +efivar +cryfs +libchardet +dtkcommon +pyeclib +deepin +kubekey +cppzmq +pigpio +hplip +stap +sysstat +dsctl +libxcvt +dsidm +powerapi +gcov +oeawarectl +nototools +numafast +gaussdb +tpcc +Angha +GIMPLE +cfganal +fwhole +fipa +ncbi +pkexec +fcfgo +Rygel +kubelte +sched +eulermaker +IBAAW +IBADES +euler +IBADFM +IBAEW +IBAFG +IBAGYK +IBALNI +IBALTA +IBALZL +IBAPM +IBAPNP +sysbench +IBARLD +csmith +IBAU +IBAWUP +rasdaemon +IBAYOV +IBAYW +IBBP +IBBPDD +rpcbind +pwck +IBBQ +IBBWT +mysqladmin +IBBWTS +IBBWXI +CFCA +Mulan +CNNVD +CNVD +cvrf +CVRF +wecom +feishu +mailqq +Yifeng +Kaishun +Unsub +unsubscription +kmodule +usrdriver +Detectorsdk +POSIC +REGFUNC +UNREGFUNC +BJCA +codegener +uworkers +OCALLs +tworkers +ECALLs +WAKEUP +icalled +libcsecure +libtsecure +funcptr +Qing +SMMAB +OCALL +cdecl +ECALL +edlfile +OTRP +TYPA +pwquality +pwhistory +minlen +dcredit +ucredit +lcredit +ocredit +authtok +nullok +authsucc +TMOUT +mkpasswd +sulogin +sysrq +Xshell +hmac +hzqtest +rhosts +shosts +Rhosts +diffie +ecdh +nistp +SSHFP +Diffie +sftpgroup +aesni +luks +libgcrypt +KTLS +gnupg +libxcrypt +chgpasswd +lusermod +lpasswd +luseradd +stext +etext +ascii +vermagic +HMACs +securityfs +euid +initramtmpfs +dont +MMAP +BRPM +KEXEC +fsmagic +fsuuid +fowner +imasig +BOOTPARAM +talist +libqca +libteec +qcaserver +reportid +basevalueid +tauuid +tabasevalues +tabasevalueid +tareportid +TPCM +HTTC +SMMC +gguf +nvidia +vllm +vmlinux +sglang +Gitee +OEPKGS +eulercopilot +KUBECONFIG +Pydantic +CPDS +Linx +initv +cpds +Cpds +libebpf +granularities +mkinitrd +ipcc +usrrpm +gconv +vfat +ifplugd +ifplug +CMDLINE +ifnames +biosdevname +kbox +Kbox +mkdliso +shre +zoninfo +isocut +rpms +epel +vmnet +eulerlauncher +eulerlauncherd +Undock +Xorg +CORBA +componentized +Pango +Sysprof +Kiran +Kylinsec +Cpanel +Pluma +pluma +UKUI +Sogou +Wifi +Wificonnection +lauserst +Xauthority +bcond +pkgshipd +bname +uwsgi +sdxx +vcpu +Straro +iothread +iotune +pflash +vmlinuxz +MMIO +nmap +Imzge +minirootfs +ovmf +VFIO +vfio +stratovirtvirt +hinic +sriov +numvfs +Mname +maxcpus +ifname +chardev +virtconsole +iothreads +paravirtualized +VIRTIO +ramfb +EDID +netdev +microvm +kworker +cpumask +cpumasks +qspinlock +pvspin +PARAVIRT +cpuidle +SASL +sasl +SASLDB +svirt +CRTM +swtpm +libtpms +localca +pcrread +pcrlist +brctl +kvmtop +IPFIX +RSPAN +LACP +elfutils +lpmake +pvchannel +virtfn +VFNUMS +UHCI +EHCI +lsusb +usbutils +schedinfo +vcpucount +domiflist +iothreadinfo +vnet +Vfjb +Kpub +SCHED +skylarkd +mbmtotal +mbmlocal +numatune +cellid +hugepagesz +lsmem +vmtop +Thvc +Twfe +Twfi +Tmmio +mmio +Tmabt +Nvlpg +Tnmi +Hyperv +Trmsr +Twmsr +Tapic +APIC +Teptv +Teptm +Tpau +VCPU +iotreads +pmull +enospace +rerror +enospac +sata +ccid +ehci +xhci +vram +zstd +SDEI +libstdc +cmlt +ftree +nmtui +keras +uboot +Unactivated +Kdump +pmie +pcpupstream +BRCM +Epol +Majun +oncpu +offcpu +srtt +sockbuf +ioprobe +jvmprobe +ksli +postgre +pgsliprobe +dnsmasq +rabbitmq +kafkaprobe +tprofiling +kubenet +pgsql +rocketmq +pyroscope +Pyroscope +kallsyms +JVMTI +Jstack +Syscall +tgid +recv +segs +addrlen +EISCONN +ENOTCONN +recvmsg +sendmsg +msghdr +errno +JSSE +jsse +kprobes +longsys +swapin +iomemory +Taishan +MYIR +vmalloc +Kprobe +KGDB +KPTI +KASLR +KASAN +HAOC +SYSCALL +EROFS +fscache +Nydus +AMDC +udisks +dbxtool +NTIA +Baichuan +FLYTEK +GGUF +dabase +reranker +oidc +chinese +openai +detetor +Piot +grafana +pilotgo +Dbus +vdpa +numfer +compa +sbom +shangmi +hsak +ctinspector +sysroot +efivars +kump +Solutionss +kcore +kptr +efivarfs +VFAT +rebranded +unbootable +sssnic +sssdk +recompiles +oprnruler +NSCD +snmp +zabbix +isual +Zhaoxin +hmdfs +cgtop +SNTP +sntp +libev +libiscsi +xfsprogs +gdbm +rpmdb +dbenv +SSMS +tcache +configuratio +SELINOX +innobd +fuffer +greatsql +LDFLAGS +ynamic +eedback +oirected +ptimization +dfot +RELA +gfrotran +gprof +lstdc +fmodules +fmodule +floop +nums +topn +ffind +libub +unixbench +dcache +icache +napi +uncore +pidstat +tlbmiss +CICD +gitlabip +iptable +kmemcg +kernerl +Masq +vnic +fifo +solft +sanbox +yajl +tmpdir +TMPDIR +shimv +devcies +libisula +binner +umout +ubik +busrt +coef +buildid +istio +istiod +kbming +osversion +sysconfigs +conatainerd +Nestos +zincati +liveiso +rolij +ociarchive +crio +qwer +virbr +gurb +jinja +Kubeedge +TCPROS +UDPROS +rosnode +rostopic +rosservice +rosmsg +rossrv +rosparam +Cpup +rpmsg +pthread +ENOMEM +EBUSY +EINVAL +getstackaddr +getinheritsched +inheritsched +setinheritsched +PTHREAD +ENOTSUP +getschedpolicy +setschedpolicy +DETAED +setschedparam +schedparam +getschedparam +atfork +EPERM +ESRCH +setschedprio +EDEADLK +getcpuclockid +contol +destory +pshared +ENOSPC +oflag +CREAT +EACCES +EEXIST +EINTR +EMFILE +ENAMETOOLONG +ENFILE +ENOENT +ETIMEDOUT +sval +PRIO +getprioceiling +setprioceiling +getpshared +setpshared +rwlock +rdlock +tryrdlock +timedrdlock +wrlock +trywrlock +timedwrlock +rwlockattr +barrierattr +timeptr +CPUTIME +nanosleep +rqtp +rmtp +SIGEV +itimerspec +ovalue +gettimeofday +gmtime +EOVERFLOW +mktime +strptime +utime +wcsftime +posix +memptr +SIGABRT +waitpid +waitid +atexit +numer +ldiv +lldiv +imaxdiv +wcstol +iswspace +LLONG +ERANGE +wcstod +VALF +VALL +fcvt +ecvt +gcvt +qsort +llabs +imaxabs +strtol +nptr +isspace +atoi +atol +atof +bsearch +nsems +semctl +semid +semnum +RMID +semun +EIDRM +EFAULT +semop +sembuf +nsops +EFBIG +semtimedop +msgget +MSGQUE +msgctl +msgqid +msqid +msgsnd +msgp +msgsz +msgrcv +msgtype +ENOMSG +shmget +shmctl +shmat +shmdt +ftok +fstatat +ENOSYS +ELOOP +ENXIO +utimensat +mkfifo +statvfs +mkfifoat +mknodat +futimesat +lchmod +futimens +mkdirat +fstat +EBADF +creat +fcntl +DUPFD +CLOEXEC +GETFD +SETFD +GETFL +SETFL +fallocate +openat +FDCWD +fdopendir +ENOTDIR +strverscmp +dirfd +putwchar +WEOF +EILSEQ +fgetws +vfwprintf +fscanf +fgetpos +fpos +vdprintf +ungetc +ftell +getc +fmemopen +putwc +wmemstream +asprintf +fflush +vfprintf +vsscanf +vfwscanf +setvbuf +getwchar +vsnprintf +freopen +fwide +sscanf +fgets +vswscanf +vprintf +fputws +wprintf +wscanf +fputc +vswprintf +fputwc +fopen +tmpnam +ferror +fwscanf +fprintf +fgetc +getwc +scanf +perror +vsprintf +vasprintf +dprintf +popen +putc +fseek +fgetwc +putw +tempnam +vwprintf +getw +fread +fileno +fclose +feof +fwrite +setbuf +pclose +swprintf +fwprintf +swscanf +getdelim +vfscanf +setlinebuf +fputs +fsetpos +fopencookie +fgetln +vscanf +ungetwc +ftrylockfile +vwscanf +thrd +nomem +getattr +ftime +timeb +timegm +duoble +expm +fmax +fmin +lgamma +flaot +iptr +tagp +drem +dremf +CMDREG +MEMALLOC +sdei +irqchip +gicv +slocate +sysvinit +Postgre +createrdb +userexapme +locahost +DBNAME +MPPDB +groupid +onnxruntime +fplugin +SRPMS +osrepo +prereguisites +ftracer +fmulti +liba +libb +mcpu +Werror +longjmp +setjmp +memcpy +libgcc +cflags +libomp +mgeneral +regs +ANIR +vsudot +usdot +UDSPROXYD +qtcfg +REXEC +contaienrd +contaienr +nodeps +isolinux +penglai +changeme +gitee +cves +Aops +ngxin +elasticasearch +rebuilddb +enablerepo +disablerepo +imdb +topo +topk +ENVIROMENTFLE +swacache +thridparty +backgound +stmemd +numaid +earse +ENAB +gazellectl +wifi +nolibc +mprotect +kpti +Eluer +hichain +Isula +gtest +foliō +iozone +XCALL +kfunc +cpuburst +vrit +PGSQL +VMID +dhrystone +Lyaer +uler +uefi +ringbuf +ecall +ocall +envlave +encalve +reexec +ecdsa +monitior +enforece +BPRM +KDUMP +virtcca +EACCSS +Packaket +Tinspecto +Tinpsector +Tinpsect +mysq +RPMDB +fbfqtsnza +xfzsydh +centos +omnivird +CORBAORB +kiranz +GITEE +aarch +edid +xres +yres +sasldb +gensrc +abuild +lrwxrwxrwx +physfn +Mbps +Realtek +STEC +werror +Instanse +domian +vcpupin +PCPU +setvcpus +apic +Vcpu +tabe +calamares +Devstation +Livecd +devstation +netin +ollama +qwen +BAAI +kuberay +oepkgs +oedeploy +ONEDNN +Openeuler +oegitext +syestemd +cpython +sytematic +ANNC +bazel +DFFM +DLRM +deepfm +pbtxt +Flink +Sream +nativa +LPDDR +oebridge +Yocto +iommu +Specjbb +anythingllm +Dify +smmu +HTTU +CCEL +einj +ICHG +IBVTB +IBVTF +IBVTFA +IBVTFC +IBVTFH +IBVTFI +IBVTFJ +IBVTFK +IBVTFP +IBVTFR +IBVTFS +IBVTFU +IBVTFV +IBVTLE +haoc +IBVTYC +IBVTYD +gdal +IBVUDA +IBVUJV +IBVUJW +IBVUJX +IBVUJY +IBVUJZ +IBVUK +IBVUKA +IBVUKB +IBVUKC +IBVUKD +IBVUKE +IBVUKF +IBVUKG +IBVUKH +IBVUKI +IBVUKJ +IBVUKL +IBVUKN +IBVUKO +IBVUKP +IBVUKR +IBVUKT +IBVUKV +IBVUKW +IBVUKX +IBVUKY +IBVUKZ +IBVUL +IBVUOZ +IBVURX +IBVURY +IBVURZ +IBVUS +kscreen +IBVUSB +IBVUSG +IBVUSJ +IBVUSO +IBVUSS +IBVUUF +IBVUUR +IBVUUS +IBVUUU +IBVUUX +IBVUUY +IBVUUZ +IBVUV +dtkwidget +nispor +IBVUVA +IBVUVB +IBVUVC +IBVUVD +IBVUVF +IBVUVH +virtiofsd +IBVUVI +IBVUVJ +exif +startdde +IBXLBY +IBXLF +IBXLFC +IBXLFD +IBXLFE +IBXLFF +IBXLFI +IBXLFJ +IBXLFK +isorelax +IBXLFL +IBXLFM +IBXLFN +libbpf +IBXLFO +IBXLFR +IBXLFT +IBXLFU +IBXLFW +IBXLFX +IBXLFZ +IBXLG +oemaker +openblas +IBXLGB +IBXLGC +IBXLGD +IBXLGE +IBXLGF +IBXLGG +abrmd +IBXLHK +IBXLHL +IBXLHN +IBXLHO +IBXLHP +IBXLHR +IBXLHS +caja +IBXLHU +IBXLHV +IBXLHW +IBXLHX +IBXLHY +IBXLHZ +IBXLI +IBXLIA +marco +IBXLIB +IBXLIC +IBXLID +IBXLIE +IBXLIF +IBXLIG +IBXLIH +IBXLII +IBXLIJ +IBXLIK +IBXLIL +IBXMS +IBXMSA +IBXMSB +IBXMSC +IBYA +xvattr +alsa +jupytext +pygments +ipyleaflet +mlir +lldb +openmp +bpftrace +swapon +castxml +liburing +lorax +texinfo +vdsm +syzkaller +nmstate +ovsdb +libnmstate +gluster +libnvme +zstdcat +starlette +aclsetup +sqlalchemy +ICAF +ICAGDX +ICAL +ICALHZ +ICAPYD +ICBA +ICBBIJ +fdisable +evrp +ICBCDH +ICBED +ICBO +ICBPR +ICBR +Mdzip +journalctl +ICCFIF +ICCI +ICCIAY +ICCIG +ICCIM +ICCIX +ffat +ICCJLG +ICCMUB +ICCOEN +ICCON +ICCP +ICCPKY +nriplugin +ICCPX +ICCQK +archlinux +ICCRDF +ICCUSJ +ICCVB +ICDCJ +ICDCM +ICDCNQ +ICDCOZ +ICDCP +ICDK +ICDPZC +stringzilla +ICDPZF +ICDPZH +ICDPZI +sqids +ICDPZJ +ICDPZK +asyncer +ICDPZL +simsimd +ICDPZN +ICDPZO +ICDPZP +asyncpg +ICDPZQ +ICDPZR +ICDPZS +pyarrow +ICDPZT +ICDPZU +paddleocr +ICDPZV +ICDPZW +ICDPZX +ICDPZY +ICDPZZ +pymupdf +ICDQ +lancedb +jionlp +albucore +pyclipper +aiohappyeyeballs +jiter +tiktoken +ipython +pgvector +jiojio +orjson +imgaug +asgi +tika +imageio +ICDUQO +openpyxl +libpsl +ICEIS +ICEIYC +ICEIYF +ICEIYG +ICEIYH +ICELC +ICEQI +ICEVHK +ICEW +ICEX +ICEYD +pymongo +ICFHI +ICFHWY +libvulkan +cjson +MBHDL +MBPRI +Numa +SRIOV +isuald +environmentt +zxvf +imge +hermesb +kbytes +jattach +futex +pwritev +fdatasync +pselect +ppoll +sendmmsg +recvmmsg +cgrp +sockfd +socklen +ssize +kprobe +nvcsw +nivcsw +vmscan +endio +loongarch +nydus +Vkernel +oedevplugin +IBJEN +IBKBQD +baseos +IBKBRF +IBKBXU +IBKEGE +ftgl +IBKEGF +IBKEGG +IBKEGH +wpebackend +IBKEGI +IBKEGJ +IBKEGL +IBKEGM +qtquickeffectmaker +IBKEGN +IBKEGO +IBKEGQ +IBKEGR +IBKEGT +qtwebview +IBKEGU +IBKEGV +pdfminer +IBKEGW +IBKEGY +IBKEGZ +IBKEH +libwpe +metee +poissonsearch +gmmlib +IBKEHA +glslang +IBKEHC +IBKEHD +IBKEHE +ccache +IBKEHF +IBKEHG +IBKEHH +IBKEHI +IBKEHK +IBKEHL +IBKEHM +IBKEHN +qtwebengine +IBKEHP +IBKEHQ +libmysofa +IBKEHR +IBKEHS +IBKEHT +IBKEHU +IBKEHV +eigen +IBKEHW +IBKEHX +IBKEHY +IBKEI +softhsm +IBKHGK +IBKWWO +dyndb +xnio +pkcs +levenshtein +libomxil +httpretty +luajit +erlang +erlsyslog +texlive +IBLC +fcitx +libime +imdkit +kdsoap +zathura +khotkeys +attica +IBLCA +cassandra +gnumeric +IBLCAA +IBLCAB +IBLCAD +IBLCAF +IBLCAG +IBLCAH +IBLCAJ +IBLCAL +IBLCAM +IBLCAN +dareader +IBLCAP +ksmtp +IBLCAS +orocos +IBLCAT +dxcb +IBLCAZ +IBLCB +IBLCBC +IBLCC +libqtxdg +kxmlgui +libav +kpimtextedit +IBLCCA +IBLCCB +IBLCCC +IBLCCD +IBLCCE +IBLCCF +IBLCCG +IBLCCH +dtkcore +IBLCCJ +IBLCCP +croniter +IBLCD +IBLCDA +zxing +IBLCDB +libkylin +chkname +IBLCDD +libkleo +IBLCDE +IBLCDF +IBLCDH +ubackup +IBLCDI +IBLCDJ +djvu +IBLCDK +IBLCDL +libebml +IBLCDM +IBLCDO +IBLCDP +IBLCDQ +IBLCDS +IBLCDT +IBLCDW +IBLCDY +IBLCE +asdcplib +libsysstat +libgravatar +IBLG +IBLKGY +IBLKWK +IBLL +IBLMMJ +IBLOIZ +IBLPLY +IBLTCF +IBLV +IBLYYN +Rpath +IBLZFK +IBLZO +ceph +librbd +IBMD +IBMOH +jupyter +jupyterlite +xeus +IBMON +IBMQXJ +IBMXDA +IBMY +haveged +samtools +pnetcdf +IBNCBJ +IBNCIP +IBNF +dconf +kscreenlocker +IBNISC +obsapisetup +IBNMQL +IBNN +IBNP +IBNPBK +IBNQ +IBNQA +IBNQAL +IBNQAS +IBNQAX +gucharmap +IBNQB +leptonica +IBNQBF +libetonyek +IBNQBJ +IBNQBT +IBNTGO +IBNTHV +IBNTWN +IBNU +IBNWLA +waccess +IBOB +IBOBH +IBOGM +IBOH +IBOHHS +IBOI +IBOIJP +IBOIPL +IBOISF +IBOISG +IBOISH +IBOISI +IBOISK +pydoctor +IBOJRC +IBOJTT +IBOLYQ +IBOM +IBONA +IBOPVZ +rngd +IBOQKK +IBOQY +geos +IBOR +vpnc +IBORA +IBORB +IBORBD +IBORBN +IBORBZ +IBORC +IBORCC +IBORCS +django +IBORDA +IBORE +IBOREE +IBORER +youker +IBORRB +libqmi +IBOS +IBOSHL +IBOSXL +IBOUK +IBOUNX +IBOWQ +fdump +IBPAMJ +IBPAV +IBPAVA +bindex +IBPAVD +IBPAVF +IBPAVH +IBPAVI +IBPAVJ +IBPAVK +IBPAWG +IBPAWH +IBPBLS +IBPBOT +IBPD +gnutls +IBPDC +IBPENW +IBPF +IBPFS +IBPFVT +IBPG +texmath +libyaml +jira +crypton +IBPI +IBPMZW +trafgen +oeas +IBQBVO +ocaml +camlp +IBQBWA +IBQBWL +IBQGK +IBQI +fllc +IBQILS +IBQKQM +sccvn +IBQMD +IBQMI +IBQMQK +IBQMSZ +IBQMVZ +devstaion +IBQMXV +dtlb +itlb +IBQNDH +IBQNVR +IBQO +fchrec +mcsema +IBQOHQ +vect +IBQPSZ +Postgis +IBQRN +copilit +IBQRW +IBQSAP +IBQT +IBQTMV +IBQTZN +IBQUB +IBQUGS +IBQVWW +IBQW +IBQWL +IBQWP +IBQYQO +IBQZ +IBRA +IBRARL +IBRBEK +IBRCSB +IBRCVD +IBRCY +IBRD +IBRHZ +IBRI +IBRIKX +IBRKM +IBRKOC +IBRMDD +IBRMMX +IBRZ +winpthreads +IBSCBP +IBSDCJ +IBSEYO +IBSFW +IBSGVE +IBSGZ +IBSHNX +IBSN +IBSOZI +IBSS +IBSSIZ +simplejson +IBSUWG +IBSYQ +blpop +IBTEAI +IBTTOA +IBTXRG +opne +IBTYQA +IBUF +rocksdb +IBUJNS +IBUJNT +IBUJNU +IBUMZC +IBUN +IBUTTE +IBUUYC +IBUVRK +IBUVST +IBVAN +IBVC +IBVEV +IBVEZN +IBVIH +IBVXEY +mokutil +SDLC +keyid +ecparam +jekyll +pyrsistent +Ussuri +Xena +Kolla +Aodh +Masakari +Zaqar +oepkg +DBPASS +myuser +cirros +linuxbridge +RADOS +tftpboot +rsyncd +ASIC +cybory +kolla +dstat +OFTC +HSTS +OSSG +Malini +Bhandaru +Nicira +Vontu +DISA +Bont +Vibha +Fauver +GWEB +CISSP +Windisch +Schott +Lorin +Hochstein +sahara +Qpid +CMDB +tgtd +STIG +DRTM +OSSEC +Samhain +DNSSEC +PKIX +Thawte +FIPS +EECDH +TDEA +WSGI +fbcdn +twimg +gunicorn +defaul +NSTISSP +Padula +TDES +Sunar +Eisenbarth +Inci +Gorka +Irazoqui +Apecechea +Artho +Yagi +Iijima +Kuniyasu +Suzaki +Howto +RELRO +RELLO +semanage +fusefs +CIFS +sanlock +OSSN +malchuk +novnc +novacproxy +novncproxy +bugzilla +noauth +Ocata +osapi +LUKS +Gluster +HDFS +SQLA +Lcvery +VXLAN +ONTAP +IDENTKEY +OSAPI +oslo +vswitch +SNAT +DSCP +OSAM +ssync +PKCS +KMIP +Conjur +EJSON +Hashicorp +Custodia +MKEK +CIPSO +Oozie +PGDATA +HRNG +Mitaka +Siwczak +Piotr +sflow +COBIT +ISACA +COSO +ITIL +NERC +CADF +SPOF +FISMA +ITAR +SSAE +ISAE +CICA +HITECH +HIPPA +USML +OCSP +OSSP +murano +monasca +zaqar +AODH +ebtables +Bexar +Cirr +CDMI +SINA +CIMI +harvard +arptables +MPLS +euca +ools +ITSEC +Pavillon +Breteuil +octavia +multinic +OCCI +panko +Vitrage +RXTX +SCIM +solum +Steinstraße +SLES +SAIO +VMRC +Servic +pyproject +placment +pypi +opene +Libvirtd +Kbit +amet +Consectetur +adipiscing +elit +eiusmod +zaaack +bierner +sharzyl +alefragnani +kexe +armv +NWES +ipcmode +shmpath +HMDFS +numpy +astunparse +einsum +grpcio +absl +gast +innodb +RVIZ +myrobot +URDF +xarm +moveit +teleop +debian +Launcherd +Omni +PHDR +hardirq +fros +libfprint +dim +libX11 +strongswan +libmbim +libvirt-python +podman +docker +sysmonitor +node-gyp +intel-qpl +linux-sgx-driver +json-glib +linux-sgx +binutils-2.42 +secDetector +tbb +dpdk +NetworkManager +oeAware-manager +anaconda +containernetworking-plugins +gcc-14 +rabbitmq-server +fuse +A-Tune +pytorch +firewalld +c-ares +intel-cm-compiler +libserf +strace +gjs +libxcb +iavf +tensorflow +gnutls +virtCCA_driver +openblas +xterm +kae_driver +qscintilla +intel-qatlib +dtkgui +python-robotframework +pcl +python-jenkins +python-pytest-mpl +libreoffice +python-types-enum34 +python-sphinxcontrib-autoprogram +tidb +dtkcore +communication_ipc +python-pytest-html +python-daemon +butane +openGemini +kubernetes +python-pytest-mypy +python-XStatic-JQuery-Migrate +mate-user-guide +feedbackd +python-vintage +crudini +gnome-bluetooth +dpu-utilities +python-types-ipaddress +python-sysv-ipc +python-pip-api +libzmf +python-ibmcclient +libime +qt5dxcb-plugin +python-sphinxcontrib-programoutput +python-storpool +blivet-gui +python-krest +dtkwidget +kiran-authentication-service +python-pifpaf +oceanbase-ce +python-requests-mock +python-infi.dtypes.wwn +mate-icon-theme +classic-flang +fcitx5-configtool +python-pep257 +python-mitba +python-doc8 +python-confget +python-netmiko +python-types-cryptography +biometric-authentication +python-ntc-templates +python-transaction +xscreensaver +deepin-system-monitor +deepin-image-viewer +deepin-shortcut-viewer +deepin-clone +deepin-terminal +dde-session-shell +dde-session-ui +deepin-devicemanager +deepin-icon-theme +dde-app-services +deepin-graphics-driver-manager +deepin-default-settings +dde-dock +dde-polkit-agent +deepin-editor +deepin-image-editor +dde-file-manager +dde-device-formatter +dde-network-core +deepin-compressor +deepin-reader +dde-calendar +libetonyek +gnome-remote-desktop +dde-clipboard +deepin-draw +dde-control-center +deepin-menu +gnome-connections +deepin-font-manager +gnome-boxes +deepin-screen-recorder +deepin-log-viewer +dde-launcher +qt5integration +deepin-manual +anaconda +kernel +util-linux +systemd +anaconda +python-lxml +ceph +docker-compose +python-httpbin +python-hypothesmith +python-keras-rl2 +python-mdformat-gfm +python-mkdocs-rss-plugin +python-mkdocstrings-crystal +python-pydoctor +python-pytest-httpbin +python-requirementslib +python-rope +python-selenium +python-sphinx-mdinclude +cloud-init +util-linux +anaconda +systemd +fwupd +stratovirt +k3s +parted +fftw +kpatch +gazelle +bazel +libbpf +libvirt +file +ethtool +uadk_engine +spdk +tpm2-abrmd +qemu +secDetector +gcc-cross +kernel +gdb +Kmesh +keyutils +llvm-toolset-19 +luajit +stratovirt +lsscsi +ncompress +oemaker +iputils +scap-security-guide +shadow +AI4C +kae_driver +libiec61883 +edk2 +lwip +dpdk +gala-anteater +runc +openjdk-17 +protobuf2 +llvm-toolset-18 +kexec-tools +e2fsprogs +triton-cpu +apptainer +python-langchain +euler-copilot-rag +python-opengauss-sqlalchemy +gala-ragdoll +k3s +euler-copilot-framework +nispor +python-albucore +virtiofsd +authHub +libwd +imageTailor +python-pifpaf +python-grpcio-gcp +python-sysv-ipc +python-requests-mock +gnome-shell-extensions +gnome-initial-setup +gnome-terminal +xscreensaver +python-ansible-runner +kiran-session-guard +kiran-control-panel +libreoffice +clamav +clamav +kmod-kvdo +kernel +openvswitch +stratovirt +cloud-init +firebird +sysTrace +three-eight-nine-ds-base +oeAware-manager +oeAware-manager +kernel +aops-zeus +kernel +lib-shim-v2 +isula-rust-extensions +stratovirt +librsvg2 +qt5-qttools +mariadb +kde-settings +cloud-init +fontconfig +gcr +libcap-ng +ding-libs +clang +gstreamer1-plugins-base +iputils +createrepo_c +amanda +hwloc +bzip2 +dracut +libcap +libmemcached +libical +glib2 +httpd +criu +isula-rust-extensions +guile +guile +diskimage-builder +euler-copilot-framework +euler-copilot-rag +nispor +python-albucore +python-elasticsearch2 +python-httpie +python-langchain +python-langchain-core +python-langchain-openai +python-langchain-text-splitters +python-langsmith +python-mitmproxy +python-opengauss-sqlalchemy +python-requests-kerberos +rygel +sushi +python-certbot +python-gabbi +kwayland-integration +ukui-kwin +kwin +kernel +syscare +clamav +clamav +custodia +ukui-greeter +freeradius +kylin-nm +kernel +openjdk-1.8.0 +gcc +clang +clang +openjdk-1.8.0 +guile +gcc +gcc +golang +alsa-firmware +gcc +golang +ceph +gcc +ceph +clang +openjdk-1.8.0 +linux-firmware +gcc +libtraceevent +scipy +valgrind +xorg-x11-drv-nouveau +stratovirt +xorg-x11-drv-ati +xorg-x11-server +xorg-x11-drv-fbdev +pipewire +xorg-x11-drv-dummy +python-bcrypt +llvm +llvm +xorg-x11-drv-v4l +linux-firmware +grub2 +xorg-x11-drv-intel +xorg-x11-drv-qxl +linux-firmware +xorg-x11-drv-vmware +xorg-x11-drv-vesa +syslinux +kae_driver +kae_driver +kae_driver +opengauss-server +llvm +llvm +kernel +kernel +apr +assimp +bison +fakeroot +flex +hplip +ivtv-firmware +k8s-install +libXfont2 +libgit2-glib +libgphoto2 +v4l-utils +openEuler-logos +python-setuptools +python-cheetah +xrdb +gd +gmp +gtk-doc +sblim-cmpi-devel +redis5 +redis6 +xorg-x11-font-utils +epkg +fcitx5-configtool +gvfs +libnumbertext +protobuf +raspberrypi-firmware +raspberrypi-eeprom +uv +openEuler-logos +fcitx5-configtool +gvfs +liblangtag +libnumbertext +python-asyncpg +python-protobuf +python-sglang +python-tika +python-zipfile36 +ukui-notification +qemu +dnf +libkysdk-system +syscare +peony +selinux-policy +libkylin-chkname +ukui-greeter +DevStore +DevStore +open-isns +virt-manager +DevStore +qemu +oeAware-manager +libreoffice +DevStore +AI4C +kernel +oeDeploy +dotnet +oeDeploy +DevStore +kernel +kata-containers +kylin-device-daemon +gala-anteater +openssl +xorg-x11-server +lldpad +pcp +samba +os-prober +scipy +perl +valgrind +opengauss-server +mariadb +python3 +parted +lxc +libbonobo +iptables +openjdk-1.8.0 +glusterfs +gcc +glibc +python-bcrypt +python-rpds-py +scap-security-guide +llvm +scap-security-guide +scap-security-guide +dim +motif +scap-security-guide +ICSLLF +ICSQHD +ICSSN9 +ICSXXP +ICTFUR +ICTGXW +ICTIED +ICTL46 +ICTLTQ +ICTN4H +ICTN4J +ICTN4K +ICTN4L +ICTN7A +ICTN94 +ICTNAJ +ICTNWT +ICTOSC +ICTOSF +ICTOSG +ICTOSH +ICTOSI +ICTOSJ +ICTOSK +ICTOSL +ICTOSM +ICTOSN +ICTOSP +ICTOSR +ICTOSS +ICTOST +ICTOSV +ICTOSW +ICTOSX +ICTOSY +ICTOT0 +ICTOT1 +ICTPNF +ICTUIP +ICTUIQ +ICTUIR +ICTUIS +ICTUIT +ICTUIU +ICTUIX +ICTUIY +ICTUIZ +ICTUJ0 +ICTUJ2 +ICTUJ3 +ICTUJ4 +ICTUJ6 +ICTUJ8 +ICTUJ9 +ICTUJA +ICTUJJ +ICTUJK +ICTVPM +ICTVPO +ICTVPQ +ICU5H9 +ICUGKH +ICUK9X +ICUKLC +ICULRD +ICUM6G +ICUQ6D +ICUUC3 +ICUVCJ +ICUWAR +ICUWAT +ICUWAV +ICUWAW +ICUWAY +ICUWAZ +ICUWB1 +ICUWB2 +ICUWB3 +ICUWB4 +ICUWB5 +ICUWB6 +ICUWB7 +ICUWB8 +ICUWB9 +ICUWBA +ICUWBB +ICUWBC +ICUWBD +ICUWBE +ICUWBF +ICUWBG +ICUWBI +ICUWBJ +ICUWBL +ICUWBM +ICUWBN +ICUWBP +ICUWBS +ICUWBT +ICUWBU +ICUWBV +ICUWBX +ICUWBZ +ICUWC0 +ICUWC1 +ICUWC2 +ICUWC3 +ICUWC4 +ICUWC6 +ICUWC8 +ICUX7I +ICUX7J +ICUX7K +ICUX7L +ICUX7M +ICUX7N +ICUX9D +ICUX9E +ICUXLJ +ICUXLK +ICUXLM +ICUXLO +ICUXLP +ICUXLR +ICUXLS +ICUXLT +ICUXLV +ICUXLW +ICUXLX +ICUXLY +ICUXLZ +ICUXM0 +ICUXM1 +ICUXM2 +ICUXM4 +ICUXM5 +ICUXM7 +ICUXM8 +ICUXMC +ICUXMD +ICUXME +ICUXMF +ICUXMG +ICUXMH +ICUXMI +ICUXMJ +ICUXMK +ICUXML +ICUXMM +ICUXPC +ICUXPD +ICUXPE +ICUXPF +ICUXPG +ICUXPI +ICUXPJ +ICUXPK +ICUXPL +ICUXPM +ICUXQU +ICUYW0 +ICUZAP +ICV106 +ICV1QV +ICV1ZX +ICV6UD +ICV88Q +ICV9NN +ICVSSW +ICVSZ6 +ICVWDM +ICVZJQ +ICW4H4 +ICW5Q6 +ICWA6S +ICWZDP +ICWZRC +ICX0PP +ICX0V5 +ICX2WH +ICX73S +ICX7CT +ICX8NB +ICX9U1 +ICXGME +ICXGOY +ICXGWT +ICXH41 +ICXPIJ +ICXRTN +ICXUJU +ICXUJV +ICXUJW +ICXUJX +ICXUJY +ICXUJZ +ICXUK0 +ICXUK1 +ICXUK2 +ICXUK3 +ICXUK4 +ICXUK5 +ICXUK6 +ICXUK7 +ICXUKA +ICXUKB +ICXUKC +ICXUKD +ICXUKF +ICXUNL +ICXUPD +ICXUSG +ICXUT7 +ICXUWQ +ICY0JX +ICY1R7 +ICSJD +ICORXJ +ICORXK +ICORXL +ICORXM +ICORXN +ICORXO +ICORXP +ICORXQ +ICORXR +ICORXS +ICORXT +ICORXU +ICORXV +ICORXW +ICORXX +ICORXY +ICORXZ +ICORY +ICORYA +ICORYC +ICORYD +ICORYE +ICORYF +ICORYG +ICORYH +ICORYI +ICORYJ +ICORYK +ICP4CJ +ICP96S +ICPN8I +ICPN8J +ICPN8K +ICPN8M +ICPN8N +ICPN8O +ICPN8P +ICPN8Q +ICPN8R +ICPN8S +ICPN8T +ICPN8U +ICPN8V +ICPN8W +ICPN8X +ICPN8Y +ICPN8Z +ICPN +ICPN9A +ICPN9B +ICPN9C +ICPN9D +ICPN9F +ICPN9G +ICPN9H +ICPN9I +ICPN9J +ICPN9K +ICPN9L +ICPN9M +ICPN9N +ICPN9O +ICPN9P +ICPN9Q +ICPN9R +ICPN9S +ICPN9T +ICPN9U +ICPN9V +ICPN9W +ICPN9X +ICPN9Y +ICPN9Z +ICPNA +ICPNAA +ICPNAB +ICPNAC +ICPNAD +ICPNAE +ICPNAF +ICPNAG +ICPNAH +ICPNAI +ICPNAJ +ICPNAK +ICPNAL +ICPNAM +ICPNAN +ICPNAO +ICPNAP +ICPNAQ +ICPNAR +ICPNAS +ICPNAT +ICPNAU +ICPNAV +ICPNAW +ICPNAX +ICPNAY +ICPNAZ +ICPNB +ICPOX +ICQ42Q +ICQEVP +ICQFR +ICQHOG +ICR1K +ICR47A +ICR47J +ICR47O +ICR47T +ICR48B +ICR48W +ICR +ICR49D +ICR49J +ICR49O +ICR4A +ICR4C +ICRF1V +ICRJ1F +ICRJYZ +ICRPOP +ICRYLU +ICS26Q +ICSBYV +ICSEL +ICSELB +ICSELC +ICSELD +ICSELE +ICSELF +ICSELG +ICSELI +ICSELJ +ICSELN +ICSELO +ICSELP +ICSELQ +ICSELR +ICSELS +ICSELT +ICSELU +ICSELV +ICSELW +ICSELX +ICSELY +ICSEM +ICSEMA +ICSEMB +ICSEMD +ICSEME +ICSEMF +ICSEMG +ICSEMH +ICSEMI +ICSEMJ +ICSEMK +ICSEMM +ICSEMN +ICSEMQ +ICSEMS +ICSEMU +ICSEMV +ICSEMW +ICSEMY +ICSEMZ +ICSEV +ICSEXY +ICSFFP +ICSFFQ +ICSFFR +ICSFFS +ICSFFT +ICSFFU +ICSFFV +ICSFFW +ICSFG +ICSFGA +ICSFGB +ICSGTN +ICSGUG +ICSHCP +ICSJD +ICSJM +ICSLG +ICSLLF +ICSQHD +ICSSN +ICSXXP +ICTFUR +ICTGXW +ICTIED +ICTL +ICTLTQ +ICTN4H +ICTN4J +ICTN4K +ICTN4L +ICTN7A +ICTN +ICTNAJ +ICTNWT +ICTOSC +ICTOSF +ICTOSG +ICTOSH +ICTOSI +ICTOSJ +ICTOSK +ICTOSL +ICTOSM +ICTOSN +ICTOSP +ICTOSR +ICTOSS +ICTOST +ICTOSV +ICTOSW +ICTOSX +ICTOSY +ICTOT0 +ICTOT1 +ICTPNF +ICTUIP +ICTUIQ +ICTUIR +ICTUIS +ICTUIT +ICTUIU +ICTUIX +ICTUIY +ICTUIZ +ICTUJ +ICTUJA +ICTUJJ +ICTUJK +ICTVPM +ICTVPO +ICTVPQ +ICU5H +ICUGKH +ICUK9X +ICUKLC +ICULRD +ICUM6G +ICUQ6D +ICUUC +ICUVCJ +ICUWAR +ICUWAT +ICUWAV +ICUWAW +ICUWAY +ICUWAZ +ICUWB +ICUWBA +ICUWBB +ICUWBC +ICUWBD +ICUWBE +ICUWBF +ICUWBG +ICUWBI +ICUWBJ +ICUWBL +ICUWBM +ICUWBN +ICUWBP +ICUWBS +ICUWBT +ICUWBU +ICUWBV +ICUWBX +ICUWBZ +ICUWC +ICUX7I +ICUX7J +ICUX7K +ICUX7L +ICUX7M +ICUX7N +ICUX9D +ICUX9E +ICUXLJ +ICUXLK +ICUXLM +ICUXLO +ICUXLP +ICUXLR +ICUXLS +ICUXLT +ICUXLV +ICUXLW +ICUXLX +ICUXLY +ICUXLZ +ICUXM +ICUXMC +ICUXMD +ICUXME +ICUXMF +ICUXMG +ICUXMH +ICUXMI +ICUXMJ +ICUXMK +ICUXML +ICUXMM +ICUXPC +ICUXPD +ICUXPE +ICUXPF +ICUXPG +ICUXPI +ICUXPJ +ICUXPK +ICUXPL +ICUXPM +ICUXQU +ICUYW0 +ICUZAP +ICV +ICV1QV +ICV1ZX +ICV6UD +ICV88Q +ICV9NN +ICVSSW +ICVSZ +ICVWDM +ICVZJQ +ICW4H +ICW5Q6 +ICWA6S +ICWZDP +ICWZRC +ICX0PP +ICX0V +ICX2WH +ICX73S +ICX7CT +ICX8NB +ICX9U +ICXGME +ICXGOY +ICXGWT +ICXH +ICXPIJ +ICXRTN +ICXUJU +ICXUJV +ICXUJW +ICXUJX +ICXUJY +ICXUJZ +ICXUK +ICXUKA +ICXUKB +ICXUKC +ICXUKD +ICXUKF +ICXUNL +ICXUPD +ICXUSG +ICXUT +ICXUWQ +ICY0JX +ICY1R +hotplugd +uuidd +sysusers +clamonacc +dscreate +ubsan +lupdate +clambc +normalise +radiusd +objc +gfortran +mediatek +libv +libcmpi +libukui +isnsadm +pmda +libldb +libgfapi +rpds \ No newline at end of file