diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/2021.json b/2021.json new file mode 100644 index 000000000..55d0b597c --- /dev/null +++ b/2021.json @@ -0,0 +1,200 @@ +{ + "$schema": "https://raw.githubusercontent.com/NateScarlet/holiday-cn/master/schema.json", + "$id": "https://raw.githubusercontent.com/NateScarlet/holiday-cn/master/2021.json", + "year": 2021, + "papers": [ + "http://www.gov.cn/zhengce/content/2020-11/25/content_5564127.htm" + ], + "days": [ + { + "name": "元旦", + "date": "2021-01-01", + "isOffDay": true + }, + { + "name": "元旦", + "date": "2021-01-02", + "isOffDay": true + }, + { + "name": "元旦", + "date": "2021-01-03", + "isOffDay": true + }, + { + "name": "春节", + "date": "2021-02-07", + "isOffDay": false + }, + { + "name": "春节", + "date": "2021-02-11", + "isOffDay": true + }, + { + "name": "春节", + "date": "2021-02-12", + "isOffDay": true + }, + { + "name": "春节", + "date": "2021-02-13", + "isOffDay": true + }, + { + "name": "春节", + "date": "2021-02-14", + "isOffDay": true + }, + { + "name": "春节", + "date": "2021-02-15", + "isOffDay": true + }, + { + "name": "春节", + "date": "2021-02-16", + "isOffDay": true + }, + { + "name": "春节", + "date": "2021-02-17", + "isOffDay": true + }, + { + "name": "春节", + "date": "2021-02-20", + "isOffDay": false + }, + { + "name": "清明节", + "date": "2021-04-03", + "isOffDay": true + }, + { + "name": "清明节", + "date": "2021-04-04", + "isOffDay": true + }, + { + "name": "清明节", + "date": "2021-04-05", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2021-04-25", + "isOffDay": false + }, + { + "name": "劳动节", + "date": "2021-05-01", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2021-05-02", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2021-05-03", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2021-05-04", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2021-05-05", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2021-05-08", + "isOffDay": false + }, + { + "name": "端午节", + "date": "2021-06-12", + "isOffDay": true + }, + { + "name": "端午节", + "date": "2021-06-13", + "isOffDay": true + }, + { + "name": "端午节", + "date": "2021-06-14", + "isOffDay": true + }, + { + "name": "中秋节", + "date": "2021-09-18", + "isOffDay": false + }, + { + "name": "中秋节", + "date": "2021-09-19", + "isOffDay": true + }, + { + "name": "中秋节", + "date": "2021-09-20", + "isOffDay": true + }, + { + "name": "中秋节", + "date": "2021-09-21", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2021-09-26", + "isOffDay": false + }, + { + "name": "国庆节", + "date": "2021-10-01", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2021-10-02", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2021-10-03", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2021-10-04", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2021-10-05", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2021-10-06", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2021-10-07", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2021-10-09", + "isOffDay": false + } + ] +} \ No newline at end of file diff --git a/2022.json b/2022.json new file mode 100644 index 000000000..0a4afd113 --- /dev/null +++ b/2022.json @@ -0,0 +1,200 @@ +{ + "$schema": "https://raw.githubusercontent.com/NateScarlet/holiday-cn/master/schema.json", + "$id": "https://raw.githubusercontent.com/NateScarlet/holiday-cn/master/2022.json", + "year": 2022, + "papers": [ + "http://www.gov.cn/zhengce/content/2021-10/25/content_5644835.htm" + ], + "days": [ + { + "name": "元旦", + "date": "2022-01-01", + "isOffDay": true + }, + { + "name": "元旦", + "date": "2022-01-02", + "isOffDay": true + }, + { + "name": "元旦", + "date": "2022-01-03", + "isOffDay": true + }, + { + "name": "春节", + "date": "2022-01-29", + "isOffDay": false + }, + { + "name": "春节", + "date": "2022-01-30", + "isOffDay": false + }, + { + "name": "春节", + "date": "2022-01-31", + "isOffDay": true + }, + { + "name": "春节", + "date": "2022-02-01", + "isOffDay": true + }, + { + "name": "春节", + "date": "2022-02-02", + "isOffDay": true + }, + { + "name": "春节", + "date": "2022-02-03", + "isOffDay": true + }, + { + "name": "春节", + "date": "2022-02-04", + "isOffDay": true + }, + { + "name": "春节", + "date": "2022-02-05", + "isOffDay": true + }, + { + "name": "春节", + "date": "2022-02-06", + "isOffDay": true + }, + { + "name": "清明节", + "date": "2022-04-02", + "isOffDay": false + }, + { + "name": "清明节", + "date": "2022-04-03", + "isOffDay": true + }, + { + "name": "清明节", + "date": "2022-04-04", + "isOffDay": true + }, + { + "name": "清明节", + "date": "2022-04-05", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2022-04-24", + "isOffDay": false + }, + { + "name": "劳动节", + "date": "2022-04-30", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2022-05-01", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2022-05-02", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2022-05-03", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2022-05-04", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2022-05-07", + "isOffDay": false + }, + { + "name": "端午节", + "date": "2022-06-03", + "isOffDay": true + }, + { + "name": "端午节", + "date": "2022-06-04", + "isOffDay": true + }, + { + "name": "端午节", + "date": "2022-06-05", + "isOffDay": true + }, + { + "name": "中秋节", + "date": "2022-09-10", + "isOffDay": true + }, + { + "name": "中秋节", + "date": "2022-09-11", + "isOffDay": true + }, + { + "name": "中秋节", + "date": "2022-09-12", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2022-10-01", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2022-10-02", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2022-10-03", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2022-10-04", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2022-10-05", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2022-10-06", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2022-10-07", + "isOffDay": true + }, + { + "name": "国庆节", + "date": "2022-10-08", + "isOffDay": false + }, + { + "name": "国庆节", + "date": "2022-10-09", + "isOffDay": false + } + ] +} \ No newline at end of file diff --git a/2023.json b/2023.json new file mode 100644 index 000000000..7748e1054 --- /dev/null +++ b/2023.json @@ -0,0 +1,180 @@ +{ + "$schema": "https://raw.githubusercontent.com/NateScarlet/holiday-cn/master/schema.json", + "$id": "https://raw.githubusercontent.com/NateScarlet/holiday-cn/master/2023.json", + "year": 2023, + "papers": [ + "http://www.gov.cn/zhengce/content/2022-12/08/content_5730844.htm" + ], + "days": [ + { + "name": "元旦", + "date": "2022-12-31", + "isOffDay": true + }, + { + "name": "元旦", + "date": "2023-01-01", + "isOffDay": true + }, + { + "name": "元旦", + "date": "2023-01-02", + "isOffDay": true + }, + { + "name": "春节", + "date": "2023-01-21", + "isOffDay": true + }, + { + "name": "春节", + "date": "2023-01-22", + "isOffDay": true + }, + { + "name": "春节", + "date": "2023-01-23", + "isOffDay": true + }, + { + "name": "春节", + "date": "2023-01-24", + "isOffDay": true + }, + { + "name": "春节", + "date": "2023-01-25", + "isOffDay": true + }, + { + "name": "春节", + "date": "2023-01-26", + "isOffDay": true + }, + { + "name": "春节", + "date": "2023-01-27", + "isOffDay": true + }, + { + "name": "春节", + "date": "2023-01-28", + "isOffDay": false + }, + { + "name": "春节", + "date": "2023-01-29", + "isOffDay": false + }, + { + "name": "清明节", + "date": "2023-04-05", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2023-04-23", + "isOffDay": false + }, + { + "name": "劳动节", + "date": "2023-04-29", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2023-04-30", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2023-05-01", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2023-05-02", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2023-05-03", + "isOffDay": true + }, + { + "name": "劳动节", + "date": "2023-05-06", + "isOffDay": false + }, + { + "name": "端午节", + "date": "2023-06-22", + "isOffDay": true + }, + { + "name": "端午节", + "date": "2023-06-23", + "isOffDay": true + }, + { + "name": "端午节", + "date": "2023-06-24", + "isOffDay": true + }, + { + "name": "端午节", + "date": "2023-06-25", + "isOffDay": false + }, + { + "name": "中秋节、国庆节", + "date": "2023-09-29", + "isOffDay": true + }, + { + "name": "中秋节、国庆节", + "date": "2023-09-30", + "isOffDay": true + }, + { + "name": "中秋节、国庆节", + "date": "2023-10-01", + "isOffDay": true + }, + { + "name": "中秋节、国庆节", + "date": "2023-10-02", + "isOffDay": true + }, + { + "name": "中秋节、国庆节", + "date": "2023-10-03", + "isOffDay": true + }, + { + "name": "中秋节、国庆节", + "date": "2023-10-04", + "isOffDay": true + }, + { + "name": "中秋节、国庆节", + "date": "2023-10-05", + "isOffDay": true + }, + { + "name": "中秋节、国庆节", + "date": "2023-10-06", + "isOffDay": true + }, + { + "name": "中秋节、国庆节", + "date": "2023-10-07", + "isOffDay": false + }, + { + "name": "中秋节、国庆节", + "date": "2023-10-08", + "isOffDay": false + } + ] +} \ No newline at end of file diff --git a/404.html b/404.html new file mode 100644 index 000000000..4304af6ee --- /dev/null +++ b/404.html @@ -0,0 +1,39 @@ + + + + + + + + + 南科手册 + + + + + +

404

这是一个 404 页面
返回首页
+ + + diff --git a/IgaSCc0kNl.txt b/IgaSCc0kNl.txt new file mode 100644 index 000000000..0a6bf35ef --- /dev/null +++ b/IgaSCc0kNl.txt @@ -0,0 +1 @@ +c20e30af8077fefb9a5fb85accd30c3a \ No newline at end of file diff --git a/about/index.html b/about/index.html new file mode 100644 index 000000000..c7bde80cb --- /dev/null +++ b/about/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 帮助我们完善 | 南科手册 + + + + + +

帮助我们完善

主项目托管在 SUSTech-CRA/sustech-online-ng在新窗口打开

小程序托管在 SUSTech-CRA/sustech-online-wxapp在新窗口打开

快讯网托管在 SUSTech-CRA/sustech-online-daily-blog在新窗口打开

如何贡献 / 建议

  1. Pull request

    1. Fork 后,进行修改。
    2. 发起 Merge 请求。
  2. 邮件提交

    1. 发送邮件到 support__at__mail.sustech.online (__at__ 替换为 @)
  3. 代理提交

    1. 进入南科手册 QQ群在新窗口打开: 905618908
    2. 提交规范编写的Word,Markdown 文件给管理员。
    3. 管理员整理上传。

编写规范

  • 使用 Markdown 和 raw HTML / JavaScript 语言

贡献者


内容

感谢以下组织对南科手册所做的贡献(排名不分先后)

  • 树德书院先锋团

  • 致诚书院大学长团

  • 学生新闻社《南科新知》

开发 & 维护

李子强 ◇ 樊青远 ◇ 陈宇恒

计算支持

感谢以下个人 / 组织对南科手册所提供的计算支持(排名不分先后)

孙常超 ◇ 计算机研究协会 CRA

软件支持

本手册的部分交互组件开发使用了 Jetbrains Open Source License在新窗口打开

南科手册同时参考了:

+ + + diff --git a/ads.txt b/ads.txt new file mode 100644 index 000000000..1b683c65f --- /dev/null +++ b/ads.txt @@ -0,0 +1 @@ +google.com, pub-9039393129169217, DIRECT, f08c47fec0942fa0 \ No newline at end of file diff --git a/assets/0c1fb2d65e7c4e53a58a1d6d003cf6e5-k6fxj-DJ.jpeg b/assets/0c1fb2d65e7c4e53a58a1d6d003cf6e5-k6fxj-DJ.jpeg new file mode 100644 index 000000000..208548271 Binary files /dev/null and b/assets/0c1fb2d65e7c4e53a58a1d6d003cf6e5-k6fxj-DJ.jpeg differ diff --git a/assets/1-1bpHsARR.png b/assets/1-1bpHsARR.png new file mode 100644 index 000000000..3fdee9a5f Binary files /dev/null and b/assets/1-1bpHsARR.png differ diff --git a/assets/1-XdnAwupS.png b/assets/1-XdnAwupS.png new file mode 100644 index 000000000..f1a0ca10f Binary files /dev/null and b/assets/1-XdnAwupS.png differ diff --git a/assets/1-sxH-Yy_l.js b/assets/1-sxH-Yy_l.js new file mode 100644 index 000000000..edfab88bb --- /dev/null +++ b/assets/1-sxH-Yy_l.js @@ -0,0 +1 @@ +const I="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjAiIGhlaWdodD0iMjAiPjxsaW5lYXJHcmFkaWVudCBpZD0icyIgeDI9IjAiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNiYmIiIHN0b3Atb3BhY2l0eT0iLjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3Atb3BhY2l0eT0iLjEiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iciI+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiByeD0iMyIgZmlsbD0iI2ZmZiIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI3IpIj48cmVjdCB3aWR0aD0iNDMiIGhlaWdodD0iMjAiIGZpbGw9IiM1NTUiLz48cmVjdCB4PSI0MyIgd2lkdGg9IjE3IiBoZWlnaHQ9IjIwIiBmaWxsPSIjOTk1MGIyIi8+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiBmaWxsPSJ1cmwoI3MpIi8+PC9nPjxnIGZpbGw9IiNmZmYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJWZXJkYW5hLEdlbmV2YSxEZWphVnUgU2FucyxzYW5zLXNlcmlmIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBmb250LXNpemU9IjExMCI+PHRleHQgeD0iMjI1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iMjI1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iNTA1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSI3MCI+NTwvdGV4dD48dGV4dCB4PSI1MDUiIHk9IjE0MCIgdHJhbnNmb3JtPSJzY2FsZSguMSkiIHRleHRMZW5ndGg9IjcwIj41PC90ZXh0PjwvZz48L3N2Zz4=",i="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjAiIGhlaWdodD0iMjAiPjxsaW5lYXJHcmFkaWVudCBpZD0icyIgeDI9IjAiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNiYmIiIHN0b3Atb3BhY2l0eT0iLjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3Atb3BhY2l0eT0iLjEiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iciI+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiByeD0iMyIgZmlsbD0iI2ZmZiIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI3IpIj48cmVjdCB3aWR0aD0iNDMiIGhlaWdodD0iMjAiIGZpbGw9IiM1NTUiLz48cmVjdCB4PSI0MyIgd2lkdGg9IjE3IiBoZWlnaHQ9IjIwIiBmaWxsPSIjZGMyNDFmIi8+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiBmaWxsPSJ1cmwoI3MpIi8+PC9nPjxnIGZpbGw9IiNmZmYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJWZXJkYW5hLEdlbmV2YSxEZWphVnUgU2FucyxzYW5zLXNlcmlmIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBmb250LXNpemU9IjExMCI+PHRleHQgeD0iMjI1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iMjI1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iNTA1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSI3MCI+NDwvdGV4dD48dGV4dCB4PSI1MDUiIHk9IjE0MCIgdHJhbnNmb3JtPSJzY2FsZSguMSkiIHRleHRMZW5ndGg9IjcwIj40PC90ZXh0PjwvZz48L3N2Zz4=",Z="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjAiIGhlaWdodD0iMjAiPjxsaW5lYXJHcmFkaWVudCBpZD0icyIgeDI9IjAiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNiYmIiIHN0b3Atb3BhY2l0eT0iLjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3Atb3BhY2l0eT0iLjEiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iciI+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiByeD0iMyIgZmlsbD0iI2ZmZiIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI3IpIj48cmVjdCB3aWR0aD0iNDMiIGhlaWdodD0iMjAiIGZpbGw9IiM1NTUiLz48cmVjdCB4PSI0MyIgd2lkdGg9IjE3IiBoZWlnaHQ9IjIwIiBmaWxsPSIjZGI2ZDFjIi8+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiBmaWxsPSJ1cmwoI3MpIi8+PC9nPjxnIGZpbGw9IiNmZmYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJWZXJkYW5hLEdlbmV2YSxEZWphVnUgU2FucyxzYW5zLXNlcmlmIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBmb250LXNpemU9IjExMCI+PHRleHQgeD0iMjI1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iMjI1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iNTA1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSI3MCI+MjwvdGV4dD48dGV4dCB4PSI1MDUiIHk9IjE0MCIgdHJhbnNmb3JtPSJzY2FsZSguMSkiIHRleHRMZW5ndGg9IjcwIj4yPC90ZXh0PjwvZz48L3N2Zz4=",j="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjAiIGhlaWdodD0iMjAiPjxsaW5lYXJHcmFkaWVudCBpZD0icyIgeDI9IjAiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNiYmIiIHN0b3Atb3BhY2l0eT0iLjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3Atb3BhY2l0eT0iLjEiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iciI+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiByeD0iMyIgZmlsbD0iI2ZmZiIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI3IpIj48cmVjdCB3aWR0aD0iNDMiIGhlaWdodD0iMjAiIGZpbGw9IiM1NTUiLz48cmVjdCB4PSI0MyIgd2lkdGg9IjE3IiBoZWlnaHQ9IjIwIiBmaWxsPSIjMDBhYjM5Ii8+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiBmaWxsPSJ1cmwoI3MpIi8+PC9nPjxnIGZpbGw9IiNmZmYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJWZXJkYW5hLEdlbmV2YSxEZWphVnUgU2FucyxzYW5zLXNlcmlmIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBmb250LXNpemU9IjExMCI+PHRleHQgeD0iMjI1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iMjI1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iNTA1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSI3MCI+MTwvdGV4dD48dGV4dCB4PSI1MDUiIHk9IjE0MCIgdHJhbnNmb3JtPSJzY2FsZSguMSkiIHRleHRMZW5ndGg9IjcwIj4xPC90ZXh0PjwvZz48L3N2Zz4=";export{I as _,i as a,Z as b,j as c}; diff --git a/assets/18-19-fall-h58bLtxT.jpg b/assets/18-19-fall-h58bLtxT.jpg new file mode 100644 index 000000000..f73f6876e Binary files /dev/null and b/assets/18-19-fall-h58bLtxT.jpg differ diff --git a/assets/18-19-spring-9oIiIlx0.jpg b/assets/18-19-spring-9oIiIlx0.jpg new file mode 100644 index 000000000..68109efd8 Binary files /dev/null and b/assets/18-19-spring-9oIiIlx0.jpg differ diff --git a/assets/19-20-fall-QKArHwTs.jpg b/assets/19-20-fall-QKArHwTs.jpg new file mode 100644 index 000000000..59a1d6805 Binary files /dev/null and b/assets/19-20-fall-QKArHwTs.jpg differ diff --git a/assets/19-20-spring-kJZ0zCDc.jpg b/assets/19-20-spring-kJZ0zCDc.jpg new file mode 100644 index 000000000..4ae0c6b2a Binary files /dev/null and b/assets/19-20-spring-kJZ0zCDc.jpg differ diff --git a/assets/2-Iv2ilUVn.jpeg b/assets/2-Iv2ilUVn.jpeg new file mode 100644 index 000000000..f8a9a4c4c Binary files /dev/null and b/assets/2-Iv2ilUVn.jpeg differ diff --git a/assets/2-JWEWUDFu.jpeg b/assets/2-JWEWUDFu.jpeg new file mode 100644 index 000000000..acbd6ea06 Binary files /dev/null and b/assets/2-JWEWUDFu.jpeg differ diff --git a/assets/2-YKyWLga5.png b/assets/2-YKyWLga5.png new file mode 100644 index 000000000..aae5e6d2a Binary files /dev/null and b/assets/2-YKyWLga5.png differ diff --git a/assets/20-21-fall-bR3GtXjB.png b/assets/20-21-fall-bR3GtXjB.png new file mode 100644 index 000000000..e29fac8b1 Binary files /dev/null and b/assets/20-21-fall-bR3GtXjB.png differ diff --git a/assets/20-21-spring-Pdvy4ZPX.jpg b/assets/20-21-spring-Pdvy4ZPX.jpg new file mode 100644 index 000000000..b7fabc4a0 Binary files /dev/null and b/assets/20-21-spring-Pdvy4ZPX.jpg differ diff --git a/assets/2018-2019.html-P5iq5aEZ.js b/assets/2018-2019.html-P5iq5aEZ.js new file mode 100644 index 000000000..b4e227829 --- /dev/null +++ b/assets/2018-2019.html-P5iq5aEZ.js @@ -0,0 +1 @@ +import{_ as e,o as a,c as t,e as s}from"./app-9djxHuta.js";const r="/assets/18-19-fall-h58bLtxT.jpg",c="/assets/18-19-spring-9oIiIlx0.jpg",n={},i=s('

校历 - 2018-2019 学年

2018-2019 秋季学期

2018-2019 春季学期、夏季学期

',5),h=[i];function o(d,l){return a(),t("div",null,h)}const p=e(n,[["render",o],["__file","2018-2019.html.vue"]]);export{p as default}; diff --git a/assets/2018-2019.html-xUor3Kof.js b/assets/2018-2019.html-xUor3Kof.js new file mode 100644 index 000000000..a34444e4f --- /dev/null +++ b/assets/2018-2019.html-xUor3Kof.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-08ae5eba","path":"/calendar/2018-2019.html","title":"校历 - 2018-2019 学年","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"2018-2019 秋季学期","slug":"_2018-2019-秋季学期","link":"#_2018-2019-秋季学期","children":[]},{"level":2,"title":"2018-2019 春季学期、夏季学期","slug":"_2018-2019-春季学期、夏季学期","link":"#_2018-2019-春季学期、夏季学期","children":[]}],"git":{"updatedTime":1640077007000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":4},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":3}]},"filePathRelative":"calendar/2018-2019.md"}');export{e as data}; diff --git a/assets/2019-2020.html-KF1FsVtf.js b/assets/2019-2020.html-KF1FsVtf.js new file mode 100644 index 000000000..d4adf85c1 --- /dev/null +++ b/assets/2019-2020.html-KF1FsVtf.js @@ -0,0 +1 @@ +import{_ as e,o as a,c as s,e as t}from"./app-9djxHuta.js";const r="/assets/19-20-fall-QKArHwTs.jpg",c="/assets/19-20-spring-kJZ0zCDc.jpg",n={},i=t('

校历 - 2019-2020 学年

2019-2020 秋季学期

2019-2020 春季学期、夏季学期

',5),h=[i];function o(d,l){return a(),s("div",null,h)}const p=e(n,[["render",o],["__file","2019-2020.html.vue"]]);export{p as default}; diff --git a/assets/2019-2020.html-LcCY3rRi.js b/assets/2019-2020.html-LcCY3rRi.js new file mode 100644 index 000000000..7693fa3d4 --- /dev/null +++ b/assets/2019-2020.html-LcCY3rRi.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-93cfbde4","path":"/calendar/2019-2020.html","title":"校历 - 2019-2020 学年","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"2019-2020 秋季学期","slug":"_2019-2020-秋季学期","link":"#_2019-2020-秋季学期","children":[]},{"level":2,"title":"2019-2020 春季学期、夏季学期","slug":"_2019-2020-春季学期、夏季学期","link":"#_2019-2020-春季学期、夏季学期","children":[]}],"git":{"updatedTime":1640077007000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":4},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":3}]},"filePathRelative":"calendar/2019-2020.md"}');export{e as data}; diff --git a/assets/2020-2021.html-48ii4A6r.js b/assets/2020-2021.html-48ii4A6r.js new file mode 100644 index 000000000..a4cc3c54c --- /dev/null +++ b/assets/2020-2021.html-48ii4A6r.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-f917537a","path":"/calendar/2020-2021.html","title":"校历 - 2020-2021 学年","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"2020-2021 秋季学期","slug":"_2020-2021-秋季学期","link":"#_2020-2021-秋季学期","children":[]},{"level":2,"title":"2020-2021 春季学期、夏季学期","slug":"_2020-2021-春季学期、夏季学期","link":"#_2020-2021-春季学期、夏季学期","children":[]}],"git":{"updatedTime":1640077007000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":5},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":5},{"name":"chenyuheng","email":"pass@chenyuheng.cn","commits":1}]},"filePathRelative":"calendar/2020-2021.md"}');export{e as data}; diff --git a/assets/2020-2021.html-CQE0h0uh.js b/assets/2020-2021.html-CQE0h0uh.js new file mode 100644 index 000000000..6d957e779 --- /dev/null +++ b/assets/2020-2021.html-CQE0h0uh.js @@ -0,0 +1 @@ +import{_ as e,o as a,c as t,e as s}from"./app-9djxHuta.js";const c="/assets/20-21-fall-bR3GtXjB.png",r="/assets/20-21-spring-Pdvy4ZPX.jpg",n={},i=s('

校历 - 2020-2021 学年

2020-2021 秋季学期

提示

由于COVID-19疫情,校历随时可能变化。

2020-2021 春季学期、夏季学期

',6),o=[i];function d(h,l){return a(),t("div",null,o)}const _=e(n,[["render",d],["__file","2020-2021.html.vue"]]);export{_ as default}; diff --git a/assets/2021-2022.html-TRxUStp_.js b/assets/2021-2022.html-TRxUStp_.js new file mode 100644 index 000000000..bf7bcf124 --- /dev/null +++ b/assets/2021-2022.html-TRxUStp_.js @@ -0,0 +1 @@ +const a=JSON.parse('{"key":"v-1a0de1a3","path":"/calendar/2021-2022.html","title":"校历 - 2021-2022 学年","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1671089619000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":6},{"name":"liziwl","email":"leezisy@gmail.com","commits":3}]},"filePathRelative":"calendar/2021-2022.md"}');export{a as data}; diff --git a/assets/2021-2022.html-_0D3LKbB.js b/assets/2021-2022.html-_0D3LKbB.js new file mode 100644 index 000000000..fbe1dcc86 --- /dev/null +++ b/assets/2021-2022.html-_0D3LKbB.js @@ -0,0 +1 @@ +import{_ as n,r,o as c,c as o,b as e,d as t,a}from"./app-9djxHuta.js";const i={},l=e("h1",{id:"校历-2021-2022-学年",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#校历-2021-2022-学年","aria-hidden":"true"},"#"),t(" 校历 - 2021-2022 学年")],-1),d=e("div",{class:"custom-container tip"},[e("p",{class:"custom-container-title"},"提示"),e("p",null,"此版本为预先发布,校历随时可能变化。")],-1),h={href:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/calendar/2021-2022.pdf",target:"_blank",rel:"noopener noreferrer"},u=e("iframe",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/pdfjs/web/viewer.html?file=https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/calendar/2021-2022.pdf",width:"100%",height:"600"},null,-1);function _(m,p){const s=r("ExternalLinkIcon");return c(),o("div",null,[l,d,e("ul",null,[e("li",null,[e("a",h,[t("下载校历"),a(s)])])]),u])}const x=n(i,[["render",_],["__file","2021-2022.html.vue"]]);export{x as default}; diff --git a/assets/2021.html-Zp9WOhGw.js b/assets/2021.html-Zp9WOhGw.js new file mode 100644 index 000000000..df2e0b19e --- /dev/null +++ b/assets/2021.html-Zp9WOhGw.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-104cfa63","path":"/if-you-are-a-freshman/2021.html","title":"如果你是新生...","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"到校之前,你可以","slug":"到校之前-你可以","link":"#到校之前-你可以","children":[{"level":3,"title":"加入新生群","slug":"加入新生群","link":"#加入新生群","children":[]},{"level":3,"title":"云游南科大校园","slug":"云游南科大校园","link":"#云游南科大校园","children":[]},{"level":3,"title":"关注几个公众号","slug":"关注几个公众号","link":"#关注几个公众号","children":[]},{"level":3,"title":"了解课程与培养方案","slug":"了解课程与培养方案","link":"#了解课程与培养方案","children":[]},{"level":3,"title":"读一读来自学长学姐的建议","slug":"读一读来自学长学姐的建议","link":"#读一读来自学长学姐的建议","children":[]},{"level":3,"title":"再来看看有没有你感兴趣的社团","slug":"再来看看有没有你感兴趣的社团","link":"#再来看看有没有你感兴趣的社团","children":[]},{"level":3,"title":"当然,衣食住行也相当重要","slug":"当然-衣食住行也相当重要","link":"#当然-衣食住行也相当重要","children":[]},{"level":3,"title":"要是我提早到了深圳...","slug":"要是我提早到了深圳","link":"#要是我提早到了深圳","children":[]}]},{"level":2,"title":"到校之后,你可以...","slug":"到校之后-你可以","link":"#到校之后-你可以","children":[]},{"level":2,"title":"最后...","slug":"最后","link":"#最后","children":[]}],"git":{"updatedTime":1641053234000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":3},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":3},{"name":"lethal233","email":"11811407@mail.sustech.edu.cn","commits":1}]},"filePathRelative":"if-you-are-a-freshman/2021.md"}');export{l as data}; diff --git a/assets/2021.html-mB7tsYtP.js b/assets/2021.html-mB7tsYtP.js new file mode 100644 index 000000000..dd1429c1a --- /dev/null +++ b/assets/2021.html-mB7tsYtP.js @@ -0,0 +1 @@ +import{_ as s,r as i,o as d,c as h,b as e,d as t,a,w as n,e as c}from"./app-9djxHuta.js";const u={},_=c('

如果你是新生...

提示

右键/长按链接在新窗口打开,以获得更好的阅读效果!

部分内容由 致诚书院大学长团 提供

到校之前,你可以

加入新生群

',5),E={href:"https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md",target:"_blank",rel:"noopener noreferrer"},B=e("blockquote",null,[e("p",null,"致仁书院2021新生咨询群:816654278"),e("p",null,"树仁书院2021新生咨询群:604825984"),e("p",null,"致诚书院2021新生咨询群:566967759"),e("p",null,"树德书院2021新生咨询群:558488731"),e("p",null,"致新书院2021新生咨询群:644754638"),e("p",null,"树礼书院2021新生咨询群:768901668"),e("p",null,"2021全国迎新群(官方):461027383")],-1),f=e("h3",{id:"云游南科大校园",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#云游南科大校园","aria-hidden":"true"},"#"),t(" 云游南科大校园")],-1),A=e("p",null,[e("img",{src:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/facility/campus-pano.jpg",alt:"湖畔全景"})],-1),p={href:"https://www.sustech.edu.cn/zh/gallery.html",target:"_blank",rel:"noopener noreferrer"},m={id:"关注几个公众号",tabindex:"-1"},b=e("a",{class:"header-anchor",href:"#关注几个公众号","aria-hidden":"true"},"#",-1),x={href:"https://suste.ch/",target:"_blank",rel:"noopener noreferrer"},g={href:"https://sustc.wiki/%E7%89%B9%E6%AE%8A:%E6%89%80%E6%9C%89%E9%A1%B5%E9%9D%A2?from=&to=&namespace=0&hideredirects=1",target:"_blank",rel:"noopener noreferrer"},F=e("h3",{id:"了解课程与培养方案",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#了解课程与培养方案","aria-hidden":"true"},"#"),t(" 了解课程与培养方案")],-1),y=e("p",null,"培养方案和课程详述(syllabus)将会陪伴你大学四年,不妨在有空时翻阅一下,寻找你心水的专业与课程。",-1),k={href:"https://mirrors.sustech.edu.cn/courses/%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/2021%E7%BA%A7%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/",target:"_blank",rel:"noopener noreferrer"},D=e("p",null,"你也可以现行了解入学后的分级考试都会涉及哪些内容,并决定自己收否需要参加某些考试。",-1),w=e("h3",{id:"读一读来自学长学姐的建议",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#读一读来自学长学姐的建议","aria-hidden":"true"},"#"),t(" 读一读来自学长学姐的建议")],-1),C=e("ul",null,[e("li",null,[e("em",null,"包括入学考试,专业选课,英语学习等信息")])],-1),v=e("h3",{id:"再来看看有没有你感兴趣的社团",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#再来看看有没有你感兴趣的社团","aria-hidden":"true"},"#"),t(" 再来看看有没有你感兴趣的社团")],-1),q=e("ul",null,[e("li",null,"包括如何选择社团和致诚书院特色社团介绍,由致诚书院大学长团提供。")],-1),z=e("h3",{id:"当然-衣食住行也相当重要",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#当然-衣食住行也相当重要","aria-hidden":"true"},"#"),t(" 当然,衣食住行也相当重要")],-1),N=e("ul",null,[e("li",null,"包括新生宿舍、洗衣房介绍,还有一些 tips,由致诚书院大学长团提供。")],-1),Q=e("h4",{id:"先了解一下住宿环境",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#先了解一下住宿环境","aria-hidden":"true"},"#"),t(" 先了解一下住宿环境")],-1),L=e("ul",null,[e("li",null,"包括食堂、学习场所、运动场所、活动场所的介绍,由致诚书院大学长团提供。")],-1),R=e("h4",{id:"校内都有啥吃的",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#校内都有啥吃的","aria-hidden":"true"},"#"),t(" 校内都有啥吃的?")],-1),V=e("h4",{id:"东西在哪里买",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#东西在哪里买","aria-hidden":"true"},"#"),t(" 东西在哪里买?")],-1),T=e("h4",{id:"想健身",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#想健身","aria-hidden":"true"},"#"),t(" 想健身?")],-1),I=e("h3",{id:"要是我提早到了深圳",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#要是我提早到了深圳","aria-hidden":"true"},"#"),t(" 要是我提早到了深圳...")],-1),S=e("strong",null,"没提早到也没关系",-1),j=e("h2",{id:"到校之后-你可以",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#到校之后-你可以","aria-hidden":"true"},"#"),t(" 到校之后,你可以...")],-1),H={id:"了解如何连接校园网络",tabindex:"-1"},M=e("a",{class:"header-anchor",href:"#了解如何连接校园网络","aria-hidden":"true"},"#",-1),W={id:"看看其他的实用技巧",tabindex:"-1"},G=e("a",{class:"header-anchor",href:"#看看其他的实用技巧","aria-hidden":"true"},"#",-1),J={id:"添加黄页中提到的常用qq群",tabindex:"-1"},K=e("a",{class:"header-anchor",href:"#添加黄页中提到的常用qq群","aria-hidden":"true"},"#",-1),O=e("h2",{id:"最后",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#最后","aria-hidden":"true"},"#"),t(" 最后...")],-1);function P(U,X){const o=i("ExternalLinkIcon"),l=i("RouterLink"),r=i("Badge");return d(),h("div",null,[_,e("p",null,[t("根据迎新网上的提示,加入新生群,在QQ群内向学长学姐提出你想问的问题。提问之前,别忘了先看看"),e("a",E,[t("《提问的智慧》"),a(o)]),t("。")]),B,f,e("p",null,[t("查看南科手册的"),a(l,{to:"/facility/"},{default:n(()=>[t("🏫建筑与设施部分")]),_:1}),t(",了解校园内都有哪些建筑,他们的功能都是什么。或是在"),a(l,{to:"/facility/"},{default:n(()=>[t("设施")]),_:1}),t("页面查看每栋建筑的介绍,和校园街景/航拍全景。")]),A,e("p",null,[t("你也可以在南科大官网中的"),e("a",p,[t("南科视界"),a(o)]),t("栏目查看最新的校园照片。")]),e("h3",m,[b,t(" 关注几个公众号"),a(r,{text:"Recommend",type:"tip"})]),e("p",null,[t("除了南科大的官方公众号和书院公众号,你也可以关注新闻社运营的"),a(l,{to:"/media/#%E5%AD%A6%E7%94%9F%E7%BB%84%E7%BB%87%E4%B8%8E%E7%A4%BE%E5%9B%A2"},{default:n(()=>[t("南科新知")]),_:1}),t(",或是由学生自主运营的"),a(l,{to:"/media/#%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7"},{default:n(()=>[t("你科周末")]),_:1}),t("。从官方与学生的角度,全面地了解南科大。当然,在"),a(l,{to:"/media/#%F0%9F%93%BA%E5%AA%92%E4%BD%93%E4%B8%8E%E7%BD%91%E7%AB%99"},{default:n(()=>[t("📺媒体与网站")]),_:1}),t("部分中的其他公众号或是"),e("a",x,[t("网站"),a(o)]),t("中,你或许能够了解南科大的更多"),e("a",g,[t("轶事"),a(o)]),t("。")]),F,y,e("ul",null,[e("li",null,[a(l,{to:"/study/by-shude-college/advice-on-study.html#%E5%85%A5%E5%AD%A6%E8%80%83%E8%AF%95%E7%9A%84%E5%BB%BA%E8%AE%AE"},{default:n(()=>[t("🎓学在南科/课程")]),_:1})]),e("li",null,[e("a",k,[t("2021级本科人才培养方案"),a(o)])])]),D,w,e("ul",null,[e("li",null,[a(l,{to:"/study/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E5%AD%A6%E4%B9%A0%E7%AF%87.html"},{default:n(()=>[t("致诚书院新生攻略学习篇(2021)")]),_:1}),C])]),v,e("ul",null,[e("li",null,[a(l,{to:"/organizations/#%E7%A4%BE%E5%9B%A2"},{default:n(()=>[t("🎡社团活动")]),_:1})]),e("li",null,[a(l,{to:"/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E7%A4%BE%E5%9B%A2%E7%AF%87.html"},{default:n(()=>[t("新生攻略之社团篇(2021)")]),_:1}),q])]),z,e("ul",null,[e("li",null,[a(l,{to:"/life/"},{default:n(()=>[t("👨‍🎓生活在南科")]),_:1})]),e("li",null,[a(l,{to:"/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E5%AE%BF%E8%88%8D%E7%94%9F%E6%B4%BB%E7%AF%87.html"},{default:n(()=>[t("新生攻略之宿舍生活篇(2021)")]),_:1}),N])]),Q,e("ul",null,[e("li",null,[a(l,{to:"/life/dormitory/"},{default:n(()=>[t("👨‍🎓生活在南科/住在南科")]),_:1})]),e("li",null,[a(l,{to:"/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E6%A0%A1%E5%86%85%E4%BB%8B%E7%BB%8D%E7%AF%87.html"},{default:n(()=>[t("新生攻略之校内介绍篇(2021)")]),_:1}),L])]),R,e("ul",null,[e("li",null,[a(l,{to:"/life/catering/"},{default:n(()=>[t("☕️餐饮")]),_:1})])]),V,e("ul",null,[e("li",null,[a(l,{to:"/life/#%E8%B6%85%E5%B8%82"},{default:n(()=>[t("🏪超市")]),_:1})])]),T,e("ul",null,[e("li",null,[a(l,{to:"/life/sports-facility/"},{default:n(()=>[t("🏊‍♀️运动设施")]),_:1})])]),I,e("p",null,[t("不妨去探索"),a(l,{to:"/surroundings/"},{default:n(()=>[t("学校周边的设施")]),_:1}),t("。")]),e("p",null,[S,t(",你也可以先规划如何"),a(l,{to:"/transport/#%F0%9F%97%BA%E6%8A%B5%E8%BE%BE%E5%8D%97%E6%96%B9%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6"},{default:n(()=>[t("抵达学校")]),_:1}),t(",看看深圳市内都有"),a(l,{to:"/transport/#%E5%B8%82%E5%86%85%E4%BA%A4%E9%80%9A"},{default:n(()=>[t("哪些交通方式")]),_:1}),t("。")]),j,e("h4",H,[M,t(" 了解"),a(l,{to:"/service/network/"},{default:n(()=>[t("如何连接校园网络")]),_:1})]),e("h4",W,[G,t(" 看看其他的"),a(l,{to:"/service/"},{default:n(()=>[t("实用技巧")]),_:1})]),e("h4",J,[K,t(" 添加"),a(l,{to:"/contact/"},{default:n(()=>[t("黄页")]),_:1}),t("中提到的常用QQ群")]),O,e("p",null,[t("把南科手册添加到浏览器的收藏夹或是桌面!("),a(l,{to:"/site-help/"},{default:n(()=>[t("没错,南科手册也可以作为一个本地应用运行")]),_:1}),t(")你会发现你在未来会经常需要用到它~")])])}const Z=s(u,[["render",P],["__file","2021.html.vue"]]);export{Z as default}; diff --git a/assets/2021fall.html-3t-F1J-l.js b/assets/2021fall.html-3t-F1J-l.js new file mode 100644 index 000000000..3312e9648 --- /dev/null +++ b/assets/2021fall.html-3t-F1J-l.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-190ab309","path":"/calendar/2021fall.html","title":"","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"【当前学期】2021-2022 秋季学期","slug":"【当前学期】2021-2022-秋季学期","link":"#【当前学期】2021-2022-秋季学期","children":[]}],"git":{"updatedTime":1644826336000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"calendar/2021fall.md"}');export{e as data}; diff --git a/assets/2021fall.html-dp3Gi_Np.js b/assets/2021fall.html-dp3Gi_Np.js new file mode 100644 index 000000000..5ffac93b2 --- /dev/null +++ b/assets/2021fall.html-dp3Gi_Np.js @@ -0,0 +1 @@ +import{_ as e,o as s,c as t,e as c}from"./app-9djxHuta.js";const a="/assets/21-22-fall-mbXDUbzc.jpg",r={},n=c('

【当前学期】2021-2022 秋季学期

',3),i=[n];function l(o,h){return s(),t("div",null,i)}const f=e(r,[["render",l],["__file","2021fall.html.vue"]]);export{f as default}; diff --git a/assets/2022-2023.html-FKO2ZOW6.js b/assets/2022-2023.html-FKO2ZOW6.js new file mode 100644 index 000000000..2f7c3fb89 --- /dev/null +++ b/assets/2022-2023.html-FKO2ZOW6.js @@ -0,0 +1 @@ +import{_ as t}from"./22-23-spring-lUrMAlUU.js";import{_ as s,o,c as a,b as e,d as _}from"./app-9djxHuta.js";const r="/assets/23-24-fall-dlr0eE3h.jpg",c={},l=e("h1",{id:"校历-2022-2023-学年",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#校历-2022-2023-学年","aria-hidden":"true"},"#"),_(" 校历 - 2022-2023 学年")],-1),n=e("p",null,[e("img",{src:t,alt:" "})],-1),i=e("p",null,[e("img",{src:r,alt:"23-24-fall"})],-1),d=[l,n,i];function h(m,f){return o(),a("div",null,d)}const x=s(c,[["render",h],["__file","2022-2023.html.vue"]]);export{x as default}; diff --git a/assets/2022-2023.html-jjUPGphm.js b/assets/2022-2023.html-jjUPGphm.js new file mode 100644 index 000000000..1af918d6f --- /dev/null +++ b/assets/2022-2023.html-jjUPGphm.js @@ -0,0 +1 @@ +const a=JSON.parse('{"key":"v-9eb125fa","path":"/calendar/2022-2023.html","title":"校历 - 2022-2023 学年","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1671159794000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":2}]},"filePathRelative":"calendar/2022-2023.md"}');export{a as data}; diff --git a/assets/2022-Cg5Yx66P.jpg b/assets/2022-Cg5Yx66P.jpg new file mode 100644 index 000000000..9d248863b Binary files /dev/null and b/assets/2022-Cg5Yx66P.jpg differ diff --git a/assets/21-22-fall-mbXDUbzc.jpg b/assets/21-22-fall-mbXDUbzc.jpg new file mode 100644 index 000000000..f43d1d3be Binary files /dev/null and b/assets/21-22-fall-mbXDUbzc.jpg differ diff --git a/assets/22-23-spring-lUrMAlUU.js b/assets/22-23-spring-lUrMAlUU.js new file mode 100644 index 000000000..a7e5e9efc --- /dev/null +++ b/assets/22-23-spring-lUrMAlUU.js @@ -0,0 +1 @@ +const s="/assets/22-23-spring-zWzu0sAq.jpg";export{s as _}; diff --git a/assets/22-23-spring-zWzu0sAq.jpg b/assets/22-23-spring-zWzu0sAq.jpg new file mode 100644 index 000000000..67c712a8e Binary files /dev/null and b/assets/22-23-spring-zWzu0sAq.jpg differ diff --git a/assets/23-24-fall-dlr0eE3h.jpg b/assets/23-24-fall-dlr0eE3h.jpg new file mode 100644 index 000000000..55a70ba89 Binary files /dev/null and b/assets/23-24-fall-dlr0eE3h.jpg differ diff --git a/assets/2d474998994c4bdea64fc0c20e468e4e-NkU-1ZgV.jpeg b/assets/2d474998994c4bdea64fc0c20e468e4e-NkU-1ZgV.jpeg new file mode 100644 index 000000000..5f6894ba9 Binary files /dev/null and b/assets/2d474998994c4bdea64fc0c20e468e4e-NkU-1ZgV.jpeg differ diff --git a/assets/3-_OP0ErxB.jpeg b/assets/3-_OP0ErxB.jpeg new file mode 100644 index 000000000..5c6037116 Binary files /dev/null and b/assets/3-_OP0ErxB.jpeg differ diff --git a/assets/3-wJ5wenVd.png b/assets/3-wJ5wenVd.png new file mode 100644 index 000000000..b85720daf Binary files /dev/null and b/assets/3-wJ5wenVd.png differ diff --git a/assets/31d2011305ae4d6680b5c6ebe16c4aa2-9vxfcCpa.jpeg b/assets/31d2011305ae4d6680b5c6ebe16c4aa2-9vxfcCpa.jpeg new file mode 100644 index 000000000..1419840d8 Binary files /dev/null and b/assets/31d2011305ae4d6680b5c6ebe16c4aa2-9vxfcCpa.jpeg differ diff --git a/assets/4-6aZcFcyC.png b/assets/4-6aZcFcyC.png new file mode 100644 index 000000000..ce125af53 Binary files /dev/null and b/assets/4-6aZcFcyC.png differ diff --git a/assets/4-bpwjiTPR.jpeg b/assets/4-bpwjiTPR.jpeg new file mode 100644 index 000000000..6297d7ce3 Binary files /dev/null and b/assets/4-bpwjiTPR.jpeg differ diff --git a/assets/404.html-r6aI8Oiv.js b/assets/404.html-r6aI8Oiv.js new file mode 100644 index 000000000..5a0b8dedc --- /dev/null +++ b/assets/404.html-r6aI8Oiv.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-3706649a","path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{t as data}; diff --git a/assets/404.html-s0CXmb-C.js b/assets/404.html-s0CXmb-C.js new file mode 100644 index 000000000..00fec85c4 --- /dev/null +++ b/assets/404.html-s0CXmb-C.js @@ -0,0 +1 @@ +import{_ as e,o as c,c as t}from"./app-9djxHuta.js";const _={};function o(r,n){return c(),t("div")}const a=e(_,[["render",o],["__file","404.html.vue"]]);export{a as default}; diff --git a/assets/5-ORniMUH3.jpeg b/assets/5-ORniMUH3.jpeg new file mode 100644 index 000000000..4287f96d0 Binary files /dev/null and b/assets/5-ORniMUH3.jpeg differ diff --git a/assets/5-Wuazp14Y.png b/assets/5-Wuazp14Y.png new file mode 100644 index 000000000..c62f3cf18 Binary files /dev/null and b/assets/5-Wuazp14Y.png differ diff --git a/assets/59cf84079d9ff4f9-ujShyhGG.jpg b/assets/59cf84079d9ff4f9-ujShyhGG.jpg new file mode 100644 index 000000000..8fbd463c6 Binary files /dev/null and b/assets/59cf84079d9ff4f9-ujShyhGG.jpg differ diff --git a/assets/5e3cf29b0f8a445c94d7446cc68f0e8c-hSCmkTvA.png b/assets/5e3cf29b0f8a445c94d7446cc68f0e8c-hSCmkTvA.png new file mode 100644 index 000000000..b84a5d8ca Binary files /dev/null and b/assets/5e3cf29b0f8a445c94d7446cc68f0e8c-hSCmkTvA.png differ diff --git a/assets/6-IyBvI-Hj.jpeg b/assets/6-IyBvI-Hj.jpeg new file mode 100644 index 000000000..ee461ffcf Binary files /dev/null and b/assets/6-IyBvI-Hj.jpeg differ diff --git a/assets/6-N_UgIkBF.png b/assets/6-N_UgIkBF.png new file mode 100644 index 000000000..659024aca Binary files /dev/null and b/assets/6-N_UgIkBF.png differ diff --git a/assets/7-lalB6z06.jpeg b/assets/7-lalB6z06.jpeg new file mode 100644 index 000000000..9ab25eb39 Binary files /dev/null and b/assets/7-lalB6z06.jpeg differ diff --git a/assets/8-vfo3aBpN.jpeg b/assets/8-vfo3aBpN.jpeg new file mode 100644 index 000000000..3ae2774ad Binary files /dev/null and b/assets/8-vfo3aBpN.jpeg differ diff --git a/assets/880086e6cc0a4858822011a636f7cd2d-a5hvlW6l.jpeg b/assets/880086e6cc0a4858822011a636f7cd2d-a5hvlW6l.jpeg new file mode 100644 index 000000000..287608eb9 Binary files /dev/null and b/assets/880086e6cc0a4858822011a636f7cd2d-a5hvlW6l.jpeg differ diff --git a/assets/8851f3bf244d4a8681ac4a1a15364221-mXGr-557.jpeg b/assets/8851f3bf244d4a8681ac4a1a15364221-mXGr-557.jpeg new file mode 100644 index 000000000..aed6ec7a9 Binary files /dev/null and b/assets/8851f3bf244d4a8681ac4a1a15364221-mXGr-557.jpeg differ diff --git a/assets/8d99f0bb36194313a3855fc657cb54c2-eFMjR6kC.jpeg b/assets/8d99f0bb36194313a3855fc657cb54c2-eFMjR6kC.jpeg new file mode 100644 index 000000000..d2373848d Binary files /dev/null and b/assets/8d99f0bb36194313a3855fc657cb54c2-eFMjR6kC.jpeg differ diff --git "a/assets/AED\345\234\260\345\233\276_\346\225\221\346\217\264\351\230\237\345\234\260\345\233\276\347\273\204-LaysqPt_.jpg" "b/assets/AED\345\234\260\345\233\276_\346\225\221\346\217\264\351\230\237\345\234\260\345\233\276\347\273\204-LaysqPt_.jpg" new file mode 100644 index 000000000..86090bbcd Binary files /dev/null and "b/assets/AED\345\234\260\345\233\276_\346\225\221\346\217\264\351\230\237\345\234\260\345\233\276\347\273\204-LaysqPt_.jpg" differ diff --git a/assets/CC-BY-SA_icon-OV5rpqYe.svg b/assets/CC-BY-SA_icon-OV5rpqYe.svg new file mode 100644 index 000000000..9b0c0bec4 --- /dev/null +++ b/assets/CC-BY-SA_icon-OV5rpqYe.svg @@ -0,0 +1,9 @@ + +]> + + Creative Commons “Attribution-Share Alike” license icon + + + + + diff --git a/assets/DSC_4009-la6IQI6t.jpg b/assets/DSC_4009-la6IQI6t.jpg new file mode 100644 index 000000000..e184d6e23 Binary files /dev/null and b/assets/DSC_4009-la6IQI6t.jpg differ diff --git a/assets/DSC_4011-zDaaLHs9.jpg b/assets/DSC_4011-zDaaLHs9.jpg new file mode 100644 index 000000000..b9111c54e Binary files /dev/null and b/assets/DSC_4011-zDaaLHs9.jpg differ diff --git a/assets/IMG_20210123_205049-cPc0bUDM.jpg b/assets/IMG_20210123_205049-cPc0bUDM.jpg new file mode 100644 index 000000000..e3f45031b Binary files /dev/null and b/assets/IMG_20210123_205049-cPc0bUDM.jpg differ diff --git a/assets/IMG_20210126_195515-j5iDfCtq.jpg b/assets/IMG_20210126_195515-j5iDfCtq.jpg new file mode 100644 index 000000000..222e854f9 Binary files /dev/null and b/assets/IMG_20210126_195515-j5iDfCtq.jpg differ diff --git a/assets/IMG_20210126_195546-M6kBcnJJ.jpg b/assets/IMG_20210126_195546-M6kBcnJJ.jpg new file mode 100644 index 000000000..7cd2f7157 Binary files /dev/null and b/assets/IMG_20210126_195546-M6kBcnJJ.jpg differ diff --git a/assets/IMG_20210126_195856-18hfvpFY.jpg b/assets/IMG_20210126_195856-18hfvpFY.jpg new file mode 100644 index 000000000..141ddb667 Binary files /dev/null and b/assets/IMG_20210126_195856-18hfvpFY.jpg differ diff --git a/assets/IMG_20210126_195932-nD6GLouo.jpg b/assets/IMG_20210126_195932-nD6GLouo.jpg new file mode 100644 index 000000000..db9ced6e3 Binary files /dev/null and b/assets/IMG_20210126_195932-nD6GLouo.jpg differ diff --git a/assets/IMG_20210126_200439_edit_7106211807769-r72WW1j6.jpg b/assets/IMG_20210126_200439_edit_7106211807769-r72WW1j6.jpg new file mode 100644 index 000000000..7c930ebb4 Binary files /dev/null and b/assets/IMG_20210126_200439_edit_7106211807769-r72WW1j6.jpg differ diff --git a/assets/IMG_20210126_205402-YGDH55As.jpg b/assets/IMG_20210126_205402-YGDH55As.jpg new file mode 100644 index 000000000..e6f5f7c50 Binary files /dev/null and b/assets/IMG_20210126_205402-YGDH55As.jpg differ diff --git a/assets/IMG_20210126_205908-ncwgn3B3.jpg b/assets/IMG_20210126_205908-ncwgn3B3.jpg new file mode 100644 index 000000000..0875a9e4e Binary files /dev/null and b/assets/IMG_20210126_205908-ncwgn3B3.jpg differ diff --git a/assets/IMG_20210126_210458-maa6HknS.jpg b/assets/IMG_20210126_210458-maa6HknS.jpg new file mode 100644 index 000000000..682b6a9f5 Binary files /dev/null and b/assets/IMG_20210126_210458-maa6HknS.jpg differ diff --git a/assets/IMG_20210126_210550-oND9JUxH.jpg b/assets/IMG_20210126_210550-oND9JUxH.jpg new file mode 100644 index 000000000..1c4520043 Binary files /dev/null and b/assets/IMG_20210126_210550-oND9JUxH.jpg differ diff --git a/assets/IMG_20210126_210622-FpsRcWyI.jpg b/assets/IMG_20210126_210622-FpsRcWyI.jpg new file mode 100644 index 000000000..7c4bdcb56 Binary files /dev/null and b/assets/IMG_20210126_210622-FpsRcWyI.jpg differ diff --git a/assets/IMG_20210126_211345-SA56pTHu.jpg b/assets/IMG_20210126_211345-SA56pTHu.jpg new file mode 100644 index 000000000..19e54642b Binary files /dev/null and b/assets/IMG_20210126_211345-SA56pTHu.jpg differ diff --git a/assets/Screenshot_20210128_114248_com.MobileTicket-1oAQbIdG.jpg b/assets/Screenshot_20210128_114248_com.MobileTicket-1oAQbIdG.jpg new file mode 100644 index 000000000..aee8b892e Binary files /dev/null and b/assets/Screenshot_20210128_114248_com.MobileTicket-1oAQbIdG.jpg differ diff --git a/assets/add1-AkpP_MP1.png b/assets/add1-AkpP_MP1.png new file mode 100644 index 000000000..8afdd9a29 Binary files /dev/null and b/assets/add1-AkpP_MP1.png differ diff --git a/assets/add2-48WTTQlO.png b/assets/add2-48WTTQlO.png new file mode 100644 index 000000000..7218f35b4 Binary files /dev/null and b/assets/add2-48WTTQlO.png differ diff --git a/assets/add3-pPq4YNGb.png b/assets/add3-pPq4YNGb.png new file mode 100644 index 000000000..3fafd5cf5 Binary files /dev/null and b/assets/add3-pPq4YNGb.png differ diff --git a/assets/advice-on-study.html-xYH1v9OJ.js b/assets/advice-on-study.html-xYH1v9OJ.js new file mode 100644 index 000000000..0e0849883 --- /dev/null +++ b/assets/advice-on-study.html-xYH1v9OJ.js @@ -0,0 +1 @@ +import{_ as i,r,o,c as s,b as e,d as a,a as n,w as c,e as h}from"./app-9djxHuta.js";const p={},l=h('

📖学习建议

包括暑假学习建议、大学学习准备、入学考试准备、个人提升。

由树德书院学长团整理。

序言

在2020高考的你们,注定和今年一样不平凡。虽然结束了繁忙⽽充实的⾼中三年,但却需要马不停蹄地准备大学开学,投入到全新的学习与生活环境中。大学和高中的生活方式有很多不同,学习模式有根本区别。在本弹中,树德学长团特意为大家总结了在南科大学习,你需要拥有的学习心态,需要掌握的学习方法以及入学考试的相关信息。希望在这份迷你宝典的加持下,大家能够从容面对大学全新学习模式的挑战!

心法为上

相⽐⾼中来说,⼤学学习的课程节奏更快、涉及范围更广,尤其是南科⼤的英语教学,需要⼀定的时间适应。因此,大学学习的首要心理准备是“认清形势,放弃幻想,准备斗争”。认识到高中与大学之间学习内容与方式的巨大区别,放弃延续高中学习方法也能学的很好,高中成绩很好大学成绩也会很好的幻想,准备探索新的学习模式,准备新的斗争。能够进入南科大的同学,往往在高中名列前茅,也有自己的学习方法。一些同学进入大学后能够维持,但也有不少同学会需要时间适应。唯有清楚挑战的难度,直面挑战,才能更好地迎接挑战。

第二点要认识到学习依然是大学阶段最重要的事情。大学生活丰富多彩,无论科研实验,学生社团还是社会实践活动,都能成为你放下学习投入时间的理由。但从长远来看,学习本身才应该是大学阶段性价比最高的选择,才是学校中最独特而珍贵的资源。因此应当为学习安排足够的时间,确保自己的学习效果,并且保证自己的学习成绩能够让对得起的自己目标与付出。

当你对大学学习模式和学习的重要性有了足够的认识,最后还需要一颗自信坚强的大心脏搭载着你一往无前,乘风破浪。是的,要自信!似乎不难对吗?倘若你对于学习游刃有余,成绩优异,那的确不难。但如果你为之付出为之拼搏,却三番五次地跌倒在自己的目标前,你是否依旧相信自己呢?真正的自信便是在多次失利后(在南科大是很常见的)仍然无条件相信自己,努力地找原因,往前进。

希望接下来的你,能够正视大学学习的特性,相信学习的重要性,并且相信自己的努力能在南科大有所收获,有所成长。

打开方式

核心无他,主动二字。如果说高中的学习为的是高考,那么大学的学习为的就是自己与国家复兴大业。由于少了老师同学的督促和清晰可见的目标,学习是容易迷失的,我们应当把握核心方向:主动。那么具体方式呢?可以主动预习复习,主动搜索可靠教辅资料,主动刷b站油管的网课,主动多做些习题,主动向老师和同学求助,主动成立学习小组……用你的主动和努力,你将开启全新的学习世界!

以下是南科大一些学科的暑期打开方式简介。更多内容欢迎关注学生会学创部与学长团共同出品的课程指南,你能了解到完整的基础课程打开方式!

课程

英语

**在南科⼤,⽆论是适应英⽂教学,还是未来出国交换,英语能⼒强的同学都很有优势。**⼩可爱们在假期可以重点提升英语的听和说的能⼒,⽐如看⼀些Ted Talk、美剧等等。看的时候需要有意识地练习听⼒,会⽐单纯追剧关注情节帮助更⼤。

有⼀个实⽤的⼩⽅法:为达到练习听⼒的效果,同⼀个视频可以看两遍,这样看第二遍时的注意⼒就能放在“听”本⾝⽽不⾄于过多关注剧情,既不枯燥,⼜可以学习英语。还可以使⽤类似于“英语趣配⾳”这样的⼿机app,帮助⾃⼰练习⼝语,使⾃⼰的英语⼝语听起来更像native speakers。南科⼤的英语考试题型与四六级类似,⼩可爱们也可以通过做真题等⽅式熟悉⼀下四六级题型,也为四六级考试打下基础,准备雅思、托福也是不错的选择。

线性代数(Linear Algebra)

强烈推荐网易公开课Gilbert Strang(⿇省理⼯)的线性代数,这位⽼教授教了很多年的线性代数,课程质量很⾼,不少学⻓学姐在学习线性代数时都会将这些课作为“课后加餐”。

',19),u={href:"http://open.163.com/special/opencourse/daishu.html",target:"_blank",rel:"noopener noreferrer"},_=h('

计算机程序设计基础 (JAVA)

在南科⼤学习的第⼀⻔编程语⾔是Java,相⽐其他⼤学⼀开始会选择C语⾔,南科⼤的计算机程序设计基础课还是⾮常硬核的,对没有接触过编程的同学有些不友好。感兴趣的同学可以在假期自学⼀些内容(不过来大学之后再开始学也没事的,不⽤有压⼒哦)。

高等数学

自学必要性不如上⾯的三⻔课程。相关资料可以参照课程指南。

入学考试的建议

开学后将⾯临的,⾸先是⼊学的考试,有数学,物理,计算机导论,英语等。以下仅为19级的情况,20级可能会有部分变动。

英语考试与计算机导论的考试:两者均⾮选拔性考试,⽽是分级考试。学校会根据考试的成绩(英语还会结合⾼考成绩和新⽣适应周随堂测试的成绩),来建议同学们修读符合⾃⼰英语/计算机⽔平的对应课程,更有针对性地帮助各位⼩可爱们与⼤学学习接轨。英语会分为SUSTech English I、II、III三个等级,难度依次增加,每个等级有对应的必修课程。⽽计算机考试成绩不理想(没有达到⼀定分数)的同学,必须先修读“计算机导论”这⻔课,才能修读必修课程“计算机程序设计基础”。

此外2020级有可能会增加数学和物理的选拔考试。这里也介绍一下2018年两门科目的选拔考试设置情况。

数学选拔考试:建议意向修读应⽤数学、统计学、⾦融数学的童鞋参加数学选拔考试,有利于更早进⼊专业。考试范围有⼀部分是⾼中内容也有⼀部分是拓展内容。不进⼊以上专业的萌新们可以不⽤报名数学选拔考试。

物理选拔考试:选拔通过后能修读⼤学物理(A),⽐⼤多数同学修读的⼤学物理(B)更难。但⼤学物理(A)不是任何专业的必修课,修读只是为了增强专业竞争⼒,对物理有较⼤兴趣并且学有余⼒的同学可以报考。

继续阅读...

',11);function f(b,x){const t=r("ExternalLinkIcon"),d=r("RouterLink");return o(),s("div",null,[l,e("p",null,[e("a",u,[a("⿇省理⼯公开课:线性代数/网易公开课"),n(t)])]),_,e("ul",null,[e("li",null,[n(d,{to:"/study/by-shude-college/info-on-study.html"},{default:c(()=>[a("学习制度(包含GPA表、专业概览、选课指导、学习资源、图书馆学习攻略、学籍管理)")]),_:1}),a("study-advice-by-zhicheng-college")])])])}const m=i(p,[["render",f],["__file","advice-on-study.html.vue"]]);export{m as default}; diff --git a/assets/advice-on-study.html-zirQNHLN.js b/assets/advice-on-study.html-zirQNHLN.js new file mode 100644 index 000000000..54ce7b572 --- /dev/null +++ b/assets/advice-on-study.html-zirQNHLN.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-8460eeb8","path":"/study/by-shude-college/advice-on-study.html","title":"📖学习建议","lang":"zh-CN","frontmatter":{"sidebar":"auto"},"headers":[{"level":2,"title":"序言","slug":"序言","link":"#序言","children":[{"level":3,"title":"心法为上","slug":"心法为上","link":"#心法为上","children":[]},{"level":3,"title":"打开方式","slug":"打开方式","link":"#打开方式","children":[]}]},{"level":2,"title":"课程","slug":"课程","link":"#课程","children":[{"level":3,"title":"英语","slug":"英语","link":"#英语","children":[]},{"level":3,"title":"线性代数(Linear Algebra)","slug":"线性代数-linear-algebra","link":"#线性代数-linear-algebra","children":[]},{"level":3,"title":"计算机程序设计基础 (JAVA)","slug":"计算机程序设计基础-java","link":"#计算机程序设计基础-java","children":[]},{"level":3,"title":"高等数学","slug":"高等数学","link":"#高等数学","children":[]},{"level":3,"title":"入学考试的建议","slug":"入学考试的建议","link":"#入学考试的建议","children":[]}]},{"level":2,"title":"继续阅读...","slug":"继续阅读","link":"#继续阅读","children":[]}],"git":{"updatedTime":1628693393000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":6},{"name":"liziwl","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"study/by-shude-college/advice-on-study.md"}');export{l as data}; diff --git a/assets/afbd3cddd2d945bf852c2fec15fc6519-J2YbBzwM.jpeg b/assets/afbd3cddd2d945bf852c2fec15fc6519-J2YbBzwM.jpeg new file mode 100644 index 000000000..7d8a1baf9 Binary files /dev/null and b/assets/afbd3cddd2d945bf852c2fec15fc6519-J2YbBzwM.jpeg differ diff --git a/assets/app-9djxHuta.js b/assets/app-9djxHuta.js new file mode 100644 index 000000000..bd868fef8 --- /dev/null +++ b/assets/app-9djxHuta.js @@ -0,0 +1,757 @@ +function cN(e,t){const r=Object.create(null),n=e.split(",");for(let i=0;i!!r[i.toLowerCase()]:i=>!!r[i]}const hN=()=>{},fN=Object.prototype.hasOwnProperty,W_=(e,t)=>fN.call(e,t),yl=Array.isArray,__=e=>v3(e)==="[object Map]",dN=e=>typeof e=="function",pN=e=>typeof e=="string",U0=e=>typeof e=="symbol",G0=e=>e!==null&&typeof e=="object",mN=Object.prototype.toString,v3=e=>mN.call(e),vN=e=>v3(e).slice(8,-1),sT=e=>pN(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Rv=(e,t)=>!Object.is(e,t),gN=(e,t,r)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})};let Xa;class yN{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Xa,!t&&Xa&&(this.index=(Xa.scopes||(Xa.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const r=Xa;try{return Xa=this,t()}finally{Xa=r}}}on(){Xa=this}off(){Xa=this.parent}stop(t){if(this._active){let r,n;for(r=0,n=this.effects.length;r{const t=new Set(e);return t.w=0,t.n=0,t},y3=e=>(e.w&Pu)>0,_3=e=>(e.n&Pu)>0,xN=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let r=0;for(let n=0;n{(m==="length"||!U0(m)&&m>=h)&&o.push(d)})}else switch(r!==void 0&&o.push(s.get(r)),t){case"add":yl(e)?sT(r)&&o.push(s.get("length")):(o.push(s.get(Zc)),__(e)&&o.push(s.get(u2)));break;case"delete":yl(e)||(o.push(s.get(Zc)),__(e)&&o.push(s.get(u2)));break;case"set":__(e)&&o.push(s.get(Zc));break}if(o.length===1)o[0]&&c2(o[0]);else{const h=[];for(const d of o)d&&h.push(...d);c2(lT(h))}}function c2(e,t){const r=yl(e)?e:[...e];for(const n of r)n.computed&&OM(n);for(const n of r)n.computed||OM(n)}function OM(e,t){(e!==Ko||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function SN(e,t){var r;return(r=Z_.get(e))==null?void 0:r.get(t)}const TN=cN("__proto__,__v_isRef,__isVue"),w3=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(U0)),zM=CN();function CN(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...r){const n=$r(this);for(let a=0,s=this.length;a{e[t]=function(...r){ud();const n=$r(this)[t].apply(this,r);return cd(),n}}),e}function EN(e){const t=$r(this);return Fa(t,"has",e),t.hasOwnProperty(e)}class S3{constructor(t=!1,r=!1){this._isReadonly=t,this._shallow=r}get(t,r,n){const i=this._isReadonly,a=this._shallow;if(r==="__v_isReactive")return!i;if(r==="__v_isReadonly")return i;if(r==="__v_isShallow")return a;if(r==="__v_raw"&&n===(i?a?$N:A3:a?E3:C3).get(t))return t;const s=yl(t);if(!i){if(s&&W_(zM,r))return Reflect.get(zM,r,n);if(r==="hasOwnProperty")return EN}const o=Reflect.get(t,r,n);return(U0(r)?w3.has(r):TN(r))||(i||Fa(t,"get",r),a)?o:hi(o)?s&&sT(r)?o:o.value:G0(o)?i?Ov(o):$a(o):o}}class T3 extends S3{constructor(t=!1){super(!1,t)}set(t,r,n,i){let a=t[r];if(Hf(a)&&hi(a)&&!hi(n))return!1;if(!this._shallow&&(!X_(n)&&!Hf(n)&&(a=$r(a),n=$r(n)),!yl(t)&&hi(a)&&!hi(n)))return a.value=n,!0;const s=yl(t)&&sT(r)?Number(r)e,q0=e=>Reflect.getPrototypeOf(e);function cy(e,t,r=!1,n=!1){e=e.__v_raw;const i=$r(e),a=$r(t);r||(Rv(t,a)&&Fa(i,"get",t),Fa(i,"get",a));const{has:s}=q0(i),o=n?cT:r?dT:Gm;if(s.call(i,t))return o(e.get(t));if(s.call(i,a))return o(e.get(a));e!==i&&e.get(t)}function hy(e,t=!1){const r=this.__v_raw,n=$r(r),i=$r(e);return t||(Rv(e,i)&&Fa(n,"has",e),Fa(n,"has",i)),e===i?r.has(e):r.has(e)||r.has(i)}function fy(e,t=!1){return e=e.__v_raw,!t&&Fa($r(e),"iterate",Zc),Reflect.get(e,"size",e)}function BM(e){e=$r(e);const t=$r(this);return q0(t).has.call(t,e)||(t.add(e),_l(t,"add",e,e)),this}function FM(e,t){t=$r(t);const r=$r(this),{has:n,get:i}=q0(r);let a=n.call(r,e);a||(e=$r(e),a=n.call(r,e));const s=i.call(r,e);return r.set(e,t),a?Rv(t,s)&&_l(r,"set",e,t):_l(r,"add",e,t),this}function $M(e){const t=$r(this),{has:r,get:n}=q0(t);let i=r.call(t,e);i||(e=$r(e),i=r.call(t,e)),n&&n.call(t,e);const a=t.delete(e);return i&&_l(t,"delete",e,void 0),a}function NM(){const e=$r(this),t=e.size!==0,r=e.clear();return t&&_l(e,"clear",void 0,void 0),r}function dy(e,t){return function(n,i){const a=this,s=a.__v_raw,o=$r(s),h=t?cT:e?dT:Gm;return!e&&Fa(o,"iterate",Zc),s.forEach((d,m)=>n.call(i,h(d),h(m),a))}}function py(e,t,r){return function(...n){const i=this.__v_raw,a=$r(i),s=__(a),o=e==="entries"||e===Symbol.iterator&&s,h=e==="keys"&&s,d=i[e](...n),m=r?cT:t?dT:Gm;return!t&&Fa(a,"iterate",h?u2:Zc),{next(){const{value:g,done:y}=d.next();return y?{value:g,done:y}:{value:o?[m(g[0]),m(g[1])]:m(g),done:y}},[Symbol.iterator](){return this}}}}function nu(e){return function(...t){return e==="delete"?!1:this}}function DN(){const e={get(a){return cy(this,a)},get size(){return fy(this)},has:hy,add:BM,set:FM,delete:$M,clear:NM,forEach:dy(!1,!1)},t={get(a){return cy(this,a,!1,!0)},get size(){return fy(this)},has:hy,add:BM,set:FM,delete:$M,clear:NM,forEach:dy(!1,!0)},r={get(a){return cy(this,a,!0)},get size(){return fy(this,!0)},has(a){return hy.call(this,a,!0)},add:nu("add"),set:nu("set"),delete:nu("delete"),clear:nu("clear"),forEach:dy(!0,!1)},n={get(a){return cy(this,a,!0,!0)},get size(){return fy(this,!0)},has(a){return hy.call(this,a,!0)},add:nu("add"),set:nu("set"),delete:nu("delete"),clear:nu("clear"),forEach:dy(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(a=>{e[a]=py(a,!1,!1),r[a]=py(a,!0,!1),t[a]=py(a,!1,!0),n[a]=py(a,!0,!0)}),[e,r,t,n]}const[LN,kN,RN,ON]=DN();function hT(e,t){const r=t?e?ON:RN:e?kN:LN;return(n,i,a)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(W_(r,i)&&i in n?r:n,i,a)}const zN={get:hT(!1,!1)},BN={get:hT(!1,!0)},FN={get:hT(!0,!1)},C3=new WeakMap,E3=new WeakMap,A3=new WeakMap,$N=new WeakMap;function NN(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function VN(e){return e.__v_skip||!Object.isExtensible(e)?0:NN(vN(e))}function $a(e){return Hf(e)?e:fT(e,!1,MN,zN,C3)}function M3(e){return fT(e,!1,IN,BN,E3)}function Ov(e){return fT(e,!0,PN,FN,A3)}function fT(e,t,r,n,i){if(!G0(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const a=i.get(e);if(a)return a;const s=VN(e);if(s===0)return e;const o=new Proxy(e,s===2?n:r);return i.set(e,o),o}function Df(e){return Hf(e)?Df(e.__v_raw):!!(e&&e.__v_isReactive)}function Hf(e){return!!(e&&e.__v_isReadonly)}function X_(e){return!!(e&&e.__v_isShallow)}function P3(e){return Df(e)||Hf(e)}function $r(e){const t=e&&e.__v_raw;return t?$r(t):e}function I3(e){return gN(e,"__v_skip",!0),e}const Gm=e=>G0(e)?$a(e):e,dT=e=>G0(e)?Ov(e):e;function pT(e){Tu&&Ko&&(e=$r(e),x3(e.dep||(e.dep=lT())))}function mT(e,t){e=$r(e);const r=e.dep;r&&c2(r)}function hi(e){return!!(e&&e.__v_isRef===!0)}function xr(e){return D3(e,!1)}function zn(e){return D3(e,!0)}function D3(e,t){return hi(e)?e:new jN(e,t)}class jN{constructor(t,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?t:$r(t),this._value=r?t:Gm(t)}get value(){return pT(this),this._value}set value(t){const r=this.__v_isShallow||X_(t)||Hf(t);t=r?t:$r(t),Rv(t,this._rawValue)&&(this._rawValue=t,this._value=r?t:Gm(t),mT(this))}}function Xt(e){return hi(e)?e.value:e}const HN={get:(e,t,r)=>Xt(Reflect.get(e,t,r)),set:(e,t,r,n)=>{const i=e[t];return hi(i)&&!hi(r)?(i.value=r,!0):Reflect.set(e,t,r,n)}};function L3(e){return Df(e)?e:new Proxy(e,HN)}class UN{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:r,set:n}=t(()=>pT(this),()=>mT(this));this._get=r,this._set=n}get value(){return this._get()}set value(t){this._set(t)}}function GN(e){return new UN(e)}function zv(e){const t=yl(e)?new Array(e.length):{};for(const r in e)t[r]=WN(e,r);return t}class qN{constructor(t,r,n){this._object=t,this._key=r,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return SN($r(this._object),this._key)}}function WN(e,t,r){const n=e[t];return hi(n)?n:new qN(e,t,r)}class ZN{constructor(t,r,n,i){this._setter=r,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new uT(t,()=>{this._dirty||(this._dirty=!0,mT(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=n}get value(){const t=$r(this);return pT(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function XN(e,t,r=!1){let n,i;const a=dN(e);return a?(n=e,i=hN):(n=e.get,i=e.set),new ZN(n,i,a||!i,r)}function YN(e,t){const r=Object.create(null),n=e.split(",");for(let i=0;i!!r[i.toLowerCase()]:i=>!!r[i]}const Tn={},Lf=[],bl=()=>{},KN=()=>!1,JN=/^on[^a-z]/,W0=e=>JN.test(e),k3=e=>e.startsWith("onUpdate:"),ra=Object.assign,vT=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},QN=Object.prototype.hasOwnProperty,Jr=(e,t)=>QN.call(e,t),Pr=Array.isArray,R3=e=>gT(e)==="[object Map]",O3=e=>gT(e)==="[object Set]",yr=e=>typeof e=="function",na=e=>typeof e=="string",ni=e=>e!==null&&typeof e=="object",z3=e=>(ni(e)||yr(e))&&yr(e.then)&&yr(e.catch),B3=Object.prototype.toString,gT=e=>B3.call(e),F3=e=>gT(e)==="[object Object]",gm=YN(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Z0=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},e7=/-(\w)/g,Os=Z0(e=>e.replace(e7,(t,r)=>r?r.toUpperCase():"")),t7=/\B([A-Z])/g,X0=Z0(e=>e.replace(t7,"-$1").toLowerCase()),yT=Z0(e=>e.charAt(0).toUpperCase()+e.slice(1)),ix=Z0(e=>e?`on${yT(e)}`:""),VM=(e,t)=>!Object.is(e,t),ax=(e,t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})},r7=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let jM;const f2=()=>jM||(jM=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function hd(e){if(Pr(e)){const t={};for(let r=0;r{if(r){const n=r.split(i7);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Oi(e){let t="";if(na(e))t=e;else if(Pr(e))for(let r=0;rna(e)?e:e==null?"":Pr(e)||ni(e)&&(e.toString===B3||!yr(e.toString))?JSON.stringify(e,$3,2):String(e),$3=(e,t)=>t&&t.__v_isRef?$3(e,t.value):R3(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[n,i])=>(r[`${n} =>`]=i,r),{})}:O3(t)?{[`Set(${t.size})`]:[...t.values()]}:ni(t)&&!Pr(t)&&!F3(t)?String(t):t;function Cu(e,t,r,n){let i;try{i=n?e(...n):e()}catch(a){Bv(a,t,r)}return i}function Eo(e,t,r,n){if(yr(e)){const a=Cu(e,t,r,n);return a&&z3(a)&&a.catch(s=>{Bv(s,t,r)}),a}const i=[];for(let a=0;a>>1,i=ta[n],a=Wm(i);aAs&&ta.splice(t,1)}function h7(e){Pr(e)?kf.push(...e):(!dl||!dl.includes(e,e.allowRecurse?zc+1:zc))&&kf.push(e),V3()}function HM(e,t=qm?As+1:0){for(;tWm(r)-Wm(n)),zc=0;zce.id==null?1/0:e.id,f7=(e,t)=>{const r=Wm(e)-Wm(t);if(r===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return r};function j3(e){d2=!1,qm=!0,ta.sort(f7);try{for(As=0;Asna(x)?x.trim():x)),g&&(i=r.map(r7))}let o,h=n[o=ix(t)]||n[o=ix(Os(t))];!h&&a&&(h=n[o=ix(X0(t))]),h&&Eo(h,e,6,i);const d=n[o+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,Eo(d,e,6,i)}}function H3(e,t,r=!1){const n=t.emitsCache,i=n.get(e);if(i!==void 0)return i;const a=e.emits;let s={},o=!1;if(!yr(e)){const h=d=>{const m=H3(d,t,!0);m&&(o=!0,ra(s,m))};!r&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}return!a&&!o?(ni(e)&&n.set(e,null),null):(Pr(a)?a.forEach(h=>s[h]=null):ra(s,a),ni(e)&&n.set(e,s),s)}function K0(e,t){return!e||!W0(t)?!1:(t=t.slice(2).replace(/Once$/,""),Jr(e,t[0].toLowerCase()+t.slice(1))||Jr(e,X0(t))||Jr(e,t))}let ki=null,J0=null;function K_(e){const t=ki;return ki=e,J0=e&&e.type.__scopeId||null,t}function bT(e){J0=e}function xT(){J0=null}function Pn(e,t=ki,r){if(!t||e._n)return e;const n=(...i)=>{n._d&&rP(-1);const a=K_(t);let s;try{s=e(...i)}finally{K_(a),n._d&&rP(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function ox(e){const{type:t,vnode:r,proxy:n,withProxy:i,props:a,propsOptions:[s],slots:o,attrs:h,emit:d,render:m,renderCache:g,data:y,setupState:x,ctx:E,inheritAttrs:M}=e;let P,D;const k=K_(e);try{if(r.shapeFlag&4){const F=i||n;P=Yo(m.call(F,F,g,a,x,y,E)),D=h}else{const F=t;P=Yo(F.length>1?F(a,{attrs:h,slots:o,emit:d}):F(a,null)),D=t.props?h:p7(h)}}catch(F){xm.length=0,Bv(F,e,1),P=Oe(za)}let O=P;if(D&&M!==!1){const F=Object.keys(D),{shapeFlag:q}=O;F.length&&q&7&&(s&&F.some(k3)&&(D=m7(D,s)),O=Du(O,D))}return r.dirs&&(O=Du(O),O.dirs=O.dirs?O.dirs.concat(r.dirs):r.dirs),r.transition&&(O.transition=r.transition),P=O,K_(k),P}const p7=e=>{let t;for(const r in e)(r==="class"||r==="style"||W0(r))&&((t||(t={}))[r]=e[r]);return t},m7=(e,t)=>{const r={};for(const n in e)(!k3(n)||!(n.slice(9)in t))&&(r[n]=e[n]);return r};function v7(e,t,r){const{props:n,children:i,component:a}=e,{props:s,children:o,patchFlag:h}=t,d=a.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&h>=0){if(h&1024)return!0;if(h&16)return n?UM(n,s,d):!!s;if(h&8){const m=t.dynamicProps;for(let g=0;ge.__isSuspense;function G3(e,t){t&&t.pendingBranch?Pr(e)?t.effects.push(...e):t.effects.push(e):h7(e)}function ts(e,t){return wT(e,null,t)}const my={};function Qr(e,t,r){return wT(e,t,r)}function wT(e,t,{immediate:r,deep:n,flush:i,onTrack:a,onTrigger:s}=Tn){var o;const h=g3()===((o=ci)==null?void 0:o.scope)?ci:null;let d,m=!1,g=!1;if(hi(e)?(d=()=>e.value,m=X_(e)):Df(e)?(d=()=>e,n=!0):Pr(e)?(g=!0,m=e.some(F=>Df(F)||X_(F)),d=()=>e.map(F=>{if(hi(F))return F.value;if(Df(F))return Uc(F);if(yr(F))return Cu(F,h,2)})):yr(e)?t?d=()=>Cu(e,h,2):d=()=>{if(!(h&&h.isUnmounted))return y&&y(),Eo(e,h,3,[x])}:d=bl,t&&n){const F=d;d=()=>Uc(F())}let y,x=F=>{y=k.onStop=()=>{Cu(F,h,4)}},E;if(Gf)if(x=bl,t?r&&Eo(t,h,3,[d(),g?[]:void 0,x]):d(),i==="sync"){const F=fV();E=F.__watcherHandles||(F.__watcherHandles=[])}else return bl;let M=g?new Array(e.length).fill(my):my;const P=()=>{if(k.active)if(t){const F=k.run();(n||m||(g?F.some((q,H)=>VM(q,M[H])):VM(F,M)))&&(y&&y(),Eo(t,h,3,[F,M===my?void 0:g&&M[0]===my?[]:M,x]),M=F)}else k.run()};P.allowRecurse=!!t;let D;i==="sync"?D=P:i==="post"?D=()=>ka(P,h&&h.suspense):(P.pre=!0,h&&(P.id=h.uid),D=()=>Y0(P));const k=new uT(d,D);t?r?P():M=k.run():i==="post"?ka(k.run.bind(k),h&&h.suspense):k.run();const O=()=>{k.stop(),h&&h.scope&&vT(h.scope.effects,k)};return E&&E.push(O),O}function x7(e,t,r){const n=this.proxy,i=na(e)?e.includes(".")?q3(n,e):()=>n[e]:e.bind(n,n);let a;yr(t)?a=t:(a=t.handler,r=t);const s=ci;Uf(this);const o=wT(i,a.bind(n),r);return s?Uf(s):Xc(),o}function q3(e,t){const r=t.split(".");return()=>{let n=e;for(let i=0;i{Uc(r,t)});else if(F3(e))for(const r in e)Uc(e[r],t);return e}function J_(e,t){const r=ki;if(r===null)return e;const n=r1(r)||r.proxy,i=e.dirs||(e.dirs=[]);for(let a=0;a{e.isMounted=!0}),Il(()=>{e.isUnmounting=!0}),e}const ho=[Function,Array],Z3={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ho,onEnter:ho,onAfterEnter:ho,onEnterCancelled:ho,onBeforeLeave:ho,onLeave:ho,onAfterLeave:ho,onLeaveCancelled:ho,onBeforeAppear:ho,onAppear:ho,onAfterAppear:ho,onAppearCancelled:ho},w7={name:"BaseTransition",props:Z3,setup(e,{slots:t}){const r=dd(),n=W3();let i;return()=>{const a=t.default&&ST(t.default(),!0);if(!a||!a.length)return;let s=a[0];if(a.length>1){for(const M of a)if(M.type!==za){s=M;break}}const o=$r(e),{mode:h}=o;if(n.isLeaving)return sx(s);const d=qM(s);if(!d)return sx(s);const m=Zm(d,o,n,r);Xm(d,m);const g=r.subTree,y=g&&qM(g);let x=!1;const{getTransitionKey:E}=d.type;if(E){const M=E();i===void 0?i=M:M!==i&&(i=M,x=!0)}if(y&&y.type!==za&&(!Bc(d,y)||x)){const M=Zm(y,o,n,r);if(Xm(y,M),h==="out-in")return n.isLeaving=!0,M.afterLeave=()=>{n.isLeaving=!1,r.update.active!==!1&&r.update()},sx(s);h==="in-out"&&d.type!==za&&(M.delayLeave=(P,D,k)=>{const O=X3(n,y);O[String(y.key)]=y,P[vu]=()=>{D(),P[vu]=void 0,delete m.delayedLeave},m.delayedLeave=k})}return s}}},S7=w7;function X3(e,t){const{leavingVNodes:r}=e;let n=r.get(t.type);return n||(n=Object.create(null),r.set(t.type,n)),n}function Zm(e,t,r,n){const{appear:i,mode:a,persisted:s=!1,onBeforeEnter:o,onEnter:h,onAfterEnter:d,onEnterCancelled:m,onBeforeLeave:g,onLeave:y,onAfterLeave:x,onLeaveCancelled:E,onBeforeAppear:M,onAppear:P,onAfterAppear:D,onAppearCancelled:k}=t,O=String(e.key),F=X3(r,e),q=(Z,ee)=>{Z&&Eo(Z,n,9,ee)},H=(Z,ee)=>{const re=ee[1];q(Z,ee),Pr(Z)?Z.every(ce=>ce.length<=1)&&re():Z.length<=1&&re()},W={mode:a,persisted:s,beforeEnter(Z){let ee=o;if(!r.isMounted)if(i)ee=M||o;else return;Z[vu]&&Z[vu](!0);const re=F[O];re&&Bc(e,re)&&re.el[vu]&&re.el[vu](),q(ee,[Z])},enter(Z){let ee=h,re=d,ce=m;if(!r.isMounted)if(i)ee=P||h,re=D||d,ce=k||m;else return;let le=!1;const ve=Z[vy]=de=>{le||(le=!0,de?q(ce,[Z]):q(re,[Z]),W.delayedLeave&&W.delayedLeave(),Z[vy]=void 0)};ee?H(ee,[Z,ve]):ve()},leave(Z,ee){const re=String(e.key);if(Z[vy]&&Z[vy](!0),r.isUnmounting)return ee();q(g,[Z]);let ce=!1;const le=Z[vu]=ve=>{ce||(ce=!0,ee(),ve?q(E,[Z]):q(x,[Z]),Z[vu]=void 0,F[re]===e&&delete F[re])};F[re]=e,y?H(y,[Z,le]):le()},clone(Z){return Zm(Z,t,r,n)}};return W}function sx(e){if(Fv(e))return e=Du(e),e.children=null,e}function qM(e){return Fv(e)?e.children?e.children[0]:void 0:e}function Xm(e,t){e.shapeFlag&6&&e.component?Xm(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ST(e,t=!1,r){let n=[],i=0;for(let a=0;a1)for(let a=0;a!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function At(e){yr(e)&&(e={loader:e});const{loader:t,loadingComponent:r,errorComponent:n,delay:i=200,timeout:a,suspensible:s=!0,onError:o}=e;let h=null,d,m=0;const g=()=>(m++,h=null,y()),y=()=>{let x;return h||(x=h=t().catch(E=>{if(E=E instanceof Error?E:new Error(String(E)),o)return new Promise((M,P)=>{o(E,()=>M(g()),()=>P(E),m+1)});throw E}).then(E=>x!==h&&h?h:(E&&(E.__esModule||E[Symbol.toStringTag]==="Module")&&(E=E.default),d=E,E)))};return Ut({name:"AsyncComponentWrapper",__asyncLoader:y,get __asyncResolved(){return d},setup(){const x=ci;if(d)return()=>lx(d,x);const E=k=>{h=null,Bv(k,x,13,!n)};if(s&&x.suspense||Gf)return y().then(k=>()=>lx(k,x)).catch(k=>(E(k),()=>n?Oe(n,{error:k}):null));const M=xr(!1),P=xr(),D=xr(!!i);return i&&setTimeout(()=>{D.value=!1},i),a!=null&&setTimeout(()=>{if(!M.value&&!P.value){const k=new Error(`Async component timed out after ${a}ms.`);E(k),P.value=k}},a),y().then(()=>{M.value=!0,x.parent&&Fv(x.parent.vnode)&&Y0(x.parent.update)}).catch(k=>{E(k),P.value=k}),()=>{if(M.value&&d)return lx(d,x);if(P.value&&n)return Oe(n,{error:P.value});if(r&&!D.value)return Oe(r)}}})}function lx(e,t){const{ref:r,props:n,children:i,ce:a}=t.vnode,s=Oe(e,n,i);return s.ref=r,s.ce=a,delete t.vnode.ce,s}const Fv=e=>e.type.__isKeepAlive;function T7(e,t){Y3(e,"a",t)}function C7(e,t){Y3(e,"da",t)}function Y3(e,t,r=ci){const n=e.__wdc||(e.__wdc=()=>{let i=r;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(Q0(t,n,r),r){let i=r.parent;for(;i&&i.parent;)Fv(i.parent.vnode)&&E7(n,t,r,i),i=i.parent}}function E7(e,t,r,n){const i=Q0(t,e,n,!0);fd(()=>{vT(n[t],i)},r)}function Q0(e,t,r=ci,n=!1){if(r){const i=r[e]||(r[e]=[]),a=t.__weh||(t.__weh=(...s)=>{if(r.isUnmounted)return;ud(),Uf(r);const o=Eo(t,r,e,s);return Xc(),cd(),o});return n?i.unshift(a):i.push(a),a}}const Pl=e=>(t,r=ci)=>(!Gf||e==="sp")&&Q0(e,(...n)=>t(...n),r),K3=Pl("bm"),Gn=Pl("m"),A7=Pl("bu"),e1=Pl("u"),Il=Pl("bum"),fd=Pl("um"),M7=Pl("sp"),P7=Pl("rtg"),I7=Pl("rtc");function D7(e,t=ci){Q0("ec",e,t)}function rs(e,t,r,n){let i;const a=r&&r[n];if(Pr(e)||na(e)){i=new Array(e.length);for(let s=0,o=e.length;st(s,o,void 0,a&&a[o]));else{const s=Object.keys(e);i=new Array(s.length);for(let o=0,h=s.length;oKm(t)?!(t.type===za||t.type===Mr&&!J3(t.children)):!0)?e:null}const p2=e=>e?fR(e)?r1(e)||e.proxy:p2(e.parent):null,ym=ra(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>p2(e.parent),$root:e=>p2(e.root),$emit:e=>e.emit,$options:e=>TT(e),$forceUpdate:e=>e.f||(e.f=()=>Y0(e.update)),$nextTick:e=>e.n||(e.n=os.bind(e.proxy)),$watch:e=>x7.bind(e)}),ux=(e,t)=>e!==Tn&&!e.__isScriptSetup&&Jr(e,t),L7={get({_:e},t){const{ctx:r,setupState:n,data:i,props:a,accessCache:s,type:o,appContext:h}=e;let d;if(t[0]!=="$"){const x=s[t];if(x!==void 0)switch(x){case 1:return n[t];case 2:return i[t];case 4:return r[t];case 3:return a[t]}else{if(ux(n,t))return s[t]=1,n[t];if(i!==Tn&&Jr(i,t))return s[t]=2,i[t];if((d=e.propsOptions[0])&&Jr(d,t))return s[t]=3,a[t];if(r!==Tn&&Jr(r,t))return s[t]=4,r[t];m2&&(s[t]=0)}}const m=ym[t];let g,y;if(m)return t==="$attrs"&&Fa(e,"get",t),m(e);if((g=o.__cssModules)&&(g=g[t]))return g;if(r!==Tn&&Jr(r,t))return s[t]=4,r[t];if(y=h.config.globalProperties,Jr(y,t))return y[t]},set({_:e},t,r){const{data:n,setupState:i,ctx:a}=e;return ux(i,t)?(i[t]=r,!0):n!==Tn&&Jr(n,t)?(n[t]=r,!0):Jr(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(a[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:n,appContext:i,propsOptions:a}},s){let o;return!!r[s]||e!==Tn&&Jr(e,s)||ux(t,s)||(o=a[0])&&Jr(o,s)||Jr(n,s)||Jr(ym,s)||Jr(i.config.globalProperties,s)},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:Jr(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}};function WM(e){return Pr(e)?e.reduce((t,r)=>(t[r]=null,t),{}):e}let m2=!0;function k7(e){const t=TT(e),r=e.proxy,n=e.ctx;m2=!1,t.beforeCreate&&ZM(t.beforeCreate,e,"bc");const{data:i,computed:a,methods:s,watch:o,provide:h,inject:d,created:m,beforeMount:g,mounted:y,beforeUpdate:x,updated:E,activated:M,deactivated:P,beforeDestroy:D,beforeUnmount:k,destroyed:O,unmounted:F,render:q,renderTracked:H,renderTriggered:W,errorCaptured:Z,serverPrefetch:ee,expose:re,inheritAttrs:ce,components:le,directives:ve,filters:de}=t;if(d&&R7(d,n,null),s)for(const Ue in s){const He=s[Ue];yr(He)&&(n[Ue]=He.bind(r))}if(i){const Ue=i.call(r,r);ni(Ue)&&(e.data=$a(Ue))}if(m2=!0,a)for(const Ue in a){const He=a[Ue],Mt=yr(He)?He.bind(r,r):yr(He.get)?He.get.bind(r,r):bl,Pt=!yr(He)&&yr(He.set)?He.set.bind(r):bl,er=ze({get:Mt,set:Pt});Object.defineProperty(n,Ue,{enumerable:!0,configurable:!0,get:()=>er.value,set:Dt=>er.value=Dt})}if(o)for(const Ue in o)Q3(o[Ue],n,r,Ue);if(h){const Ue=yr(h)?h.call(r):h;Reflect.ownKeys(Ue).forEach(He=>{zi(He,Ue[He])})}m&&ZM(m,e,"c");function we(Ue,He){Pr(He)?He.forEach(Mt=>Ue(Mt.bind(r))):He&&Ue(He.bind(r))}if(we(K3,g),we(Gn,y),we(A7,x),we(e1,E),we(T7,M),we(C7,P),we(D7,Z),we(I7,H),we(P7,W),we(Il,k),we(fd,F),we(M7,ee),Pr(re))if(re.length){const Ue=e.exposed||(e.exposed={});re.forEach(He=>{Object.defineProperty(Ue,He,{get:()=>r[He],set:Mt=>r[He]=Mt})})}else e.exposed||(e.exposed={});q&&e.render===bl&&(e.render=q),ce!=null&&(e.inheritAttrs=ce),le&&(e.components=le),ve&&(e.directives=ve)}function R7(e,t,r=bl){Pr(e)&&(e=v2(e));for(const n in e){const i=e[n];let a;ni(i)?"default"in i?a=Fr(i.from||n,i.default,!0):a=Fr(i.from||n):a=Fr(i),hi(a)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:s=>a.value=s}):t[n]=a}}function ZM(e,t,r){Eo(Pr(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,r)}function Q3(e,t,r,n){const i=n.includes(".")?q3(r,n):()=>r[n];if(na(e)){const a=t[e];yr(a)&&Qr(i,a)}else if(yr(e))Qr(i,e.bind(r));else if(ni(e))if(Pr(e))e.forEach(a=>Q3(a,t,r,n));else{const a=yr(e.handler)?e.handler.bind(r):t[e.handler];yr(a)&&Qr(i,a,e)}}function TT(e){const t=e.type,{mixins:r,extends:n}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:s}}=e.appContext,o=a.get(t);let h;return o?h=o:!i.length&&!r&&!n?h=t:(h={},i.length&&i.forEach(d=>Q_(h,d,s,!0)),Q_(h,t,s)),ni(t)&&a.set(t,h),h}function Q_(e,t,r,n=!1){const{mixins:i,extends:a}=t;a&&Q_(e,a,r,!0),i&&i.forEach(s=>Q_(e,s,r,!0));for(const s in t)if(!(n&&s==="expose")){const o=O7[s]||r&&r[s];e[s]=o?o(e[s],t[s]):t[s]}return e}const O7={data:XM,props:YM,emits:YM,methods:lm,computed:lm,beforeCreate:pa,created:pa,beforeMount:pa,mounted:pa,beforeUpdate:pa,updated:pa,beforeDestroy:pa,beforeUnmount:pa,destroyed:pa,unmounted:pa,activated:pa,deactivated:pa,errorCaptured:pa,serverPrefetch:pa,components:lm,directives:lm,watch:B7,provide:XM,inject:z7};function XM(e,t){return t?e?function(){return ra(yr(e)?e.call(this,this):e,yr(t)?t.call(this,this):t)}:t:e}function z7(e,t){return lm(v2(e),v2(t))}function v2(e){if(Pr(e)){const t={};for(let r=0;r1)return r&&yr(t)?t.call(n&&n.proxy):t}}function N7(e,t,r,n=!1){const i={},a={};h2(a,t1,1),e.propsDefaults=Object.create(null),tR(e,t,i,a);for(const s in e.propsOptions[0])s in i||(i[s]=void 0);r?e.props=n?i:M3(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function V7(e,t,r,n){const{props:i,attrs:a,vnode:{patchFlag:s}}=e,o=$r(i),[h]=e.propsOptions;let d=!1;if((n||s>0)&&!(s&16)){if(s&8){const m=e.vnode.dynamicProps;for(let g=0;g{h=!0;const[y,x]=rR(g,t,!0);ra(s,y),x&&o.push(...x)};!r&&t.mixins.length&&t.mixins.forEach(m),e.extends&&m(e.extends),e.mixins&&e.mixins.forEach(m)}if(!a&&!h)return ni(e)&&n.set(e,Lf),Lf;if(Pr(a))for(let m=0;m-1,x[1]=M<0||E-1||Jr(x,"default"))&&o.push(g)}}}const d=[s,o];return ni(e)&&n.set(e,d),d}function KM(e){return e[0]!=="$"}function JM(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function QM(e,t){return JM(e)===JM(t)}function eP(e,t){return Pr(t)?t.findIndex(r=>QM(r,e)):yr(t)&&QM(t,e)?0:-1}const nR=e=>e[0]==="_"||e==="$stable",CT=e=>Pr(e)?e.map(Yo):[Yo(e)],j7=(e,t,r)=>{if(t._n)return t;const n=Pn((...i)=>CT(t(...i)),r);return n._c=!1,n},iR=(e,t,r)=>{const n=e._ctx;for(const i in e){if(nR(i))continue;const a=e[i];if(yr(a))t[i]=j7(i,a,n);else if(a!=null){const s=CT(a);t[i]=()=>s}}},aR=(e,t)=>{const r=CT(t);e.slots.default=()=>r},H7=(e,t)=>{if(e.vnode.shapeFlag&32){const r=t._;r?(e.slots=$r(t),h2(t,"_",r)):iR(t,e.slots={})}else e.slots={},t&&aR(e,t);h2(e.slots,t1,1)},U7=(e,t,r)=>{const{vnode:n,slots:i}=e;let a=!0,s=Tn;if(n.shapeFlag&32){const o=t._;o?r&&o===1?a=!1:(ra(i,t),!r&&o===1&&delete i._):(a=!t.$stable,iR(t,i)),s=t}else t&&(aR(e,t),s={default:1});if(a)for(const o in i)!nR(o)&&s[o]==null&&delete i[o]};function t0(e,t,r,n,i=!1){if(Pr(e)){e.forEach((y,x)=>t0(y,t&&(Pr(t)?t[x]:t),r,n,i));return}if(Rf(n)&&!i)return;const a=n.shapeFlag&4?r1(n.component)||n.component.proxy:n.el,s=i?null:a,{i:o,r:h}=e,d=t&&t.r,m=o.refs===Tn?o.refs={}:o.refs,g=o.setupState;if(d!=null&&d!==h&&(na(d)?(m[d]=null,Jr(g,d)&&(g[d]=null)):hi(d)&&(d.value=null)),yr(h))Cu(h,o,12,[s,m]);else{const y=na(h),x=hi(h);if(y||x){const E=()=>{if(e.f){const M=y?Jr(g,h)?g[h]:m[h]:h.value;i?Pr(M)&&vT(M,a):Pr(M)?M.includes(a)||M.push(a):y?(m[h]=[a],Jr(g,h)&&(g[h]=m[h])):(h.value=[a],e.k&&(m[e.k]=h.value))}else y?(m[h]=s,Jr(g,h)&&(g[h]=s)):x&&(h.value=s,e.k&&(m[e.k]=s))};s?(E.id=-1,ka(E,r)):E()}}}let iu=!1;const gy=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",yy=e=>e.nodeType===8;function G7(e){const{mt:t,p:r,o:{patchProp:n,createText:i,nextSibling:a,parentNode:s,remove:o,insert:h,createComment:d}}=e,m=(O,F)=>{if(!F.hasChildNodes()){r(null,O,F),Y_(),F._vnode=O;return}iu=!1,g(F.firstChild,O,null,null,null),Y_(),F._vnode=O,iu&&console.error("Hydration completed but contains mismatches.")},g=(O,F,q,H,W,Z=!1)=>{const ee=yy(O)&&O.data==="[",re=()=>M(O,F,q,H,W,ee),{type:ce,ref:le,shapeFlag:ve,patchFlag:de}=F;let Te=O.nodeType;F.el=O,de===-2&&(Z=!1,F.dynamicChildren=null);let we=null;switch(ce){case Iu:Te!==3?F.children===""?(h(F.el=i(""),s(O),O),we=O):we=re():(O.data!==F.children&&(iu=!0,O.data=F.children),we=a(O));break;case za:k(O)?(we=a(O),D(F.el=O.content.firstChild,O,q)):Te!==8||ee?we=re():we=a(O);break;case bm:if(ee&&(O=a(O),Te=O.nodeType),Te===1||Te===3){we=O;const Ue=!F.children.length;for(let He=0;He{Z=Z||!!F.dynamicChildren;const{type:ee,props:re,patchFlag:ce,shapeFlag:le,dirs:ve,transition:de}=F,Te=ee==="input"&&ve||ee==="option";if(Te||ce!==-1){if(ve&&Cs(F,null,q,"created"),re)if(Te||!Z||ce&48)for(const He in re)(Te&&He.endsWith("value")||W0(He)&&!gm(He))&&n(O,He,null,re[He],!1,void 0,q);else re.onClick&&n(O,"onClick",null,re.onClick,!1,void 0,q);let we;(we=re&&re.onVnodeBeforeMount)&&vo(we,q,F);let Ue=!1;if(k(O)){Ue=sR(H,de)&&q&&q.vnode.props&&q.vnode.props.appear;const He=O.content.firstChild;Ue&&de.beforeEnter(He),D(He,O,q),F.el=O=He}if(ve&&Cs(F,null,q,"beforeMount"),((we=re&&re.onVnodeMounted)||ve||Ue)&&G3(()=>{we&&vo(we,q,F),Ue&&de.enter(O),ve&&Cs(F,null,q,"mounted")},H),le&16&&!(re&&(re.innerHTML||re.textContent))){let He=x(O.firstChild,F,O,q,H,W,Z);for(;He;){iu=!0;const Mt=He;He=He.nextSibling,o(Mt)}}else le&8&&O.textContent!==F.children&&(iu=!0,O.textContent=F.children)}return O.nextSibling},x=(O,F,q,H,W,Z,ee)=>{ee=ee||!!F.dynamicChildren;const re=F.children,ce=re.length;for(let le=0;le{const{slotScopeIds:ee}=F;ee&&(W=W?W.concat(ee):ee);const re=s(O),ce=x(a(O),F,re,q,H,W,Z);return ce&&yy(ce)&&ce.data==="]"?a(F.anchor=ce):(iu=!0,h(F.anchor=d("]"),re,ce),ce)},M=(O,F,q,H,W,Z)=>{if(iu=!0,F.el=null,Z){const ce=P(O);for(;;){const le=a(O);if(le&&le!==ce)o(le);else break}}const ee=a(O),re=s(O);return o(O),r(null,F,re,ee,q,H,gy(re),W),ee},P=(O,F="[",q="]")=>{let H=0;for(;O;)if(O=a(O),O&&yy(O)&&(O.data===F&&H++,O.data===q)){if(H===0)return a(O);H--}return O},D=(O,F,q)=>{const H=F.parentNode;H&&H.replaceChild(O,F);let W=q;for(;W;)W.vnode.el===F&&(W.vnode.el=W.subTree.el=O),W=W.parent},k=O=>O.nodeType===1&&O.tagName.toLowerCase()==="template";return[m,g]}const ka=G3;function q7(e){return oR(e)}function W7(e){return oR(e,G7)}function oR(e,t){const r=f2();r.__VUE__=!0;const{insert:n,remove:i,patchProp:a,createElement:s,createText:o,createComment:h,setText:d,setElementText:m,parentNode:g,nextSibling:y,setScopeId:x=bl,insertStaticContent:E}=e,M=(ue,xe,Le,Ge=null,Ye=null,tt=null,yt=!1,ot=null,Ce=!!xe.dynamicChildren)=>{if(ue===xe)return;ue&&!Bc(ue,xe)&&(Ge=qe(ue),Dt(ue,Ye,tt,!0),ue=null),xe.patchFlag===-2&&(Ce=!1,xe.dynamicChildren=null);const{type:rt,ref:Ft,shapeFlag:mt}=xe;switch(rt){case Iu:P(ue,xe,Le,Ge);break;case za:D(ue,xe,Le,Ge);break;case bm:ue==null&&k(xe,Le,Ge,yt);break;case Mr:le(ue,xe,Le,Ge,Ye,tt,yt,ot,Ce);break;default:mt&1?q(ue,xe,Le,Ge,Ye,tt,yt,ot,Ce):mt&6?ve(ue,xe,Le,Ge,Ye,tt,yt,ot,Ce):(mt&64||mt&128)&&rt.process(ue,xe,Le,Ge,Ye,tt,yt,ot,Ce,et)}Ft!=null&&Ye&&t0(Ft,ue&&ue.ref,tt,xe||ue,!xe)},P=(ue,xe,Le,Ge)=>{if(ue==null)n(xe.el=o(xe.children),Le,Ge);else{const Ye=xe.el=ue.el;xe.children!==ue.children&&d(Ye,xe.children)}},D=(ue,xe,Le,Ge)=>{ue==null?n(xe.el=h(xe.children||""),Le,Ge):xe.el=ue.el},k=(ue,xe,Le,Ge)=>{[ue.el,ue.anchor]=E(ue.children,xe,Le,Ge,ue.el,ue.anchor)},O=({el:ue,anchor:xe},Le,Ge)=>{let Ye;for(;ue&&ue!==xe;)Ye=y(ue),n(ue,Le,Ge),ue=Ye;n(xe,Le,Ge)},F=({el:ue,anchor:xe})=>{let Le;for(;ue&&ue!==xe;)Le=y(ue),i(ue),ue=Le;i(xe)},q=(ue,xe,Le,Ge,Ye,tt,yt,ot,Ce)=>{yt=yt||xe.type==="svg",ue==null?H(xe,Le,Ge,Ye,tt,yt,ot,Ce):ee(ue,xe,Ye,tt,yt,ot,Ce)},H=(ue,xe,Le,Ge,Ye,tt,yt,ot)=>{let Ce,rt;const{type:Ft,props:mt,shapeFlag:gt,transition:Zt,dirs:sr}=ue;if(Ce=ue.el=s(ue.type,tt,mt&&mt.is,mt),gt&8?m(Ce,ue.children):gt&16&&Z(ue.children,Ce,null,Ge,Ye,tt&&Ft!=="foreignObject",yt,ot),sr&&Cs(ue,null,Ge,"created"),W(Ce,ue,ue.scopeId,yt,Ge),mt){for(const Ir in mt)Ir!=="value"&&!gm(Ir)&&a(Ce,Ir,null,mt[Ir],tt,ue.children,Ge,Ye,mr);"value"in mt&&a(Ce,"value",null,mt.value),(rt=mt.onVnodeBeforeMount)&&vo(rt,Ge,ue)}sr&&Cs(ue,null,Ge,"beforeMount");const wr=sR(Ye,Zt);wr&&Zt.beforeEnter(Ce),n(Ce,xe,Le),((rt=mt&&mt.onVnodeMounted)||wr||sr)&&ka(()=>{rt&&vo(rt,Ge,ue),wr&&Zt.enter(Ce),sr&&Cs(ue,null,Ge,"mounted")},Ye)},W=(ue,xe,Le,Ge,Ye)=>{if(Le&&x(ue,Le),Ge)for(let tt=0;tt{for(let rt=Ce;rt{const ot=xe.el=ue.el;let{patchFlag:Ce,dynamicChildren:rt,dirs:Ft}=xe;Ce|=ue.patchFlag&16;const mt=ue.props||Tn,gt=xe.props||Tn;let Zt;Le&&oc(Le,!1),(Zt=gt.onVnodeBeforeUpdate)&&vo(Zt,Le,xe,ue),Ft&&Cs(xe,ue,Le,"beforeUpdate"),Le&&oc(Le,!0);const sr=Ye&&xe.type!=="foreignObject";if(rt?re(ue.dynamicChildren,rt,ot,Le,Ge,sr,tt):yt||He(ue,xe,ot,null,Le,Ge,sr,tt,!1),Ce>0){if(Ce&16)ce(ot,xe,mt,gt,Le,Ge,Ye);else if(Ce&2&&mt.class!==gt.class&&a(ot,"class",null,gt.class,Ye),Ce&4&&a(ot,"style",mt.style,gt.style,Ye),Ce&8){const wr=xe.dynamicProps;for(let Ir=0;Ir{Zt&&vo(Zt,Le,xe,ue),Ft&&Cs(xe,ue,Le,"updated")},Ge)},re=(ue,xe,Le,Ge,Ye,tt,yt)=>{for(let ot=0;ot{if(Le!==Ge){if(Le!==Tn)for(const ot in Le)!gm(ot)&&!(ot in Ge)&&a(ue,ot,Le[ot],null,yt,xe.children,Ye,tt,mr);for(const ot in Ge){if(gm(ot))continue;const Ce=Ge[ot],rt=Le[ot];Ce!==rt&&ot!=="value"&&a(ue,ot,rt,Ce,yt,xe.children,Ye,tt,mr)}"value"in Ge&&a(ue,"value",Le.value,Ge.value)}},le=(ue,xe,Le,Ge,Ye,tt,yt,ot,Ce)=>{const rt=xe.el=ue?ue.el:o(""),Ft=xe.anchor=ue?ue.anchor:o("");let{patchFlag:mt,dynamicChildren:gt,slotScopeIds:Zt}=xe;Zt&&(ot=ot?ot.concat(Zt):Zt),ue==null?(n(rt,Le,Ge),n(Ft,Le,Ge),Z(xe.children,Le,Ft,Ye,tt,yt,ot,Ce)):mt>0&&mt&64&>&&ue.dynamicChildren?(re(ue.dynamicChildren,gt,Le,Ye,tt,yt,ot),(xe.key!=null||Ye&&xe===Ye.subTree)&&ET(ue,xe,!0)):He(ue,xe,Le,Ft,Ye,tt,yt,ot,Ce)},ve=(ue,xe,Le,Ge,Ye,tt,yt,ot,Ce)=>{xe.slotScopeIds=ot,ue==null?xe.shapeFlag&512?Ye.ctx.activate(xe,Le,Ge,yt,Ce):de(xe,Le,Ge,Ye,tt,yt,Ce):Te(ue,xe,Ce)},de=(ue,xe,Le,Ge,Ye,tt,yt)=>{const ot=ue.component=iV(ue,Ge,Ye);if(Fv(ue)&&(ot.ctx.renderer=et),aV(ot),ot.asyncDep){if(Ye&&Ye.registerDep(ot,we),!ue.el){const Ce=ot.subTree=Oe(za);D(null,Ce,xe,Le)}return}we(ot,ue,xe,Le,Ye,tt,yt)},Te=(ue,xe,Le)=>{const Ge=xe.component=ue.component;if(v7(ue,xe,Le))if(Ge.asyncDep&&!Ge.asyncResolved){Ue(Ge,xe,Le);return}else Ge.next=xe,c7(Ge.update),Ge.update();else xe.el=ue.el,Ge.vnode=xe},we=(ue,xe,Le,Ge,Ye,tt,yt)=>{const ot=()=>{if(ue.isMounted){let{next:Ft,bu:mt,u:gt,parent:Zt,vnode:sr}=ue,wr=Ft,Ir;oc(ue,!1),Ft?(Ft.el=sr.el,Ue(ue,Ft,yt)):Ft=sr,mt&&ax(mt),(Ir=Ft.props&&Ft.props.onVnodeBeforeUpdate)&&vo(Ir,Zt,Ft,sr),oc(ue,!0);const Zr=ox(ue),Bn=ue.subTree;ue.subTree=Zr,M(Bn,Zr,g(Bn.el),qe(Bn),ue,Ye,tt),Ft.el=Zr.el,wr===null&&g7(ue,Zr.el),gt&&ka(gt,Ye),(Ir=Ft.props&&Ft.props.onVnodeUpdated)&&ka(()=>vo(Ir,Zt,Ft,sr),Ye)}else{let Ft;const{el:mt,props:gt}=xe,{bm:Zt,m:sr,parent:wr}=ue,Ir=Rf(xe);if(oc(ue,!1),Zt&&ax(Zt),!Ir&&(Ft=gt&>.onVnodeBeforeMount)&&vo(Ft,wr,xe),oc(ue,!0),mt&&vt){const Zr=()=>{ue.subTree=ox(ue),vt(mt,ue.subTree,ue,Ye,null)};Ir?xe.type.__asyncLoader().then(()=>!ue.isUnmounted&&Zr()):Zr()}else{const Zr=ue.subTree=ox(ue);M(null,Zr,Le,Ge,ue,Ye,tt),xe.el=Zr.el}if(sr&&ka(sr,Ye),!Ir&&(Ft=gt&>.onVnodeMounted)){const Zr=xe;ka(()=>vo(Ft,wr,Zr),Ye)}(xe.shapeFlag&256||wr&&Rf(wr.vnode)&&wr.vnode.shapeFlag&256)&&ue.a&&ka(ue.a,Ye),ue.isMounted=!0,xe=Le=Ge=null}},Ce=ue.effect=new uT(ot,()=>Y0(rt),ue.scope),rt=ue.update=()=>Ce.run();rt.id=ue.uid,oc(ue,!0),rt()},Ue=(ue,xe,Le)=>{xe.component=ue;const Ge=ue.vnode.props;ue.vnode=xe,ue.next=null,V7(ue,xe.props,Ge,Le),U7(ue,xe.children,Le),ud(),HM(),cd()},He=(ue,xe,Le,Ge,Ye,tt,yt,ot,Ce=!1)=>{const rt=ue&&ue.children,Ft=ue?ue.shapeFlag:0,mt=xe.children,{patchFlag:gt,shapeFlag:Zt}=xe;if(gt>0){if(gt&128){Pt(rt,mt,Le,Ge,Ye,tt,yt,ot,Ce);return}else if(gt&256){Mt(rt,mt,Le,Ge,Ye,tt,yt,ot,Ce);return}}Zt&8?(Ft&16&&mr(rt,Ye,tt),mt!==rt&&m(Le,mt)):Ft&16?Zt&16?Pt(rt,mt,Le,Ge,Ye,tt,yt,ot,Ce):mr(rt,Ye,tt,!0):(Ft&8&&m(Le,""),Zt&16&&Z(mt,Le,Ge,Ye,tt,yt,ot,Ce))},Mt=(ue,xe,Le,Ge,Ye,tt,yt,ot,Ce)=>{ue=ue||Lf,xe=xe||Lf;const rt=ue.length,Ft=xe.length,mt=Math.min(rt,Ft);let gt;for(gt=0;gtFt?mr(ue,Ye,tt,!0,!1,mt):Z(xe,Le,Ge,Ye,tt,yt,ot,Ce,mt)},Pt=(ue,xe,Le,Ge,Ye,tt,yt,ot,Ce)=>{let rt=0;const Ft=xe.length;let mt=ue.length-1,gt=Ft-1;for(;rt<=mt&&rt<=gt;){const Zt=ue[rt],sr=xe[rt]=Ce?gu(xe[rt]):Yo(xe[rt]);if(Bc(Zt,sr))M(Zt,sr,Le,null,Ye,tt,yt,ot,Ce);else break;rt++}for(;rt<=mt&&rt<=gt;){const Zt=ue[mt],sr=xe[gt]=Ce?gu(xe[gt]):Yo(xe[gt]);if(Bc(Zt,sr))M(Zt,sr,Le,null,Ye,tt,yt,ot,Ce);else break;mt--,gt--}if(rt>mt){if(rt<=gt){const Zt=gt+1,sr=Ztgt)for(;rt<=mt;)Dt(ue[rt],Ye,tt,!0),rt++;else{const Zt=rt,sr=rt,wr=new Map;for(rt=sr;rt<=gt;rt++){const Ln=xe[rt]=Ce?gu(xe[rt]):Yo(xe[rt]);Ln.key!=null&&wr.set(Ln.key,rt)}let Ir,Zr=0;const Bn=gt-sr+1;let $i=!1,ut=0;const mi=new Array(Bn);for(rt=0;rt=Bn){Dt(Ln,Ye,tt,!0);continue}let Fn;if(Ln.key!=null)Fn=wr.get(Ln.key);else for(Ir=sr;Ir<=gt;Ir++)if(mi[Ir-sr]===0&&Bc(Ln,xe[Ir])){Fn=Ir;break}Fn===void 0?Dt(Ln,Ye,tt,!0):(mi[Fn-sr]=rt+1,Fn>=ut?ut=Fn:$i=!0,M(Ln,xe[Fn],Le,null,Ye,tt,yt,ot,Ce),Zr++)}const tn=$i?Z7(mi):Lf;for(Ir=tn.length-1,rt=Bn-1;rt>=0;rt--){const Ln=sr+rt,Fn=xe[Ln],ct=Ln+1{const{el:tt,type:yt,transition:ot,children:Ce,shapeFlag:rt}=ue;if(rt&6){er(ue.component.subTree,xe,Le,Ge);return}if(rt&128){ue.suspense.move(xe,Le,Ge);return}if(rt&64){yt.move(ue,xe,Le,et);return}if(yt===Mr){n(tt,xe,Le);for(let mt=0;mtot.enter(tt),Ye);else{const{leave:mt,delayLeave:gt,afterLeave:Zt}=ot,sr=()=>n(tt,xe,Le),wr=()=>{mt(tt,()=>{sr(),Zt&&Zt()})};gt?gt(tt,sr,wr):wr()}else n(tt,xe,Le)},Dt=(ue,xe,Le,Ge=!1,Ye=!1)=>{const{type:tt,props:yt,ref:ot,children:Ce,dynamicChildren:rt,shapeFlag:Ft,patchFlag:mt,dirs:gt}=ue;if(ot!=null&&t0(ot,null,Le,ue,!0),Ft&256){xe.ctx.deactivate(ue);return}const Zt=Ft&1&>,sr=!Rf(ue);let wr;if(sr&&(wr=yt&&yt.onVnodeBeforeUnmount)&&vo(wr,xe,ue),Ft&6)Ar(ue.component,Le,Ge);else{if(Ft&128){ue.suspense.unmount(Le,Ge);return}Zt&&Cs(ue,null,xe,"beforeUnmount"),Ft&64?ue.type.remove(ue,xe,Le,Ye,et,Ge):rt&&(tt!==Mr||mt>0&&mt&64)?mr(rt,xe,Le,!1,!0):(tt===Mr&&mt&384||!Ye&&Ft&16)&&mr(Ce,xe,Le),Ge&&Wt(ue)}(sr&&(wr=yt&&yt.onVnodeUnmounted)||Zt)&&ka(()=>{wr&&vo(wr,xe,ue),Zt&&Cs(ue,null,xe,"unmounted")},Le)},Wt=ue=>{const{type:xe,el:Le,anchor:Ge,transition:Ye}=ue;if(xe===Mr){ur(Le,Ge);return}if(xe===bm){F(ue);return}const tt=()=>{i(Le),Ye&&!Ye.persisted&&Ye.afterLeave&&Ye.afterLeave()};if(ue.shapeFlag&1&&Ye&&!Ye.persisted){const{leave:yt,delayLeave:ot}=Ye,Ce=()=>yt(Le,tt);ot?ot(ue.el,tt,Ce):Ce()}else tt()},ur=(ue,xe)=>{let Le;for(;ue!==xe;)Le=y(ue),i(ue),ue=Le;i(xe)},Ar=(ue,xe,Le)=>{const{bum:Ge,scope:Ye,update:tt,subTree:yt,um:ot}=ue;Ge&&ax(Ge),Ye.stop(),tt&&(tt.active=!1,Dt(yt,ue,xe,Le)),ot&&ka(ot,xe),ka(()=>{ue.isUnmounted=!0},xe),xe&&xe.pendingBranch&&!xe.isUnmounted&&ue.asyncDep&&!ue.asyncResolved&&ue.suspenseId===xe.pendingId&&(xe.deps--,xe.deps===0&&xe.resolve())},mr=(ue,xe,Le,Ge=!1,Ye=!1,tt=0)=>{for(let yt=tt;ytue.shapeFlag&6?qe(ue.component.subTree):ue.shapeFlag&128?ue.suspense.next():y(ue.anchor||ue.el),lt=(ue,xe,Le)=>{ue==null?xe._vnode&&Dt(xe._vnode,null,null,!0):M(xe._vnode||null,ue,xe,null,null,null,Le),HM(),Y_(),xe._vnode=ue},et={p:M,um:Dt,m:er,r:Wt,mt:de,mc:Z,pc:He,pbc:re,n:qe,o:e};let dt,vt;return t&&([dt,vt]=t(et)),{render:lt,hydrate:dt,createApp:$7(lt,dt)}}function oc({effect:e,update:t},r){e.allowRecurse=t.allowRecurse=r}function sR(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ET(e,t,r=!1){const n=e.children,i=t.children;if(Pr(n)&&Pr(i))for(let a=0;a>1,e[r[o]]0&&(t[n]=r[a-1]),r[a]=n)}}for(a=r.length,s=r[a-1];a-- >0;)r[a]=s,s=t[s];return r}const X7=e=>e.__isTeleport,_m=e=>e&&(e.disabled||e.disabled===""),tP=e=>typeof SVGElement<"u"&&e instanceof SVGElement,y2=(e,t)=>{const r=e&&e.to;return na(r)?t?t(r):null:r},Y7={__isTeleport:!0,process(e,t,r,n,i,a,s,o,h,d){const{mc:m,pc:g,pbc:y,o:{insert:x,querySelector:E,createText:M,createComment:P}}=d,D=_m(t.props);let{shapeFlag:k,children:O,dynamicChildren:F}=t;if(e==null){const q=t.el=M(""),H=t.anchor=M("");x(q,r,n),x(H,r,n);const W=t.target=y2(t.props,E),Z=t.targetAnchor=M("");W&&(x(Z,W),s=s||tP(W));const ee=(re,ce)=>{k&16&&m(O,re,ce,i,a,s,o,h)};D?ee(r,H):W&&ee(W,Z)}else{t.el=e.el;const q=t.anchor=e.anchor,H=t.target=e.target,W=t.targetAnchor=e.targetAnchor,Z=_m(e.props),ee=Z?r:H,re=Z?q:W;if(s=s||tP(H),F?(y(e.dynamicChildren,F,ee,i,a,s,o),ET(e,t,!0)):h||g(e,t,ee,re,i,a,s,o,!1),D)Z?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):_y(t,r,q,d,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const ce=t.target=y2(t.props,E);ce&&_y(t,ce,null,d,0)}else Z&&_y(t,H,W,d,1)}uR(t)},remove(e,t,r,n,{um:i,o:{remove:a}},s){const{shapeFlag:o,children:h,anchor:d,targetAnchor:m,target:g,props:y}=e;if(g&&a(m),s&&a(d),o&16){const x=s||!_m(y);for(let E=0;E0?Jo||Lf:null,J7(),Ym>0&&Jo&&Jo.push(e),e}function zt(e,t,r,n,i,a){return cR(Qt(e,t,r,n,i,a,!0))}function In(e,t,r,n,i){return cR(Oe(e,t,r,n,i,!0))}function Km(e){return e?e.__v_isVNode===!0:!1}function Bc(e,t){return e.type===t.type&&e.key===t.key}const t1="__vInternal",hR=({key:e})=>e??null,b_=({ref:e,ref_key:t,ref_for:r})=>(typeof e=="number"&&(e=""+e),e!=null?na(e)||hi(e)||yr(e)?{i:ki,r:e,k:t,f:!!r}:e:null);function Qt(e,t=null,r=null,n=0,i=null,a=e===Mr?0:1,s=!1,o=!1){const h={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&hR(t),ref:t&&b_(t),scopeId:J0,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:ki};return o?(AT(h,r),a&128&&e.normalize(h)):r&&(h.shapeFlag|=na(r)?8:16),Ym>0&&!s&&Jo&&(h.patchFlag>0||a&6)&&h.patchFlag!==32&&Jo.push(h),h}const Oe=Q7;function Q7(e,t=null,r=null,n=0,i=null,a=!1){if((!e||e===y7)&&(e=za),Km(e)){const o=Du(e,t,!0);return r&&AT(o,r),Ym>0&&!a&&Jo&&(o.shapeFlag&6?Jo[Jo.indexOf(e)]=o:Jo.push(o)),o.patchFlag|=-2,o}if(cV(e)&&(e=e.__vccOpts),t){t=eV(t);let{class:o,style:h}=t;o&&!na(o)&&(t.class=Oi(o)),ni(h)&&(P3(h)&&!Pr(h)&&(h=ra({},h)),t.style=hd(h))}const s=na(e)?1:b7(e)?128:X7(e)?64:ni(e)?4:yr(e)?2:0;return Qt(e,t,r,n,i,s,a,!0)}function eV(e){return e?P3(e)||t1 in e?ra({},e):e:null}function Du(e,t,r=!1){const{props:n,ref:i,patchFlag:a,children:s}=e,o=t?r0(n||{},t):n;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:o,key:o&&hR(o),ref:t&&t.ref?r&&i?Pr(i)?i.concat(b_(t)):[i,b_(t)]:b_(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Mr?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Du(e.ssContent),ssFallback:e.ssFallback&&Du(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Cl(e=" ",t=0){return Oe(Iu,null,e,t)}function tV(e,t){const r=Oe(bm,null,e);return r.staticCount=t,r}function ln(e="",t=!1){return t?(ft(),In(za,null,e)):Oe(za,null,e)}function Yo(e){return e==null||typeof e=="boolean"?Oe(za):Pr(e)?Oe(Mr,null,e.slice()):typeof e=="object"?gu(e):Oe(Iu,null,String(e))}function gu(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Du(e)}function AT(e,t){let r=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Pr(t))r=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),AT(e,i()),i._c&&(i._d=!0));return}else{r=32;const i=t._;!i&&!(t1 in t)?t._ctx=ki:i===3&&ki&&(ki.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else yr(t)?(t={default:t,_ctx:ki},r=32):(t=String(t),n&64?(r=16,t=[Cl(t)]):r=8);e.children=t,e.shapeFlag|=r}function r0(...e){const t={};for(let r=0;rci||ki;let MT,rf,nP="__VUE_INSTANCE_SETTERS__";(rf=f2()[nP])||(rf=f2()[nP]=[]),rf.push(e=>ci=e),MT=e=>{rf.length>1?rf.forEach(t=>t(e)):rf[0](e)};const Uf=e=>{MT(e),e.scope.on()},Xc=()=>{ci&&ci.scope.off(),MT(null)};function fR(e){return e.vnode.shapeFlag&4}let Gf=!1;function aV(e,t=!1){Gf=t;const{props:r,children:n}=e.vnode,i=fR(e);N7(e,r,i,t),H7(e,n);const a=i?oV(e,t):void 0;return Gf=!1,a}function oV(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=I3(new Proxy(e.ctx,L7));const{setup:n}=r;if(n){const i=e.setupContext=n.length>1?lV(e):null;Uf(e),ud();const a=Cu(n,e,0,[e.props,i]);if(cd(),Xc(),z3(a)){if(a.then(Xc,Xc),t)return a.then(s=>{iP(e,s,t)}).catch(s=>{Bv(s,e,0)});e.asyncDep=a}else iP(e,a,t)}else dR(e,t)}function iP(e,t,r){yr(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ni(t)&&(e.setupState=L3(t)),dR(e,r)}let aP;function dR(e,t,r){const n=e.type;if(!e.render){if(!t&&aP&&!n.render){const i=n.template||TT(e).template;if(i){const{isCustomElement:a,compilerOptions:s}=e.appContext.config,{delimiters:o,compilerOptions:h}=n,d=ra(ra({isCustomElement:a,delimiters:o},s),h);n.render=aP(i,d)}}e.render=n.render||bl}{Uf(e),ud();try{k7(e)}finally{cd(),Xc()}}}function sV(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,r){return Fa(e,"get","$attrs"),t[r]}}))}function lV(e){const t=r=>{e.exposed=r||{}};return{get attrs(){return sV(e)},slots:e.slots,emit:e.emit,expose:t}}function r1(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(L3(I3(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in ym)return ym[r](e)},has(t,r){return r in t||r in ym}}))}function uV(e,t=!0){return yr(e)?e.displayName||e.name:e.name||t&&e.__name}function cV(e){return yr(e)&&"__vccOpts"in e}const ze=(e,t)=>XN(e,t,Gf);function br(e,t,r){const n=arguments.length;return n===2?ni(t)&&!Pr(t)?Km(t)?Oe(e,null,[t]):Oe(e,t):Oe(e,null,t):(n>3?r=Array.prototype.slice.call(arguments,2):n===3&&Km(r)&&(r=[r]),Oe(e,t,r))}const hV=Symbol.for("v-scx"),fV=()=>Fr(hV),dV="3.3.8";function pV(e,t){const r=Object.create(null),n=e.split(",");for(let i=0;i!!r[i.toLowerCase()]:i=>!!r[i]}const mV=/^on[^a-z]/,vV=e=>mV.test(e),gV=e=>e.startsWith("onUpdate:"),n1=Object.assign,i1=Array.isArray,yV=e=>typeof e=="function",Jm=e=>typeof e=="string",_V=e=>e!==null&&typeof e=="object",pR=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},bV=/\B([A-Z])/g,PT=pR(e=>e.replace(bV,"-$1").toLowerCase()),xV=pR(e=>e.charAt(0).toUpperCase()+e.slice(1)),wV=e=>{const t=Jm(e)?Number(e):NaN;return isNaN(t)?e:t},SV="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",TV=pV(SV);function mR(e){return!!e||e===""}const CV="http://www.w3.org/2000/svg",Fc=typeof document<"u"?document:null,oP=Fc&&Fc.createElement("template"),EV={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,n)=>{const i=t?Fc.createElementNS(CV,e):Fc.createElement(e,r?{is:r}:void 0);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>Fc.createTextNode(e),createComment:e=>Fc.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Fc.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,n,i,a){const s=r?r.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),r),!(i===a||!(i=i.nextSibling)););else{oP.innerHTML=n?`${e}`:e;const o=oP.content;if(n){const h=o.firstChild;for(;h.firstChild;)o.appendChild(h.firstChild);o.removeChild(h)}t.insertBefore(o,r)}return[s?s.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},au="transition",Lp="animation",qf=Symbol("_vtc"),Ou=(e,{slots:t})=>br(S7,gR(e),t);Ou.displayName="Transition";const vR={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},AV=Ou.props=n1({},Z3,vR),sc=(e,t=[])=>{i1(e)?e.forEach(r=>r(...t)):e&&e(...t)},sP=e=>e?i1(e)?e.some(t=>t.length>1):e.length>1:!1;function gR(e){const t={};for(const le in e)le in vR||(t[le]=e[le]);if(e.css===!1)return t;const{name:r="v",type:n,duration:i,enterFromClass:a=`${r}-enter-from`,enterActiveClass:s=`${r}-enter-active`,enterToClass:o=`${r}-enter-to`,appearFromClass:h=a,appearActiveClass:d=s,appearToClass:m=o,leaveFromClass:g=`${r}-leave-from`,leaveActiveClass:y=`${r}-leave-active`,leaveToClass:x=`${r}-leave-to`}=e,E=MV(i),M=E&&E[0],P=E&&E[1],{onBeforeEnter:D,onEnter:k,onEnterCancelled:O,onLeave:F,onLeaveCancelled:q,onBeforeAppear:H=D,onAppear:W=k,onAppearCancelled:Z=O}=t,ee=(le,ve,de)=>{du(le,ve?m:o),du(le,ve?d:s),de&&de()},re=(le,ve)=>{le._isLeaving=!1,du(le,g),du(le,x),du(le,y),ve&&ve()},ce=le=>(ve,de)=>{const Te=le?W:k,we=()=>ee(ve,le,de);sc(Te,[ve,we]),lP(()=>{du(ve,le?h:a),cl(ve,le?m:o),sP(Te)||uP(ve,n,M,we)})};return n1(t,{onBeforeEnter(le){sc(D,[le]),cl(le,a),cl(le,s)},onBeforeAppear(le){sc(H,[le]),cl(le,h),cl(le,d)},onEnter:ce(!1),onAppear:ce(!0),onLeave(le,ve){le._isLeaving=!0;const de=()=>re(le,ve);cl(le,g),_R(),cl(le,y),lP(()=>{le._isLeaving&&(du(le,g),cl(le,x),sP(F)||uP(le,n,P,de))}),sc(F,[le,de])},onEnterCancelled(le){ee(le,!1),sc(O,[le])},onAppearCancelled(le){ee(le,!0),sc(Z,[le])},onLeaveCancelled(le){re(le),sc(q,[le])}})}function MV(e){if(e==null)return null;if(_V(e))return[cx(e.enter),cx(e.leave)];{const t=cx(e);return[t,t]}}function cx(e){return wV(e)}function cl(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.add(r)),(e[qf]||(e[qf]=new Set)).add(t)}function du(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const r=e[qf];r&&(r.delete(t),r.size||(e[qf]=void 0))}function lP(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let PV=0;function uP(e,t,r,n){const i=e._endId=++PV,a=()=>{i===e._endId&&n()};if(r)return setTimeout(a,r);const{type:s,timeout:o,propCount:h}=yR(e,t);if(!s)return n();const d=s+"end";let m=0;const g=()=>{e.removeEventListener(d,y),a()},y=x=>{x.target===e&&++m>=h&&g()};setTimeout(()=>{m(r[E]||"").split(", "),i=n(`${au}Delay`),a=n(`${au}Duration`),s=cP(i,a),o=n(`${Lp}Delay`),h=n(`${Lp}Duration`),d=cP(o,h);let m=null,g=0,y=0;t===au?s>0&&(m=au,g=s,y=a.length):t===Lp?d>0&&(m=Lp,g=d,y=h.length):(g=Math.max(s,d),m=g>0?s>d?au:Lp:null,y=m?m===au?a.length:h.length:0);const x=m===au&&/\b(transform|all)(,|$)/.test(n(`${au}Property`).toString());return{type:m,timeout:g,propCount:y,hasTransform:x}}function cP(e,t){for(;e.lengthhP(r)+hP(e[n])))}function hP(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _R(){return document.body.offsetHeight}function IV(e,t,r){const n=e[qf];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const IT=Symbol("_vod"),n0={beforeMount(e,{value:t},{transition:r}){e[IT]=e.style.display==="none"?"":e.style.display,r&&t?r.beforeEnter(e):kp(e,t)},mounted(e,{value:t},{transition:r}){r&&t&&r.enter(e)},updated(e,{value:t,oldValue:r},{transition:n}){!t!=!r&&(n?t?(n.beforeEnter(e),kp(e,!0),n.enter(e)):n.leave(e,()=>{kp(e,!1)}):kp(e,t))},beforeUnmount(e,{value:t}){kp(e,t)}};function kp(e,t){e.style.display=t?e[IT]:"none"}function DV(e,t,r){const n=e.style,i=Jm(r);if(r&&!i){if(t&&!Jm(t))for(const a in t)r[a]==null&&_2(n,a,"");for(const a in r)_2(n,a,r[a])}else{const a=n.display;i?t!==r&&(n.cssText=r):t&&e.removeAttribute("style"),IT in e&&(n.display=a)}}const fP=/\s*!important$/;function _2(e,t,r){if(i1(r))r.forEach(n=>_2(e,t,n));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const n=LV(e,t);fP.test(r)?e.setProperty(PT(n),r.replace(fP,""),"important"):e[n]=r}}const dP=["Webkit","Moz","ms"],hx={};function LV(e,t){const r=hx[t];if(r)return r;let n=Os(t);if(n!=="filter"&&n in e)return hx[t]=n;n=xV(n);for(let i=0;ifx||($V.then(()=>fx=0),fx=Date.now());function VV(e,t){const r=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=r.attached)return;Eo(jV(n,r.value),t,5,[n])};return r.value=e,r.attached=NV(),r}function jV(e,t){if(i1(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const gP=/^on[a-z]/,HV=(e,t,r,n,i=!1,a,s,o,h)=>{t==="class"?IV(e,n,i):t==="style"?DV(e,r,n):vV(t)?gV(t)||BV(e,t,r,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):UV(e,t,n,i))?RV(e,t,n,a,s,o,h):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),kV(e,t,n,i))};function UV(e,t,r,n){return n?!!(t==="innerHTML"||t==="textContent"||t in e&&gP.test(t)&&yV(r)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||gP.test(t)&&Jm(r)?!1:t in e}const bR=new WeakMap,xR=new WeakMap,i0=Symbol("_moveCb"),yP=Symbol("_enterCb"),wR={name:"TransitionGroup",props:n1({},AV,{tag:String,moveClass:String}),setup(e,{slots:t}){const r=dd(),n=W3();let i,a;return e1(()=>{if(!i.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!XV(i[0].el,r.vnode.el,s))return;i.forEach(qV),i.forEach(WV);const o=i.filter(ZV);_R(),o.forEach(h=>{const d=h.el,m=d.style;cl(d,s),m.transform=m.webkitTransform=m.transitionDuration="";const g=d[i0]=y=>{y&&y.target!==d||(!y||/transform$/.test(y.propertyName))&&(d.removeEventListener("transitionend",g),d[i0]=null,du(d,s))};d.addEventListener("transitionend",g)})}),()=>{const s=$r(e),o=gR(s);let h=s.tag||Mr;i=a,a=t.default?ST(t.default()):[];for(let d=0;ddelete e.mode;wR.props;const SR=wR;function qV(e){const t=e.el;t[i0]&&t[i0](),t[yP]&&t[yP]()}function WV(e){xR.set(e,e.el.getBoundingClientRect())}function ZV(e){const t=bR.get(e),r=xR.get(e),n=t.left-r.left,i=t.top-r.top;if(n||i){const a=e.el.style;return a.transform=a.webkitTransform=`translate(${n}px,${i}px)`,a.transitionDuration="0s",e}}function XV(e,t,r){const n=e.cloneNode(),i=e[qf];i&&i.forEach(o=>{o.split(/\s+/).forEach(h=>h&&n.classList.remove(h))}),r.split(/\s+/).forEach(o=>o&&n.classList.add(o)),n.style.display="none";const a=t.nodeType===1?t:t.parentNode;a.appendChild(n);const{hasTransform:s}=yR(n);return a.removeChild(n),s}const YV={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},KV=(e,t)=>r=>{if(!("key"in r))return;const n=PT(r.key);if(t.some(i=>i===n||YV[i]===n))return e(r)},TR=n1({patchProp:HV},EV);let wm,_P=!1;function JV(){return wm||(wm=q7(TR))}function QV(){return wm=_P?wm:W7(TR),_P=!0,wm}const a0=(...e)=>{JV().render(...e)},ej=(...e)=>{const t=QV().createApp(...e),{mount:r}=t;return t.mount=n=>{const i=tj(n);if(i)return r(i,!0,i instanceof SVGElement)},t};function tj(e){return Jm(e)?document.querySelector(e):e}const rj="modulepreload",nj=function(e){return"/"+e},bP={},Ve=function(t,r,n){if(!r||r.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(r.map(a=>{if(a=nj(a),a in bP)return;bP[a]=!0;const s=a.endsWith(".css"),o=s?'[rel="stylesheet"]':"";if(!!n)for(let m=i.length-1;m>=0;m--){const g=i[m];if(g.href===a&&(!s||g.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${o}`))return;const d=document.createElement("link");if(d.rel=s?"stylesheet":rj,s||(d.as="script",d.crossOrigin=""),d.href=a,document.head.appendChild(d),s)return new Promise((m,g)=>{d.addEventListener("load",m),d.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${a}`)))})})).then(()=>t()).catch(a=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=a,window.dispatchEvent(s),!s.defaultPrevented)throw a})},ij={"v-8daa1a0e":()=>Ve(()=>import("./index.html-09lKpzMb.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-74bc627b":()=>Ve(()=>import("./index.html-gNAV24f1.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-08ae5eba":()=>Ve(()=>import("./2018-2019.html-xUor3Kof.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-93cfbde4":()=>Ve(()=>import("./2019-2020.html-LcCY3rRi.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-f917537a":()=>Ve(()=>import("./2020-2021.html-48ii4A6r.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-1a0de1a3":()=>Ve(()=>import("./2021-2022.html-TRxUStp_.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-190ab309":()=>Ve(()=>import("./2021fall.html-3t-F1J-l.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-9eb125fa":()=>Ve(()=>import("./2022-2023.html-jjUPGphm.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-96167c50":()=>Ve(()=>import("./index.html-4Wri6Lmr.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-96536bf0":()=>Ve(()=>import("./index.html-vmDdD7Sn.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-dbd38712":()=>Ve(()=>import("./index.html-2HopNPQr.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-c73889da":()=>Ve(()=>import("./index.html-ZHMZGsTo.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-2c5c0e04":()=>Ve(()=>import("./building-11-elevator.html-4iGVymmT.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-104cfa63":()=>Ve(()=>import("./2021.html-Zp9WOhGw.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-780207b9":()=>Ve(()=>import("./index.html-vWTAuN_G.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-14e6315a":()=>Ve(()=>import("./index.html-aC5Rcr8V.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-42f2be94":()=>Ve(()=>import("./vehicle-charger.html-WCvJbGTa.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-ed48bdf8":()=>Ve(()=>import("./index.html-lakCfSSU.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-f4bc5604":()=>Ve(()=>import("./index.html-McKlvxzv.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-1500d063":()=>Ve(()=>import("./index.html-Vi28LQ9_.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-014445c8":()=>Ve(()=>import("./index.html-aC3BbhBj.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-461d4a7c":()=>Ve(()=>import("./registered-organization-2019.html-bp8QVK35.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-6ba7e826":()=>Ve(()=>import("./registered-organization-2020.html-_Nr1Xd7j.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-6d5cc0c5":()=>Ve(()=>import("./registered-organization-2021.html-uiiNm4vO.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-28ddfa13":()=>Ve(()=>import("./index.html-W9nTO2Kr.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-be92ea7e":()=>Ve(()=>import("./index.html-5Yg8OkmQ.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-d7188082":()=>Ve(()=>import("./index.html-bjBGfI8H.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-d1061704":()=>Ve(()=>import("./paper-tools.html-qavDURca.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-4322d0a7":()=>Ve(()=>import("./index.html-jya-q3IV.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-69b23ddf":()=>Ve(()=>import("./index.html-ZyzAQ8AP.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-57bda71b":()=>Ve(()=>import("./bustimer-old.html-Faj4m8ZC.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-1678dd6f":()=>Ve(()=>import("./bustimer-wx.html-IPPlChhw.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-1630dfb5":()=>Ve(()=>import("./bustimer.html-mLWTxTw3.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-6a28f6e0":()=>Ve(()=>import("./holiday.html-NK0n-Ccq.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-48975204":()=>Ve(()=>import("./redirect.html-ABkB5Trh.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-8059a7a6":()=>Ve(()=>import("./workday.html-KqZWowSu.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-181cc452":()=>Ve(()=>import("./index.html-6dbUUccD.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-22cd7d0c":()=>Ve(()=>import("./index.html-3rNoT6NO.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-0e92d420":()=>Ve(()=>import("./index.html-7tWl3Tx6.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-2b8cac58":()=>Ve(()=>import("./新生攻略之宿舍生活篇.html-wphzvIo4.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-66965350":()=>Ve(()=>import("./新生攻略之校内介绍篇.html-doqURwl2.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-66317da4":()=>Ve(()=>import("./新生攻略之社团篇.html-7dVvoWez.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-5c3fcdf6":()=>Ve(()=>import("./index.html-hFvPCg9K.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-04710004":()=>Ve(()=>import("./index.html-f3nRAgF_.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-5589dd0c":()=>Ve(()=>import("./dorm-floor-plan.html-R6l3LXrU.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-d42194b6":()=>Ve(()=>import("./index.html-_1kqW3EY.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-20383a78":()=>Ve(()=>import("./index.html-kV5yjvsG.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-42c1fa44":()=>Ve(()=>import("./index.html-eFzoofSP.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-76cff034":()=>Ve(()=>import("./index.html-_UO9iQZw.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-ac3449b2":()=>Ve(()=>import("./send-receive-email-by-proxy.html-iMlJABuM.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-29860ed0":()=>Ve(()=>import("./index.html-KWbX328X.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-622da02f":()=>Ve(()=>import("./index.html-DFxgCp2O.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-5e590ec6":()=>Ve(()=>import("./index.html-iHXOZwAB.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-1fa222d4":()=>Ve(()=>import("./index.html-PYp5z5YW.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-48519846":()=>Ve(()=>import("./index.html-CxZQq7P1.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-369295b4":()=>Ve(()=>import("./index.html-Z1BkoEPU.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-3692bb1f":()=>Ve(()=>import("./index.html-4fQfP8H0.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-425958ce":()=>Ve(()=>import("./index.html-0FeczQFx.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-3692ee77":()=>Ve(()=>import("./index.html-LSU6emEz.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-2686552a":()=>Ve(()=>import("./index.html-sQ7_nyCP.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-45d74ec0":()=>Ve(()=>import("./index.html-R3DTxKmq.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-772a5784":()=>Ve(()=>import("./index.html-k6Uh7vfx.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-8460eeb8":()=>Ve(()=>import("./advice-on-study.html-zirQNHLN.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-435bd49a":()=>Ve(()=>import("./info-on-study.html-Z82wN-SX.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-6323734e":()=>Ve(()=>import("./新生攻略之学习篇.html--HPv0u2n.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-5eb748bf":()=>Ve(()=>import("./innovative-project.html-E-h7v46p.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-2a23f022":()=>Ve(()=>import("./index.html-bosJw3DF.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-66061b92":()=>Ve(()=>import("./index.html-2hIXvrDO.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-89ac2bec":()=>Ve(()=>import("./index.html-O9yoYIf6.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-1549b190":()=>Ve(()=>import("./index.html-QKyRG-5V.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-9e1961f8":()=>Ve(()=>import("./index.html-HRY79phe.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-6bba5e58":()=>Ve(()=>import("./index.html-Mvu6Jn_l.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-83a77034":()=>Ve(()=>import("./index.html-GPglhz3l.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-296d1d15":()=>Ve(()=>import("./index.html-a1CPosgU.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-fb711be8":()=>Ve(()=>import("./index.html-MwEf6Jgr.js"),__vite__mapDeps([])).then(({data:e})=>e),"v-3706649a":()=>Ve(()=>import("./404.html-r6aI8Oiv.js"),__vite__mapDeps([])).then(({data:e})=>e)},aj=JSON.parse(`{"base":"/","lang":"en-US","title":"","description":"","head":[["link",{"rel":"icon","href":"/logo-assets/touch/homescreen192.png"}],["meta",{"name":"theme-color","content":"#49BF7C"}],["link",{"rel":"manifest","href":"/manifest.webmanifest"}],["meta",{"prefix":"og: http://ogp.me/ns#","property":"og:type","content":"article"}],["meta",{"prefix":"og: http://ogp.me/ns#","property":"og:image","content":"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/assets/og-image.png"}],["meta",{"prefix":"og: http://ogp.me/ns#","property":"og:article:author","content":"sustech.online"}],["meta",{"name":"apple-mobile-web-app-capable","content":"yes"}],["meta",{"name":"apple-mobile-web-app-status-bar-style","content":"black"}],["link",{"rel":"apple-touch-icon","href":"/logo-assets/touch/homescreen168.png"}],["meta",{"name":"msapplication-TileImage","content":"/logo-assets/touch/homescreen144.png"}],["meta",{"name":"msapplication-TileColor","content":"#49BF7C"}],["meta",{"name":"google-site-verification","content":"Av-srANCmFA_yZ8Iasa1yQsIPJCF_zlP5AoD35m6_Ww"}],["script",{"async":true,"src":"https://googletagmanager.com/gtag/js?id=G-1BQBXDGY3R"}],["script",{},"\\n window.dataLayer = window.dataLayer || [];\\n function gtag(){dataLayer.push(arguments);}\\n gtag('js', new Date());\\n gtag('config', 'G-1BQBXDGY3R');\\n "],["script",{"src":"/wx_helper.js"}],["script",{"src":"https://res.wx.qq.com/open/js/jweixin-1.6.0.js"}],["script",{"src":"https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/jquery/3.6.0/jquery.min.js"}],["script",{"src":"https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js"}],["link",{"rel":"stylesheet","type":"text/css","href":"https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css"}],["script",{"src":"https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/datatables/1.10.21/js/jquery.dataTables.min.js"}],["link",{"rel":"stylesheet","type":"text/css","href":"https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/datatables/1.10.21/css/jquery.dataTables.min.css"}]],"locales":{"/":{"title":"南科手册","lang":"zh-CN","description":"Online manual for sustecher"}}}`),$v=Array.isArray,oj=e=>typeof e=="function",ks=e=>typeof e=="string";var sj=([e,t,r])=>e==="meta"&&t.name?`${e}.${t.name}`:["title","base"].includes(e)?e:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,t,r]),lj=e=>{const t=new Set,r=[];return e.forEach(n=>{const i=sj(n);t.has(i)||(t.add(i),r.push(n))}),r},Nv=e=>/^(https?:)?\/\//.test(e),uj=e=>/^[a-z][a-z0-9+.-]*:/.test(e),DT=e=>Object.prototype.toString.call(e)==="[object Object]",CR=e=>e[e.length-1]==="/"?e.slice(0,-1):e,ER=e=>e[0]==="/"?e.slice(1):e,AR=(e,t)=>{const r=Object.keys(e).sort((n,i)=>{const a=i.split("/").length-n.split("/").length;return a!==0?a:i.length-n.length});for(const n of r)if(t.startsWith(n))return n;return"/"},xP=(e,t="/")=>{const r=e.replace(/^(https?:)?\/\/[^/]*/,"");return r.startsWith(t)?`/${r.slice(t.length)}`:r};const MR={"v-8daa1a0e":At(()=>Ve(()=>import("./index.html-DblpyXQa.js"),__vite__mapDeps([]))),"v-74bc627b":At(()=>Ve(()=>import("./index.html-VQtryoLc.js"),__vite__mapDeps([]))),"v-08ae5eba":At(()=>Ve(()=>import("./2018-2019.html-P5iq5aEZ.js"),__vite__mapDeps([]))),"v-93cfbde4":At(()=>Ve(()=>import("./2019-2020.html-KF1FsVtf.js"),__vite__mapDeps([]))),"v-f917537a":At(()=>Ve(()=>import("./2020-2021.html-CQE0h0uh.js"),__vite__mapDeps([]))),"v-1a0de1a3":At(()=>Ve(()=>import("./2021-2022.html-_0D3LKbB.js"),__vite__mapDeps([]))),"v-190ab309":At(()=>Ve(()=>import("./2021fall.html-dp3Gi_Np.js"),__vite__mapDeps([]))),"v-9eb125fa":At(()=>Ve(()=>import("./2022-2023.html-FKO2ZOW6.js"),__vite__mapDeps([0,1]))),"v-96167c50":At(()=>Ve(()=>import("./index.html-sNVbTfPX.js"),__vite__mapDeps([2,1]))),"v-96536bf0":At(()=>Ve(()=>import("./index.html-RE3zg6bW.js"),__vite__mapDeps([]))),"v-dbd38712":At(()=>Ve(()=>import("./index.html-OFTRfvV8.js"),__vite__mapDeps([]))),"v-c73889da":At(()=>Ve(()=>import("./index.html-W_Mp_7sR.js"),__vite__mapDeps([]))),"v-2c5c0e04":At(()=>Ve(()=>import("./building-11-elevator.html-PC8wBprB.js"),__vite__mapDeps([]))),"v-104cfa63":At(()=>Ve(()=>import("./2021.html-mB7tsYtP.js"),__vite__mapDeps([]))),"v-780207b9":At(()=>Ve(()=>import("./index.html-DCwbGcUp.js"),__vite__mapDeps([]))),"v-14e6315a":At(()=>Ve(()=>import("./index.html-UCUkpvFj.js"),__vite__mapDeps([]))),"v-42f2be94":At(()=>Ve(()=>import("./vehicle-charger.html-O7MfnQcf.js"),__vite__mapDeps([]))),"v-ed48bdf8":At(()=>Ve(()=>import("./index.html-8COzvKhO.js"),__vite__mapDeps([]))),"v-f4bc5604":At(()=>Ve(()=>import("./index.html-Q1h43n03.js"),__vite__mapDeps([]))),"v-1500d063":At(()=>Ve(()=>import("./index.html-yGX37ofd.js"),__vite__mapDeps([]))),"v-014445c8":At(()=>Ve(()=>import("./index.html--IRrqB2R.js"),__vite__mapDeps([]))),"v-461d4a7c":At(()=>Ve(()=>import("./registered-organization-2019.html-SF8849i2.js"),__vite__mapDeps([]))),"v-6ba7e826":At(()=>Ve(()=>import("./registered-organization-2020.html-khW2Dmy2.js"),__vite__mapDeps([]))),"v-6d5cc0c5":At(()=>Ve(()=>import("./registered-organization-2021.html-cnNXJwPe.js"),__vite__mapDeps([]))),"v-28ddfa13":At(()=>Ve(()=>import("./index.html-eA3azVZi.js"),__vite__mapDeps([]))),"v-be92ea7e":At(()=>Ve(()=>import("./index.html-owNMPbyR.js"),__vite__mapDeps([]))),"v-d7188082":At(()=>Ve(()=>import("./index.html-F4TyLGnu.js"),__vite__mapDeps([]))),"v-d1061704":At(()=>Ve(()=>import("./paper-tools.html-ggwsgvYA.js"),__vite__mapDeps([]))),"v-4322d0a7":At(()=>Ve(()=>import("./index.html-a6AZwlDl.js"),__vite__mapDeps([3,4]))),"v-69b23ddf":At(()=>Ve(()=>import("./index.html-itv085KC.js"),__vite__mapDeps([5,4]))),"v-57bda71b":At(()=>Ve(()=>import("./bustimer-old.html-HcxOd5i9.js"),__vite__mapDeps([6,7]))),"v-1678dd6f":At(()=>Ve(()=>import("./bustimer-wx.html-MBhedQHj.js"),__vite__mapDeps([]))),"v-1630dfb5":At(()=>Ve(()=>import("./bustimer.html-AqtGlpCR.js"),__vite__mapDeps([]))),"v-6a28f6e0":At(()=>Ve(()=>import("./holiday.html-UKOnGmcn.js"),__vite__mapDeps([8,7]))),"v-48975204":At(()=>Ve(()=>import("./redirect.html-7SkKp2Ci.js"),__vite__mapDeps([]))),"v-8059a7a6":At(()=>Ve(()=>import("./workday.html-K3eFMMMJ.js"),__vite__mapDeps([9,7]))),"v-181cc452":At(()=>Ve(()=>import("./index.html-jEVeZVys.js"),__vite__mapDeps([]))),"v-22cd7d0c":At(()=>Ve(()=>import("./index.html-LiHkw1k6.js"),__vite__mapDeps([]))),"v-0e92d420":At(()=>Ve(()=>import("./index.html-yZC2JzRa.js"),__vite__mapDeps([]))),"v-2b8cac58":At(()=>Ve(()=>import("./新生攻略之宿舍生活篇.html-gjhp7v-1.js"),__vite__mapDeps([]))),"v-66965350":At(()=>Ve(()=>import("./新生攻略之校内介绍篇.html-FzvAtoLo.js"),__vite__mapDeps([]))),"v-66317da4":At(()=>Ve(()=>import("./新生攻略之社团篇.html-0Pj1URpm.js"),__vite__mapDeps([]))),"v-5c3fcdf6":At(()=>Ve(()=>import("./index.html-XqhRopeI.js"),__vite__mapDeps([]))),"v-04710004":At(()=>Ve(()=>import("./index.html-L7TOtjL2.js"),__vite__mapDeps([]))),"v-5589dd0c":At(()=>Ve(()=>import("./dorm-floor-plan.html-i5TXqOwP.js"),__vite__mapDeps([]))),"v-d42194b6":At(()=>Ve(()=>import("./index.html-njvynpXQ.js"),__vite__mapDeps([]))),"v-20383a78":At(()=>Ve(()=>import("./index.html-fkqQJgzI.js"),__vite__mapDeps([]))),"v-42c1fa44":At(()=>Ve(()=>import("./index.html-lqUJvmSL.js"),__vite__mapDeps([]))),"v-76cff034":At(()=>Ve(()=>import("./index.html-n44SWg7I.js"),__vite__mapDeps([]))),"v-ac3449b2":At(()=>Ve(()=>import("./send-receive-email-by-proxy.html-_tGNcqtL.js"),__vite__mapDeps([]))),"v-29860ed0":At(()=>Ve(()=>import("./index.html-je1flA8T.js"),__vite__mapDeps([]))),"v-622da02f":At(()=>Ve(()=>import("./index.html-0ThRdflu.js"),__vite__mapDeps([]))),"v-5e590ec6":At(()=>Ve(()=>import("./index.html-u96FZBAJ.js"),__vite__mapDeps([]))),"v-1fa222d4":At(()=>Ve(()=>import("./index.html-daJSM3Gw.js"),__vite__mapDeps([]))),"v-48519846":At(()=>Ve(()=>import("./index.html-HS2bcuK2.js"),__vite__mapDeps([]))),"v-369295b4":At(()=>Ve(()=>import("./index.html-pLXdD7H2.js"),__vite__mapDeps([]))),"v-3692bb1f":At(()=>Ve(()=>import("./index.html-pE2nqR1e.js"),__vite__mapDeps([]))),"v-425958ce":At(()=>Ve(()=>import("./index.html-eZN7hoJc.js"),__vite__mapDeps([]))),"v-3692ee77":At(()=>Ve(()=>import("./index.html-kP5_5KCy.js"),__vite__mapDeps([]))),"v-2686552a":At(()=>Ve(()=>import("./index.html-GqujHE2o.js"),__vite__mapDeps([]))),"v-45d74ec0":At(()=>Ve(()=>import("./index.html-SYw5rwJf.js"),__vite__mapDeps([]))),"v-772a5784":At(()=>Ve(()=>import("./index.html-2LBhv4zi.js"),__vite__mapDeps([]))),"v-8460eeb8":At(()=>Ve(()=>import("./advice-on-study.html-xYH1v9OJ.js"),__vite__mapDeps([]))),"v-435bd49a":At(()=>Ve(()=>import("./info-on-study.html-OSzt7bxn.js"),__vite__mapDeps([]))),"v-6323734e":At(()=>Ve(()=>import("./新生攻略之学习篇.html-kEzyXUh7.js"),__vite__mapDeps([]))),"v-5eb748bf":At(()=>Ve(()=>import("./innovative-project.html-WPrCmoWu.js"),__vite__mapDeps([]))),"v-2a23f022":At(()=>Ve(()=>import("./index.html-TpqHSfUW.js"),__vite__mapDeps([]))),"v-66061b92":At(()=>Ve(()=>import("./index.html-dHRysKYB.js"),__vite__mapDeps([]))),"v-89ac2bec":At(()=>Ve(()=>import("./index.html-ziAy4sxZ.js"),__vite__mapDeps([]))),"v-1549b190":At(()=>Ve(()=>import("./index.html-oM0igwOg.js"),__vite__mapDeps([]))),"v-9e1961f8":At(()=>Ve(()=>import("./index.html-2dCBsaVT.js"),__vite__mapDeps([]))),"v-6bba5e58":At(()=>Ve(()=>import("./index.html-Rn0CMyBn.js"),__vite__mapDeps([]))),"v-83a77034":At(()=>Ve(()=>import("./index.html-CZmMbVOJ.js"),__vite__mapDeps([]))),"v-296d1d15":At(()=>Ve(()=>import("./index.html-XO6z0qBK.js"),__vite__mapDeps([]))),"v-fb711be8":At(()=>Ve(()=>import("./index.html-v5KoFdH8.js"),__vite__mapDeps([]))),"v-3706649a":At(()=>Ve(()=>import("./404.html-s0CXmb-C.js"),__vite__mapDeps([])))};var cj=Symbol(""),PR=Symbol(""),hj=Ov({key:"",path:"",title:"",lang:"",frontmatter:{},headers:[]}),Eu=()=>{const e=Fr(PR);if(!e)throw new Error("pageData() is called without provider.");return e},IR=Symbol(""),xl=()=>{const e=Fr(IR);if(!e)throw new Error("usePageFrontmatter() is called without provider.");return e},DR=Symbol(""),fj=()=>{const e=Fr(DR);if(!e)throw new Error("usePageHead() is called without provider.");return e},dj=Symbol(""),LR=Symbol(""),kR=()=>{const e=Fr(LR);if(!e)throw new Error("usePageLang() is called without provider.");return e},RR=Symbol(""),pj=()=>{const e=Fr(RR);if(!e)throw new Error("usePageLayout() is called without provider.");return e},mj=xr(ij),LT=Symbol(""),Vv=()=>{const e=Fr(LT);if(!e)throw new Error("useRouteLocale() is called without provider.");return e},Tf=xr(aj),OR=()=>Tf,zR=Symbol(""),kT=()=>{const e=Fr(zR);if(!e)throw new Error("useSiteLocaleData() is called without provider.");return e},vj=Symbol(""),gj="Layout",yj="NotFound",hl=$a({resolveLayouts:e=>e.reduce((t,r)=>({...t,...r.layouts}),{}),resolvePageData:async e=>{const t=mj.value[e];return await(t==null?void 0:t())??hj},resolvePageFrontmatter:e=>e.frontmatter,resolvePageHead:(e,t,r)=>{const n=ks(t.description)?t.description:r.description,i=[...$v(t.head)?t.head:[],...r.head,["title",{},e],["meta",{name:"description",content:n}]];return lj(i)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(r=>!!r).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||"en-US",resolvePageLayout:(e,t)=>{let r;if(e.path){const n=e.frontmatter.layout;ks(n)?r=n:r=gj}else r=yj;return t[r]},resolveRouteLocale:(e,t)=>AR(e,t),resolveSiteLocaleData:(e,t)=>({...e,...e.locales[t]})}),RT=Ut({name:"ClientOnly",setup(e,t){const r=xr(!1);return Gn(()=>{r.value=!0}),()=>{var n,i;return r.value?(i=(n=t.slots).default)==null?void 0:i.call(n):null}}}),_j=Ut({name:"Content",props:{pageKey:{type:String,required:!1,default:""}},setup(e){const t=Eu(),r=ze(()=>MR[e.pageKey||t.value.key]);return()=>r.value?br(r.value):br("div","404 Not Found")}}),ss=(e={})=>e,a1=e=>Nv(e)?e:`/${ER(e)}`;function OT(e,t,r){var n,i,a;t===void 0&&(t=50),r===void 0&&(r={});var s=(n=r.isImmediate)!=null&&n,o=(i=r.callback)!=null&&i,h=r.maxWait,d=Date.now(),m=[];function g(){if(h!==void 0){var x=Date.now()-d;if(x+t>=h)return h-x}return t}var y=function(){var x=[].slice.call(arguments),E=this;return new Promise(function(M,P){var D=s&&a===void 0;if(a!==void 0&&clearTimeout(a),a=setTimeout(function(){if(a=void 0,d=Date.now(),!s){var O=e.apply(E,x);o&&o(O),m.forEach(function(F){return(0,F.resolve)(O)}),m=[]}},g()),D){var k=e.apply(E,x);return o&&o(k),M(k)}m.push({resolve:M,reject:P})})};return y.cancel=function(x){a!==void 0&&clearTimeout(a),m.forEach(function(E){return(0,E.reject)(x)}),m=[]},y}/*! + * vue-router v4.2.5 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const _f=typeof window<"u";function bj(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Kr=Object.assign;function dx(e,t){const r={};for(const n in t){const i=t[n];r[n]=ns(i)?i.map(e):e(i)}return r}const Sm=()=>{},ns=Array.isArray,xj=/\/$/,wj=e=>e.replace(xj,"");function px(e,t,r="/"){let n,i={},a="",s="";const o=t.indexOf("#");let h=t.indexOf("?");return o=0&&(h=-1),h>-1&&(n=t.slice(0,h),a=t.slice(h+1,o>-1?o:t.length),i=e(a)),o>-1&&(n=n||t.slice(0,o),s=t.slice(o,t.length)),n=Ej(n??t,r),{fullPath:n+(a&&"?")+a+s,path:n,query:i,hash:s}}function Sj(e,t){const r=t.query?e(t.query):"";return t.path+(r&&"?")+r+(t.hash||"")}function wP(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Tj(e,t,r){const n=t.matched.length-1,i=r.matched.length-1;return n>-1&&n===i&&Wf(t.matched[n],r.matched[i])&&BR(t.params,r.params)&&e(t.query)===e(r.query)&&t.hash===r.hash}function Wf(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function BR(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(!Cj(e[r],t[r]))return!1;return!0}function Cj(e,t){return ns(e)?SP(e,t):ns(t)?SP(t,e):e===t}function SP(e,t){return ns(t)?e.length===t.length&&e.every((r,n)=>r===t[n]):e.length===1&&e[0]===t}function Ej(e,t){if(e.startsWith("/"))return e;if(!e)return t;const r=t.split("/"),n=e.split("/"),i=n[n.length-1];(i===".."||i===".")&&n.push("");let a=r.length-1,s,o;for(s=0;s1&&a--;else break;return r.slice(0,a).join("/")+"/"+n.slice(s-(s===n.length?1:0)).join("/")}var Qm;(function(e){e.pop="pop",e.push="push"})(Qm||(Qm={}));var Tm;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Tm||(Tm={}));function Aj(e){if(!e)if(_f){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),wj(e)}const Mj=/^[^#]+#/;function Pj(e,t){return e.replace(Mj,"#")+t}function Ij(e,t){const r=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-r.left-(t.left||0),top:n.top-r.top-(t.top||0)}}const o1=()=>({left:window.pageXOffset,top:window.pageYOffset});function Dj(e){let t;if("el"in e){const r=e.el,n=typeof r=="string"&&r.startsWith("#"),i=typeof r=="string"?n?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!i)return;t=Ij(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function TP(e,t){return(history.state?history.state.position-t:-1)+e}const b2=new Map;function Lj(e,t){b2.set(e,t)}function kj(e){const t=b2.get(e);return b2.delete(e),t}let Rj=()=>location.protocol+"//"+location.host;function FR(e,t){const{pathname:r,search:n,hash:i}=t,a=e.indexOf("#");if(a>-1){let o=i.includes(e.slice(a))?e.slice(a).length:1,h=i.slice(o);return h[0]!=="/"&&(h="/"+h),wP(h,"")}return wP(r,e)+n+i}function Oj(e,t,r,n){let i=[],a=[],s=null;const o=({state:y})=>{const x=FR(e,location),E=r.value,M=t.value;let P=0;if(y){if(r.value=x,t.value=y,s&&s===E){s=null;return}P=M?y.position-M.position:0}else n(x);i.forEach(D=>{D(r.value,E,{delta:P,type:Qm.pop,direction:P?P>0?Tm.forward:Tm.back:Tm.unknown})})};function h(){s=r.value}function d(y){i.push(y);const x=()=>{const E=i.indexOf(y);E>-1&&i.splice(E,1)};return a.push(x),x}function m(){const{history:y}=window;y.state&&y.replaceState(Kr({},y.state,{scroll:o1()}),"")}function g(){for(const y of a)y();a=[],window.removeEventListener("popstate",o),window.removeEventListener("beforeunload",m)}return window.addEventListener("popstate",o),window.addEventListener("beforeunload",m,{passive:!0}),{pauseListeners:h,listen:d,destroy:g}}function CP(e,t,r,n=!1,i=!1){return{back:e,current:t,forward:r,replaced:n,position:window.history.length,scroll:i?o1():null}}function zj(e){const{history:t,location:r}=window,n={value:FR(e,r)},i={value:t.state};i.value||a(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(h,d,m){const g=e.indexOf("#"),y=g>-1?(r.host&&document.querySelector("base")?e:e.slice(g))+h:Rj()+e+h;try{t[m?"replaceState":"pushState"](d,"",y),i.value=d}catch(x){console.error(x),r[m?"replace":"assign"](y)}}function s(h,d){const m=Kr({},t.state,CP(i.value.back,h,i.value.forward,!0),d,{position:i.value.position});a(h,m,!0),n.value=h}function o(h,d){const m=Kr({},i.value,t.state,{forward:h,scroll:o1()});a(m.current,m,!0);const g=Kr({},CP(n.value,h,null),{position:m.position+1},d);a(h,g,!1),n.value=h}return{location:n,state:i,push:o,replace:s}}function Bj(e){e=Aj(e);const t=zj(e),r=Oj(e,t.state,t.location,t.replace);function n(a,s=!0){s||r.pauseListeners(),history.go(a)}const i=Kr({location:"",base:e,go:n,createHref:Pj.bind(null,e)},t,r);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Fj(e){return typeof e=="string"||e&&typeof e=="object"}function $R(e){return typeof e=="string"||typeof e=="symbol"}const fl={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},NR=Symbol("");var EP;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(EP||(EP={}));function Zf(e,t){return Kr(new Error,{type:e,[NR]:!0},t)}function nl(e,t){return e instanceof Error&&NR in e&&(t==null||!!(e.type&t))}const AP="[^/]+?",$j={sensitive:!1,strict:!1,start:!0,end:!0},Nj=/[.+*?^${}()[\]/\\]/g;function Vj(e,t){const r=Kr({},$j,t),n=[];let i=r.start?"^":"";const a=[];for(const d of e){const m=d.length?[]:[90];r.strict&&!d.length&&(i+="/");for(let g=0;gt.length?t.length===1&&t[0]===80?1:-1:0}function Hj(e,t){let r=0;const n=e.score,i=t.score;for(;r0&&t[t.length-1]<0}const Uj={type:0,value:""},Gj=/[a-zA-Z0-9_]/;function qj(e){if(!e)return[[]];if(e==="/")return[[Uj]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(x){throw new Error(`ERR (${r})/"${d}": ${x}`)}let r=0,n=r;const i=[];let a;function s(){a&&i.push(a),a=[]}let o=0,h,d="",m="";function g(){d&&(r===0?a.push({type:0,value:d}):r===1||r===2||r===3?(a.length>1&&(h==="*"||h==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:d,regexp:m,repeatable:h==="*"||h==="+",optional:h==="*"||h==="?"})):t("Invalid state to consume buffer"),d="")}function y(){d+=h}for(;o{s(k)}:Sm}function s(m){if($R(m)){const g=n.get(m);g&&(n.delete(m),r.splice(r.indexOf(g),1),g.children.forEach(s),g.alias.forEach(s))}else{const g=r.indexOf(m);g>-1&&(r.splice(g,1),m.record.name&&n.delete(m.record.name),m.children.forEach(s),m.alias.forEach(s))}}function o(){return r}function h(m){let g=0;for(;g=0&&(m.record.path!==r[g].record.path||!VR(m,r[g]));)g++;r.splice(g,0,m),m.record.name&&!IP(m)&&n.set(m.record.name,m)}function d(m,g){let y,x={},E,M;if("name"in m&&m.name){if(y=n.get(m.name),!y)throw Zf(1,{location:m});M=y.record.name,x=Kr(PP(g.params,y.keys.filter(k=>!k.optional).map(k=>k.name)),m.params&&PP(m.params,y.keys.map(k=>k.name))),E=y.stringify(x)}else if("path"in m)E=m.path,y=r.find(k=>k.re.test(E)),y&&(x=y.parse(E),M=y.record.name);else{if(y=g.name?n.get(g.name):r.find(k=>k.re.test(g.path)),!y)throw Zf(1,{location:m,currentLocation:g});M=y.record.name,x=Kr({},g.params,m.params),E=y.stringify(x)}const P=[];let D=y;for(;D;)P.unshift(D.record),D=D.parent;return{name:M,path:E,params:x,matched:P,meta:Kj(P)}}return e.forEach(m=>a(m)),{addRoute:a,resolve:d,removeRoute:s,getRoutes:o,getRecordMatcher:i}}function PP(e,t){const r={};for(const n of t)n in e&&(r[n]=e[n]);return r}function Xj(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Yj(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Yj(e){const t={},r=e.props||!1;if("component"in e)t.default=r;else for(const n in e.components)t[n]=typeof r=="object"?r[n]:r;return t}function IP(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Kj(e){return e.reduce((t,r)=>Kr(t,r.meta),{})}function DP(e,t){const r={};for(const n in e)r[n]=n in t?t[n]:e[n];return r}function VR(e,t){return t.children.some(r=>r===e||VR(e,r))}const jR=/#/g,Jj=/&/g,Qj=/\//g,eH=/=/g,tH=/\?/g,HR=/\+/g,rH=/%5B/g,nH=/%5D/g,UR=/%5E/g,iH=/%60/g,GR=/%7B/g,aH=/%7C/g,qR=/%7D/g,oH=/%20/g;function zT(e){return encodeURI(""+e).replace(aH,"|").replace(rH,"[").replace(nH,"]")}function sH(e){return zT(e).replace(GR,"{").replace(qR,"}").replace(UR,"^")}function x2(e){return zT(e).replace(HR,"%2B").replace(oH,"+").replace(jR,"%23").replace(Jj,"%26").replace(iH,"`").replace(GR,"{").replace(qR,"}").replace(UR,"^")}function lH(e){return x2(e).replace(eH,"%3D")}function uH(e){return zT(e).replace(jR,"%23").replace(tH,"%3F")}function cH(e){return e==null?"":uH(e).replace(Qj,"%2F")}function o0(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function hH(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;ia&&x2(a)):[n&&x2(n)]).forEach(a=>{a!==void 0&&(t+=(t.length?"&":"")+r,a!=null&&(t+="="+a))})}return t}function fH(e){const t={};for(const r in e){const n=e[r];n!==void 0&&(t[r]=ns(n)?n.map(i=>i==null?null:""+i):n==null?n:""+n)}return t}const dH=Symbol(""),kP=Symbol(""),s1=Symbol(""),BT=Symbol(""),w2=Symbol("");function Rp(){let e=[];function t(n){return e.push(n),()=>{const i=e.indexOf(n);i>-1&&e.splice(i,1)}}function r(){e=[]}return{add:t,list:()=>e.slice(),reset:r}}function yu(e,t,r,n,i){const a=n&&(n.enterCallbacks[i]=n.enterCallbacks[i]||[]);return()=>new Promise((s,o)=>{const h=g=>{g===!1?o(Zf(4,{from:r,to:t})):g instanceof Error?o(g):Fj(g)?o(Zf(2,{from:t,to:g})):(a&&n.enterCallbacks[i]===a&&typeof g=="function"&&a.push(g),s())},d=e.call(n&&n.instances[i],t,r,h);let m=Promise.resolve(d);e.length<3&&(m=m.then(h)),m.catch(g=>o(g))})}function mx(e,t,r,n){const i=[];for(const a of e)for(const s in a.components){let o=a.components[s];if(!(t!=="beforeRouteEnter"&&!a.instances[s]))if(pH(o)){const d=(o.__vccOpts||o)[t];d&&i.push(yu(d,r,n,a,s))}else{let h=o();i.push(()=>h.then(d=>{if(!d)return Promise.reject(new Error(`Couldn't resolve component "${s}" at "${a.path}"`));const m=bj(d)?d.default:d;a.components[s]=m;const y=(m.__vccOpts||m)[t];return y&&yu(y,r,n,a,s)()}))}}return i}function pH(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function RP(e){const t=Fr(s1),r=Fr(BT),n=ze(()=>t.resolve(Xt(e.to))),i=ze(()=>{const{matched:h}=n.value,{length:d}=h,m=h[d-1],g=r.matched;if(!m||!g.length)return-1;const y=g.findIndex(Wf.bind(null,m));if(y>-1)return y;const x=OP(h[d-2]);return d>1&&OP(m)===x&&g[g.length-1].path!==x?g.findIndex(Wf.bind(null,h[d-2])):y}),a=ze(()=>i.value>-1&&gH(r.params,n.value.params)),s=ze(()=>i.value>-1&&i.value===r.matched.length-1&&BR(r.params,n.value.params));function o(h={}){return vH(h)?t[Xt(e.replace)?"replace":"push"](Xt(e.to)).catch(Sm):Promise.resolve()}return{route:n,href:ze(()=>n.value.href),isActive:a,isExactActive:s,navigate:o}}const mH=Ut({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:RP,setup(e,{slots:t}){const r=$a(RP(e)),{options:n}=Fr(s1),i=ze(()=>({[zP(e.activeClass,n.linkActiveClass,"router-link-active")]:r.isActive,[zP(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const a=t.default&&t.default(r);return e.custom?a:br("a",{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:i.value},a)}}}),WR=mH;function vH(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function gH(e,t){for(const r in t){const n=t[r],i=e[r];if(typeof n=="string"){if(n!==i)return!1}else if(!ns(i)||i.length!==n.length||n.some((a,s)=>a!==i[s]))return!1}return!0}function OP(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const zP=(e,t,r)=>e??t??r,yH=Ut({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:r}){const n=Fr(w2),i=ze(()=>e.route||n.value),a=Fr(kP,0),s=ze(()=>{let d=Xt(a);const{matched:m}=i.value;let g;for(;(g=m[d])&&!g.components;)d++;return d}),o=ze(()=>i.value.matched[s.value]);zi(kP,ze(()=>s.value+1)),zi(dH,o),zi(w2,i);const h=xr();return Qr(()=>[h.value,o.value,e.name],([d,m,g],[y,x,E])=>{m&&(m.instances[g]=d,x&&x!==m&&d&&d===y&&(m.leaveGuards.size||(m.leaveGuards=x.leaveGuards),m.updateGuards.size||(m.updateGuards=x.updateGuards))),d&&m&&(!x||!Wf(m,x)||!y)&&(m.enterCallbacks[g]||[]).forEach(M=>M(d))},{flush:"post"}),()=>{const d=i.value,m=e.name,g=o.value,y=g&&g.components[m];if(!y)return BP(r.default,{Component:y,route:d});const x=g.props[m],E=x?x===!0?d.params:typeof x=="function"?x(d):x:null,P=br(y,Kr({},E,t,{onVnodeUnmounted:D=>{D.component.isUnmounted&&(g.instances[m]=null)},ref:h}));return BP(r.default,{Component:P,route:d})||P}}});function BP(e,t){if(!e)return null;const r=e(t);return r.length===1?r[0]:r}const ZR=yH;function _H(e){const t=Zj(e.routes,e),r=e.parseQuery||hH,n=e.stringifyQuery||LP,i=e.history,a=Rp(),s=Rp(),o=Rp(),h=zn(fl);let d=fl;_f&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const m=dx.bind(null,qe=>""+qe),g=dx.bind(null,cH),y=dx.bind(null,o0);function x(qe,lt){let et,dt;return $R(qe)?(et=t.getRecordMatcher(qe),dt=lt):dt=qe,t.addRoute(dt,et)}function E(qe){const lt=t.getRecordMatcher(qe);lt&&t.removeRoute(lt)}function M(){return t.getRoutes().map(qe=>qe.record)}function P(qe){return!!t.getRecordMatcher(qe)}function D(qe,lt){if(lt=Kr({},lt||h.value),typeof qe=="string"){const Le=px(r,qe,lt.path),Ge=t.resolve({path:Le.path},lt),Ye=i.createHref(Le.fullPath);return Kr(Le,Ge,{params:y(Ge.params),hash:o0(Le.hash),redirectedFrom:void 0,href:Ye})}let et;if("path"in qe)et=Kr({},qe,{path:px(r,qe.path,lt.path).path});else{const Le=Kr({},qe.params);for(const Ge in Le)Le[Ge]==null&&delete Le[Ge];et=Kr({},qe,{params:g(Le)}),lt.params=g(lt.params)}const dt=t.resolve(et,lt),vt=qe.hash||"";dt.params=m(y(dt.params));const ue=Sj(n,Kr({},qe,{hash:sH(vt),path:dt.path})),xe=i.createHref(ue);return Kr({fullPath:ue,hash:vt,query:n===LP?fH(qe.query):qe.query||{}},dt,{redirectedFrom:void 0,href:xe})}function k(qe){return typeof qe=="string"?px(r,qe,h.value.path):Kr({},qe)}function O(qe,lt){if(d!==qe)return Zf(8,{from:lt,to:qe})}function F(qe){return W(qe)}function q(qe){return F(Kr(k(qe),{replace:!0}))}function H(qe){const lt=qe.matched[qe.matched.length-1];if(lt&<.redirect){const{redirect:et}=lt;let dt=typeof et=="function"?et(qe):et;return typeof dt=="string"&&(dt=dt.includes("?")||dt.includes("#")?dt=k(dt):{path:dt},dt.params={}),Kr({query:qe.query,hash:qe.hash,params:"path"in dt?{}:qe.params},dt)}}function W(qe,lt){const et=d=D(qe),dt=h.value,vt=qe.state,ue=qe.force,xe=qe.replace===!0,Le=H(et);if(Le)return W(Kr(k(Le),{state:typeof Le=="object"?Kr({},vt,Le.state):vt,force:ue,replace:xe}),lt||et);const Ge=et;Ge.redirectedFrom=lt;let Ye;return!ue&&Tj(n,dt,et)&&(Ye=Zf(16,{to:Ge,from:dt}),er(dt,dt,!0,!1)),(Ye?Promise.resolve(Ye):re(Ge,dt)).catch(tt=>nl(tt)?nl(tt,2)?tt:Pt(tt):He(tt,Ge,dt)).then(tt=>{if(tt){if(nl(tt,2))return W(Kr({replace:xe},k(tt.to),{state:typeof tt.to=="object"?Kr({},vt,tt.to.state):vt,force:ue}),lt||Ge)}else tt=le(Ge,dt,!0,xe,vt);return ce(Ge,dt,tt),tt})}function Z(qe,lt){const et=O(qe,lt);return et?Promise.reject(et):Promise.resolve()}function ee(qe){const lt=ur.values().next().value;return lt&&typeof lt.runWithContext=="function"?lt.runWithContext(qe):qe()}function re(qe,lt){let et;const[dt,vt,ue]=bH(qe,lt);et=mx(dt.reverse(),"beforeRouteLeave",qe,lt);for(const Le of dt)Le.leaveGuards.forEach(Ge=>{et.push(yu(Ge,qe,lt))});const xe=Z.bind(null,qe,lt);return et.push(xe),mr(et).then(()=>{et=[];for(const Le of a.list())et.push(yu(Le,qe,lt));return et.push(xe),mr(et)}).then(()=>{et=mx(vt,"beforeRouteUpdate",qe,lt);for(const Le of vt)Le.updateGuards.forEach(Ge=>{et.push(yu(Ge,qe,lt))});return et.push(xe),mr(et)}).then(()=>{et=[];for(const Le of ue)if(Le.beforeEnter)if(ns(Le.beforeEnter))for(const Ge of Le.beforeEnter)et.push(yu(Ge,qe,lt));else et.push(yu(Le.beforeEnter,qe,lt));return et.push(xe),mr(et)}).then(()=>(qe.matched.forEach(Le=>Le.enterCallbacks={}),et=mx(ue,"beforeRouteEnter",qe,lt),et.push(xe),mr(et))).then(()=>{et=[];for(const Le of s.list())et.push(yu(Le,qe,lt));return et.push(xe),mr(et)}).catch(Le=>nl(Le,8)?Le:Promise.reject(Le))}function ce(qe,lt,et){o.list().forEach(dt=>ee(()=>dt(qe,lt,et)))}function le(qe,lt,et,dt,vt){const ue=O(qe,lt);if(ue)return ue;const xe=lt===fl,Le=_f?history.state:{};et&&(dt||xe?i.replace(qe.fullPath,Kr({scroll:xe&&Le&&Le.scroll},vt)):i.push(qe.fullPath,vt)),h.value=qe,er(qe,lt,et,xe),Pt()}let ve;function de(){ve||(ve=i.listen((qe,lt,et)=>{if(!Ar.listening)return;const dt=D(qe),vt=H(dt);if(vt){W(Kr(vt,{replace:!0}),dt).catch(Sm);return}d=dt;const ue=h.value;_f&&Lj(TP(ue.fullPath,et.delta),o1()),re(dt,ue).catch(xe=>nl(xe,12)?xe:nl(xe,2)?(W(xe.to,dt).then(Le=>{nl(Le,20)&&!et.delta&&et.type===Qm.pop&&i.go(-1,!1)}).catch(Sm),Promise.reject()):(et.delta&&i.go(-et.delta,!1),He(xe,dt,ue))).then(xe=>{xe=xe||le(dt,ue,!1),xe&&(et.delta&&!nl(xe,8)?i.go(-et.delta,!1):et.type===Qm.pop&&nl(xe,20)&&i.go(-1,!1)),ce(dt,ue,xe)}).catch(Sm)}))}let Te=Rp(),we=Rp(),Ue;function He(qe,lt,et){Pt(qe);const dt=we.list();return dt.length?dt.forEach(vt=>vt(qe,lt,et)):console.error(qe),Promise.reject(qe)}function Mt(){return Ue&&h.value!==fl?Promise.resolve():new Promise((qe,lt)=>{Te.add([qe,lt])})}function Pt(qe){return Ue||(Ue=!qe,de(),Te.list().forEach(([lt,et])=>qe?et(qe):lt()),Te.reset()),qe}function er(qe,lt,et,dt){const{scrollBehavior:vt}=e;if(!_f||!vt)return Promise.resolve();const ue=!et&&kj(TP(qe.fullPath,0))||(dt||!et)&&history.state&&history.state.scroll||null;return os().then(()=>vt(qe,lt,ue)).then(xe=>xe&&Dj(xe)).catch(xe=>He(xe,qe,lt))}const Dt=qe=>i.go(qe);let Wt;const ur=new Set,Ar={currentRoute:h,listening:!0,addRoute:x,removeRoute:E,hasRoute:P,getRoutes:M,resolve:D,options:e,push:F,replace:q,go:Dt,back:()=>Dt(-1),forward:()=>Dt(1),beforeEach:a.add,beforeResolve:s.add,afterEach:o.add,onError:we.add,isReady:Mt,install(qe){const lt=this;qe.component("RouterLink",WR),qe.component("RouterView",ZR),qe.config.globalProperties.$router=lt,Object.defineProperty(qe.config.globalProperties,"$route",{enumerable:!0,get:()=>Xt(h)}),_f&&!Wt&&h.value===fl&&(Wt=!0,F(i.location).catch(vt=>{}));const et={};for(const vt in fl)Object.defineProperty(et,vt,{get:()=>h.value[vt],enumerable:!0});qe.provide(s1,lt),qe.provide(BT,M3(et)),qe.provide(w2,h);const dt=qe.unmount;ur.add(qe),qe.unmount=function(){ur.delete(qe),ur.size<1&&(d=fl,ve&&ve(),ve=null,h.value=fl,Wt=!1,Ue=!1),dt()}}};function mr(qe){return qe.reduce((lt,et)=>lt.then(()=>ee(et)),Promise.resolve())}return Ar}function bH(e,t){const r=[],n=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let s=0;sWf(d,o))?n.push(o):r.push(o));const h=e.matched[s];h&&(t.matched.find(d=>Wf(d,h))||i.push(h))}return[r,n,i]}function ch(){return Fr(s1)}function zu(){return Fr(BT)}const xH=({headerLinkSelector:e,headerAnchorSelector:t,delay:r,offset:n=5})=>{const i=ch(),s=OT(()=>{var M,P;const o=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(o-0)y.some(k=>k.hash===D.hash));for(let D=0;D=(((M=k.parentElement)==null?void 0:M.offsetTop)??0)-n,q=!O||o<(((P=O.parentElement)==null?void 0:P.offsetTop)??0)-n;if(!(F&&q))continue;const W=decodeURIComponent(i.currentRoute.value.hash),Z=decodeURIComponent(k.hash);if(W===Z)return;if(g){for(let ee=D+1;ee{window.addEventListener("scroll",s)}),Il(()=>{window.removeEventListener("scroll",s)})},FP=async(e,t)=>{const{scrollBehavior:r}=e.options;e.options.scrollBehavior=void 0,await e.replace({query:e.currentRoute.value.query,hash:t}).finally(()=>e.options.scrollBehavior=r)},wH="a.sidebar-item",SH=".header-anchor",TH=300,CH=5,EH=ss({setup(){xH({headerLinkSelector:wH,headerAnchorSelector:SH,delay:TH,offset:CH})}}),$P=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,AH=()=>window.scrollTo({top:0,behavior:"smooth"}),MH=Ut({name:"BackToTop",setup(){const e=xr(0),t=ze(()=>e.value>300),r=OT(()=>{e.value=$P()},100);Gn(()=>{e.value=$P(),window.addEventListener("scroll",()=>r())});const n=br("div",{class:"back-to-top",onClick:AH});return()=>br(Ou,{name:"back-to-top"},()=>t.value?n:null)}}),PH=ss({rootComponents:[MH]}),IH=br("svg",{class:"external-link-icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},[br("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),br("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})]),DH=Ut({name:"ExternalLinkIcon",props:{locales:{type:Object,required:!1,default:()=>({})}},setup(e){const t=Vv(),r=ze(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>br("span",[IH,br("span",{class:"external-link-icon-sr-only"},r.value.openInNewWindow)])}});var LH={"/":{openInNewWindow:"在新窗口打开"}};const kH=LH,RH=ss({enhance({app:e}){e.component("ExternalLinkIcon",br(DH,{locales:kH}))}});/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var Lc=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},n=window.Promise||function(le){function ve(){}le(ve,ve)},i=function(le){var ve=le.target;if(ve===ee){E();return}O.indexOf(ve)!==-1&&M({target:ve})},a=function(){if(!(q||!Z.original)){var le=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(H-le)>W.scrollOffset&&setTimeout(E,150)}},s=function(le){var ve=le.key||le.keyCode;(ve==="Escape"||ve==="Esc"||ve===27)&&E()},o=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ve=le;if(le.background&&(ee.style.background=le.background),le.container&&le.container instanceof Object&&(ve.container=Lc({},W.container,le.container)),le.template){var de=x_(le.template)?le.template:document.querySelector(le.template);ve.template=de}return W=Lc({},W,ve),O.forEach(function(Te){Te.dispatchEvent(nf("medium-zoom:update",{detail:{zoom:re}}))}),re},h=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e(Lc({},W,le))},d=function(){for(var le=arguments.length,ve=Array(le),de=0;de0?ve.reduce(function(we,Ue){return[].concat(we,VP(Ue))},[]):O;return Te.forEach(function(we){we.classList.remove("medium-zoom-image"),we.dispatchEvent(nf("medium-zoom:detach",{detail:{zoom:re}}))}),O=O.filter(function(we){return Te.indexOf(we)===-1}),re},g=function(le,ve){var de=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return O.forEach(function(Te){Te.addEventListener("medium-zoom:"+le,ve,de)}),F.push({type:"medium-zoom:"+le,listener:ve,options:de}),re},y=function(le,ve){var de=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return O.forEach(function(Te){Te.removeEventListener("medium-zoom:"+le,ve,de)}),F=F.filter(function(Te){return!(Te.type==="medium-zoom:"+le&&Te.listener.toString()===ve.toString())}),re},x=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ve=le.target,de=function(){var we={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},Ue=void 0,He=void 0;if(W.container)if(W.container instanceof Object)we=Lc({},we,W.container),Ue=we.width-we.left-we.right-W.margin*2,He=we.height-we.top-we.bottom-W.margin*2;else{var Mt=x_(W.container)?W.container:document.querySelector(W.container),Pt=Mt.getBoundingClientRect(),er=Pt.width,Dt=Pt.height,Wt=Pt.left,ur=Pt.top;we=Lc({},we,{width:er,height:Dt,left:Wt,top:ur})}Ue=Ue||we.width-W.margin*2,He=He||we.height-W.margin*2;var Ar=Z.zoomedHd||Z.original,mr=NP(Ar)?Ue:Ar.naturalWidth||Ue,qe=NP(Ar)?He:Ar.naturalHeight||He,lt=Ar.getBoundingClientRect(),et=lt.top,dt=lt.left,vt=lt.width,ue=lt.height,xe=Math.min(Math.max(vt,mr),Ue)/vt,Le=Math.min(Math.max(ue,qe),He)/ue,Ge=Math.min(xe,Le),Ye=(-dt+(Ue-vt)/2+W.margin+we.left)/Ge,tt=(-et+(He-ue)/2+W.margin+we.top)/Ge,yt="scale("+Ge+") translate3d("+Ye+"px, "+tt+"px, 0)";Z.zoomed.style.transform=yt,Z.zoomedHd&&(Z.zoomedHd.style.transform=yt)};return new n(function(Te){if(ve&&O.indexOf(ve)===-1){Te(re);return}var we=function er(){q=!1,Z.zoomed.removeEventListener("transitionend",er),Z.original.dispatchEvent(nf("medium-zoom:opened",{detail:{zoom:re}})),Te(re)};if(Z.zoomed){Te(re);return}if(ve)Z.original=ve;else if(O.length>0){var Ue=O;Z.original=Ue[0]}else{Te(re);return}if(Z.original.dispatchEvent(nf("medium-zoom:open",{detail:{zoom:re}})),H=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,q=!0,Z.zoomed=BH(Z.original),document.body.appendChild(ee),W.template){var He=x_(W.template)?W.template:document.querySelector(W.template);Z.template=document.createElement("div"),Z.template.appendChild(He.content.cloneNode(!0)),document.body.appendChild(Z.template)}if(Z.original.parentElement&&Z.original.parentElement.tagName==="PICTURE"&&Z.original.currentSrc&&(Z.zoomed.src=Z.original.currentSrc),document.body.appendChild(Z.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),Z.original.classList.add("medium-zoom-image--hidden"),Z.zoomed.classList.add("medium-zoom-image--opened"),Z.zoomed.addEventListener("click",E),Z.zoomed.addEventListener("transitionend",we),Z.original.getAttribute("data-zoom-src")){Z.zoomedHd=Z.zoomed.cloneNode(),Z.zoomedHd.removeAttribute("srcset"),Z.zoomedHd.removeAttribute("sizes"),Z.zoomedHd.removeAttribute("loading"),Z.zoomedHd.src=Z.zoomed.getAttribute("data-zoom-src"),Z.zoomedHd.onerror=function(){clearInterval(Mt),console.warn("Unable to reach the zoom image target "+Z.zoomedHd.src),Z.zoomedHd=null,de()};var Mt=setInterval(function(){Z.zoomedHd.complete&&(clearInterval(Mt),Z.zoomedHd.classList.add("medium-zoom-image--opened"),Z.zoomedHd.addEventListener("click",E),document.body.appendChild(Z.zoomedHd),de())},10)}else if(Z.original.hasAttribute("srcset")){Z.zoomedHd=Z.zoomed.cloneNode(),Z.zoomedHd.removeAttribute("sizes"),Z.zoomedHd.removeAttribute("loading");var Pt=Z.zoomedHd.addEventListener("load",function(){Z.zoomedHd.removeEventListener("load",Pt),Z.zoomedHd.classList.add("medium-zoom-image--opened"),Z.zoomedHd.addEventListener("click",E),document.body.appendChild(Z.zoomedHd),de()})}else de()})},E=function(){return new n(function(le){if(q||!Z.original){le(re);return}var ve=function de(){Z.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(Z.zoomed),Z.zoomedHd&&document.body.removeChild(Z.zoomedHd),document.body.removeChild(ee),Z.zoomed.classList.remove("medium-zoom-image--opened"),Z.template&&document.body.removeChild(Z.template),q=!1,Z.zoomed.removeEventListener("transitionend",de),Z.original.dispatchEvent(nf("medium-zoom:closed",{detail:{zoom:re}})),Z.original=null,Z.zoomed=null,Z.zoomedHd=null,Z.template=null,le(re)};q=!0,document.body.classList.remove("medium-zoom--opened"),Z.zoomed.style.transform="",Z.zoomedHd&&(Z.zoomedHd.style.transform=""),Z.template&&(Z.template.style.transition="opacity 150ms",Z.template.style.opacity=0),Z.original.dispatchEvent(nf("medium-zoom:close",{detail:{zoom:re}})),Z.zoomed.addEventListener("transitionend",ve)})},M=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ve=le.target;return Z.original?E():x({target:ve})},P=function(){return W},D=function(){return O},k=function(){return Z.original},O=[],F=[],q=!1,H=0,W=r,Z={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(t)==="[object Object]"?W=t:(t||typeof t=="string")&&d(t),W=Lc({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},W);var ee=zH(W.background);document.addEventListener("click",i),document.addEventListener("keyup",s),document.addEventListener("scroll",a),window.addEventListener("resize",E);var re={open:x,close:E,toggle:M,update:o,clone:h,attach:d,detach:m,on:g,off:y,getOptions:P,getImages:D,getZoomedImage:k};return re};function $H(e,t){t===void 0&&(t={});var r=t.insertAt;if(!(!e||typeof document>"u")){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",r==="top"&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var NH=".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}";$H(NH);const VH=FH,jH=Symbol("mediumZoom");var HH={};const UH=".theme-default-content > img, .theme-default-content :not(a) > img",GH=HH,qH=300,WH=ss({enhance({app:e,router:t}){const r=VH(GH);r.refresh=(n=UH)=>{r.detach(),r.attach(n)},e.provide(jH,r),t.afterEach(()=>{setTimeout(()=>r.refresh(),qH)})}});/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const Nr={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=Nr.isStarted();e=vx(e,Nr.settings.minimum,1),Nr.status=e===1?null:e;const r=Nr.render(!t),n=r.querySelector(Nr.settings.barSelector),i=Nr.settings.speed,a=Nr.settings.easing;return r.offsetWidth,ZH(s=>{xy(n,{transform:"translate3d("+jP(e)+"%,0,0)",transition:"all "+i+"ms "+a}),e===1?(xy(r,{transition:"none",opacity:"1"}),r.offsetWidth,setTimeout(function(){xy(r,{transition:"all "+i+"ms linear",opacity:"0"}),setTimeout(function(){Nr.remove(),s()},i)},i)):setTimeout(()=>s(),i)}),Nr},isStarted:()=>typeof Nr.status=="number",start:()=>{Nr.status||Nr.set(0);const e=()=>{setTimeout(()=>{Nr.status&&(Nr.trickle(),e())},Nr.settings.trickleSpeed)};return Nr.settings.trickle&&e(),Nr},done:e=>!e&&!Nr.status?Nr:Nr.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=Nr.status;return t?(typeof e!="number"&&(e=(1-t)*vx(Math.random()*t,.1,.95)),t=vx(t+e,0,.994),Nr.set(t)):Nr.start()},trickle:()=>Nr.inc(Math.random()*Nr.settings.trickleRate),render:e=>{if(Nr.isRendered())return document.getElementById("nprogress");HP(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=Nr.settings.template;const r=t.querySelector(Nr.settings.barSelector),n=e?"-100":jP(Nr.status||0),i=document.querySelector(Nr.settings.parent);return xy(r,{transition:"all 0 linear",transform:"translate3d("+n+"%,0,0)"}),i!==document.body&&HP(i,"nprogress-custom-parent"),i==null||i.appendChild(t),t},remove:()=>{UP(document.documentElement,"nprogress-busy"),UP(document.querySelector(Nr.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&XH(e)},isRendered:()=>!!document.getElementById("nprogress")},vx=(e,t,r)=>er?r:e,jP=e=>(-1+e)*100,ZH=function(){const e=[];function t(){const r=e.shift();r&&r(t)}return function(r){e.push(r),e.length===1&&t()}}(),xy=function(){const e=["Webkit","O","Moz","ms"],t={};function r(s){return s.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(o,h){return h.toUpperCase()})}function n(s){const o=document.body.style;if(s in o)return s;let h=e.length;const d=s.charAt(0).toUpperCase()+s.slice(1);let m;for(;h--;)if(m=e[h]+d,m in o)return m;return s}function i(s){return s=r(s),t[s]??(t[s]=n(s))}function a(s,o,h){o=i(o),s.style[o]=h}return function(s,o){for(const h in o){const d=o[h];d!==void 0&&Object.prototype.hasOwnProperty.call(o,h)&&a(s,h,d)}}}(),XR=(e,t)=>(typeof e=="string"?e:FT(e)).indexOf(" "+t+" ")>=0,HP=(e,t)=>{const r=FT(e),n=r+t;XR(r,t)||(e.className=n.substring(1))},UP=(e,t)=>{const r=FT(e);if(!XR(e,t))return;const n=r.replace(" "+t+" "," ");e.className=n.substring(1,n.length-1)},FT=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),XH=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},YH=()=>{Gn(()=>{const e=ch(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(r=>{t.has(r.path)||Nr.start()}),e.afterEach(r=>{t.add(r.path),Nr.done()})})},KH=ss({setup(){YH()}}),JH=JSON.parse('{"navbar":[{"text":"主页","link":"/"},{"text":"快讯网","link":"https://daily.sustech.online/"},{"text":"小程序","link":"/miniapp/"},{"text":"关于","link":"/about/"},{"text":"站点帮助","link":"/site-help/"}],"repo":"sustech-cra/sustech-online-ng","repoLabel":"在Github上查看","docsRepo":"sustech-cra/sustech-online-ng","docsDir":"docs","editLinkText":"一起完善这本手册!","lastUpdatedText":"上次更新","contributorsText":"贡献者","editLink":true,"docsBranch":"master","tip":"提示","warning":"注意","danger":"警告","notFound":["这里什么都没有","我们怎么到这来了?","这是一个 404 页面","看起来我们进入了错误的链接"],"backToHome":"返回首页","openInNewWindow":"在新窗口打开","toggleColorMode":"切换夜间模式","toggleSidebar":"切换侧边栏","sidebarDepth":2,"sidebar":["/","/facility/","/contact/","/calendar/","/service/","/life/","/study/","/organizations/","/media/",{"text":"🚄交通","link":"/transport/","children":[{"text":"🚌新版巴士时刻表","link":"/transport/bustimer.md","children":[]},{"text":"🚌校园巴士-工作日","link":"/transport/workday.md","children":[]},{"text":"🚌校园巴士-节假日","link":"/transport/holiday.md","children":[]},{"text":"周围交通","link":"/transport/","children":[]}]},"/surroundings/"],"locales":{"/":{"selectLanguageName":"English"}},"colorMode":"auto","colorModeSwitch":true,"logo":null,"selectLanguageText":"Languages","selectLanguageAriaLabel":"Select language","lastUpdated":true,"contributors":true}'),QH=xr(JH),YR=()=>QH,KR=Symbol(""),eU=()=>{const e=Fr(KR);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},tU=(e,t)=>{const{locales:r,...n}=e;return{...n,...r==null?void 0:r[t]}},rU=ss({enhance({app:e}){const t=YR(),r=e._context.provides[LT],n=ze(()=>tU(t.value,r.value));e.provide(KR,n),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return n.value}}})}}),nU=Ut({__name:"Badge",props:{type:{type:String,required:!1,default:"tip"},text:{type:String,required:!1,default:""},vertical:{type:String,required:!1,default:void 0}},setup(e){return(t,r)=>(ft(),zt("span",{class:Oi(["badge",e.type]),style:hd({verticalAlign:e.vertical})},[on(t.$slots,"default",{},()=>[Cl(zr(e.text),1)])],6))}}),Vr=(e,t)=>{const r=e.__vccOpts||e;for(const[n,i]of t)r[n]=i;return r},iU=Vr(nU,[["__file","Badge.vue"]]);function GP(e,t){var r;const n=zn();return ts(()=>{n.value=e()},{...t,flush:(r=t==null?void 0:t.flush)!=null?r:"sync"}),Ov(n)}function aU(e,t){let r,n,i;const a=xr(!0),s=()=>{a.value=!0,i()};Qr(e,s,{flush:"sync"});const o=typeof t=="function"?t:t.get,h=typeof t=="function"?void 0:t.set,d=GN((m,g)=>(n=m,i=g,{get(){return a.value&&(r=o(),a.value=!1),n(),r},set(y){h==null||h(y)}}));return Object.isExtensible(d)&&(d.trigger=s),d}function JR(e){return g3()?(bN(e),!0):!1}function Xf(e){return typeof e=="function"?e():Xt(e)}const oU=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const sU=Object.prototype.toString,lU=e=>sU.call(e)==="[object Object]",uU=()=>{};function cU(e,t){function r(...n){return new Promise((i,a)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(i).catch(a)})}return r}const QR=e=>e();function hU(e=QR){const t=xr(!0);function r(){t.value=!1}function n(){t.value=!0}const i=(...a)=>{t.value&&e(...a)};return{isActive:Ov(t),pause:r,resume:n,eventFilter:i}}function fU(e,t,r={}){const{eventFilter:n=QR,...i}=r;return Qr(e,cU(n,t),i)}function dU(e,t,r={}){const{eventFilter:n,...i}=r,{eventFilter:a,pause:s,resume:o,isActive:h}=hU(n);return{stop:fU(e,t,{...i,eventFilter:a}),pause:s,resume:o,isActive:h}}function pU(e,t=!0){dd()?Gn(e):t?e():os(e)}function mU(e=!1,t={}){const{truthyValue:r=!0,falsyValue:n=!1}=t,i=hi(e),a=xr(e);function s(o){if(arguments.length)return a.value=o,a.value;{const h=Xf(r);return a.value=a.value===h?Xf(n):h,a.value}}return i?s:[a,s]}function vU(e){var t;const r=Xf(e);return(t=r==null?void 0:r.$el)!=null?t:r}const s0=oU?window:void 0;function S2(...e){let t,r,n,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([r,n,i]=e,t=s0):[t,r,n,i]=e,!t)return uU;Array.isArray(r)||(r=[r]),Array.isArray(n)||(n=[n]);const a=[],s=()=>{a.forEach(m=>m()),a.length=0},o=(m,g,y,x)=>(m.addEventListener(g,y,x),()=>m.removeEventListener(g,y,x)),h=Qr(()=>[vU(t),Xf(i)],([m,g])=>{if(s(),!m)return;const y=lU(g)?{...g}:g;a.push(...r.flatMap(x=>n.map(E=>o(m,x,E,y))))},{immediate:!0,flush:"post"}),d=()=>{h(),s()};return JR(d),d}function gU(){const e=xr(!1);return dd()&&Gn(()=>{e.value=!0}),e}function yU(e){const t=gU();return ze(()=>(t.value,!!e()))}function _U(e,t={}){const{window:r=s0}=t,n=yU(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let i;const a=xr(!1),s=d=>{a.value=d.matches},o=()=>{i&&("removeEventListener"in i?i.removeEventListener("change",s):i.removeListener(s))},h=ts(()=>{n.value&&(o(),i=r.matchMedia(Xf(e)),"addEventListener"in i?i.addEventListener("change",s):i.addListener(s),a.value=i.matches)});return JR(()=>{h(),o(),i=void 0}),a}const wy=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Sy="__vueuse_ssr_handlers__",bU=xU();function xU(){return Sy in wy||(wy[Sy]=wy[Sy]||{}),wy[Sy]}function wU(e,t){return bU[e]||t}function SU(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const TU={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},qP="vueuse-storage";function e4(e,t,r,n={}){var i;const{flush:a="pre",deep:s=!0,listenToStorageChanges:o=!0,writeDefaults:h=!0,mergeDefaults:d=!1,shallow:m,window:g=s0,eventFilter:y,onError:x=ee=>{console.error(ee)},initOnMounted:E}=n,M=(m?zn:xr)(typeof t=="function"?t():t);if(!r)try{r=wU("getDefaultStorage",()=>{var ee;return(ee=s0)==null?void 0:ee.localStorage})()}catch(ee){x(ee)}if(!r)return M;const P=Xf(t),D=SU(P),k=(i=n.serializer)!=null?i:TU[D],{pause:O,resume:F}=dU(M,()=>q(M.value),{flush:a,deep:s,eventFilter:y});return g&&o&&pU(()=>{S2(g,"storage",Z),S2(g,qP,W),E&&Z()}),E||Z(),M;function q(ee){try{if(ee==null)r.removeItem(e);else{const re=k.write(ee),ce=r.getItem(e);ce!==re&&(r.setItem(e,re),g&&g.dispatchEvent(new CustomEvent(qP,{detail:{key:e,oldValue:ce,newValue:re,storageArea:r}})))}}catch(re){x(re)}}function H(ee){const re=ee?ee.newValue:r.getItem(e);if(re==null)return h&&P!==null&&r.setItem(e,k.write(P)),P;if(!ee&&d){const ce=k.read(re);return typeof d=="function"?d(ce,P):D==="object"&&!Array.isArray(ce)?{...P,...ce}:ce}else return typeof re!="string"?re:k.read(re)}function W(ee){Z(ee.detail)}function Z(ee){if(!(ee&&ee.storageArea!==r)){if(ee&&ee.key==null){M.value=P;return}if(!(ee&&ee.key!==e)){O();try{(ee==null?void 0:ee.newValue)!==k.write(M.value)&&(M.value=H(ee))}catch(re){x(re)}finally{ee?os(F):F()}}}}}function CU(e){return _U("(prefers-color-scheme: dark)",e)}const EU=Ut({name:"CodeGroup",slots:Object,setup(e,{slots:t}){const r=xr([]),n=xr(-1),i=e4("vuepress-code-group",{}),a=ze(()=>r.value.map(d=>d.innerText).join(","));Gn(()=>{Qr(()=>i.value[a.value],(d=-1)=>{n.value!==d&&(n.value=d)},{immediate:!0}),Qr(n,d=>{i.value[a.value]!==d&&(i.value[a.value]=d)})});const s=(d=n.value)=>{d{d>0?n.value=d-1:n.value=r.value.length-1,r.value[n.value].focus()},h=(d,m)=>{d.key===" "||d.key==="Enter"?(d.preventDefault(),n.value=m):d.key==="ArrowRight"?(d.preventDefault(),s(m)):d.key==="ArrowLeft"&&(d.preventDefault(),o(m))};return()=>{var m;const d=(((m=t.default)==null?void 0:m.call(t))||[]).filter(g=>g.type.name==="CodeGroupItem").map(g=>(g.props===null&&(g.props={}),g));return d.length===0?null:(n.value<0||n.value>d.length-1?(n.value=d.findIndex(g=>g.props.active===""||g.props.active===!0),n.value===-1&&(n.value=0)):d.forEach((g,y)=>{g.props.active=y===n.value}),br("div",{class:"code-group"},[br("div",{class:"code-group__nav"},br("ul",{class:"code-group__ul"},d.map((g,y)=>{const x=y===n.value;return br("li",{class:"code-group__li"},br("button",{ref:E=>{E&&(r.value[y]=E)},class:{"code-group__nav-tab":!0,"code-group__nav-tab-active":x},ariaPressed:x,ariaExpanded:x,onClick:()=>n.value=y,onKeydown:E=>h(E,y)},g.props.title))}))),d]))}}}),AU=["aria-selected"],MU=Ut({name:"CodeGroupItem"}),PU=Ut({...MU,props:{title:{type:String,required:!0},active:{type:Boolean,required:!1,default:!1}},setup(e){return(t,r)=>(ft(),zt("div",{class:Oi(["code-group-item",{"code-group-item__active":e.active}]),"aria-selected":e.active},[on(t.$slots,"default")],10,AU))}}),IU=Vr(PU,[["__file","CodeGroupItem.vue"]]),DU=()=>YR(),_a=()=>eU(),t4=Symbol(""),$T=()=>{const e=Fr(t4);if(!e)throw new Error("useDarkMode() is called without provider.");return e},LU=()=>{const e=_a(),t=CU(),r=e4("vuepress-color-scheme",e.value.colorMode),n=ze({get(){return e.value.colorModeSwitch?r.value==="auto"?t.value:r.value==="dark":e.value.colorMode==="dark"},set(i){i===t.value?r.value="auto":r.value=i?"dark":"light"}});zi(t4,n),kU(n)},kU=e=>{const t=(r=e.value)=>{const n=window==null?void 0:window.document.querySelector("html");n==null||n.classList.toggle("dark",r)};Gn(()=>{Qr(e,t,{immediate:!0})}),fd(()=>t())},r4=(...e)=>{const r=ch().resolve(...e),n=r.matched[r.matched.length-1];if(!(n!=null&&n.redirect))return r;const{redirect:i}=n,a=oj(i)?i(r):i,s=ks(a)?{path:a}:a;return r4({hash:r.hash,query:r.query,params:r.params,...s})},NT=e=>{const t=r4(encodeURI(e));return{text:t.meta.title||e,link:t.name==="404"?e:t.fullPath}};let gx=null,Op=null;const RU={wait:()=>gx,pending:()=>{gx=new Promise(e=>Op=e)},resolve:()=>{Op==null||Op(),gx=null,Op=null}},n4=()=>RU,i4=Symbol("sidebarItems"),VT=()=>{const e=Fr(i4);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},OU=()=>{const e=_a(),t=xl(),r=ze(()=>zU(t.value,e.value));zi(i4,r)},zU=(e,t)=>{const r=e.sidebar??t.sidebar??"auto",n=e.sidebarDepth??t.sidebarDepth??2;return e.home||r===!1?[]:r==="auto"?FU(n):$v(r)?a4(r,n):DT(r)?$U(r,n):[]},BU=(e,t)=>({text:e.title,link:e.link,children:jT(e.children,t)}),jT=(e,t)=>t>0?e.map(r=>BU(r,t-1)):[],FU=e=>{const t=Eu();return[{text:t.value.title,children:jT(t.value.headers,e)}]},a4=(e,t)=>{const r=zu(),n=Eu(),i=a=>{var o;let s;if(ks(a)?s=NT(a):s=a,s.children)return{...s,children:s.children.map(h=>i(h))};if(s.link===r.path){const h=((o=n.value.headers[0])==null?void 0:o.level)===1?n.value.headers[0].children:n.value.headers;return{...s,children:jT(h,t)}}return s};return e.map(a=>i(a))},$U=(e,t)=>{const r=zu(),n=AR(e,r.path),i=e[n]??[];return a4(i,t)},NU="719px",VU={mobile:NU};var ev;(function(e){e.MOBILE="mobile"})(ev||(ev={}));var m3;const jU={[ev.MOBILE]:Number.parseInt((m3=VU.mobile)==null?void 0:m3.replace("px",""),10)},o4=(e,t)=>{const r=jU[e];Number.isInteger(r)&&Gn(()=>{t(r),window.addEventListener("resize",()=>t(r),!1),window.addEventListener("orientationchange",()=>t(r),!1)})},HU={},UU={class:"theme-default-content"};function GU(e,t){const r=jn("Content");return ft(),zt("div",UU,[Oe(r)])}const qU=Vr(HU,[["render",GU],["__file","HomeContent.vue"]]),WU={key:0,class:"features"},ZU=Ut({__name:"HomeFeatures",setup(e){const t=xl(),r=ze(()=>$v(t.value.features)?t.value.features:[]);return(n,i)=>r.value.length?(ft(),zt("div",WU,[(ft(!0),zt(Mr,null,rs(r.value,a=>(ft(),zt("div",{key:a.title,class:"feature"},[Qt("h2",null,zr(a.title),1),Qt("p",null,zr(a.details),1)]))),128))])):ln("",!0)}}),XU=Vr(ZU,[["__file","HomeFeatures.vue"]]),YU=["innerHTML"],KU=["textContent"],JU=Ut({__name:"HomeFooter",setup(e){const t=xl(),r=ze(()=>t.value.footer),n=ze(()=>t.value.footerHtml);return(i,a)=>r.value?(ft(),zt(Mr,{key:0},[n.value?(ft(),zt("div",{key:0,class:"footer",innerHTML:r.value},null,8,YU)):(ft(),zt("div",{key:1,class:"footer",textContent:zr(r.value)},null,8,KU))],64)):ln("",!0)}}),QU=Vr(JU,[["__file","HomeFooter.vue"]]),eG=["href","rel","target","aria-label"],tG=Ut({inheritAttrs:!1}),rG=Ut({...tG,__name:"AutoLink",props:{item:{type:Object,required:!0}},setup(e){const t=e,r=zu(),n=OR(),{item:i}=zv(t),a=ze(()=>Nv(i.value.link)),s=ze(()=>!a.value&&uj(i.value.link)),o=ze(()=>{if(!s.value){if(i.value.target)return i.value.target;if(a.value)return"_blank"}}),h=ze(()=>o.value==="_blank"),d=ze(()=>!a.value&&!s.value&&!h.value),m=ze(()=>{if(!s.value){if(i.value.rel)return i.value.rel;if(h.value)return"noopener noreferrer"}}),g=ze(()=>i.value.ariaLabel||i.value.text),y=ze(()=>{const M=Object.keys(n.value.locales);return M.length?!M.some(P=>P===i.value.link):i.value.link!=="/"}),x=ze(()=>y.value?r.path.startsWith(i.value.link):!1),E=ze(()=>d.value?i.value.activeMatch?new RegExp(i.value.activeMatch).test(r.path):x.value:!1);return(M,P)=>{const D=jn("RouterLink"),k=jn("AutoLinkExternalIcon");return d.value?(ft(),In(D,r0({key:0,class:{"router-link-active":E.value},to:Xt(i).link,"aria-label":g.value},M.$attrs),{default:Pn(()=>[on(M.$slots,"before"),Cl(" "+zr(Xt(i).text)+" ",1),on(M.$slots,"after")]),_:3},16,["class","to","aria-label"])):(ft(),zt("a",r0({key:1,class:"external-link",href:Xt(i).link,rel:m.value,target:o.value,"aria-label":g.value},M.$attrs),[on(M.$slots,"before"),Cl(" "+zr(Xt(i).text)+" ",1),h.value?(ft(),In(k,{key:0})):ln("",!0),on(M.$slots,"after")],16,eG))}}}),wl=Vr(rG,[["__file","AutoLink.vue"]]),nG={class:"hero"},iG={key:0,id:"main-title"},aG={key:1,class:"description"},oG={key:2,class:"actions"},sG=Ut({__name:"HomeHero",setup(e){const t=xl(),r=kT(),n=$T(),i=ze(()=>n.value&&t.value.heroImageDark!==void 0?t.value.heroImageDark:t.value.heroImage),a=ze(()=>t.value.heroAlt||o.value||"hero"),s=ze(()=>t.value.heroHeight||280),o=ze(()=>t.value.heroText===null?null:t.value.heroText||r.value.title||"Hello"),h=ze(()=>t.value.tagline===null?null:t.value.tagline||r.value.description||"Welcome to your VuePress site"),d=ze(()=>$v(t.value.actions)?t.value.actions.map(({text:g,link:y,type:x="primary"})=>({text:g,link:y,type:x})):[]),m=()=>{if(!i.value)return null;const g=br("img",{src:a1(i.value),alt:a.value,height:s.value});return t.value.heroImageDark===void 0?g:br(RT,()=>g)};return(g,y)=>(ft(),zt("header",nG,[Oe(m),o.value?(ft(),zt("h1",iG,zr(o.value),1)):ln("",!0),h.value?(ft(),zt("p",aG,zr(h.value),1)):ln("",!0),d.value.length?(ft(),zt("p",oG,[(ft(!0),zt(Mr,null,rs(d.value,x=>(ft(),In(wl,{key:x.text,class:Oi(["action-button",[x.type]]),item:x},null,8,["class","item"]))),128))])):ln("",!0)]))}}),lG=Vr(sG,[["__file","HomeHero.vue"]]),uG={class:"home"},cG=Ut({__name:"Home",setup(e){return(t,r)=>(ft(),zt("main",uG,[Oe(lG),Oe(XU),Oe(qU),Oe(QU)]))}}),hG=Vr(cG,[["__file","Home.vue"]]),fG=Ut({__name:"NavbarBrand",setup(e){const t=Vv(),r=kT(),n=_a(),i=$T(),a=ze(()=>n.value.home||t.value),s=ze(()=>r.value.title),o=ze(()=>i.value&&n.value.logoDark!==void 0?n.value.logoDark:n.value.logo),h=()=>{if(!o.value)return null;const d=br("img",{class:"logo",src:a1(o.value),alt:s.value});return n.value.logoDark===void 0?d:br(RT,()=>d)};return(d,m)=>{const g=jn("RouterLink");return ft(),In(g,{to:a.value},{default:Pn(()=>[Oe(h),s.value?(ft(),zt("span",{key:0,class:Oi(["site-name",{"can-hide":o.value}])},zr(s.value),3)):ln("",!0)]),_:1},8,["to"])}}}),dG=Vr(fG,[["__file","NavbarBrand.vue"]]),pG=Ut({__name:"DropdownTransition",setup(e){const t=n=>{n.style.height=n.scrollHeight+"px"},r=n=>{n.style.height=""};return(n,i)=>(ft(),In(Ou,{name:"dropdown",onEnter:t,onAfterEnter:r,onBeforeLeave:t},{default:Pn(()=>[on(n.$slots,"default")]),_:3}))}}),s4=Vr(pG,[["__file","DropdownTransition.vue"]]),mG=["aria-label"],vG={class:"title"},gG=Qt("span",{class:"arrow down"},null,-1),yG=["aria-label"],_G={class:"title"},bG={class:"navbar-dropdown"},xG={class:"navbar-dropdown-subtitle"},wG={key:1},SG={class:"navbar-dropdown-subitem-wrapper"},TG=Ut({__name:"NavbarDropdown",props:{item:{type:Object,required:!0}},setup(e){const t=e,{item:r}=zv(t),n=ze(()=>r.value.ariaLabel||r.value.text),i=xr(!1),a=zu();Qr(()=>a.path,()=>{i.value=!1});const s=h=>{h.detail===0?i.value=!i.value:i.value=!1},o=(h,d)=>d[d.length-1]===h;return(h,d)=>(ft(),zt("div",{class:Oi(["navbar-dropdown-wrapper",{open:i.value}])},[Qt("button",{class:"navbar-dropdown-title",type:"button","aria-label":n.value,onClick:s},[Qt("span",vG,zr(Xt(r).text),1),gG],8,mG),Qt("button",{class:"navbar-dropdown-title-mobile",type:"button","aria-label":n.value,onClick:d[0]||(d[0]=m=>i.value=!i.value)},[Qt("span",_G,zr(Xt(r).text),1),Qt("span",{class:Oi(["arrow",i.value?"down":"right"])},null,2)],8,yG),Oe(s4,null,{default:Pn(()=>[J_(Qt("ul",bG,[(ft(!0),zt(Mr,null,rs(Xt(r).children,m=>(ft(),zt("li",{key:m.text,class:"navbar-dropdown-item"},[m.children?(ft(),zt(Mr,{key:0},[Qt("h4",xG,[m.link?(ft(),In(wl,{key:0,item:m,onFocusout:g=>o(m,Xt(r).children)&&m.children.length===0&&(i.value=!1)},null,8,["item","onFocusout"])):(ft(),zt("span",wG,zr(m.text),1))]),Qt("ul",SG,[(ft(!0),zt(Mr,null,rs(m.children,g=>(ft(),zt("li",{key:g.link,class:"navbar-dropdown-subitem"},[Oe(wl,{item:g,onFocusout:y=>o(g,m.children)&&o(m,Xt(r).children)&&(i.value=!1)},null,8,["item","onFocusout"])]))),128))])],64)):(ft(),In(wl,{key:1,item:m,onFocusout:g=>o(m,Xt(r).children)&&(i.value=!1)},null,8,["item","onFocusout"]))]))),128))],512),[[n0,i.value]])]),_:1})],2))}}),CG=Vr(TG,[["__file","NavbarDropdown.vue"]]),WP=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),EG=(e,t)=>{if(t.hash===e)return!0;const r=WP(t.path),n=WP(e);return r===n},l4=(e,t)=>e.link&&EG(e.link,t)?!0:e.children?e.children.some(r=>l4(r,t)):!1,u4=e=>!Nv(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,AG={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},MG=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const r=u4(e);return r!==null?AG[r]:null},PG=({docsRepo:e,docsBranch:t,docsDir:r,filePathRelative:n,editLinkPattern:i})=>{if(!n)return null;const a=MG({docsRepo:e,editLinkPattern:i});return a?a.replace(/:repo/,Nv(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,ER(`${CR(r)}/${n}`)):null},IG={key:0,class:"navbar-items"},DG=Ut({__name:"NavbarItems",setup(e){const t=()=>{const m=ch(),g=Vv(),y=OR(),x=kT(),E=DU(),M=_a();return ze(()=>{const P=Object.keys(y.value.locales);if(P.length<2)return[];const D=m.currentRoute.value.path,k=m.currentRoute.value.fullPath;return[{text:`${M.value.selectLanguageText}`,ariaLabel:`${M.value.selectLanguageAriaLabel??M.value.selectLanguageText}`,children:P.map(F=>{var re,ce;const q=((re=y.value.locales)==null?void 0:re[F])??{},H=((ce=E.value.locales)==null?void 0:ce[F])??{},W=`${q.lang}`,Z=H.selectLanguageName??W;let ee;if(W===x.value.lang)ee=k;else{const le=D.replace(g.value,F);m.getRoutes().some(ve=>ve.path===le)?ee=k.replace(D,le):ee=H.home??F}return{text:Z,link:ee}})}]})},r=()=>{const m=_a(),g=ze(()=>m.value.repo),y=ze(()=>g.value?u4(g.value):null),x=ze(()=>g.value&&!Nv(g.value)?`https://github.com/${g.value}`:g.value),E=ze(()=>x.value?m.value.repoLabel?m.value.repoLabel:y.value===null?"Source":y.value:null);return ze(()=>!x.value||!E.value?[]:[{text:E.value,link:x.value}])},n=m=>ks(m)?NT(m):m.children?{...m,children:m.children.map(n)}:m,i=()=>{const m=_a();return ze(()=>(m.value.navbar||[]).map(n))},a=xr(!1),s=i(),o=t(),h=r(),d=ze(()=>[...s.value,...o.value,...h.value]);return o4(ev.MOBILE,m=>{window.innerWidthd.value.length?(ft(),zt("nav",IG,[(ft(!0),zt(Mr,null,rs(d.value,y=>(ft(),zt("div",{key:y.text,class:"navbar-item"},[y.children?(ft(),In(CG,{key:0,item:y,class:Oi(a.value?"mobile":"")},null,8,["item","class"])):(ft(),In(wl,{key:1,item:y},null,8,["item"]))]))),128))])):ln("",!0)}}),c4=Vr(DG,[["__file","NavbarItems.vue"]]),LG=["title"],kG={class:"icon",focusable:"false",viewBox:"0 0 32 32"},RG=tV('',9),OG=[RG],zG={class:"icon",focusable:"false",viewBox:"0 0 32 32"},BG=Qt("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1),FG=[BG],$G=Ut({__name:"ToggleColorModeButton",setup(e){const t=_a(),r=$T(),n=()=>{r.value=!r.value};return(i,a)=>(ft(),zt("button",{class:"toggle-color-mode-button",title:Xt(t).toggleColorMode,onClick:n},[J_((ft(),zt("svg",kG,OG,512)),[[n0,!Xt(r)]]),J_((ft(),zt("svg",zG,FG,512)),[[n0,Xt(r)]])],8,LG))}}),NG=Vr($G,[["__file","ToggleColorModeButton.vue"]]),VG=["title"],jG=Qt("div",{class:"icon","aria-hidden":"true"},[Qt("span"),Qt("span"),Qt("span")],-1),HG=[jG],UG=Ut({__name:"ToggleSidebarButton",emits:["toggle"],setup(e){const t=_a();return(r,n)=>(ft(),zt("div",{class:"toggle-sidebar-button",title:Xt(t).toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:n[0]||(n[0]=i=>r.$emit("toggle"))},HG,8,VG))}}),GG=Vr(UG,[["__file","ToggleSidebarButton.vue"]]),qG=Ut({__name:"Navbar",emits:["toggle-sidebar"],setup(e){const t=_a(),r=xr(null),n=xr(null),i=xr(0),a=ze(()=>i.value?{maxWidth:i.value+"px"}:{});o4(ev.MOBILE,o=>{var d;const h=s(r.value,"paddingLeft")+s(r.value,"paddingRight");window.innerWidth{const d=jn("NavbarSearch");return ft(),zt("header",{ref_key:"navbar",ref:r,class:"navbar"},[Oe(GG,{onToggle:h[0]||(h[0]=m=>o.$emit("toggle-sidebar"))}),Qt("span",{ref_key:"navbarBrand",ref:n},[Oe(dG)],512),Qt("div",{class:"navbar-items-wrapper",style:hd(a.value)},[on(o.$slots,"before"),Oe(c4,{class:"can-hide"}),on(o.$slots,"after"),Xt(t).colorModeSwitch?(ft(),In(NG,{key:0})):ln("",!0),Oe(d)],4)],512)}}}),WG=Vr(qG,[["__file","Navbar.vue"]]),ZG={class:"page-meta"},XG={key:0,class:"meta-item edit-link"},YG={key:1,class:"meta-item last-updated"},KG={class:"meta-item-label"},JG={class:"meta-item-info"},QG={key:2,class:"meta-item contributors"},eq={class:"meta-item-label"},tq={class:"meta-item-info"},rq=["title"],nq=Ut({__name:"PageMeta",setup(e){const t=()=>{const h=_a(),d=Eu(),m=xl();return ze(()=>{if(!(m.value.editLink??h.value.editLink??!0))return null;const{repo:y,docsRepo:x=y,docsBranch:E="main",docsDir:M="",editLinkText:P}=h.value;if(!x)return null;const D=PG({docsRepo:x,docsBranch:E,docsDir:M,filePathRelative:d.value.filePathRelative,editLinkPattern:m.value.editLinkPattern??h.value.editLinkPattern});return D?{text:P??"Edit this page",link:D}:null})},r=()=>{const h=_a(),d=Eu(),m=xl();return ze(()=>{var x,E;return!(m.value.lastUpdated??h.value.lastUpdated??!0)||!((x=d.value.git)!=null&&x.updatedTime)?null:new Date((E=d.value.git)==null?void 0:E.updatedTime).toLocaleString()})},n=()=>{const h=_a(),d=Eu(),m=xl();return ze(()=>{var y;return m.value.contributors??h.value.contributors??!0?((y=d.value.git)==null?void 0:y.contributors)??null:null})},i=_a(),a=t(),s=r(),o=n();return(h,d)=>{const m=jn("ClientOnly");return ft(),zt("footer",ZG,[Xt(a)?(ft(),zt("div",XG,[Oe(wl,{class:"meta-item-label",item:Xt(a)},null,8,["item"])])):ln("",!0),Xt(s)?(ft(),zt("div",YG,[Qt("span",KG,zr(Xt(i).lastUpdatedText)+": ",1),Oe(m,null,{default:Pn(()=>[Qt("span",JG,zr(Xt(s)),1)]),_:1})])):ln("",!0),Xt(o)&&Xt(o).length?(ft(),zt("div",QG,[Qt("span",eq,zr(Xt(i).contributorsText)+": ",1),Qt("span",tq,[(ft(!0),zt(Mr,null,rs(Xt(o),(g,y)=>(ft(),zt(Mr,{key:y},[Qt("span",{class:"contributor",title:`email: ${g.email}`},zr(g.name),9,rq),y!==Xt(o).length-1?(ft(),zt(Mr,{key:0},[Cl(", ")],64)):ln("",!0)],64))),128))])])):ln("",!0)])}}}),iq=Vr(nq,[["__file","PageMeta.vue"]]),aq={key:0,class:"page-nav"},oq={class:"inner"},sq={key:0,class:"prev"},lq={key:1,class:"next"},uq=Ut({__name:"PageNav",setup(e){const t=h=>h===!1?null:ks(h)?NT(h):DT(h)?h:!1,r=(h,d,m)=>{const g=h.findIndex(y=>y.link===d);if(g!==-1){const y=h[g+m];return y!=null&&y.link?y:null}for(const y of h)if(y.children){const x=r(y.children,d,m);if(x)return x}return null},n=xl(),i=VT(),a=zu(),s=ze(()=>{const h=t(n.value.prev);return h!==!1?h:r(i.value,a.path,-1)}),o=ze(()=>{const h=t(n.value.next);return h!==!1?h:r(i.value,a.path,1)});return(h,d)=>s.value||o.value?(ft(),zt("nav",aq,[Qt("p",oq,[s.value?(ft(),zt("span",sq,[Oe(wl,{item:s.value},null,8,["item"])])):ln("",!0),o.value?(ft(),zt("span",lq,[Oe(wl,{item:o.value},null,8,["item"])])):ln("",!0)])])):ln("",!0)}}),cq=Vr(uq,[["__file","PageNav.vue"]]),hq={class:"page"},fq={class:"theme-default-content"},dq=Ut({__name:"Page",setup(e){return(t,r)=>{const n=jn("Content");return ft(),zt("main",hq,[on(t.$slots,"top"),Qt("div",fq,[on(t.$slots,"content-top"),Oe(n),on(t.$slots,"content-bottom")]),Oe(iq),Oe(cq),on(t.$slots,"bottom")])}}}),pq=Vr(dq,[["__file","Page.vue"]]),mq=["onKeydown"],vq={class:"sidebar-item-children"},gq=Ut({__name:"SidebarItem",props:{item:{type:Object,required:!0},depth:{type:Number,required:!1,default:0}},setup(e){const t=e,{item:r,depth:n}=zv(t),i=zu(),a=ch(),s=ze(()=>l4(r.value,i)),o=ze(()=>({"sidebar-item":!0,"sidebar-heading":n.value===0,active:s.value,collapsible:r.value.collapsible})),h=ze(()=>r.value.collapsible?s.value:!0),[d,m]=mU(h.value),g=x=>{r.value.collapsible&&(x.preventDefault(),m())},y=a.afterEach(x=>{os(()=>{d.value=h.value})});return Il(()=>{y()}),(x,E)=>{var P;const M=jn("SidebarItem",!0);return ft(),zt("li",null,[Xt(r).link?(ft(),In(wl,{key:0,class:Oi(o.value),item:Xt(r)},null,8,["class","item"])):(ft(),zt("p",{key:1,tabindex:"0",class:Oi(o.value),onClick:g,onKeydown:KV(g,["enter"])},[Cl(zr(Xt(r).text)+" ",1),Xt(r).collapsible?(ft(),zt("span",{key:0,class:Oi(["arrow",Xt(d)?"down":"right"])},null,2)):ln("",!0)],42,mq)),(P=Xt(r).children)!=null&&P.length?(ft(),In(s4,{key:2},{default:Pn(()=>[J_(Qt("ul",vq,[(ft(!0),zt(Mr,null,rs(Xt(r).children,D=>(ft(),In(M,{key:`${Xt(n)}${D.text}${D.link}`,item:D,depth:Xt(n)+1},null,8,["item","depth"]))),128))],512),[[n0,Xt(d)]])]),_:1})):ln("",!0)])}}}),yq=Vr(gq,[["__file","SidebarItem.vue"]]),_q={key:0,class:"sidebar-items"},bq=Ut({__name:"SidebarItems",setup(e){const t=zu(),r=VT();return Gn(()=>{Qr(()=>t.hash,n=>{const i=document.querySelector(".sidebar");if(!i)return;const a=document.querySelector(`.sidebar a.sidebar-item[href="${t.path}${n}"]`);if(!a)return;const{top:s,height:o}=i.getBoundingClientRect(),{top:h,height:d}=a.getBoundingClientRect();hs+o&&a.scrollIntoView(!1)})}),(n,i)=>Xt(r).length?(ft(),zt("ul",_q,[(ft(!0),zt(Mr,null,rs(Xt(r),a=>(ft(),In(yq,{key:`${a.text}${a.link}`,item:a},null,8,["item"]))),128))])):ln("",!0)}}),xq=Vr(bq,[["__file","SidebarItems.vue"]]),wq={class:"sidebar"},Sq=Ut({__name:"Sidebar",setup(e){return(t,r)=>(ft(),zt("aside",wq,[Oe(c4),on(t.$slots,"top"),Oe(xq),on(t.$slots,"bottom")]))}}),Tq=Vr(Sq,[["__file","Sidebar.vue"]]),Cq=Ut({__name:"Layout",setup(e){const t=Eu(),r=xl(),n=_a(),i=ze(()=>r.value.navbar!==!1&&n.value.navbar!==!1),a=VT(),s=xr(!1),o=P=>{s.value=typeof P=="boolean"?P:!s.value},h={x:0,y:0},d=P=>{h.x=P.changedTouches[0].clientX,h.y=P.changedTouches[0].clientY},m=P=>{const D=P.changedTouches[0].clientX-h.x,k=P.changedTouches[0].clientY-h.y;Math.abs(D)>Math.abs(k)&&Math.abs(D)>40&&(D>0&&h.x<=80?o(!0):o(!1))},g=ze(()=>[{"no-navbar":!i.value,"no-sidebar":!a.value.length,"sidebar-open":s.value},r.value.pageClass]);let y;Gn(()=>{y=ch().afterEach(()=>{o(!1)})}),fd(()=>{y()});const x=n4(),E=x.resolve,M=x.pending;return(P,D)=>(ft(),zt("div",{class:Oi(["theme-container",g.value]),onTouchstart:d,onTouchend:m},[on(P.$slots,"navbar",{},()=>[i.value?(ft(),In(WG,{key:0,onToggleSidebar:o},{before:Pn(()=>[on(P.$slots,"navbar-before")]),after:Pn(()=>[on(P.$slots,"navbar-after")]),_:3})):ln("",!0)]),Qt("div",{class:"sidebar-mask",onClick:D[0]||(D[0]=k=>o(!1))}),on(P.$slots,"sidebar",{},()=>[Oe(Tq,null,{top:Pn(()=>[on(P.$slots,"sidebar-top")]),bottom:Pn(()=>[on(P.$slots,"sidebar-bottom")]),_:3})]),on(P.$slots,"page",{},()=>[Xt(r).home?(ft(),In(hG,{key:0})):(ft(),In(Ou,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:Xt(E),onBeforeLeave:Xt(M)},{default:Pn(()=>[(ft(),In(pq,{key:Xt(t).path},{top:Pn(()=>[on(P.$slots,"page-top")]),"content-top":Pn(()=>[on(P.$slots,"page-content-top")]),"content-bottom":Pn(()=>[on(P.$slots,"page-content-bottom")]),bottom:Pn(()=>[on(P.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34))}}),Eq=Vr(Cq,[["__file","Layout.vue"]]),Aq={class:"theme-container"},Mq={class:"page"},Pq={class:"theme-default-content"},Iq=Qt("h1",null,"404",-1),Dq=Ut({__name:"NotFound",setup(e){const t=Vv(),r=_a(),n=r.value.notFound??["Not Found"],i=()=>n[Math.floor(Math.random()*n.length)],a=r.value.home??t.value,s=r.value.backToHome??"Back to home";return(o,h)=>{const d=jn("RouterLink");return ft(),zt("div",Aq,[Qt("main",Mq,[Qt("div",Pq,[Iq,Qt("blockquote",null,zr(i()),1),Oe(d,{to:Xt(a)},{default:Pn(()=>[Cl(zr(Xt(s)),1)]),_:1},8,["to"])])])])}}}),Lq=Vr(Dq,[["__file","NotFound.vue"]]),kq=ss({enhance({app:e,router:t}){e.component("Badge",iU),e.component("CodeGroup",EU),e.component("CodeGroupItem",IU),e.component("AutoLinkExternalIcon",()=>{const n=e.component("ExternalLinkIcon");return n?br(n):null}),e.component("NavbarSearch",()=>{const n=e.component("Docsearch")||e.component("SearchBox");return n?br(n):null});const r=t.options.scrollBehavior;t.options.scrollBehavior=async(...n)=>(await n4().wait(),r(...n))},setup(){LU(),OU()},layouts:{Layout:Eq,NotFound:Lq}}),Rq=e=>{const t=S2("keydown",r=>{const n=r.key==="k"&&(r.ctrlKey||r.metaKey);!(r.key==="/")&&!n||(r.preventDefault(),e(),t())})},Oq=e=>e.button===1||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey,zq=()=>{const e=ch();return{hitComponent:({hit:t,children:r})=>({type:"a",ref:void 0,constructor:void 0,key:void 0,props:{href:t.url,onClick:n=>{Oq(n)||(n.preventDefault(),e.push(xP(t.url,"/")))},children:r},__v:null}),navigator:{navigate:({itemUrl:t})=>{e.push(xP(t,"/"))}},transformSearchClient:t=>{const r=OT(t.search,500);return{...t,search:async(...n)=>r(...n)}}}},Bq=(e=[],t)=>[`lang:${t}`,...$v(e)?e:[e]],Fq=({buttonText:e="Search",buttonAriaLabel:t=e}={})=>``,$q=16,h4=()=>{if(document.querySelector(".DocSearch-Modal"))return;const e=new Event("keydown");e.key="k",e.metaKey=!0,window.dispatchEvent(e),setTimeout(h4,$q)},Nq=e=>{const t="algolia-preconnect";(window.requestIdleCallback||setTimeout)(()=>{if(document.head.querySelector(`#${t}`))return;const n=document.createElement("link");n.id=t,n.rel="preconnect",n.href=`https://${e}-dsn.algolia.net`,n.crossOrigin="",document.head.appendChild(n)})};var Vq={appId:"6KECEJUGJH",apiKey:"9a5c8aa7cb2d5d32ebd66790e1a84789",indexName:"sustech-online-keys",locales:{"/":{placeholder:"搜索手册",translations:{button:{buttonText:"搜索手册",buttonAriaLabel:"搜索手册"},modal:{searchBox:{resetButtonTitle:"清除查询条件",resetButtonAriaLabel:"清除查询条件",cancelButtonText:"取消",cancelButtonAriaLabel:"取消"},startScreen:{recentSearchesTitle:"搜索历史",noRecentSearchesText:"没有搜索历史",saveRecentSearchButtonTitle:"保存至搜索历史",removeRecentSearchButtonTitle:"从搜索历史中移除",favoriteSearchesTitle:"收藏",removeFavoriteSearchButtonTitle:"从收藏中移除"},errorScreen:{titleText:"无法获取结果",helpText:"你可能需要检查你的网络连接"},footer:{selectText:"选择",navigateText:"切换",closeText:"关闭",searchByText:"搜索提供者"},noResultsScreen:{noResultsText:"无法找到相关结果",suggestedQueryText:"你可以尝试查询",reportMissingResultsText:"你认为该查询应该有结果?",reportMissingResultsLinkText:"点击反馈"}}}}}};const jq=Vq;Ve(()=>import("./style-w40geAFS.js"),__vite__mapDeps([])),Ve(()=>import("./docsearch-w40geAFS.js"),__vite__mapDeps([]));const Hq=Ut({name:"Docsearch",props:{containerId:{type:String,required:!1,default:"docsearch-container"},options:{type:Object,required:!1,default:()=>jq}},setup(e){const t=zq(),r=kR(),n=Vv(),i=xr(!1),a=xr(!1),s=ze(()=>{var d;return{...e.options,...(d=e.options.locales)==null?void 0:d[n.value]}}),o=async()=>{var m;const{default:d}=await Ve(()=>import("./index-QOy62Fup.js"),__vite__mapDeps([]));d({...t,...s.value,container:`#${e.containerId}`,searchParameters:{...s.value.searchParameters,facetFilters:Bq((m=s.value.searchParameters)==null?void 0:m.facetFilters,r.value)}}),i.value=!0},h=()=>{a.value||i.value||(a.value=!0,o(),h4(),Qr(n,o))};return Rq(h),Gn(()=>Nq(s.value.appId)),()=>{var d;return[br("div",{id:e.containerId,style:{display:i.value?"block":"none"}}),i.value?null:br("div",{onClick:h,innerHTML:Fq((d=s.value.translations)==null?void 0:d.button)})]}}}),Uq=ss({enhance({app:e}){e.component("Docsearch",Hq)}});function Gq(e){return{all:e=e||new Map,on:function(t,r){var n=e.get(t);n?n.push(r):e.set(t,[r])},off:function(t,r){var n=e.get(t);n&&(r?n.splice(n.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var n=e.get(t);n&&n.slice().map(function(i){i(r)}),(n=e.get("*"))&&n.slice().map(function(i){i(t,r)})}}}const qq=Symbol("pwaEvent"),Wq="service-worker.js",Zq=ss({setup(){const e=(...r)=>console.log("[@vuepress/plugin-pwa]",...r),t=Gq();zi(qq,t),Gn(async()=>{const{register:r}=await Ve(()=>import("./index-7SG8bi1h.js"),__vite__mapDeps([]));r(a1(Wq),{ready(n){e("Service worker is active."),t.emit("ready",n)},registered(n){e("Service worker has been registered."),t.emit("registered",n)},cached(n){e("Content has been cached for offline use."),t.emit("cached",n)},updatefound(n){e("New content is downloading."),t.emit("updatefound",n)},updated(n){e("New content is available, please refresh."),t.emit("updated",n)},offline(){e("No internet connection found. App is running in offline mode."),t.emit("offline")},error(n){e("Error during service worker registration:",n),t.emit("error",n)}})})}}),Xq=(e,t,r)=>{const n=`#${e.slug}`,i=[t.linkClass];return t.linkActiveClass&&r.hash===n&&i.push(t.linkActiveClass),t.linkChildrenActiveClass&&e.children.some(a=>`#${a.slug}`===r.hash)&&i.push(t.linkChildrenActiveClass),t.linkTag==="RouterLink"?br(WR,{to:n,class:i,ariaLabel:e.title},()=>e.title):br("a",{href:n,class:i,ariaLabel:e.title},e.title)},f4=(e,t,r)=>e.length===0?[]:[br("ul",{class:t.listClass},e.map(n=>br("li",{class:t.itemClass},[Xq(n,t,r),f4(n.children,t,r)])))],Yq=Ut({name:"Toc",props:{headers:{type:Array,required:!1,default:null},options:{type:Object,required:!1,default:()=>({})}},setup(e){const{headers:t,options:r}=zv(e),n=zu(),i=Eu(),a=ze(()=>{var h;const o=t.value||i.value.headers;return((h=o[0])==null?void 0:h.level)===1?o[0].children:o}),s=ze(()=>({containerTag:"nav",containerClass:"vuepress-toc",listClass:"vuepress-toc-list",itemClass:"vuepress-toc-item",linkTag:"RouterLink",linkClass:"vuepress-toc-link",linkActiveClass:"active",linkChildrenActiveClass:"active",...r.value}));return()=>{const o=f4(a.value,s.value,n);return s.value.containerTag?br(s.value.containerTag,{class:s.value.containerClass},o):o}}});var Kq={};const Jq=Kq,Qq=ss({enhance({app:e}){e.component("Toc",t=>br(Yq,{headers:t.headers,options:{...Jq,...t.options}}))}});function d4(e,t){return function(){return e.apply(t,arguments)}}const{toString:eW}=Object.prototype,{getPrototypeOf:HT}=Object,l1=(e=>t=>{const r=eW.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Fs=e=>(e=e.toLowerCase(),t=>l1(t)===e),u1=e=>t=>typeof t===e,{isArray:pd}=Array,tv=u1("undefined");function tW(e){return e!==null&&!tv(e)&&e.constructor!==null&&!tv(e.constructor)&&Ao(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const p4=Fs("ArrayBuffer");function rW(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&p4(e.buffer),t}const nW=u1("string"),Ao=u1("function"),m4=u1("number"),c1=e=>e!==null&&typeof e=="object",iW=e=>e===!0||e===!1,w_=e=>{if(l1(e)!=="object")return!1;const t=HT(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},aW=Fs("Date"),oW=Fs("File"),sW=Fs("Blob"),lW=Fs("FileList"),uW=e=>c1(e)&&Ao(e.pipe),cW=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ao(e.append)&&((t=l1(e))==="formdata"||t==="object"&&Ao(e.toString)&&e.toString()==="[object FormData]"))},hW=Fs("URLSearchParams"),fW=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function jv(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,i;if(typeof e!="object"&&(e=[e]),pd(e))for(n=0,i=e.length;n0;)if(i=r[n],t===i.toLowerCase())return i;return null}const g4=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,y4=e=>!tv(e)&&e!==g4;function T2(){const{caseless:e}=y4(this)&&this||{},t={},r=(n,i)=>{const a=e&&v4(t,i)||i;w_(t[a])&&w_(n)?t[a]=T2(t[a],n):w_(n)?t[a]=T2({},n):pd(n)?t[a]=n.slice():t[a]=n};for(let n=0,i=arguments.length;n(jv(t,(i,a)=>{r&&Ao(i)?e[a]=d4(i,r):e[a]=i},{allOwnKeys:n}),e),pW=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),mW=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},vW=(e,t,r,n)=>{let i,a,s;const o={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),a=i.length;a-- >0;)s=i[a],(!n||n(s,e,t))&&!o[s]&&(t[s]=e[s],o[s]=!0);e=r!==!1&&HT(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},gW=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return n!==-1&&n===r},yW=e=>{if(!e)return null;if(pd(e))return e;let t=e.length;if(!m4(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},_W=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&HT(Uint8Array)),bW=(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let i;for(;(i=n.next())&&!i.done;){const a=i.value;t.call(e,a[0],a[1])}},xW=(e,t)=>{let r;const n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},wW=Fs("HTMLFormElement"),SW=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,i){return n.toUpperCase()+i}),ZP=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),TW=Fs("RegExp"),_4=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};jv(r,(i,a)=>{let s;(s=t(i,a,e))!==!1&&(n[a]=s||i)}),Object.defineProperties(e,n)},CW=e=>{_4(e,(t,r)=>{if(Ao(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=e[r];if(Ao(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},EW=(e,t)=>{const r={},n=i=>{i.forEach(a=>{r[a]=!0})};return pd(e)?n(e):n(String(e).split(t)),r},AW=()=>{},MW=(e,t)=>(e=+e,Number.isFinite(e)?e:t),yx="abcdefghijklmnopqrstuvwxyz",XP="0123456789",b4={DIGIT:XP,ALPHA:yx,ALPHA_DIGIT:yx+yx.toUpperCase()+XP},PW=(e=16,t=b4.ALPHA_DIGIT)=>{let r="";const{length:n}=t;for(;e--;)r+=t[Math.random()*n|0];return r};function IW(e){return!!(e&&Ao(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const DW=e=>{const t=new Array(10),r=(n,i)=>{if(c1(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[i]=n;const a=pd(n)?[]:{};return jv(n,(s,o)=>{const h=r(s,i+1);!tv(h)&&(a[o]=h)}),t[i]=void 0,a}}return n};return r(e,0)},LW=Fs("AsyncFunction"),kW=e=>e&&(c1(e)||Ao(e))&&Ao(e.then)&&Ao(e.catch),nt={isArray:pd,isArrayBuffer:p4,isBuffer:tW,isFormData:cW,isArrayBufferView:rW,isString:nW,isNumber:m4,isBoolean:iW,isObject:c1,isPlainObject:w_,isUndefined:tv,isDate:aW,isFile:oW,isBlob:sW,isRegExp:TW,isFunction:Ao,isStream:uW,isURLSearchParams:hW,isTypedArray:_W,isFileList:lW,forEach:jv,merge:T2,extend:dW,trim:fW,stripBOM:pW,inherits:mW,toFlatObject:vW,kindOf:l1,kindOfTest:Fs,endsWith:gW,toArray:yW,forEachEntry:bW,matchAll:xW,isHTMLForm:wW,hasOwnProperty:ZP,hasOwnProp:ZP,reduceDescriptors:_4,freezeMethods:CW,toObjectSet:EW,toCamelCase:SW,noop:AW,toFiniteNumber:MW,findKey:v4,global:g4,isContextDefined:y4,ALPHABET:b4,generateString:PW,isSpecCompliantForm:IW,toJSONObject:DW,isAsyncFn:LW,isThenable:kW};function Or(e,t,r,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i)}nt.inherits(Or,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:nt.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const x4=Or.prototype,w4={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{w4[e]={value:e}});Object.defineProperties(Or,w4);Object.defineProperty(x4,"isAxiosError",{value:!0});Or.from=(e,t,r,n,i,a)=>{const s=Object.create(x4);return nt.toFlatObject(e,s,function(h){return h!==Error.prototype},o=>o!=="isAxiosError"),Or.call(s,e.message,t,r,n,i),s.cause=e,s.name=e.name,a&&Object.assign(s,a),s};const RW=null;function C2(e){return nt.isPlainObject(e)||nt.isArray(e)}function S4(e){return nt.endsWith(e,"[]")?e.slice(0,-2):e}function YP(e,t,r){return e?e.concat(t).map(function(i,a){return i=S4(i),!r&&a?"["+i+"]":i}).join(r?".":""):t}function OW(e){return nt.isArray(e)&&!e.some(C2)}const zW=nt.toFlatObject(nt,{},null,function(t){return/^is[A-Z]/.test(t)});function h1(e,t,r){if(!nt.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=nt.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(M,P){return!nt.isUndefined(P[M])});const n=r.metaTokens,i=r.visitor||m,a=r.dots,s=r.indexes,h=(r.Blob||typeof Blob<"u"&&Blob)&&nt.isSpecCompliantForm(t);if(!nt.isFunction(i))throw new TypeError("visitor must be a function");function d(E){if(E===null)return"";if(nt.isDate(E))return E.toISOString();if(!h&&nt.isBlob(E))throw new Or("Blob is not supported. Use a Buffer instead.");return nt.isArrayBuffer(E)||nt.isTypedArray(E)?h&&typeof Blob=="function"?new Blob([E]):Buffer.from(E):E}function m(E,M,P){let D=E;if(E&&!P&&typeof E=="object"){if(nt.endsWith(M,"{}"))M=n?M:M.slice(0,-2),E=JSON.stringify(E);else if(nt.isArray(E)&&OW(E)||(nt.isFileList(E)||nt.endsWith(M,"[]"))&&(D=nt.toArray(E)))return M=S4(M),D.forEach(function(O,F){!(nt.isUndefined(O)||O===null)&&t.append(s===!0?YP([M],F,a):s===null?M:M+"[]",d(O))}),!1}return C2(E)?!0:(t.append(YP(P,M,a),d(E)),!1)}const g=[],y=Object.assign(zW,{defaultVisitor:m,convertValue:d,isVisitable:C2});function x(E,M){if(!nt.isUndefined(E)){if(g.indexOf(E)!==-1)throw Error("Circular reference detected in "+M.join("."));g.push(E),nt.forEach(E,function(D,k){(!(nt.isUndefined(D)||D===null)&&i.call(t,D,nt.isString(k)?k.trim():k,M,y))===!0&&x(D,M?M.concat(k):[k])}),g.pop()}}if(!nt.isObject(e))throw new TypeError("data must be an object");return x(e),t}function KP(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function UT(e,t){this._pairs=[],e&&h1(e,this,t)}const T4=UT.prototype;T4.append=function(t,r){this._pairs.push([t,r])};T4.toString=function(t){const r=t?function(n){return t.call(this,n,KP)}:KP;return this._pairs.map(function(i){return r(i[0])+"="+r(i[1])},"").join("&")};function BW(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function C4(e,t,r){if(!t)return e;const n=r&&r.encode||BW,i=r&&r.serialize;let a;if(i?a=i(t,r):a=nt.isURLSearchParams(t)?t.toString():new UT(t,r).toString(n),a){const s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}class FW{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){nt.forEach(this.handlers,function(n){n!==null&&t(n)})}}const JP=FW,E4={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},$W=typeof URLSearchParams<"u"?URLSearchParams:UT,NW=typeof FormData<"u"?FormData:null,VW=typeof Blob<"u"?Blob:null,jW=(()=>{let e;return typeof navigator<"u"&&((e=navigator.product)==="ReactNative"||e==="NativeScript"||e==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),HW=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Is={isBrowser:!0,classes:{URLSearchParams:$W,FormData:NW,Blob:VW},isStandardBrowserEnv:jW,isStandardBrowserWebWorkerEnv:HW,protocols:["http","https","file","blob","url","data"]};function UW(e,t){return h1(e,new Is.classes.URLSearchParams,Object.assign({visitor:function(r,n,i,a){return Is.isNode&&nt.isBuffer(r)?(this.append(n,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function GW(e){return nt.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function qW(e){const t={},r=Object.keys(e);let n;const i=r.length;let a;for(n=0;n=r.length;return s=!s&&nt.isArray(i)?i.length:s,h?(nt.hasOwnProp(i,s)?i[s]=[i[s],n]:i[s]=n,!o):((!i[s]||!nt.isObject(i[s]))&&(i[s]=[]),t(r,n,i[s],a)&&nt.isArray(i[s])&&(i[s]=qW(i[s])),!o)}if(nt.isFormData(e)&&nt.isFunction(e.entries)){const r={};return nt.forEachEntry(e,(n,i)=>{t(GW(n),i,r,0)}),r}return null}function WW(e,t,r){if(nt.isString(e))try{return(t||JSON.parse)(e),nt.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}const GT={transitional:E4,adapter:["xhr","http"],transformRequest:[function(t,r){const n=r.getContentType()||"",i=n.indexOf("application/json")>-1,a=nt.isObject(t);if(a&&nt.isHTMLForm(t)&&(t=new FormData(t)),nt.isFormData(t))return i&&i?JSON.stringify(A4(t)):t;if(nt.isArrayBuffer(t)||nt.isBuffer(t)||nt.isStream(t)||nt.isFile(t)||nt.isBlob(t))return t;if(nt.isArrayBufferView(t))return t.buffer;if(nt.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let o;if(a){if(n.indexOf("application/x-www-form-urlencoded")>-1)return UW(t,this.formSerializer).toString();if((o=nt.isFileList(t))||n.indexOf("multipart/form-data")>-1){const h=this.env&&this.env.FormData;return h1(o?{"files[]":t}:t,h&&new h,this.formSerializer)}}return a||i?(r.setContentType("application/json",!1),WW(t)):t}],transformResponse:[function(t){const r=this.transitional||GT.transitional,n=r&&r.forcedJSONParsing,i=this.responseType==="json";if(t&&nt.isString(t)&&(n&&!this.responseType||i)){const s=!(r&&r.silentJSONParsing)&&i;try{return JSON.parse(t)}catch(o){if(s)throw o.name==="SyntaxError"?Or.from(o,Or.ERR_BAD_RESPONSE,this,null,this.response):o}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Is.classes.FormData,Blob:Is.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};nt.forEach(["delete","get","head","post","put","patch"],e=>{GT.headers[e]={}});const qT=GT,ZW=nt.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),XW=e=>{const t={};let r,n,i;return e&&e.split(` +`).forEach(function(s){i=s.indexOf(":"),r=s.substring(0,i).trim().toLowerCase(),n=s.substring(i+1).trim(),!(!r||t[r]&&ZW[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t},QP=Symbol("internals");function zp(e){return e&&String(e).trim().toLowerCase()}function S_(e){return e===!1||e==null?e:nt.isArray(e)?e.map(S_):String(e)}function YW(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}const KW=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function _x(e,t,r,n,i){if(nt.isFunction(n))return n.call(this,t,r);if(i&&(t=r),!!nt.isString(t)){if(nt.isString(n))return t.indexOf(n)!==-1;if(nt.isRegExp(n))return n.test(t)}}function JW(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function QW(e,t){const r=nt.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(i,a,s){return this[n].call(this,t,i,a,s)},configurable:!0})})}class f1{constructor(t){t&&this.set(t)}set(t,r,n){const i=this;function a(o,h,d){const m=zp(h);if(!m)throw new Error("header name must be a non-empty string");const g=nt.findKey(i,m);(!g||i[g]===void 0||d===!0||d===void 0&&i[g]!==!1)&&(i[g||h]=S_(o))}const s=(o,h)=>nt.forEach(o,(d,m)=>a(d,m,h));return nt.isPlainObject(t)||t instanceof this.constructor?s(t,r):nt.isString(t)&&(t=t.trim())&&!KW(t)?s(XW(t),r):t!=null&&a(r,t,n),this}get(t,r){if(t=zp(t),t){const n=nt.findKey(this,t);if(n){const i=this[n];if(!r)return i;if(r===!0)return YW(i);if(nt.isFunction(r))return r.call(this,i,n);if(nt.isRegExp(r))return r.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=zp(t),t){const n=nt.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||_x(this,this[n],n,r)))}return!1}delete(t,r){const n=this;let i=!1;function a(s){if(s=zp(s),s){const o=nt.findKey(n,s);o&&(!r||_x(n,n[o],o,r))&&(delete n[o],i=!0)}}return nt.isArray(t)?t.forEach(a):a(t),i}clear(t){const r=Object.keys(this);let n=r.length,i=!1;for(;n--;){const a=r[n];(!t||_x(this,this[a],a,t,!0))&&(delete this[a],i=!0)}return i}normalize(t){const r=this,n={};return nt.forEach(this,(i,a)=>{const s=nt.findKey(n,a);if(s){r[s]=S_(i),delete r[a];return}const o=t?JW(a):String(a).trim();o!==a&&delete r[a],r[o]=S_(i),n[o]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const r=Object.create(null);return nt.forEach(this,(n,i)=>{n!=null&&n!==!1&&(r[i]=t&&nt.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){const n=new this(t);return r.forEach(i=>n.set(i)),n}static accessor(t){const n=(this[QP]=this[QP]={accessors:{}}).accessors,i=this.prototype;function a(s){const o=zp(s);n[o]||(QW(i,s),n[o]=!0)}return nt.isArray(t)?t.forEach(a):a(t),this}}f1.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);nt.reduceDescriptors(f1.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}});nt.freezeMethods(f1);const Sl=f1;function bx(e,t){const r=this||qT,n=t||r,i=Sl.from(n.headers);let a=n.data;return nt.forEach(e,function(o){a=o.call(r,a,i.normalize(),t?t.status:void 0)}),i.normalize(),a}function M4(e){return!!(e&&e.__CANCEL__)}function Hv(e,t,r){Or.call(this,e??"canceled",Or.ERR_CANCELED,t,r),this.name="CanceledError"}nt.inherits(Hv,Or,{__CANCEL__:!0});function eZ(e,t,r){const n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new Or("Request failed with status code "+r.status,[Or.ERR_BAD_REQUEST,Or.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}const tZ=Is.isStandardBrowserEnv?function(){return{write:function(r,n,i,a,s,o){const h=[];h.push(r+"="+encodeURIComponent(n)),nt.isNumber(i)&&h.push("expires="+new Date(i).toGMTString()),nt.isString(a)&&h.push("path="+a),nt.isString(s)&&h.push("domain="+s),o===!0&&h.push("secure"),document.cookie=h.join("; ")},read:function(r){const n=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(r){this.write(r,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function rZ(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function nZ(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function P4(e,t){return e&&!rZ(t)?nZ(e,t):t}const iZ=Is.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");let n;function i(a){let s=a;return t&&(r.setAttribute("href",s),s=r.href),r.setAttribute("href",s),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=i(window.location.href),function(s){const o=nt.isString(s)?i(s):s;return o.protocol===n.protocol&&o.host===n.host}}():function(){return function(){return!0}}();function aZ(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function oZ(e,t){e=e||10;const r=new Array(e),n=new Array(e);let i=0,a=0,s;return t=t!==void 0?t:1e3,function(h){const d=Date.now(),m=n[a];s||(s=d),r[i]=h,n[i]=d;let g=a,y=0;for(;g!==i;)y+=r[g++],g=g%e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),d-s{const a=i.loaded,s=i.lengthComputable?i.total:void 0,o=a-r,h=n(o),d=a<=s;r=a;const m={loaded:a,total:s,progress:s?a/s:void 0,bytes:o,rate:h||void 0,estimated:h&&s&&d?(s-a)/h:void 0,event:i};m[t?"download":"upload"]=!0,e(m)}}const sZ=typeof XMLHttpRequest<"u",lZ=sZ&&function(e){return new Promise(function(r,n){let i=e.data;const a=Sl.from(e.headers).normalize(),s=e.responseType;let o;function h(){e.cancelToken&&e.cancelToken.unsubscribe(o),e.signal&&e.signal.removeEventListener("abort",o)}let d;nt.isFormData(i)&&(Is.isStandardBrowserEnv||Is.isStandardBrowserWebWorkerEnv?a.setContentType(!1):a.getContentType(/^\s*multipart\/form-data/)?nt.isString(d=a.getContentType())&&a.setContentType(d.replace(/^\s*(multipart\/form-data);+/,"$1")):a.setContentType("multipart/form-data"));let m=new XMLHttpRequest;if(e.auth){const E=e.auth.username||"",M=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";a.set("Authorization","Basic "+btoa(E+":"+M))}const g=P4(e.baseURL,e.url);m.open(e.method.toUpperCase(),C4(g,e.params,e.paramsSerializer),!0),m.timeout=e.timeout;function y(){if(!m)return;const E=Sl.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),P={data:!s||s==="text"||s==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:E,config:e,request:m};eZ(function(k){r(k),h()},function(k){n(k),h()},P),m=null}if("onloadend"in m?m.onloadend=y:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(y)},m.onabort=function(){m&&(n(new Or("Request aborted",Or.ECONNABORTED,e,m)),m=null)},m.onerror=function(){n(new Or("Network Error",Or.ERR_NETWORK,e,m)),m=null},m.ontimeout=function(){let M=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const P=e.transitional||E4;e.timeoutErrorMessage&&(M=e.timeoutErrorMessage),n(new Or(M,P.clarifyTimeoutError?Or.ETIMEDOUT:Or.ECONNABORTED,e,m)),m=null},Is.isStandardBrowserEnv){const E=iZ(g)&&e.xsrfCookieName&&tZ.read(e.xsrfCookieName);E&&a.set(e.xsrfHeaderName,E)}i===void 0&&a.setContentType(null),"setRequestHeader"in m&&nt.forEach(a.toJSON(),function(M,P){m.setRequestHeader(P,M)}),nt.isUndefined(e.withCredentials)||(m.withCredentials=!!e.withCredentials),s&&s!=="json"&&(m.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&m.addEventListener("progress",eI(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&m.upload&&m.upload.addEventListener("progress",eI(e.onUploadProgress)),(e.cancelToken||e.signal)&&(o=E=>{m&&(n(!E||E.type?new Hv(null,e,m):E),m.abort(),m=null)},e.cancelToken&&e.cancelToken.subscribe(o),e.signal&&(e.signal.aborted?o():e.signal.addEventListener("abort",o)));const x=aZ(g);if(x&&Is.protocols.indexOf(x)===-1){n(new Or("Unsupported protocol "+x+":",Or.ERR_BAD_REQUEST,e));return}m.send(i||null)})},E2={http:RW,xhr:lZ};nt.forEach(E2,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const tI=e=>`- ${e}`,uZ=e=>nt.isFunction(e)||e===null||e===!1,I4={getAdapter:e=>{e=nt.isArray(e)?e:[e];const{length:t}=e;let r,n;const i={};for(let a=0;a`adapter ${o} `+(h===!1?"is not supported by the environment":"is not available in the build"));let s=t?a.length>1?`since : +`+a.map(tI).join(` +`):" "+tI(a[0]):"as no adapter specified";throw new Or("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return n},adapters:E2};function xx(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Hv(null,e)}function rI(e){return xx(e),e.headers=Sl.from(e.headers),e.data=bx.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),I4.getAdapter(e.adapter||qT.adapter)(e).then(function(n){return xx(e),n.data=bx.call(e,e.transformResponse,n),n.headers=Sl.from(n.headers),n},function(n){return M4(n)||(xx(e),n&&n.response&&(n.response.data=bx.call(e,e.transformResponse,n.response),n.response.headers=Sl.from(n.response.headers))),Promise.reject(n)})}const nI=e=>e instanceof Sl?e.toJSON():e;function Yf(e,t){t=t||{};const r={};function n(d,m,g){return nt.isPlainObject(d)&&nt.isPlainObject(m)?nt.merge.call({caseless:g},d,m):nt.isPlainObject(m)?nt.merge({},m):nt.isArray(m)?m.slice():m}function i(d,m,g){if(nt.isUndefined(m)){if(!nt.isUndefined(d))return n(void 0,d,g)}else return n(d,m,g)}function a(d,m){if(!nt.isUndefined(m))return n(void 0,m)}function s(d,m){if(nt.isUndefined(m)){if(!nt.isUndefined(d))return n(void 0,d)}else return n(void 0,m)}function o(d,m,g){if(g in t)return n(d,m);if(g in e)return n(void 0,d)}const h={url:a,method:a,data:a,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:o,headers:(d,m)=>i(nI(d),nI(m),!0)};return nt.forEach(Object.keys(Object.assign({},e,t)),function(m){const g=h[m]||i,y=g(e[m],t[m],m);nt.isUndefined(y)&&g!==o||(r[m]=y)}),r}const D4="1.6.0",WT={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{WT[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const iI={};WT.transitional=function(t,r,n){function i(a,s){return"[Axios v"+D4+"] Transitional option '"+a+"'"+s+(n?". "+n:"")}return(a,s,o)=>{if(t===!1)throw new Or(i(s," has been removed"+(r?" in "+r:"")),Or.ERR_DEPRECATED);return r&&!iI[s]&&(iI[s]=!0,console.warn(i(s," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(a,s,o):!0}};function cZ(e,t,r){if(typeof e!="object")throw new Or("options must be an object",Or.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let i=n.length;for(;i-- >0;){const a=n[i],s=t[a];if(s){const o=e[a],h=o===void 0||s(o,a,e);if(h!==!0)throw new Or("option "+a+" must be "+h,Or.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new Or("Unknown option "+a,Or.ERR_BAD_OPTION)}}const A2={assertOptions:cZ,validators:WT},ou=A2.validators;class l0{constructor(t){this.defaults=t,this.interceptors={request:new JP,response:new JP}}request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=Yf(this.defaults,r);const{transitional:n,paramsSerializer:i,headers:a}=r;n!==void 0&&A2.assertOptions(n,{silentJSONParsing:ou.transitional(ou.boolean),forcedJSONParsing:ou.transitional(ou.boolean),clarifyTimeoutError:ou.transitional(ou.boolean)},!1),i!=null&&(nt.isFunction(i)?r.paramsSerializer={serialize:i}:A2.assertOptions(i,{encode:ou.function,serialize:ou.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let s=a&&nt.merge(a.common,a[r.method]);a&&nt.forEach(["delete","get","head","post","put","patch","common"],E=>{delete a[E]}),r.headers=Sl.concat(s,a);const o=[];let h=!0;this.interceptors.request.forEach(function(M){typeof M.runWhen=="function"&&M.runWhen(r)===!1||(h=h&&M.synchronous,o.unshift(M.fulfilled,M.rejected))});const d=[];this.interceptors.response.forEach(function(M){d.push(M.fulfilled,M.rejected)});let m,g=0,y;if(!h){const E=[rI.bind(this),void 0];for(E.unshift.apply(E,o),E.push.apply(E,d),y=E.length,m=Promise.resolve(r);g{if(!n._listeners)return;let a=n._listeners.length;for(;a-- >0;)n._listeners[a](i);n._listeners=null}),this.promise.then=i=>{let a;const s=new Promise(o=>{n.subscribe(o),a=o}).then(i);return s.cancel=function(){n.unsubscribe(a)},s},t(function(a,s,o){n.reason||(n.reason=new Hv(a,s,o),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}static source(){let t;return{token:new ZT(function(i){t=i}),cancel:t}}}const hZ=ZT;function fZ(e){return function(r){return e.apply(null,r)}}function dZ(e){return nt.isObject(e)&&e.isAxiosError===!0}const M2={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(M2).forEach(([e,t])=>{M2[t]=e});const pZ=M2;function L4(e){const t=new T_(e),r=d4(T_.prototype.request,t);return nt.extend(r,T_.prototype,t,{allOwnKeys:!0}),nt.extend(r,t,null,{allOwnKeys:!0}),r.create=function(i){return L4(Yf(e,i))},r}const ii=L4(qT);ii.Axios=T_;ii.CanceledError=Hv;ii.CancelToken=hZ;ii.isCancel=M4;ii.VERSION=D4;ii.toFormData=h1;ii.AxiosError=Or;ii.Cancel=ii.CanceledError;ii.all=function(t){return Promise.all(t)};ii.spread=fZ;ii.isAxiosError=dZ;ii.mergeConfig=Yf;ii.AxiosHeaders=Sl;ii.formToJSON=e=>A4(nt.isHTMLForm(e)?new FormData(e):e);ii.getAdapter=I4.getAdapter;ii.HttpStatusCode=pZ;ii.default=ii;const Ka=ii;function aI(e){let t=Math.abs(e),r=Math.floor(t/3600);t-=r*3600;let n=Math.floor(t/60);return t-=n*60,[r,n,t]}function oI(e){return e<10?"0"+e:e}const mZ={props:{secondFromDispatch:{type:Number},stationEstimate:{type:String},startSecond:{type:Number}},computed:{timeToShow:function(){let e=aI(this.secondFromDispatch),t=e[2]>=30;return e[1]>0?[e[0]>0?e[0]+"时":"",e[1],"分",t?"半":""].join(""):t?"半分钟":"不到半分"},startTime:function(){let e=aI(this.startSecond);return["",oI(e[0]),":",oI(e[1])].join("")},isWaiting:function(){return this.secondFromDispatch<=0}}},vZ={key:0};function gZ(e,t,r,n,i,a){return r.secondFromDispatch?(ft(),zt("tr",{key:0,class:Oi(a.isWaiting?"bus-waiting":"bus-running")},[Qt("td",null,zr(a.startTime),1),Qt("td",null,zr(a.isWaiting?"距出发":"已出发"),1),Qt("td",null,zr((a.isWaiting,""+a.timeToShow)),1),r.stationEstimate?(ft(),zt("td",vZ,zr(r.stationEstimate),1)):ln("",!0)],2)):ln("",!0)}const yZ=Vr(mZ,[["render",gZ],["__scopeId","data-v-259a8620"],["__file","BusItem.vue"]]);function k4(e,t,r){return e*3600+t*60+r}function _Z(e){let t=[];for(let r of e){let n=r.split(":"),i=k4(Number(n[0].trim()),Number(n[1].trim()),0);t.push(i)}return t.sort((r,n)=>r-n)}const bZ={data(){return{secondFromZero:0,second:0,minute:0,hour:0,timeRangeAfterReach:3}},props:{times:{},stations:{},minuteOnRoad:{type:Number,default:20},timeRangeBeforeDispatch:{type:Number,default:60}},components:{BusItem:yZ},mounted(){setInterval(()=>{this.tick()},1e3)},methods:{tick:function(){var e=new Date;this.hour=e.getHours(),this.minute=e.getMinutes(),this.second=e.getSeconds(),this.secondFromZero=k4(this.hour,this.minute,this.second)},formatNumber:function(e){return e<10?"0"+e:e},stationEstimate:function(e){if(!this.stationNames)return"null";if(e<=0)return this.stationNames[0];let t=this.stationNames.length;if(e>=this.minuteOnRoad*60)return this.stationNames[t-1];let r=e/60/this.minuteOnRoad,n="";for(let i in this.stationPositions)if(r-this.timeRangeBeforeDispatch*60&&t.push([n,r]),n>0&&n<(this.minuteOnRoad+this.timeRangeAfterReach)*60&&e.push([n,r])}return e.concat(t)},stationNames:function(){let e=[];for(let t of this.stations)e.push(t[0]);return e},stationPositions:function(){let e=[];for(let t of this.stations)e.push(t[1]);return e}}},xZ=e=>(bT("data-v-dc817d2c"),e=e(),xT(),e),wZ={key:0,class:"bus-timer-tb"},SZ={colspan:"2"},TZ={colspan:"2",style:{"text-align":"right"}},CZ={key:0,colspan:"4"},EZ=xZ(()=>Qt("p",{class:"plus-note"},"* 站点估计仅供参考",-1));function AZ(e,t,r,n,i,a){const s=jn("bus-item");return ft(),zt("div",null,[a.busToShow?(ft(),zt("table",wZ,[Qt("thead",null,[Qt("tr",null,[Qt("th",SZ,zr(r.stations[0][0])+" > "+zr(r.stations[r.stations.length-1][0]),1),Qt("th",TZ,zr(a.formatNumber(i.hour))+":"+zr(a.formatNumber(i.minute))+":"+zr(a.formatNumber(i.second)),1)]),(ft(!0),zt(Mr,null,rs(a.busToShow,(o,h)=>(ft(),In(s,{secondFromDispatch:o[0],stationEstimate:a.stationEstimate(o[0]),startSecond:o[1],key:h},null,8,["secondFromDispatch","stationEstimate","startSecond"]))),128)),Qt("tr",null,[Object.keys(a.busToShow).length==0?(ft(),zt("td",CZ," 短时间内没有班次了 ")):ln("",!0)])])])):ln("",!0),EZ])}const MZ=Vr(bZ,[["render",AZ],["__scopeId","data-v-dc817d2c"],["__file","BusTimer.vue"]]);function rv(e){"@babel/helpers - typeof";return rv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},rv(e)}function PZ(e,t){if(rv(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(rv(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function IZ(e){var t=PZ(e,"string");return rv(t)==="symbol"?t:String(t)}function DZ(e,t,r){return t=IZ(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function dn(e){for(var t=1;ttypeof e=="string",RZ=e=>e!==null&&typeof e=="object";function Cf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;return typeof e=="function"?e(t):e??r}function OZ(e){let t;const r=new Promise(i=>{t=e(()=>{i(!0)})}),n=()=>{t==null||t()};return n.then=(i,a)=>r.then(i,a),n.promise=r,n}function pi(){const e=[];for(let t=0;te!=null&&e!=="",BZ=zZ,FZ=(e,t)=>{const r=Fe({},e);return Object.keys(t).forEach(n=>{const i=r[n];if(i)i.type||i.default?i.default=t[n]:i.def?i.def(t[n]):r[n]={type:i,default:t[n]};else throw new Error(`not have ${n} prop`)}),r},XT=FZ,$Z=Symbol("skipFlatten"),nv=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const r=Array.isArray(e)?e:[e],n=[];return r.forEach(i=>{Array.isArray(i)?n.push(...nv(i,t)):i&&i.type===Mr?i.key===$Z?n.push(i):n.push(...nv(i.children,t)):i&&Km(i)?t&&!R4(i)?n.push(i):t||n.push(i):BZ(i)&&n.push(i)}),n},P2=e=>{var t;let r=((t=e==null?void 0:e.vnode)===null||t===void 0?void 0:t.el)||e&&(e.$el||e);for(;r&&!r.tagName;)r=r.nextSibling;return r};function R4(e){return e&&(e.type===za||e.type===Mr&&e.children.length===0||e.type===Iu&&e.children.trim()==="")}function O4(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];const t=[];return e.forEach(r=>{Array.isArray(r)?t.push(...r):(r==null?void 0:r.type)===Mr?t.push(...O4(r.children)):t.push(r)}),t.filter(r=>!R4(r))}let z4=e=>setTimeout(e,16),B4=e=>clearTimeout(e);typeof window<"u"&&"requestAnimationFrame"in window&&(z4=e=>window.requestAnimationFrame(e),B4=e=>window.cancelAnimationFrame(e));let lI=0;const YT=new Map;function F4(e){YT.delete(e)}function I2(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;lI+=1;const r=lI;function n(i){if(i===0)F4(r),e();else{const a=z4(()=>{n(i-1)});YT.set(r,a)}}return n(t),r}I2.cancel=e=>{const t=YT.get(e);return F4(t),B4(t)};const u0=function(){for(var e=arguments.length,t=new Array(e),r=0;r{const t=e;return t.install=function(r){r.component(t.displayName||t.name,e)},e};function uI(){return{type:[Function,Array]}}function Ya(e){return{type:Object,default:e}}function Yc(e){return{type:Boolean,default:e}}function cI(e){return{type:Function,default:e}}function Xo(e,t){const r={validator:()=>!0,default:e};return r}function D2(e){return{type:Array,default:e}}function L2(e){return{type:String,default:e}}function $4(e,t){return e?{type:e,default:t}:Xo(t)}const KT="anticon",NZ=Symbol("GlobalFormContextKey"),VZ=e=>{zi(NZ,e)},jZ=()=>({iconPrefixCls:String,getTargetContainer:{type:Function},getPopupContainer:{type:Function},prefixCls:String,getPrefixCls:{type:Function},renderEmpty:{type:Function},transformCellText:{type:Function},csp:Ya(),input:Ya(),autoInsertSpaceInButton:{type:Boolean,default:void 0},locale:Ya(),pageHeader:Ya(),componentSize:{type:String},componentDisabled:{type:Boolean,default:void 0},direction:{type:String,default:"ltr"},space:Ya(),virtual:{type:Boolean,default:void 0},dropdownMatchSelectWidth:{type:[Number,Boolean],default:!0},form:Ya(),pagination:Ya(),theme:Ya(),select:Ya()}),JT=Symbol("configProvider"),N4={getPrefixCls:(e,t)=>t||(e?`ant-${e}`:"ant"),iconPrefixCls:ze(()=>KT),getPopupContainer:ze(()=>()=>document.body),direction:ze(()=>"ltr")},V4=()=>Fr(JT,N4),HZ=e=>zi(JT,e),j4=Symbol("DisabledContextKey"),QT=()=>Fr(j4,xr(void 0)),UZ=e=>{const t=QT();return zi(j4,ze(()=>{var r;return(r=e.value)!==null&&r!==void 0?r:t.value})),e},GZ={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages"},qZ={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"Ok",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"},WZ=qZ,ZZ={placeholder:"Select time",rangePlaceholder:["Start time","End time"]},H4=ZZ,XZ={lang:Fe({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},WZ),timePickerLocale:Fe({},H4)},hI=XZ,qa="${label} is not a valid ${type}",YZ={locale:"en",Pagination:GZ,DatePicker:hI,TimePicker:H4,Calendar:hI,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand"},PageHeader:{back:"Back"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:qa,method:qa,array:qa,object:qa,number:qa,date:qa,boolean:qa,integer:qa,float:qa,regexp:qa,email:qa,url:qa,hex:qa},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh"}},iv=YZ,U4=Ut({compatConfig:{MODE:3},name:"LocaleReceiver",props:{componentName:String,defaultLocale:{type:[Object,Function]},children:{type:Function}},setup(e,t){let{slots:r}=t;const n=Fr("localeData",{}),i=ze(()=>{const{componentName:s="global",defaultLocale:o}=e,h=o||iv[s||"global"],{antLocale:d}=n,m=s&&d?d[s]:{};return Fe(Fe({},typeof h=="function"?h():h),m||{})}),a=ze(()=>{const{antLocale:s}=n,o=s&&s.locale;return s&&s.exist&&!o?iv.locale:o});return()=>{const s=e.children||r.default,{antLocale:o}=n;return s==null?void 0:s(i.value,a.value,o)}}});function eC(e){for(var t=0,r,n=0,i=e.length;i>=4;++n,i-=4)r=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(n+2)&255)<<16;case 2:t^=(e.charCodeAt(n+1)&255)<<8;case 1:t^=e.charCodeAt(n)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}class KZ{constructor(){this.cache=new Map}get(t){return this.cache.get(Array.isArray(t)?t.join("%"):t)||null}update(t,r){const n=Array.isArray(t)?t.join("%"):t,i=this.cache.get(n),a=r(i);a===null?this.cache.delete(n):this.cache.set(n,a)}}const JZ=KZ,G4="data-token-hash",Of="data-css-hash",Cm="__cssinjs_instance__",c0=Math.random().toString(12).slice(2);function q4(){if(typeof document<"u"&&document.head&&document.body){const e=document.body.querySelectorAll(`style[${Of}]`)||[],{firstChild:t}=document.head;Array.from(e).forEach(n=>{n[Cm]=n[Cm]||c0,document.head.insertBefore(n,t)});const r={};Array.from(document.querySelectorAll(`style[${Of}]`)).forEach(n=>{var i;const a=n.getAttribute(Of);r[a]?n[Cm]===c0&&((i=n.parentNode)===null||i===void 0||i.removeChild(n)):r[a]=!0})}return new JZ}const W4=Symbol("StyleContextKey"),tC={cache:q4(),defaultCache:!0,hashPriority:"low"},rC=()=>Fr(W4,zn(Fe({},tC))),QZ=e=>{const t=rC(),r=zn(Fe({},tC));return Qr([()=>Xt(e),t],()=>{const n=Fe({},t.value),i=Xt(e);Object.keys(i).forEach(s=>{const o=i[s];i[s]!==void 0&&(n[s]=o)});const{cache:a}=i;n.cache=n.cache||q4(),n.defaultCache=!a&&t.value.defaultCache,r.value=n},{immediate:!0}),zi(W4,r),r},eX=()=>({autoClear:Yc(),mock:L2(),cache:Ya(),defaultCache:Yc(),hashPriority:L2(),container:$4(),ssrInline:Yc(),transformers:D2(),linters:D2()});d1(Ut({name:"AStyleProvider",inheritAttrs:!1,props:XT(eX(),tC),setup(e,t){let{slots:r}=t;return QZ(e),()=>{var n;return(n=r.default)===null||n===void 0?void 0:n.call(r)}}}));function Z4(e,t,r,n){const i=rC(),a=zn(""),s=zn();ts(()=>{a.value=[e,...t.value].join("%")});const o=h=>{i.value.cache.update(h,d=>{const[m=0,g]=d||[];return m-1===0?(n==null||n(g,!1),null):[m-1,g]})};return Qr(a,(h,d)=>{d&&o(d),i.value.cache.update(h,m=>{const[g=0,y]=m||[],E=y||r();return[g+1,E]}),s.value=i.value.cache.get(a.value)[1]},{immediate:!0}),Il(()=>{o(a.value)}),s}function p1(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function tX(e,t){return e&&e.contains?e.contains(t):!1}const fI="data-vc-order",rX="vc-util-key",k2=new Map;function X4(){let{mark:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e?e.startsWith("data-")?e:`data-${e}`:rX}function m1(e){return e.attachTo?e.attachTo:document.querySelector("head")||document.body}function nX(e){return e==="queue"?"prependQueue":e?"prepend":"append"}function Y4(e){return Array.from((k2.get(e)||e).children).filter(t=>t.tagName==="STYLE")}function K4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!p1())return null;const{csp:r,prepend:n}=t,i=document.createElement("style");i.setAttribute(fI,nX(n)),r!=null&&r.nonce&&(i.nonce=r==null?void 0:r.nonce),i.innerHTML=e;const a=m1(t),{firstChild:s}=a;if(n){if(n==="queue"){const o=Y4(a).filter(h=>["prepend","prependQueue"].includes(h.getAttribute(fI)));if(o.length)return a.insertBefore(i,o[o.length-1].nextSibling),i}a.insertBefore(i,s)}else a.appendChild(i);return i}function J4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=m1(t);return Y4(r).find(n=>n.getAttribute(X4(t))===e)}function Q4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=J4(e,t);r&&m1(t).removeChild(r)}function iX(e,t){const r=k2.get(e);if(!r||!tX(document,r)){const n=K4("",t),{parentNode:i}=n;k2.set(e,i),e.removeChild(n)}}function h0(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var n,i,a;const s=m1(r);iX(s,r);const o=J4(t,r);if(o)return!((n=r.csp)===null||n===void 0)&&n.nonce&&o.nonce!==((i=r.csp)===null||i===void 0?void 0:i.nonce)&&(o.nonce=(a=r.csp)===null||a===void 0?void 0:a.nonce),o.innerHTML!==e&&(o.innerHTML=e),o;const h=K4(e,r);return h.setAttribute(X4(r),t),h}function f0(e){let t="";return Object.keys(e).forEach(r=>{const n=e[r];t+=r,n&&typeof n=="object"?t+=f0(n):t+=n}),t}function aX(e,t){return eC(`${t}_${f0(e)}`)}const Em=`layer-${Date.now()}-${Math.random()}`.replace(/\./g,""),eO="903px";function oX(e,t){var r;if(p1()){h0(e,Em);const n=document.createElement("div");n.style.position="fixed",n.style.left="0",n.style.top="0",t==null||t(n),document.body.appendChild(n);const i=getComputedStyle(n).width===eO;return(r=n.parentNode)===null||r===void 0||r.removeChild(n),Q4(Em),i}return!1}let Sx;function sX(){return Sx===void 0&&(Sx=oX(`@layer ${Em} { .${Em} { width: ${eO}!important; } }`,e=>{e.className=Em})),Sx}const dI={},lX="css",$c=new Map;function uX(e){$c.set(e,($c.get(e)||0)+1)}function cX(e){typeof document<"u"&&document.querySelectorAll(`style[${G4}="${e}"]`).forEach(r=>{var n;r[Cm]===c0&&((n=r.parentNode)===null||n===void 0||n.removeChild(r))})}function hX(e){$c.set(e,($c.get(e)||0)-1);const t=Array.from($c.keys()),r=t.filter(n=>($c.get(n)||0)<=0);r.length{cX(n),$c.delete(n)})}function fX(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:xr({});const n=ze(()=>Fe({},...t.value)),i=ze(()=>f0(n.value)),a=ze(()=>f0(r.value.override||dI));return Z4("token",ze(()=>[r.value.salt||"",e.value.id,i.value,a.value]),()=>{const{salt:o="",override:h=dI,formatToken:d}=r.value,m=e.value.getDerivativeToken(n.value);let g=Fe(Fe({},m),h);d&&(g=d(g));const y=aX(g,o);g._tokenKey=y,uX(y);const x=`${lX}-${eC(y)}`;return g._hashId=x,[g,x]},o=>{hX(o[0]._tokenKey)})}var dX={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},tO="comm",rO="rule",nO="decl",pX="@import",mX="@keyframes",vX="@layer",gX=Math.abs,nC=String.fromCharCode;function iO(e){return e.trim()}function C_(e,t,r){return e.replace(t,r)}function yX(e,t){return e.indexOf(t)}function av(e,t){return e.charCodeAt(t)|0}function ov(e,t,r){return e.slice(t,r)}function vl(e){return e.length}function _X(e){return e.length}function Ty(e,t){return t.push(e),e}var v1=1,Kf=1,aO=0,Po=0,ri=0,md="";function iC(e,t,r,n,i,a,s,o){return{value:e,root:t,parent:r,type:n,props:i,children:a,line:v1,column:Kf,length:s,return:"",siblings:o}}function bX(){return ri}function xX(){return ri=Po>0?av(md,--Po):0,Kf--,ri===10&&(Kf=1,v1--),ri}function es(){return ri=Po2||R2(ri)>3?"":" "}function CX(e,t){for(;--t&&es()&&!(ri<48||ri>102||ri>57&&ri<65||ri>70&&ri<97););return g1(e,E_()+(t<6&&Kc()==32&&es()==32))}function O2(e){for(;es();)switch(ri){case e:return Po;case 34:case 39:e!==34&&e!==39&&O2(ri);break;case 40:e===41&&O2(e);break;case 92:es();break}return Po}function EX(e,t){for(;es()&&e+ri!==57;)if(e+ri===84&&Kc()===47)break;return"/*"+g1(t,Po-1)+"*"+nC(e===47?e:es())}function AX(e){for(;!R2(Kc());)es();return g1(e,Po)}function MX(e){return SX(A_("",null,null,null,[""],e=wX(e),0,[0],e))}function A_(e,t,r,n,i,a,s,o,h){for(var d=0,m=0,g=s,y=0,x=0,E=0,M=1,P=1,D=1,k=0,O="",F=i,q=a,H=n,W=O;P;)switch(E=k,k=es()){case 40:if(E!=108&&av(W,g-1)==58){yX(W+=C_(Tx(k),"&","&\f"),"&\f")!=-1&&(D=-1);break}case 34:case 39:case 91:W+=Tx(k);break;case 9:case 10:case 13:case 32:W+=TX(E);break;case 92:W+=CX(E_()-1,7);continue;case 47:switch(Kc()){case 42:case 47:Ty(PX(EX(es(),E_()),t,r,h),h);break;default:W+="/"}break;case 123*M:o[d++]=vl(W)*D;case 125*M:case 59:case 0:switch(k){case 0:case 125:P=0;case 59+m:D==-1&&(W=C_(W,/\f/g,"")),x>0&&vl(W)-g&&Ty(x>32?mI(W+";",n,r,g-1,h):mI(C_(W," ","")+";",n,r,g-2,h),h);break;case 59:W+=";";default:if(Ty(H=pI(W,t,r,d,m,i,o,O,F=[],q=[],g,a),a),k===123)if(m===0)A_(W,t,H,H,F,a,g,o,q);else switch(y===99&&av(W,3)===110?100:y){case 100:case 108:case 109:case 115:A_(e,H,H,n&&Ty(pI(e,H,H,0,0,i,o,O,i,F=[],g,q),q),i,q,g,o,n?F:q);break;default:A_(W,H,H,H,[""],q,0,o,q)}}d=m=x=0,M=D=1,O=W="",g=s;break;case 58:g=1+vl(W),x=E;default:if(M<1){if(k==123)--M;else if(k==125&&M++==0&&xX()==125)continue}switch(W+=nC(k),k*M){case 38:D=m>0?1:(W+="\f",-1);break;case 44:o[d++]=(vl(W)-1)*D,D=1;break;case 64:Kc()===45&&(W+=Tx(es())),y=Kc(),m=g=vl(O=W+=AX(E_())),k++;break;case 45:E===45&&vl(W)==2&&(M=0)}}return a}function pI(e,t,r,n,i,a,s,o,h,d,m,g){for(var y=i-1,x=i===0?a:[""],E=_X(x),M=0,P=0,D=0;M0?x[k]+" "+O:C_(O,/&\f/g,x[k])))&&(h[D++]=F);return iC(e,t,r,i===0?rO:o,h,d,m,g)}function PX(e,t,r,n){return iC(e,t,r,tO,nC(bX()),ov(e,2,-2),0,n)}function mI(e,t,r,n,i){return iC(e,t,r,nO,ov(e,0,n),ov(e,n+1,-1),n,i)}function z2(e,t){for(var r="",n=0;n{var o;const h=s.trim().split(/\s+/);let d=h[0]||"";const m=((o=d.match(/^\w+/))===null||o===void 0?void 0:o[0])||"";return d=`${m}${i}${d.slice(m.length)}`,[d,...h.slice(1)].join(" ")}).join(",")}const _I=new Set,B2=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{root:r,injectHash:n,parentSelectors:i}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{root:!0,parentSelectors:[]};const{hashId:a,layer:s,path:o,hashPriority:h,transformers:d=[],linters:m=[]}=t;let g="",y={};function x(P){const D=P.getName(a);if(!y[D]){const[k]=B2(P.style,t,{root:!1,parentSelectors:i});y[D]=`@keyframes ${P.getName(a)}${k}`}}function E(P){let D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return P.forEach(k=>{Array.isArray(k)?E(k,D):k&&D.push(k)}),D}if(E(Array.isArray(e)?e:[e]).forEach(P=>{const D=typeof P=="string"&&!r?{}:P;if(typeof D=="string")g+=`${D} +`;else if(D._keyframe)x(D);else{const k=d.reduce((O,F)=>{var q;return((q=F==null?void 0:F.visit)===null||q===void 0?void 0:q.call(F,O))||O},D);Object.keys(k).forEach(O=>{var F;const q=k[O];if(typeof q=="object"&&q&&(O!=="animationName"||!q._keyframe)&&!OX(q)){let H=!1,W=O.trim(),Z=!1;(r||n)&&a?W.startsWith("@")?H=!0:W=zX(O,a,h):r&&!a&&(W==="&"||W==="")&&(W="",Z=!0);const[ee,re]=B2(q,t,{root:Z,injectHash:H,parentSelectors:[...i,W]});y=Fe(Fe({},y),re),g+=`${W}${ee}`}else{let H=function(Z,ee){const re=Z.replace(/[A-Z]/g,le=>`-${le.toLowerCase()}`);let ce=ee;!dX[Z]&&typeof ce=="number"&&ce!==0&&(ce=`${ce}px`),Z==="animationName"&&(ee!=null&&ee._keyframe)&&(x(ee),ce=ee.getName(a)),g+=`${re}:${ce};`};const W=(F=q==null?void 0:q.value)!==null&&F!==void 0?F:q;typeof q=="object"&&(q!=null&&q[oO])&&Array.isArray(W)?W.forEach(Z=>{H(O,Z)}):H(O,W)}})}}),!r)g=`{${g}}`;else if(s&&sX()){const P=s.split(",");g=`@layer ${P[P.length-1].trim()} {${g}}`,P.length>1&&(g=`@layer ${s}{%%%:%}${g}`)}return[g,y]};function BX(e,t){return eC(`${e.join("%")}${t}`)}function F2(e,t){const r=rC(),n=ze(()=>e.value.token._tokenKey),i=ze(()=>[n.value,...e.value.path]);let a=gI;return Z4("style",i,()=>{const s=t(),{hashPriority:o,container:h,transformers:d,linters:m}=r.value,{path:g,hashId:y,layer:x}=e.value,[E,M]=B2(s,{hashId:y,hashPriority:o,layer:x,path:g.join("-"),transformers:d,linters:m}),P=yI(E),D=BX(i.value,P);if(a){const k=h0(P,D,{mark:Of,prepend:"queue",attachTo:h});k[Cm]=c0,k.setAttribute(G4,n.value),Object.keys(M).forEach(O=>{_I.has(O)||(_I.add(O),h0(yI(M[O]),`_effect-${O}`,{mark:Of,prepend:"queue",attachTo:h}))})}return[P,n.value,D]},(s,o)=>{let[,,h]=s;(o||r.value.autoClear)&&gI&&Q4(h,{mark:Of})}),s=>s}class FX{constructor(t,r){this._keyframe=!0,this.name=t,this.style=r}getName(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return t?`${t}-${this.name}`:this.name}}const Jc=FX;function $X(e,t){if(e.length!==t.length)return!1;for(let r=0;r1&&arguments[1]!==void 0?arguments[1]:!1,n={map:this.cache};return t.forEach(i=>{var a;n?n=(a=n==null?void 0:n.map)===null||a===void 0?void 0:a.get(i):n=void 0}),n!=null&&n.value&&r&&(n.value[1]=this.cacheCallTimes++),n==null?void 0:n.value}get(t){var r;return(r=this.internalGet(t,!0))===null||r===void 0?void 0:r[0]}has(t){return!!this.internalGet(t)}set(t,r){if(!this.has(t)){if(this.size()+1>Jf.MAX_CACHE_SIZE+Jf.MAX_CACHE_OFFSET){const[i]=this.keys.reduce((a,s)=>{const[,o]=a;return this.internalGet(s)[1]{if(a===t.length-1)n.set(i,{value:[r,this.cacheCallTimes++]});else{const s=n.get(i);s?s.map||(s.map=new Map):n.set(i,{map:new Map}),n=n.get(i).map}})}deleteByPath(t,r){var n;const i=t.get(r[0]);if(r.length===1)return i.map?t.set(r[0],{map:i.map}):t.delete(r[0]),(n=i.value)===null||n===void 0?void 0:n[0];const a=this.deleteByPath(i.map,r.slice(1));return(!i.map||i.map.size===0)&&!i.value&&t.delete(r[0]),a}delete(t){if(this.has(t))return this.keys=this.keys.filter(r=>!$X(r,t)),this.deleteByPath(this.cache,t)}}Jf.MAX_CACHE_SIZE=20;Jf.MAX_CACHE_OFFSET=5;function NX(){}let VX=NX;const aC=VX;let bI=0;class jX{constructor(t){this.derivatives=Array.isArray(t)?t:[t],this.id=bI,t.length===0&&aC(t.length>0),bI+=1}getDerivativeToken(t){return this.derivatives.reduce((r,n)=>n(t,r),void 0)}}const Cx=new Jf;function sO(e){const t=Array.isArray(e)?e:[e];return Cx.has(t)||Cx.set(t,new jX(t)),Cx.get(t)}const HX="4.0.2";function Bi(e,t){UX(e)&&(e="100%");var r=GX(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),r&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function Cy(e){return Math.min(1,Math.max(0,e))}function UX(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function GX(e){return typeof e=="string"&&e.indexOf("%")!==-1}function lO(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Ey(e){return e<=1?"".concat(Number(e)*100,"%"):e}function Gc(e){return e.length===1?"0"+e:String(e)}function qX(e,t,r){return{r:Bi(e,255)*255,g:Bi(t,255)*255,b:Bi(r,255)*255}}function xI(e,t,r){e=Bi(e,255),t=Bi(t,255),r=Bi(r,255);var n=Math.max(e,t,r),i=Math.min(e,t,r),a=0,s=0,o=(n+i)/2;if(n===i)s=0,a=0;else{var h=n-i;switch(s=o>.5?h/(2-n-i):h/(n+i),n){case e:a=(t-r)/h+(t1&&(r-=1),r<1/6?e+(t-e)*(6*r):r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function WX(e,t,r){var n,i,a;if(e=Bi(e,360),t=Bi(t,100),r=Bi(r,100),t===0)i=r,a=r,n=r;else{var s=r<.5?r*(1+t):r+t-r*t,o=2*r-s;n=Ex(o,s,e+1/3),i=Ex(o,s,e),a=Ex(o,s,e-1/3)}return{r:n*255,g:i*255,b:a*255}}function $2(e,t,r){e=Bi(e,255),t=Bi(t,255),r=Bi(r,255);var n=Math.max(e,t,r),i=Math.min(e,t,r),a=0,s=n,o=n-i,h=n===0?0:o/n;if(n===i)a=0;else{switch(n){case e:a=(t-r)/o+(t>16,g:(e&65280)>>8,b:e&255}}var V2={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function bf(e){var t={r:0,g:0,b:0},r=1,n=null,i=null,a=null,s=!1,o=!1;return typeof e=="string"&&(e=eY(e)),typeof e=="object"&&(il(e.r)&&il(e.g)&&il(e.b)?(t=qX(e.r,e.g,e.b),s=!0,o=String(e.r).substr(-1)==="%"?"prgb":"rgb"):il(e.h)&&il(e.s)&&il(e.v)?(n=Ey(e.s),i=Ey(e.v),t=ZX(e.h,n,i),s=!0,o="hsv"):il(e.h)&&il(e.s)&&il(e.l)&&(n=Ey(e.s),a=Ey(e.l),t=WX(e.h,n,a),s=!0,o="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(r=e.a)),r=lO(r),{ok:s,format:e.format||o,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:r}}var JX="[-\\+]?\\d+%?",QX="[-\\+]?\\d*\\.\\d+%?",bu="(?:".concat(QX,")|(?:").concat(JX,")"),Ax="[\\s|\\(]+(".concat(bu,")[,|\\s]+(").concat(bu,")[,|\\s]+(").concat(bu,")\\s*\\)?"),Mx="[\\s|\\(]+(".concat(bu,")[,|\\s]+(").concat(bu,")[,|\\s]+(").concat(bu,")[,|\\s]+(").concat(bu,")\\s*\\)?"),Go={CSS_UNIT:new RegExp(bu),rgb:new RegExp("rgb"+Ax),rgba:new RegExp("rgba"+Mx),hsl:new RegExp("hsl"+Ax),hsla:new RegExp("hsla"+Mx),hsv:new RegExp("hsv"+Ax),hsva:new RegExp("hsva"+Mx),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function eY(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(V2[e])e=V2[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r=Go.rgb.exec(e);return r?{r:r[1],g:r[2],b:r[3]}:(r=Go.rgba.exec(e),r?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=Go.hsl.exec(e),r?{h:r[1],s:r[2],l:r[3]}:(r=Go.hsla.exec(e),r?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=Go.hsv.exec(e),r?{h:r[1],s:r[2],v:r[3]}:(r=Go.hsva.exec(e),r?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=Go.hex8.exec(e),r?{r:Wa(r[1]),g:Wa(r[2]),b:Wa(r[3]),a:wI(r[4]),format:t?"name":"hex8"}:(r=Go.hex6.exec(e),r?{r:Wa(r[1]),g:Wa(r[2]),b:Wa(r[3]),format:t?"name":"hex"}:(r=Go.hex4.exec(e),r?{r:Wa(r[1]+r[1]),g:Wa(r[2]+r[2]),b:Wa(r[3]+r[3]),a:wI(r[4]+r[4]),format:t?"name":"hex8"}:(r=Go.hex3.exec(e),r?{r:Wa(r[1]+r[1]),g:Wa(r[2]+r[2]),b:Wa(r[3]+r[3]),format:t?"name":"hex"}:!1)))))))))}function il(e){return!!Go.CSS_UNIT.exec(String(e))}var Ri=function(){function e(t,r){t===void 0&&(t=""),r===void 0&&(r={});var n;if(t instanceof e)return t;typeof t=="number"&&(t=KX(t)),this.originalInput=t;var i=bf(t);this.originalInput=t,this.r=i.r,this.g=i.g,this.b=i.b,this.a=i.a,this.roundA=Math.round(100*this.a)/100,this.format=(n=r.format)!==null&&n!==void 0?n:i.format,this.gradientType=r.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=i.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),r,n,i,a=t.r/255,s=t.g/255,o=t.b/255;return a<=.03928?r=a/12.92:r=Math.pow((a+.055)/1.055,2.4),s<=.03928?n=s/12.92:n=Math.pow((s+.055)/1.055,2.4),o<=.03928?i=o/12.92:i=Math.pow((o+.055)/1.055,2.4),.2126*r+.7152*n+.0722*i},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=lO(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){var t=this.toHsl().s;return t===0},e.prototype.toHsv=function(){var t=$2(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=$2(this.r,this.g,this.b),r=Math.round(t.h*360),n=Math.round(t.s*100),i=Math.round(t.v*100);return this.a===1?"hsv(".concat(r,", ").concat(n,"%, ").concat(i,"%)"):"hsva(".concat(r,", ").concat(n,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=xI(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=xI(this.r,this.g,this.b),r=Math.round(t.h*360),n=Math.round(t.s*100),i=Math.round(t.l*100);return this.a===1?"hsl(".concat(r,", ").concat(n,"%, ").concat(i,"%)"):"hsla(".concat(r,", ").concat(n,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),N2(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),XX(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toHexShortString=function(t){return t===void 0&&(t=!1),this.a===1?this.toHexString(t):this.toHex8String(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),r=Math.round(this.g),n=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(r,", ").concat(n,")"):"rgba(".concat(t,", ").concat(r,", ").concat(n,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(r){return"".concat(Math.round(Bi(r,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(r){return Math.round(Bi(r,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+N2(this.r,this.g,this.b,!1),r=0,n=Object.entries(V2);r=0,a=!r&&i&&(t.startsWith("hex")||t==="name");return a?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(n=this.toRgbString()),t==="prgb"&&(n=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(n=this.toHexString()),t==="hex3"&&(n=this.toHexString(!0)),t==="hex4"&&(n=this.toHex8String(!0)),t==="hex8"&&(n=this.toHex8String()),t==="name"&&(n=this.toName()),t==="hsl"&&(n=this.toHslString()),t==="hsv"&&(n=this.toHsvString()),n||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.l+=t/100,r.l=Cy(r.l),new e(r)},e.prototype.brighten=function(t){t===void 0&&(t=10);var r=this.toRgb();return r.r=Math.max(0,Math.min(255,r.r-Math.round(255*-(t/100)))),r.g=Math.max(0,Math.min(255,r.g-Math.round(255*-(t/100)))),r.b=Math.max(0,Math.min(255,r.b-Math.round(255*-(t/100)))),new e(r)},e.prototype.darken=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.l-=t/100,r.l=Cy(r.l),new e(r)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.s-=t/100,r.s=Cy(r.s),new e(r)},e.prototype.saturate=function(t){t===void 0&&(t=10);var r=this.toHsl();return r.s+=t/100,r.s=Cy(r.s),new e(r)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var r=this.toHsl(),n=(r.h+t)%360;return r.h=n<0?360+n:n,new e(r)},e.prototype.mix=function(t,r){r===void 0&&(r=50);var n=this.toRgb(),i=new e(t).toRgb(),a=r/100,s={r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a};return new e(s)},e.prototype.analogous=function(t,r){t===void 0&&(t=6),r===void 0&&(r=30);var n=this.toHsl(),i=360/r,a=[this];for(n.h=(n.h-(i*t>>1)+720)%360;--t;)n.h=(n.h+i)%360,a.push(new e(n));return a},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var r=this.toHsv(),n=r.h,i=r.s,a=r.v,s=[],o=1/t;t--;)s.push(new e({h:n,s:i,v:a})),a=(a+o)%1;return s},e.prototype.splitcomplement=function(){var t=this.toHsl(),r=t.h;return[this,new e({h:(r+72)%360,s:t.s,l:t.l}),new e({h:(r+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var r=this.toRgb(),n=new e(t).toRgb(),i=r.a+n.a*(1-r.a);return new e({r:(r.r*r.a+n.r*n.a*(1-r.a))/i,g:(r.g*r.a+n.g*n.a*(1-r.a))/i,b:(r.b*r.a+n.b*n.a*(1-r.a))/i,a:i})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var r=this.toHsl(),n=r.h,i=[this],a=360/t,s=1;s=60&&Math.round(e.h)<=240?n=r?Math.round(e.h)-Ay*t:Math.round(e.h)+Ay*t:n=r?Math.round(e.h)+Ay*t:Math.round(e.h)-Ay*t,n<0?n+=360:n>=360&&(n-=360),n}function EI(e,t,r){if(e.h===0&&e.s===0)return e.s;var n;return r?n=e.s-SI*t:t===cO?n=e.s+SI:n=e.s+tY*t,n>1&&(n=1),r&&t===uO&&n>.1&&(n=.1),n<.06&&(n=.06),Number(n.toFixed(2))}function AI(e,t,r){var n;return r?n=e.v+rY*t:n=e.v-nY*t,n>1&&(n=1),Number(n.toFixed(2))}function ih(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=[],n=bf(e),i=uO;i>0;i-=1){var a=TI(n),s=My(bf({h:CI(a,i,!0),s:EI(a,i,!0),v:AI(a,i,!0)}));r.push(s)}r.push(My(n));for(var o=1;o<=cO;o+=1){var h=TI(n),d=My(bf({h:CI(h,o),s:EI(h,o),v:AI(h,o)}));r.push(d)}return t.theme==="dark"?iY.map(function(m){var g=m.index,y=m.opacity,x=My(aY(bf(t.backgroundColor||"#141414"),bf(r[g]),y*100));return x}):r}var Px={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1890FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},Ix={},Dx={};Object.keys(Px).forEach(function(e){Ix[e]=ih(Px[e]),Ix[e].primary=Ix[e][5],Dx[e]=ih(Px[e],{theme:"dark",backgroundColor:"#141414"}),Dx[e].primary=Dx[e][5]});const oY=e=>{const{controlHeight:t}=e;return{controlHeightSM:t*.75,controlHeightXS:t*.5,controlHeightLG:t*1.25}},sY=oY;function lY(e){const{sizeUnit:t,sizeStep:r}=e;return{sizeXXL:t*(r+8),sizeXL:t*(r+4),sizeLG:t*(r+2),sizeMD:t*(r+1),sizeMS:t*r,size:t*r,sizeSM:t*(r-1),sizeXS:t*(r-2),sizeXXS:t*(r-3)}}const hO={blue:"#1677ff",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#eb2f96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"},uY=Fe(Fe({},hO),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorTextBase:"",colorBgBase:"",fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, +'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', +'Noto Color Emoji'`,fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1}),y1=uY;function cY(e,t){let{generateColorPalettes:r,generateNeutralColorPalettes:n}=t;const{colorSuccess:i,colorWarning:a,colorError:s,colorInfo:o,colorPrimary:h,colorBgBase:d,colorTextBase:m}=e,g=r(h),y=r(i),x=r(a),E=r(s),M=r(o),P=n(d,m);return Fe(Fe({},P),{colorPrimaryBg:g[1],colorPrimaryBgHover:g[2],colorPrimaryBorder:g[3],colorPrimaryBorderHover:g[4],colorPrimaryHover:g[5],colorPrimary:g[6],colorPrimaryActive:g[7],colorPrimaryTextHover:g[8],colorPrimaryText:g[9],colorPrimaryTextActive:g[10],colorSuccessBg:y[1],colorSuccessBgHover:y[2],colorSuccessBorder:y[3],colorSuccessBorderHover:y[4],colorSuccessHover:y[4],colorSuccess:y[6],colorSuccessActive:y[7],colorSuccessTextHover:y[8],colorSuccessText:y[9],colorSuccessTextActive:y[10],colorErrorBg:E[1],colorErrorBgHover:E[2],colorErrorBorder:E[3],colorErrorBorderHover:E[4],colorErrorHover:E[5],colorError:E[6],colorErrorActive:E[7],colorErrorTextHover:E[8],colorErrorText:E[9],colorErrorTextActive:E[10],colorWarningBg:x[1],colorWarningBgHover:x[2],colorWarningBorder:x[3],colorWarningBorderHover:x[4],colorWarningHover:x[4],colorWarning:x[6],colorWarningActive:x[7],colorWarningTextHover:x[8],colorWarningText:x[9],colorWarningTextActive:x[10],colorInfoBg:M[1],colorInfoBgHover:M[2],colorInfoBorder:M[3],colorInfoBorderHover:M[4],colorInfoHover:M[4],colorInfo:M[6],colorInfoActive:M[7],colorInfoTextHover:M[8],colorInfoText:M[9],colorInfoTextActive:M[10],colorBgMask:new Ri("#000").setAlpha(.45).toRgbString(),colorWhite:"#fff"})}const hY=e=>{let t=e,r=e,n=e,i=e;return e<6&&e>=5?t=e+1:e<16&&e>=6?t=e+2:e>=16&&(t=16),e<7&&e>=5?r=4:e<8&&e>=7?r=5:e<14&&e>=8?r=6:e<16&&e>=14?r=7:e>=16&&(r=8),e<6&&e>=2?n=1:e>=6&&(n=2),e>4&&e<8?i=4:e>=8&&(i=6),{borderRadius:e>16?16:e,borderRadiusXS:n,borderRadiusSM:r,borderRadiusLG:t,borderRadiusOuter:i}},fY=hY;function dY(e){const{motionUnit:t,motionBase:r,borderRadius:n,lineWidth:i}=e;return Fe({motionDurationFast:`${(r+t).toFixed(1)}s`,motionDurationMid:`${(r+t*2).toFixed(1)}s`,motionDurationSlow:`${(r+t*3).toFixed(1)}s`,lineWidthBold:i+1},fY(n))}const al=(e,t)=>new Ri(e).setAlpha(t).toRgbString(),Bp=(e,t)=>new Ri(e).darken(t).toHexString(),pY=e=>{const t=ih(e);return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[4],6:t[5],7:t[6],8:t[4],9:t[5],10:t[6]}},mY=(e,t)=>{const r=e||"#fff",n=t||"#000";return{colorBgBase:r,colorTextBase:n,colorText:al(n,.88),colorTextSecondary:al(n,.65),colorTextTertiary:al(n,.45),colorTextQuaternary:al(n,.25),colorFill:al(n,.15),colorFillSecondary:al(n,.06),colorFillTertiary:al(n,.04),colorFillQuaternary:al(n,.02),colorBgLayout:Bp(r,4),colorBgContainer:Bp(r,0),colorBgElevated:Bp(r,0),colorBgSpotlight:al(n,.85),colorBorder:Bp(r,15),colorBorderSecondary:Bp(r,6)}};function vY(e){const t=new Array(10).fill(null).map((r,n)=>{const i=n-1,a=e*Math.pow(2.71828,i/5),s=n>1?Math.floor(a):Math.ceil(a);return Math.floor(s/2)*2});return t[1]=e,t.map(r=>{const n=r+8;return{size:r,lineHeight:n/r}})}const gY=e=>{const t=vY(e),r=t.map(i=>i.size),n=t.map(i=>i.lineHeight);return{fontSizeSM:r[0],fontSize:r[1],fontSizeLG:r[2],fontSizeXL:r[3],fontSizeHeading1:r[6],fontSizeHeading2:r[5],fontSizeHeading3:r[4],fontSizeHeading4:r[3],fontSizeHeading5:r[2],lineHeight:n[1],lineHeightLG:n[2],lineHeightSM:n[0],lineHeightHeading1:n[6],lineHeightHeading2:n[5],lineHeightHeading3:n[4],lineHeightHeading4:n[3],lineHeightHeading5:n[2]}},yY=gY;function _Y(e){const t=Object.keys(hO).map(r=>{const n=ih(e[r]);return new Array(10).fill(1).reduce((i,a,s)=>(i[`${r}-${s+1}`]=n[s],i),{})}).reduce((r,n)=>(r=Fe(Fe({},r),n),r),{});return Fe(Fe(Fe(Fe(Fe(Fe(Fe({},e),t),cY(e,{generateColorPalettes:pY,generateNeutralColorPalettes:mY})),yY(e.fontSize)),lY(e)),sY(e)),dY(e))}function Lx(e){return e>=0&&e<=255}function Py(e,t){const{r,g:n,b:i,a}=new Ri(e).toRgb();if(a<1)return e;const{r:s,g:o,b:h}=new Ri(t).toRgb();for(let d=.01;d<=1;d+=.01){const m=Math.round((r-s*(1-d))/d),g=Math.round((n-o*(1-d))/d),y=Math.round((i-h*(1-d))/d);if(Lx(m)&&Lx(g)&&Lx(y))return new Ri({r:m,g,b:y,a:Math.round(d*100)/100}).toRgbString()}return new Ri({r,g:n,b:i,a:1}).toRgbString()}var bY=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i{delete n[x]});const i=Fe(Fe({},r),n),a=480,s=576,o=768,h=992,d=1200,m=1600,g=2e3;return Fe(Fe(Fe({},i),{colorLink:i.colorInfoText,colorLinkHover:i.colorInfoHover,colorLinkActive:i.colorInfoActive,colorFillContent:i.colorFillSecondary,colorFillContentHover:i.colorFill,colorFillAlter:i.colorFillQuaternary,colorBgContainerDisabled:i.colorFillTertiary,colorBorderBg:i.colorBgContainer,colorSplit:Py(i.colorBorderSecondary,i.colorBgContainer),colorTextPlaceholder:i.colorTextQuaternary,colorTextDisabled:i.colorTextQuaternary,colorTextHeading:i.colorText,colorTextLabel:i.colorTextSecondary,colorTextDescription:i.colorTextTertiary,colorTextLightSolid:i.colorWhite,colorHighlight:i.colorError,colorBgTextHover:i.colorFillSecondary,colorBgTextActive:i.colorFill,colorIcon:i.colorTextTertiary,colorIconHover:i.colorText,colorErrorOutline:Py(i.colorErrorBg,i.colorBgContainer),colorWarningOutline:Py(i.colorWarningBg,i.colorBgContainer),fontSizeIcon:i.fontSizeSM,lineWidth:i.lineWidth,controlOutlineWidth:i.lineWidth*2,controlInteractiveSize:i.controlHeight/2,controlItemBgHover:i.colorFillTertiary,controlItemBgActive:i.colorPrimaryBg,controlItemBgActiveHover:i.colorPrimaryBgHover,controlItemBgActiveDisabled:i.colorFill,controlTmpOutline:i.colorFillQuaternary,controlOutline:Py(i.colorPrimaryBg,i.colorBgContainer),lineType:i.lineType,borderRadius:i.borderRadius,borderRadiusXS:i.borderRadiusXS,borderRadiusSM:i.borderRadiusSM,borderRadiusLG:i.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:i.sizeXXS,paddingXS:i.sizeXS,paddingSM:i.sizeSM,padding:i.size,paddingMD:i.sizeMD,paddingLG:i.sizeLG,paddingXL:i.sizeXL,paddingContentHorizontalLG:i.sizeLG,paddingContentVerticalLG:i.sizeMS,paddingContentHorizontal:i.sizeMS,paddingContentVertical:i.sizeSM,paddingContentHorizontalSM:i.size,paddingContentVerticalSM:i.sizeXS,marginXXS:i.sizeXXS,marginXS:i.sizeXS,marginSM:i.sizeSM,margin:i.size,marginMD:i.sizeMD,marginLG:i.sizeLG,marginXL:i.sizeXL,marginXXL:i.sizeXXL,boxShadow:` + 0 1px 2px 0 rgba(0, 0, 0, 0.03), + 0 1px 6px -1px rgba(0, 0, 0, 0.02), + 0 2px 4px 0 rgba(0, 0, 0, 0.02) + `,boxShadowSecondary:` + 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 3px 6px -4px rgba(0, 0, 0, 0.12), + 0 9px 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowTertiary:` + 0 1px 2px 0 rgba(0, 0, 0, 0.03), + 0 1px 6px -1px rgba(0, 0, 0, 0.02), + 0 2px 4px 0 rgba(0, 0, 0, 0.02) + `,screenXS:a,screenXSMin:a,screenXSMax:s-1,screenSM:s,screenSMMin:s,screenSMMax:o-1,screenMD:o,screenMDMin:o,screenMDMax:h-1,screenLG:h,screenLGMin:h,screenLGMax:d-1,screenXL:d,screenXLMin:d,screenXLMax:m-1,screenXXL:m,screenXXLMin:m,screenXXLMax:g-1,screenXXXL:g,screenXXXLMin:g,boxShadowPopoverArrow:"3px 3px 7px rgba(0, 0, 0, 0.1)",boxShadowCard:` + 0 1px 2px -2px ${new Ri("rgba(0, 0, 0, 0.16)").toRgbString()}, + 0 3px 6px 0 ${new Ri("rgba(0, 0, 0, 0.12)").toRgbString()}, + 0 5px 12px 4px ${new Ri("rgba(0, 0, 0, 0.09)").toRgbString()} + `,boxShadowDrawerRight:` + -6px 0 16px 0 rgba(0, 0, 0, 0.08), + -3px 0 6px -4px rgba(0, 0, 0, 0.12), + -9px 0 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowDrawerLeft:` + 6px 0 16px 0 rgba(0, 0, 0, 0.08), + 3px 0 6px -4px rgba(0, 0, 0, 0.12), + 9px 0 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowDrawerUp:` + 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 3px 6px -4px rgba(0, 0, 0, 0.12), + 0 9px 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowDrawerDown:` + 0 -6px 16px 0 rgba(0, 0, 0, 0.08), + 0 -3px 6px -4px rgba(0, 0, 0, 0.12), + 0 -9px 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),n)}const wY={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},oC=e=>({boxSizing:"border-box",margin:0,padding:0,color:e.colorText,fontSize:e.fontSize,lineHeight:e.lineHeight,listStyle:"none",fontFamily:e.fontFamily}),SY=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),TY=e=>({a:{color:e.colorLink,textDecoration:e.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:`color ${e.motionDurationSlow}`,"-webkit-text-decoration-skip":"objects","&:hover":{color:e.colorLinkHover},"&:active":{color:e.colorLinkActive},"&:active,\n &:hover":{textDecoration:e.linkHoverDecoration,outline:0},"&:focus":{textDecoration:e.linkFocusDecoration,outline:0},"&[disabled]":{color:e.colorTextDisabled,cursor:"not-allowed"}}}),CY=(e,t)=>{const{fontFamily:r,fontSize:n}=e,i=`[class^="${t}"], [class*=" ${t}"]`;return{[i]:{fontFamily:r,fontSize:n,boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"},[i]:{boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}}}}},EY=e=>({outline:`${e.lineWidthBold}px solid ${e.colorPrimaryBorder}`,outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),AY=e=>({"&:focus-visible":Fe({},EY(e))});function hh(e,t,r){return n=>{const i=ze(()=>n==null?void 0:n.value),[a,s,o]=Uv(),{getPrefixCls:h,iconPrefixCls:d}=V4(),m=ze(()=>h()),g=ze(()=>({theme:a.value,token:s.value,hashId:o.value,path:["Shared",m.value]}));F2(g,()=>[{"&":TY(s.value)}]);const y=ze(()=>({theme:a.value,token:s.value,hashId:o.value,path:[e,i.value,d.value]}));return[F2(y,()=>{const{token:x,flush:E}=PY(s.value),M=typeof r=="function"?r(x):r,P=Fe(Fe({},M),s.value[e]),D=`.${i.value}`,k=Bu(x,{componentCls:D,prefixCls:i.value,iconCls:`.${d.value}`,antCls:`.${m.value}`},P),O=t(k,{hashId:o.value,prefixCls:i.value,rootPrefixCls:m.value,iconPrefixCls:d.value,overrideComponentToken:s.value[e]});return E(e,P),[CY(s.value,i.value),O]}),o]}}const fO=typeof CSSINJS_STATISTIC<"u";let j2=!0;function Bu(){for(var e=arguments.length,t=new Array(e),r=0;r{Object.keys(i).forEach(s=>{Object.defineProperty(n,s,{configurable:!0,enumerable:!0,get:()=>i[s]})})}),j2=!0,n}function MY(){}function PY(e){let t,r=e,n=MY;return fO&&(t=new Set,r=new Proxy(e,{get(i,a){return j2&&t.add(a),i[a]}}),n=(i,a)=>{Array.from(t)}),{token:r,keys:t,flush:n}}function IY(e){if(!hi(e))return $a(e);const t=new Proxy({},{get(r,n,i){return Reflect.get(e.value,n,i)},set(r,n,i){return e.value[n]=i,!0},deleteProperty(r,n){return Reflect.deleteProperty(e.value,n)},has(r,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return $a(t)}const DY=sO(_Y),dO={token:y1,hashed:!0},pO=Symbol("DesignTokenContext"),mO=xr(),LY=e=>{zi(pO,e),ts(()=>{mO.value=e})},kY=Ut({props:{value:Ya()},setup(e,t){let{slots:r}=t;return LY(IY(ze(()=>e.value))),()=>{var n;return(n=r.default)===null||n===void 0?void 0:n.call(r)}}});function Uv(){const e=Fr(pO,mO.value||dO),t=ze(()=>`${HX}-${e.hashed||""}`),r=ze(()=>e.theme||DY),n=fX(r,ze(()=>[y1,e.token]),ze(()=>({salt:t.value,override:Fe({override:e.token},e.components),formatToken:xY})));return[r,ze(()=>n.value[0]),ze(()=>e.hashed?n.value[1]:"")]}const vO=Ut({compatConfig:{MODE:3},setup(){const[,e]=Uv(),t=ze(()=>new Ri(e.value.colorBgBase).toHsl().l<.5?{opacity:.65}:{});return()=>Oe("svg",{style:t.value,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},[Oe("g",{fill:"none","fill-rule":"evenodd"},[Oe("g",{transform:"translate(24 31.67)"},[Oe("ellipse",{"fill-opacity":".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"},null),Oe("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"},null),Oe("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"},null),Oe("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"},null),Oe("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"},null)]),Oe("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"},null),Oe("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},[Oe("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"},null),Oe("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"},null)])])])}});vO.PRESENTED_IMAGE_DEFAULT=!0;const RY=vO,gO=Ut({compatConfig:{MODE:3},setup(){const[,e]=Uv(),t=ze(()=>{const{colorFill:r,colorFillTertiary:n,colorFillQuaternary:i,colorBgContainer:a}=e.value;return{borderColor:new Ri(r).onBackground(a).toHexString(),shadowColor:new Ri(n).onBackground(a).toHexString(),contentColor:new Ri(i).onBackground(a).toHexString()}});return()=>Oe("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},[Oe("g",{transform:"translate(0 1)",fill:"none","fill-rule":"evenodd"},[Oe("ellipse",{fill:t.value.shadowColor,cx:"32",cy:"33",rx:"32",ry:"7"},null),Oe("g",{"fill-rule":"nonzero",stroke:t.value.borderColor},[Oe("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"},null),Oe("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:t.value.contentColor},null)])])])}});gO.PRESENTED_IMAGE_SIMPLE=!0;const OY=gO,zY=e=>{const{componentCls:t,margin:r,marginXS:n,marginXL:i,fontSize:a,lineHeight:s}=e;return{[t]:{marginInline:n,fontSize:a,lineHeight:s,textAlign:"center",[`${t}-image`]:{height:e.emptyImgHeight,marginBottom:n,opacity:e.opacityImage,img:{height:"100%"},svg:{height:"100%",margin:"auto"}},[`${t}-footer`]:{marginTop:r},"&-normal":{marginBlock:i,color:e.colorTextDisabled,[`${t}-image`]:{height:e.emptyImgHeightMD}},"&-small":{marginBlock:n,color:e.colorTextDisabled,[`${t}-image`]:{height:e.emptyImgHeightSM}}}}},BY=hh("Empty",e=>{const{componentCls:t,controlHeightLG:r}=e,n=Bu(e,{emptyImgCls:`${t}-img`,emptyImgHeight:r*2.5,emptyImgHeightMD:r,emptyImgHeightSM:r*.875});return[zY(n)]});var FY=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i({prefixCls:String,imageStyle:Ya(),image:Xo(),description:Xo()}),sC=Ut({name:"AEmpty",compatConfig:{MODE:3},inheritAttrs:!1,props:$Y(),setup(e,t){let{slots:r={},attrs:n}=t;const{direction:i,prefixCls:a}=Dl("empty",e),[s,o]=BY(a);return()=>{var h,d;const m=a.value,g=Fe(Fe({},e),n),{image:y=((h=r.image)===null||h===void 0?void 0:h.call(r))||yO,description:x=((d=r.description)===null||d===void 0?void 0:d.call(r))||void 0,imageStyle:E,class:M=""}=g,P=FY(g,["image","description","imageStyle","class"]);return s(Oe(U4,{componentName:"Empty",children:D=>{const k=typeof x<"u"?x:D.description,O=typeof k=="string"?k:"empty";let F=null;return typeof y=="string"?F=Oe("img",{alt:O,src:y},null):F=y,Oe("div",dn({class:pi(m,M,o.value,{[`${m}-normal`]:y===_O,[`${m}-rtl`]:i.value==="rtl"})},P),[Oe("div",{class:`${m}-image`,style:E},[F]),k&&Oe("p",{class:`${m}-description`},[k]),r.default&&Oe("div",{class:`${m}-footer`},[O4(r.default())])])}},null))}}});sC.PRESENTED_IMAGE_DEFAULT=yO;sC.PRESENTED_IMAGE_SIMPLE=_O;const Fp=d1(sC),bO=e=>{const{prefixCls:t}=Dl("empty",e);return(n=>{switch(n){case"Table":case"List":return Oe(Fp,{image:Fp.PRESENTED_IMAGE_SIMPLE},null);case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return Oe(Fp,{image:Fp.PRESENTED_IMAGE_SIMPLE,class:`${t.value}-small`},null);default:return Oe(Fp,null,null)}})(e.componentName)};function NY(e){return Oe(bO,{componentName:e},null)}const xO=Symbol("SizeContextKey"),wO=()=>Fr(xO,xr(void 0)),VY=e=>{const t=wO();return zi(xO,ze(()=>e.value||t.value)),e},Dl=(e,t)=>{const r=wO(),n=QT(),i=Fr(JT,Fe(Fe({},N4),{renderEmpty:H=>br(bO,{componentName:H})})),a=ze(()=>i.getPrefixCls(e,t.prefixCls)),s=ze(()=>{var H,W;return(H=t.direction)!==null&&H!==void 0?H:(W=i.direction)===null||W===void 0?void 0:W.value}),o=ze(()=>{var H;return(H=t.iconPrefixCls)!==null&&H!==void 0?H:i.iconPrefixCls.value}),h=ze(()=>i.getPrefixCls()),d=ze(()=>{var H;return(H=i.autoInsertSpaceInButton)===null||H===void 0?void 0:H.value}),m=i.renderEmpty,g=i.space,y=i.pageHeader,x=i.form,E=ze(()=>{var H,W;return(H=t.getTargetContainer)!==null&&H!==void 0?H:(W=i.getTargetContainer)===null||W===void 0?void 0:W.value}),M=ze(()=>{var H,W;return(H=t.getPopupContainer)!==null&&H!==void 0?H:(W=i.getPopupContainer)===null||W===void 0?void 0:W.value}),P=ze(()=>{var H,W;return(H=t.dropdownMatchSelectWidth)!==null&&H!==void 0?H:(W=i.dropdownMatchSelectWidth)===null||W===void 0?void 0:W.value}),D=ze(()=>{var H;return(t.virtual===void 0?((H=i.virtual)===null||H===void 0?void 0:H.value)!==!1:t.virtual!==!1)&&P.value!==!1}),k=ze(()=>t.size||r.value),O=ze(()=>{var H,W,Z;return(H=t.autocomplete)!==null&&H!==void 0?H:(Z=(W=i.input)===null||W===void 0?void 0:W.value)===null||Z===void 0?void 0:Z.autocomplete}),F=ze(()=>{var H;return(H=t.disabled)!==null&&H!==void 0?H:n.value}),q=ze(()=>{var H;return(H=t.csp)!==null&&H!==void 0?H:i.csp});return{configProvider:i,prefixCls:a,direction:s,size:k,getTargetContainer:E,getPopupContainer:M,space:g,pageHeader:y,form:x,autoInsertSpaceInButton:d,renderEmpty:m,virtual:D,dropdownMatchSelectWidth:P,rootPrefixCls:h,getPrefixCls:i.getPrefixCls,autocomplete:O,csp:q,iconPrefixCls:o,disabled:F,select:i.select}};function MI(e,t){for(var r=0;r=0||(i[r]=e[r]);return i}function PI(e){return((t=e)!=null&&typeof t=="object"&&Array.isArray(t)===!1)==1&&Object.prototype.toString.call(e)==="[object Object]";var t}var EO=Object.prototype,AO=EO.toString,jY=EO.hasOwnProperty,MO=/^\s*function (\w+)/;function II(e){var t,r=(t=e==null?void 0:e.type)!==null&&t!==void 0?t:e;if(r){var n=r.toString().match(MO);return n?n[1]:""}return""}var ah=function(e){var t,r;return PI(e)!==!1&&typeof(t=e.constructor)=="function"&&PI(r=t.prototype)!==!1&&r.hasOwnProperty("isPrototypeOf")!==!1},HY=function(e){return e},ga=HY,sv=function(e,t){return jY.call(e,t)},UY=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e},Qf=Array.isArray||function(e){return AO.call(e)==="[object Array]"},ed=function(e){return AO.call(e)==="[object Function]"},d0=function(e){return ah(e)&&sv(e,"_vueTypes_name")},PO=function(e){return ah(e)&&(sv(e,"type")||["_vueTypes_name","validator","default","required"].some(function(t){return sv(e,t)}))};function lC(e,t){return Object.defineProperty(e.bind(t),"__original",{value:e})}function fh(e,t,r){var n;r===void 0&&(r=!1);var i=!0,a="";n=ah(e)?e:{type:e};var s=d0(n)?n._vueTypes_name+" - ":"";if(PO(n)&&n.type!==null){if(n.type===void 0||n.type===!0||!n.required&&t===void 0)return i;Qf(n.type)?(i=n.type.some(function(g){return fh(g,t,!0)===!0}),a=n.type.map(function(g){return II(g)}).join(" or ")):i=(a=II(n))==="Array"?Qf(t):a==="Object"?ah(t):a==="String"||a==="Number"||a==="Boolean"||a==="Function"?function(g){if(g==null)return"";var y=g.constructor.toString().match(MO);return y?y[1]:""}(t)===a:t instanceof n.type}if(!i){var o=s+'value "'+t+'" should be of type "'+a+'"';return r===!1?(ga(o),!1):o}if(sv(n,"validator")&&ed(n.validator)){var h=ga,d=[];if(ga=function(g){d.push(g)},i=n.validator(t),ga=h,!i){var m=(d.length>1?"* ":"")+d.join(` +* `);return d.length=0,r===!1?(ga(m),i):m}}return i}function eo(e,t){var r=Object.defineProperties(t,{_vueTypes_name:{value:e,writable:!0},isRequired:{get:function(){return this.required=!0,this}},def:{value:function(i){return i!==void 0||this.default?ed(i)||fh(this,i,!0)===!0?(this.default=Qf(i)?function(){return[].concat(i)}:ah(i)?function(){return Object.assign({},i)}:i,this):(ga(this._vueTypes_name+' - invalid default value: "'+i+'"'),this):this}}}),n=r.validator;return ed(n)&&(r.validator=lC(n,r)),r}function zs(e,t){var r=eo(e,t);return Object.defineProperty(r,"validate",{value:function(n){return ed(this.validator)&&ga(this._vueTypes_name+` - calling .validate() will overwrite the current custom validator function. Validator info: +`+JSON.stringify(this)),this.validator=lC(n,this),this}})}function DI(e,t,r){var n,i,a=(n=t,i={},Object.getOwnPropertyNames(n).forEach(function(g){i[g]=Object.getOwnPropertyDescriptor(n,g)}),Object.defineProperties({},i));if(a._vueTypes_name=e,!ah(r))return a;var s,o,h=r.validator,d=CO(r,["validator"]);if(ed(h)){var m=a.validator;m&&(m=(o=(s=m).__original)!==null&&o!==void 0?o:s),a.validator=lC(m?function(g){return m.call(this,g)&&h.call(this,g)}:h,a)}return Object.assign(a,d)}function _1(e){return e.replace(/^(?!\s*$)/gm," ")}var GY=function(){return zs("any",{})},qY=function(){return zs("function",{type:Function})},WY=function(){return zs("boolean",{type:Boolean})},ZY=function(){return zs("string",{type:String})},XY=function(){return zs("number",{type:Number})},YY=function(){return zs("array",{type:Array})},KY=function(){return zs("object",{type:Object})},JY=function(){return eo("integer",{type:Number,validator:function(e){return UY(e)}})},QY=function(){return eo("symbol",{validator:function(e){return typeof e=="symbol"}})};function eK(e,t){if(t===void 0&&(t="custom validation failed"),typeof e!="function")throw new TypeError("[VueTypes error]: You must provide a function as argument");return eo(e.name||"<>",{validator:function(r){var n=e(r);return n||ga(this._vueTypes_name+" - "+t),n}})}function tK(e){if(!Qf(e))throw new TypeError("[VueTypes error]: You must provide an array as argument.");var t='oneOf - value should be one of "'+e.join('", "')+'".',r=e.reduce(function(n,i){if(i!=null){var a=i.constructor;n.indexOf(a)===-1&&n.push(a)}return n},[]);return eo("oneOf",{type:r.length>0?r:void 0,validator:function(n){var i=e.indexOf(n)!==-1;return i||ga(t),i}})}function rK(e){if(!Qf(e))throw new TypeError("[VueTypes error]: You must provide an array as argument");for(var t=!1,r=[],n=0;n0&&r.some(function(h){return s.indexOf(h)===-1})){var o=r.filter(function(h){return s.indexOf(h)===-1});return ga(o.length===1?'shape - required property "'+o[0]+'" is not defined.':'shape - required properties "'+o.join('", "')+'" are not defined.'),!1}return s.every(function(h){if(t.indexOf(h)===-1)return a._vueTypes_isLoose===!0||(ga('shape - shape definition does not include a "'+h+'" property. Allowed keys: "'+t.join('", "')+'".'),!1);var d=fh(e[h],i[h],!0);return typeof d=="string"&&ga('shape - "'+h+`" property validation error: + `+_1(d)),d===!0})}});return Object.defineProperty(n,"_vueTypes_isLoose",{writable:!0,value:!1}),Object.defineProperty(n,"loose",{get:function(){return this._vueTypes_isLoose=!0,this}}),n}var Ts=function(){function e(){}return e.extend=function(t){var r=this;if(Qf(t))return t.forEach(function(g){return r.extend(g)}),this;var n=t.name,i=t.validate,a=i!==void 0&&i,s=t.getter,o=s!==void 0&&s,h=CO(t,["name","validate","getter"]);if(sv(this,n))throw new TypeError('[VueTypes error]: Type "'+n+'" already defined');var d,m=h.type;return d0(m)?(delete h.type,Object.defineProperty(this,n,o?{get:function(){return DI(n,m,h)}}:{value:function(){var g,y=DI(n,m,h);return y.validator&&(y.validator=(g=y.validator).bind.apply(g,[y].concat([].slice.call(arguments)))),y}})):(d=o?{get:function(){var g=Object.assign({},h);return a?zs(n,g):eo(n,g)},enumerable:!0}:{value:function(){var g,y,x=Object.assign({},h);return g=a?zs(n,x):eo(n,x),x.validator&&(g.validator=(y=x.validator).bind.apply(y,[g].concat([].slice.call(arguments)))),g},enumerable:!0},Object.defineProperty(this,n,d))},SO(e,null,[{key:"any",get:function(){return GY()}},{key:"func",get:function(){return qY().def(this.defaults.func)}},{key:"bool",get:function(){return WY().def(this.defaults.bool)}},{key:"string",get:function(){return ZY().def(this.defaults.string)}},{key:"number",get:function(){return XY().def(this.defaults.number)}},{key:"array",get:function(){return YY().def(this.defaults.array)}},{key:"object",get:function(){return KY().def(this.defaults.object)}},{key:"integer",get:function(){return JY().def(this.defaults.integer)}},{key:"symbol",get:function(){return QY()}}]),e}();function IO(e){var t;return e===void 0&&(e={func:function(){},bool:!0,string:"",number:0,array:function(){return[]},object:function(){return{}},integer:0}),(t=function(r){function n(){return r.apply(this,arguments)||this}return TO(n,r),SO(n,null,[{key:"sensibleDefaults",get:function(){return M_({},this.defaults)},set:function(i){this.defaults=i!==!1?M_({},i!==!0?i:e):{}}}]),n}(Ts)).defaults=M_({},e),t}Ts.defaults={},Ts.custom=eK,Ts.oneOf=tK,Ts.instanceOf=iK,Ts.oneOfType=rK,Ts.arrayOf=nK,Ts.objectOf=aK,Ts.shape=oK,Ts.utils={validate:function(e,t){return fh(t,e,!0)===!0},toType:function(e,t,r){return r===void 0&&(r=!1),r?zs(e,t):eo(e,t)}};(function(e){function t(){return e.apply(this,arguments)||this}return TO(t,e),t})(IO());const DO=IO({func:void 0,bool:void 0,string:void 0,number:void 0,array:void 0,object:void 0,integer:void 0});DO.extend([{name:"looseBool",getter:!0,type:Boolean,default:void 0},{name:"style",getter:!0,type:[String,Object],default:void 0},{name:"VueNode",getter:!0,type:null}]);const lv=DO,LO=(e,t,r)=>{kX(e,`[ant-design-vue: ${t}] ${r}`)};function sK(e){let{prefixCls:t,animation:r,transitionName:n}=e;return r?{name:`${t}-${r}`}:n?{name:n}:{}}const lK=e=>{if(!e)return!1;if(e.offsetParent)return!0;if(e.getBBox){const t=e.getBBox();if(t.width||t.height)return!0}if(e.getBoundingClientRect){const t=e.getBoundingClientRect();if(t.width||t.height)return!0}return!1};var uK=typeof global=="object"&&global&&global.Object===Object&&global;const kO=uK;var cK=typeof self=="object"&&self&&self.Object===Object&&self,hK=kO||cK||Function("return this")();const Fu=hK;var fK=Fu.Symbol;const p0=fK;var RO=Object.prototype,dK=RO.hasOwnProperty,pK=RO.toString,$p=p0?p0.toStringTag:void 0;function mK(e){var t=dK.call(e,$p),r=e[$p];try{e[$p]=void 0;var n=!0}catch{}var i=pK.call(e);return n&&(t?e[$p]=r:delete e[$p]),i}var vK=Object.prototype,gK=vK.toString;function yK(e){return gK.call(e)}var _K="[object Null]",bK="[object Undefined]",LI=p0?p0.toStringTag:void 0;function Gv(e){return e==null?e===void 0?bK:_K:LI&&LI in Object(e)?mK(e):yK(e)}function OO(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var xK="[object AsyncFunction]",wK="[object Function]",SK="[object GeneratorFunction]",TK="[object Proxy]";function zO(e){if(!OO(e))return!1;var t=Gv(e);return t==wK||t==SK||t==xK||t==TK}var CK=Fu["__core-js_shared__"];const kx=CK;var kI=function(){var e=/[^.]+$/.exec(kx&&kx.keys&&kx.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function EK(e){return!!kI&&kI in e}var AK=Function.prototype,MK=AK.toString;function dh(e){if(e!=null){try{return MK.call(e)}catch{}try{return e+""}catch{}}return""}var PK=/[\\^$.*+?()[\]{}|]/g,IK=/^\[object .+?Constructor\]$/,DK=Function.prototype,LK=Object.prototype,kK=DK.toString,RK=LK.hasOwnProperty,OK=RegExp("^"+kK.call(RK).replace(PK,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function zK(e){if(!OO(e)||EK(e))return!1;var t=zO(e)?OK:IK;return t.test(dh(e))}function BK(e,t){return e==null?void 0:e[t]}function qv(e,t){var r=BK(e,t);return zK(r)?r:void 0}var FK=qv(Fu,"Map");const H2=FK;var $K=Array.isArray;const NK=$K;function uC(e){return e!=null&&typeof e=="object"}var VK="[object Arguments]";function RI(e){return uC(e)&&Gv(e)==VK}var BO=Object.prototype,jK=BO.hasOwnProperty,HK=BO.propertyIsEnumerable,UK=RI(function(){return arguments}())?RI:function(e){return uC(e)&&jK.call(e,"callee")&&!HK.call(e,"callee")};const GK=UK;function qK(){return!1}var FO=typeof exports=="object"&&exports&&!exports.nodeType&&exports,OI=FO&&typeof module=="object"&&module&&!module.nodeType&&module,WK=OI&&OI.exports===FO,zI=WK?Fu.Buffer:void 0,ZK=zI?zI.isBuffer:void 0,XK=ZK||qK;const YK=XK;var KK=9007199254740991;function $O(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=KK}var JK="[object Arguments]",QK="[object Array]",eJ="[object Boolean]",tJ="[object Date]",rJ="[object Error]",nJ="[object Function]",iJ="[object Map]",aJ="[object Number]",oJ="[object Object]",sJ="[object RegExp]",lJ="[object Set]",uJ="[object String]",cJ="[object WeakMap]",hJ="[object ArrayBuffer]",fJ="[object DataView]",dJ="[object Float32Array]",pJ="[object Float64Array]",mJ="[object Int8Array]",vJ="[object Int16Array]",gJ="[object Int32Array]",yJ="[object Uint8Array]",_J="[object Uint8ClampedArray]",bJ="[object Uint16Array]",xJ="[object Uint32Array]",Sn={};Sn[dJ]=Sn[pJ]=Sn[mJ]=Sn[vJ]=Sn[gJ]=Sn[yJ]=Sn[_J]=Sn[bJ]=Sn[xJ]=!0;Sn[JK]=Sn[QK]=Sn[hJ]=Sn[eJ]=Sn[fJ]=Sn[tJ]=Sn[rJ]=Sn[nJ]=Sn[iJ]=Sn[aJ]=Sn[oJ]=Sn[sJ]=Sn[lJ]=Sn[uJ]=Sn[cJ]=!1;function wJ(e){return uC(e)&&$O(e.length)&&!!Sn[Gv(e)]}function SJ(e){return function(t){return e(t)}}var NO=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Am=NO&&typeof module=="object"&&module&&!module.nodeType&&module,TJ=Am&&Am.exports===NO,Rx=TJ&&kO.process,CJ=function(){try{var e=Am&&Am.require&&Am.require("util").types;return e||Rx&&Rx.binding&&Rx.binding("util")}catch{}}();const BI=CJ;var FI=BI&&BI.isTypedArray,EJ=FI?SJ(FI):wJ;const AJ=EJ;var MJ=Object.prototype;function VO(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||MJ;return e===r}function PJ(e,t){return function(r){return e(t(r))}}var IJ=PJ(Object.keys,Object);const DJ=IJ;var LJ=Object.prototype,kJ=LJ.hasOwnProperty;function RJ(e){if(!VO(e))return DJ(e);var t=[];for(var r in Object(e))kJ.call(e,r)&&r!="constructor"&&t.push(r);return t}function OJ(e){return e!=null&&$O(e.length)&&!zO(e)}var zJ=qv(Fu,"DataView");const U2=zJ;var BJ=qv(Fu,"Promise");const G2=BJ;var FJ=qv(Fu,"Set");const q2=FJ;var $J=qv(Fu,"WeakMap");const W2=$J;var $I="[object Map]",NJ="[object Object]",NI="[object Promise]",VI="[object Set]",jI="[object WeakMap]",HI="[object DataView]",VJ=dh(U2),jJ=dh(H2),HJ=dh(G2),UJ=dh(q2),GJ=dh(W2),kc=Gv;(U2&&kc(new U2(new ArrayBuffer(1)))!=HI||H2&&kc(new H2)!=$I||G2&&kc(G2.resolve())!=NI||q2&&kc(new q2)!=VI||W2&&kc(new W2)!=jI)&&(kc=function(e){var t=Gv(e),r=t==NJ?e.constructor:void 0,n=r?dh(r):"";if(n)switch(n){case VJ:return HI;case jJ:return $I;case HJ:return NI;case UJ:return VI;case GJ:return jI}return t});const qJ=kc;u0("bottomLeft","bottomRight","topLeft","topRight");const jO=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Fe(e?{name:e,appear:!0,appearActiveClass:`${e}`,appearToClass:`${e}-appear ${e}-appear-active`,enterFromClass:`${e}-appear ${e}-enter ${e}-appear-prepare ${e}-enter-prepare`,enterActiveClass:`${e}`,enterToClass:`${e}-enter ${e}-appear ${e}-appear-active ${e}-enter-active`,leaveActiveClass:`${e} ${e}-leave`,leaveToClass:`${e}-leave-active`}:{css:!1},t)},HO=Symbol("PortalContextKey"),WJ=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inTriggerContext:!0};zi(HO,{inTriggerContext:t.inTriggerContext,shouldRender:ze(()=>{const{sPopupVisible:r,popupRef:n,forceRender:i,autoDestroy:a}=e||{};let s=!1;return(r||n||i)&&(s=!0),!r&&a&&(s=!1),s})})},ZJ=()=>{WJ({},{inTriggerContext:!1});const e=Fr(HO,{shouldRender:ze(()=>!1),inTriggerContext:!1});return{shouldRender:ze(()=>e.shouldRender.value||e.inTriggerContext===!1)}},XJ=Ut({compatConfig:{MODE:3},name:"Portal",inheritAttrs:!1,props:{getContainer:lv.func.isRequired,didUpdate:Function},setup(e,t){let{slots:r}=t,n=!0,i;const{shouldRender:a}=ZJ();K3(()=>{n=!1,a.value&&(i=e.getContainer())});const s=Qr(a,()=>{a.value&&!i&&(i=e.getContainer()),i&&s()});return e1(()=>{os(()=>{var o;a.value&&((o=e.didUpdate)===null||o===void 0||o.call(e,e))})}),()=>{var o;return a.value?n?(o=r.default)===null||o===void 0?void 0:o.call(r):i?Oe(lR,{to:i},r):null:null}}});function lc(e){const t=typeof e=="function"?e():e,r=xr(t);function n(i){r.value=i}return[r,n]}var UI=[],Np=[],YJ="insert-css: You need to provide a CSS string. Usage: insertCss(cssString[, options]).";function KJ(){var e=document.createElement("style");return e.setAttribute("type","text/css"),e}function JJ(e,t){if(t=t||{},e===void 0)throw new Error(YJ);var r=t.prepend===!0?"prepend":"append",n=t.container!==void 0?t.container:document.querySelector("head"),i=UI.indexOf(n);i===-1&&(i=UI.push(n)-1,Np[i]={});var a;return Np[i]!==void 0&&Np[i][r]!==void 0?a=Np[i][r]:(a=Np[i][r]=KJ(),r==="prepend"?n.insertBefore(a,n.childNodes[0]):n.appendChild(a)),e.charCodeAt(0)===65279&&(e=e.substr(1,e.length)),a.styleSheet?a.styleSheet.cssText+=e:a.textContent+=e,a}function GI(e){for(var t=1;t * { + line-height: 1; +} + +.anticon svg { + display: inline-block; +} + +.anticon::before { + display: none; +} + +.anticon .anticon-icon { + display: block; +} + +.anticon[tabindex] { + cursor: pointer; +} + +.anticon-spin::before, +.anticon-spin { + display: inline-block; + -webkit-animation: loadingCircle 1s infinite linear; + animation: loadingCircle 1s infinite linear; +} + +@-webkit-keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +`,WI=!1,qO=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:tQ;os(function(){WI||(typeof window<"u"&&window.document&&window.document.documentElement&&JJ(t,{prepend:!0}),WI=!0)})},rQ=["icon","primaryColor","secondaryColor"];function nQ(e,t){if(e==null)return{};var r=iQ(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function iQ(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,a;for(a=0;a=0)&&(r[i]=e[i]);return r}function P_(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function xQ(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,a;for(a=0;a=0)&&(r[i]=e[i]);return r}WO("#1890ff");var gd=function(t,r){var n,i=YI({},t,r.attrs),a=i.class,s=i.icon,o=i.spin,h=i.rotate,d=i.tabindex,m=i.twoToneColor,g=i.onClick,y=bQ(i,pQ),x=(n={anticon:!0},X2(n,"anticon-".concat(s.name),!!s.name),X2(n,a,a),n),E=o===""||o||s.name==="loading"?"anticon-spin":"",M=d;M===void 0&&g&&(M=-1,y.tabindex=M);var P=h?{msTransform:"rotate(".concat(h,"deg)"),transform:"rotate(".concat(h,"deg)")}:void 0,D=GO(m),k=mQ(D,2),O=k[0],F=k[1];return Oe("span",YI({role:"img","aria-label":s.name},y,{onClick:g,class:x}),[Oe(cC,{class:E,icon:s,primaryColor:O,secondaryColor:F,style:P},null)])};gd.props={spin:Boolean,rotate:Number,icon:Object,twoToneColor:String};gd.displayName="AntdIcon";gd.inheritAttrs=!1;gd.getTwoToneColor=dQ;gd.setTwoToneColor=WO;const $s=gd;var wQ={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"};const SQ=wQ;function KI(e){for(var t=1;t{const s=$a({});return zi(t,s),ts(()=>{Fe(s,i,a||{})}),s},useInject:()=>Fr(t,e)||{}}}const DQ=e=>{const{componentCls:t}=e;return{[t]:{display:"inline-flex","&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"}}}},LQ=DQ,kQ=e=>{const{componentCls:t}=e;return{[t]:{display:"inline-flex","&-rtl":{direction:"rtl"},"&-vertical":{flexDirection:"column"},"&-align":{flexDirection:"column","&-center":{alignItems:"center"},"&-start":{alignItems:"flex-start"},"&-end":{alignItems:"flex-end"},"&-baseline":{alignItems:"baseline"}},[`${t}-space-item`]:{"&:empty":{display:"none"}}}}},RQ=hh("Space",e=>[kQ(e),LQ(e)]);var OQ="[object Map]",zQ="[object Set]",BQ=Object.prototype,FQ=BQ.hasOwnProperty;function YO(e){if(e==null)return!0;if(OJ(e)&&(NK(e)||typeof e=="string"||typeof e.splice=="function"||YK(e)||AJ(e)||GK(e)))return!e.length;var t=qJ(e);if(t==OQ||t==zQ)return!e.size;if(VO(e))return!RJ(e).length;for(var r in e)if(FQ.call(e,r))return!1;return!0}const $Q=()=>({compactSize:String,compactDirection:lv.oneOf(u0("horizontal","vertical")).def("horizontal"),isFirstItem:Yc(),isLastItem:Yc()}),pC=XO(null),NQ=(e,t)=>{const r=pC.useInject(),n=ze(()=>{if(!r||YO(r))return"";const{compactDirection:i,isFirstItem:a,isLastItem:s}=r,o=i==="vertical"?"-vertical-":"-";return pi({[`${e.value}-compact${o}item`]:!0,[`${e.value}-compact${o}first-item`]:a,[`${e.value}-compact${o}last-item`]:s,[`${e.value}-compact${o}item-rtl`]:t.value==="rtl"})});return{compactSize:ze(()=>r==null?void 0:r.compactSize),compactDirection:ze(()=>r==null?void 0:r.compactDirection),compactItemClassnames:n}},VQ=()=>({prefixCls:String,size:{type:String},direction:lv.oneOf(u0("horizontal","vertical")).def("horizontal"),align:lv.oneOf(u0("start","end","center","baseline")),block:{type:Boolean,default:void 0}}),jQ=Ut({name:"CompactItem",props:$Q(),setup(e,t){let{slots:r}=t;return pC.useProvide(e),()=>{var n;return(n=r.default)===null||n===void 0?void 0:n.call(r)}}});VQ();function HQ(e,t,r){const{focusElCls:n,focus:i,borderElCls:a}=r,s=a?"> *":"",o=["hover",i?"focus":null,"active"].filter(Boolean).map(h=>`&:${h} ${s}`).join(",");return{[`&-item:not(${t}-last-item)`]:{marginInlineEnd:-e.lineWidth},"&-item":Fe(Fe({[o]:{zIndex:2}},n?{[`&${n}`]:{zIndex:2}}:{}),{[`&[disabled] ${s}`]:{zIndex:0}})}}function UQ(e,t,r){const{borderElCls:n}=r,i=n?`> ${n}`:"";return{[`&-item:not(${t}-first-item):not(${t}-last-item) ${i}`]:{borderRadius:0},[`&-item:not(${t}-last-item)${t}-first-item`]:{[`& ${i}, &${e}-sm ${i}, &${e}-lg ${i}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${t}-first-item)${t}-last-item`]:{[`& ${i}, &${e}-sm ${i}, &${e}-lg ${i}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function GQ(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0};const{componentCls:r}=e,n=`${r}-compact`;return{[n]:Fe(Fe({},HQ(e,n,t)),UQ(r,n,t))}}var qQ={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"check-circle",theme:"outlined"};const WQ=qQ;function eD(e){for(var t=1;t{const{componentCls:t,colorPrimary:r}=e;return{[t]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:`var(--wave-color, ${r})`,boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:[`box-shadow 0.4s ${e.motionEaseOutCirc}`,`opacity 2s ${e.motionEaseOutCirc}`].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0}}}}},yee=hh("Wave",e=>[gee(e)]);function _ee(e){const t=(e||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return t&&t[1]&&t[2]&&t[3]?!(t[1]===t[2]&&t[2]===t[3]):!0}function Ox(e){return e&&e!=="#fff"&&e!=="#ffffff"&&e!=="rgb(255, 255, 255)"&&e!=="rgba(255, 255, 255, 1)"&&_ee(e)&&!/rgba\((?:\d*, ){3}0\)/.test(e)&&e!=="transparent"}function bee(e){const{borderTopColor:t,borderColor:r,backgroundColor:n}=getComputedStyle(e);return Ox(t)?t:Ox(r)?r:Ox(n)?n:null}function zx(e){return Number.isNaN(e)?0:e}const xee=Ut({props:{target:Ya(),className:String},setup(e){const t=zn(null),[r,n]=lc(null),[i,a]=lc([]),[s,o]=lc(0),[h,d]=lc(0),[m,g]=lc(0),[y,x]=lc(0),[E,M]=lc(!1);function P(){const{target:W}=e,Z=getComputedStyle(W);n(bee(W));const ee=Z.position==="static",{borderLeftWidth:re,borderTopWidth:ce}=Z;o(ee?W.offsetLeft:zx(-parseFloat(re))),d(ee?W.offsetTop:zx(-parseFloat(ce))),g(W.offsetWidth),x(W.offsetHeight);const{borderTopLeftRadius:le,borderTopRightRadius:ve,borderBottomLeftRadius:de,borderBottomRightRadius:Te}=Z;a([le,ve,Te,de].map(we=>zx(parseFloat(we))))}let D,k,O;const F=()=>{clearTimeout(O),I2.cancel(k),D==null||D.disconnect()},q=()=>{var W;const Z=(W=t.value)===null||W===void 0?void 0:W.parentElement;Z&&(a0(null,Z),Z.parentElement&&Z.parentElement.removeChild(Z))};Gn(()=>{F(),O=setTimeout(()=>{q()},5e3);const{target:W}=e;W&&(k=I2(()=>{P(),M(!0)}),typeof ResizeObserver<"u"&&(D=new ResizeObserver(P),D.observe(W)))}),Il(()=>{F()});const H=W=>{W.propertyName==="opacity"&&q()};return()=>{if(!E.value)return null;const W={left:`${s.value}px`,top:`${h.value}px`,width:`${m.value}px`,height:`${y.value}px`,borderRadius:i.value.map(Z=>`${Z}px`).join(" ")};return r&&(W["--wave-color"]=r.value),Oe(Ou,{appear:!0,name:"wave-motion",appearFromClass:"wave-motion-appear",appearActiveClass:"wave-motion-appear",appearToClass:"wave-motion-appear wave-motion-appear-active"},{default:()=>[Oe("div",{ref:t,class:e.className,style:W,onTransitionend:H},null)]})}}});function wee(e,t){const r=document.createElement("div");r.style.position="absolute",r.style.left="0px",r.style.top="0px",e==null||e.insertBefore(r,e==null?void 0:e.firstChild),a0(Oe(xee,{target:e,className:t},null),r)}function See(e,t){function r(){const n=P2(e);wee(n,t.value)}return r}const Tee=Ut({compatConfig:{MODE:3},name:"Wave",props:{disabled:Boolean},setup(e,t){let{slots:r}=t;const n=dd(),{prefixCls:i}=Dl("wave",e),[,a]=yee(i),s=See(n,ze(()=>pi(i.value,a.value)));let o;const h=()=>{P2(n).removeEventListener("click",o,!0)};return Gn(()=>{Qr(()=>e.disabled,()=>{h(),os(()=>{const d=P2(n);d==null||d.removeEventListener("click",o,!0),!(!d||d.nodeType!==1||e.disabled)&&(o=m=>{m.target.tagName==="INPUT"||!lK(m.target)||!d.getAttribute||d.getAttribute("disabled")||d.disabled||d.className.includes("disabled")||d.className.includes("-leave")||s()},d.addEventListener("click",o,!0))})},{immediate:!0,flush:"post"})}),Il(()=>{h()}),()=>{var d;return(d=r.default)===null||d===void 0?void 0:d.call(r)[0]}}}),Cee=()=>({prefixCls:String,type:String,htmlType:{type:String,default:"button"},shape:{type:String},size:{type:String},loading:{type:[Boolean,Object],default:()=>!1},disabled:{type:Boolean,default:void 0},ghost:{type:Boolean,default:void 0},block:{type:Boolean,default:void 0},danger:{type:Boolean,default:void 0},icon:lv.any,href:String,target:String,title:String,onClick:uI(),onMousedown:uI()}),Eee=Cee,sD=e=>{e&&(e.style.width="0px",e.style.opacity="0",e.style.transform="scale(0)")},lD=e=>{os(()=>{e&&(e.style.width=`${e.scrollWidth}px`,e.style.opacity="1",e.style.transform="scale(1)")})},uD=e=>{e&&e.style&&(e.style.width=null,e.style.opacity=null,e.style.transform=null)},Aee=Ut({compatConfig:{MODE:3},name:"LoadingIcon",props:{prefixCls:String,loading:[Boolean,Object],existIcon:Boolean},setup(e){return()=>{const{existIcon:t,prefixCls:r,loading:n}=e;if(t)return Oe("span",{class:`${r}-loading-icon`},[Oe(uv,null,null)]);const i=!!n;return Oe(Ou,{name:`${r}-loading-icon-motion`,onBeforeEnter:sD,onEnter:lD,onAfterEnter:uD,onBeforeLeave:lD,onLeave:a=>{setTimeout(()=>{sD(a)})},onAfterLeave:uD},{default:()=>[i?Oe("span",{class:`${r}-loading-icon`},[Oe(uv,null,null)]):null]})}}}),cD=(e,t)=>({[`> span, > ${e}`]:{"&:not(:last-child)":{[`&, & > ${e}`]:{"&:not(:disabled)":{borderInlineEndColor:t}}},"&:not(:first-child)":{[`&, & > ${e}`]:{"&:not(:disabled)":{borderInlineStartColor:t}}}}}),Mee=e=>{const{componentCls:t,fontSize:r,lineWidth:n,colorPrimaryHover:i,colorErrorHover:a}=e;return{[`${t}-group`]:[{position:"relative",display:"inline-flex",[`> span, > ${t}`]:{"&:not(:last-child)":{[`&, & > ${t}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:-n,[`&, & > ${t}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[t]:{position:"relative",zIndex:1,"&:hover,\n &:focus,\n &:active":{zIndex:2},"&[disabled]":{zIndex:0}},[`${t}-icon-only`]:{fontSize:r}},cD(`${t}-primary`,i),cD(`${t}-danger`,a)]}},Pee=Mee;function Iee(e,t){return{[`&-item:not(${t}-last-item)`]:{marginBottom:-e.lineWidth},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function Dee(e,t){return{[`&-item:not(${t}-first-item):not(${t}-last-item)`]:{borderRadius:0},[`&-item${t}-first-item:not(${t}-last-item)`]:{[`&, &${e}-sm, &${e}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${t}-last-item:not(${t}-first-item)`]:{[`&, &${e}-sm, &${e}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function Lee(e){const t=`${e.componentCls}-compact-vertical`;return{[t]:Fe(Fe({},Iee(e,t)),Dee(e.componentCls,t))}}const kee=e=>{const{componentCls:t,iconCls:r}=e;return{[t]:{outline:"none",position:"relative",display:"inline-block",fontWeight:400,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",backgroundColor:"transparent",border:`${e.lineWidth}px ${e.lineType} transparent`,cursor:"pointer",transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,userSelect:"none",touchAction:"manipulation",lineHeight:e.lineHeight,color:e.colorText,"> span":{display:"inline-block"},[`> ${r} + span, > span + ${r}`]:{marginInlineStart:e.marginXS},"> a":{color:"currentColor"},"&:not(:disabled)":Fe({},AY(e)),[`&-icon-only${t}-compact-item`]:{flex:"none"},[`&-compact-item${t}-primary`]:{[`&:not([disabled]) + ${t}-compact-item${t}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:-e.lineWidth,insetInlineStart:-e.lineWidth,display:"inline-block",width:e.lineWidth,height:`calc(100% + ${e.lineWidth*2}px)`,backgroundColor:e.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{[`&${t}-primary`]:{[`&:not([disabled]) + ${t}-compact-vertical-item${t}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:-e.lineWidth,insetInlineStart:-e.lineWidth,display:"inline-block",width:`calc(100% + ${e.lineWidth*2}px)`,height:e.lineWidth,backgroundColor:e.colorPrimaryHover,content:'""'}}}}}}},El=(e,t)=>({"&:not(:disabled)":{"&:hover":e,"&:active":t}}),Ree=e=>({minWidth:e.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),Oee=e=>({borderRadius:e.controlHeight,paddingInlineStart:e.controlHeight/2,paddingInlineEnd:e.controlHeight/2}),Y2=e=>({cursor:"not-allowed",borderColor:e.colorBorder,color:e.colorTextDisabled,backgroundColor:e.colorBgContainerDisabled,boxShadow:"none"}),m0=(e,t,r,n,i,a,s)=>({[`&${e}-background-ghost`]:Fe(Fe({color:t||void 0,backgroundColor:"transparent",borderColor:r||void 0,boxShadow:"none"},El(Fe({backgroundColor:"transparent"},a),Fe({backgroundColor:"transparent"},s))),{"&:disabled":{cursor:"not-allowed",color:n||void 0,borderColor:i||void 0}})}),wC=e=>({"&:disabled":Fe({},Y2(e))}),KO=e=>Fe({},wC(e)),v0=e=>({"&:disabled":{cursor:"not-allowed",color:e.colorTextDisabled}}),JO=e=>Fe(Fe(Fe(Fe(Fe({},KO(e)),{backgroundColor:e.colorBgContainer,borderColor:e.colorBorder,boxShadow:`0 ${e.controlOutlineWidth}px 0 ${e.controlTmpOutline}`}),El({color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),m0(e.componentCls,e.colorBgContainer,e.colorBgContainer,e.colorTextDisabled,e.colorBorder)),{[`&${e.componentCls}-dangerous`]:Fe(Fe(Fe({color:e.colorError,borderColor:e.colorError},El({color:e.colorErrorHover,borderColor:e.colorErrorBorderHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),m0(e.componentCls,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder)),wC(e))}),zee=e=>Fe(Fe(Fe(Fe(Fe({},KO(e)),{color:e.colorTextLightSolid,backgroundColor:e.colorPrimary,boxShadow:`0 ${e.controlOutlineWidth}px 0 ${e.controlOutline}`}),El({color:e.colorTextLightSolid,backgroundColor:e.colorPrimaryHover},{color:e.colorTextLightSolid,backgroundColor:e.colorPrimaryActive})),m0(e.componentCls,e.colorPrimary,e.colorPrimary,e.colorTextDisabled,e.colorBorder,{color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),{[`&${e.componentCls}-dangerous`]:Fe(Fe(Fe({backgroundColor:e.colorError,boxShadow:`0 ${e.controlOutlineWidth}px 0 ${e.colorErrorOutline}`},El({backgroundColor:e.colorErrorHover},{backgroundColor:e.colorErrorActive})),m0(e.componentCls,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder,{color:e.colorErrorHover,borderColor:e.colorErrorHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),wC(e))}),Bee=e=>Fe(Fe({},JO(e)),{borderStyle:"dashed"}),Fee=e=>Fe(Fe(Fe({color:e.colorLink},El({color:e.colorLinkHover},{color:e.colorLinkActive})),v0(e)),{[`&${e.componentCls}-dangerous`]:Fe(Fe({color:e.colorError},El({color:e.colorErrorHover},{color:e.colorErrorActive})),v0(e))}),$ee=e=>Fe(Fe(Fe({},El({color:e.colorText,backgroundColor:e.colorBgTextHover},{color:e.colorText,backgroundColor:e.colorBgTextActive})),v0(e)),{[`&${e.componentCls}-dangerous`]:Fe(Fe({color:e.colorError},v0(e)),El({color:e.colorErrorHover,backgroundColor:e.colorErrorBg},{color:e.colorErrorHover,backgroundColor:e.colorErrorBg}))}),Nee=e=>Fe(Fe({},Y2(e)),{[`&${e.componentCls}:hover`]:Fe({},Y2(e))}),Vee=e=>{const{componentCls:t}=e;return{[`${t}-default`]:JO(e),[`${t}-primary`]:zee(e),[`${t}-dashed`]:Bee(e),[`${t}-link`]:Fee(e),[`${t}-text`]:$ee(e),[`${t}-disabled`]:Nee(e)}},SC=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const{componentCls:r,iconCls:n,controlHeight:i,fontSize:a,lineHeight:s,lineWidth:o,borderRadius:h,buttonPaddingHorizontal:d}=e,m=Math.max(0,(i-a*s)/2-o),g=d-o,y=`${r}-icon-only`;return[{[`${r}${t}`]:{fontSize:a,height:i,padding:`${m}px ${g}px`,borderRadius:h,[`&${y}`]:{width:i,paddingInlineStart:0,paddingInlineEnd:0,[`&${r}-round`]:{width:"auto"},"> span":{transform:"scale(1.143)"}},[`&${r}-loading`]:{opacity:e.opacityLoading,cursor:"default"},[`${r}-loading-icon`]:{transition:`width ${e.motionDurationSlow} ${e.motionEaseInOut}, opacity ${e.motionDurationSlow} ${e.motionEaseInOut}`},[`&:not(${y}) ${r}-loading-icon > ${n}`]:{marginInlineEnd:e.marginXS}}},{[`${r}${r}-circle${t}`]:Ree(e)},{[`${r}${r}-round${t}`]:Oee(e)}]},jee=e=>SC(e),Hee=e=>{const t=Bu(e,{controlHeight:e.controlHeightSM,padding:e.paddingXS,buttonPaddingHorizontal:8,borderRadius:e.borderRadiusSM});return SC(t,`${e.componentCls}-sm`)},Uee=e=>{const t=Bu(e,{controlHeight:e.controlHeightLG,fontSize:e.fontSizeLG,borderRadius:e.borderRadiusLG});return SC(t,`${e.componentCls}-lg`)},Gee=e=>{const{componentCls:t}=e;return{[t]:{[`&${t}-block`]:{width:"100%"}}}},qee=hh("Button",e=>{const{controlTmpOutline:t,paddingContentHorizontal:r}=e,n=Bu(e,{colorOutlineDefault:t,buttonPaddingHorizontal:r});return[kee(n),Hee(n),jee(n),Uee(n),Gee(n),Vee(n),Pee(n),GQ(e,{focus:!1}),Lee(e)]}),Wee=()=>({prefixCls:String,size:{type:String}}),QO=XO(),K2=Ut({compatConfig:{MODE:3},name:"AButtonGroup",props:Wee(),setup(e,t){let{slots:r}=t;const{prefixCls:n,direction:i}=Dl("btn-group",e),[,,a]=Uv();QO.useProvide($a({size:ze(()=>e.size)}));const s=ze(()=>{const{size:o}=e;let h="";switch(o){case"large":h="lg";break;case"small":h="sm";break;case"middle":case void 0:break;default:LO(!o,"Button.Group","Invalid prop `size`.")}return{[`${n.value}`]:!0,[`${n.value}-${h}`]:h,[`${n.value}-rtl`]:i.value==="rtl",[a.value]:!0}});return()=>{var o;return Oe("div",{class:s.value},[nv((o=r.default)===null||o===void 0?void 0:o.call(r))])}}}),hD=/^[\u4e00-\u9fa5]{2}$/,fD=hD.test.bind(hD);function Iy(e){return e==="text"||e==="link"}const Pm=Ut({compatConfig:{MODE:3},name:"AButton",inheritAttrs:!1,__ANT_BUTTON:!0,props:XT(Eee(),{type:"default"}),slots:Object,setup(e,t){let{slots:r,attrs:n,emit:i,expose:a}=t;const{prefixCls:s,autoInsertSpaceInButton:o,direction:h,size:d}=Dl("btn",e),[m,g]=qee(s),y=QO.useInject(),x=QT(),E=ze(()=>{var Te;return(Te=e.disabled)!==null&&Te!==void 0?Te:x.value}),M=zn(null),P=zn(void 0);let D=!1;const k=zn(!1),O=zn(!1),F=ze(()=>o.value!==!1),{compactSize:q,compactItemClassnames:H}=NQ(s,h),W=ze(()=>typeof e.loading=="object"&&e.loading.delay?e.loading.delay||!0:!!e.loading);Qr(W,Te=>{clearTimeout(P.value),typeof W.value=="number"?P.value=setTimeout(()=>{k.value=Te},W.value):k.value=Te},{immediate:!0});const Z=ze(()=>{const{type:Te,shape:we="default",ghost:Ue,block:He,danger:Mt}=e,Pt=s.value,er={large:"lg",small:"sm",middle:void 0},Dt=q.value||(y==null?void 0:y.size)||d.value,Wt=Dt&&er[Dt]||"";return[H.value,{[g.value]:!0,[`${Pt}`]:!0,[`${Pt}-${we}`]:we!=="default"&&we,[`${Pt}-${Te}`]:Te,[`${Pt}-${Wt}`]:Wt,[`${Pt}-loading`]:k.value,[`${Pt}-background-ghost`]:Ue&&!Iy(Te),[`${Pt}-two-chinese-chars`]:O.value&&F.value,[`${Pt}-block`]:He,[`${Pt}-dangerous`]:!!Mt,[`${Pt}-rtl`]:h.value==="rtl"}]}),ee=()=>{const Te=M.value;if(!Te||o.value===!1)return;const we=Te.textContent;D&&fD(we)?O.value||(O.value=!0):O.value&&(O.value=!1)},re=Te=>{if(k.value||E.value){Te.preventDefault();return}i("click",Te)},ce=Te=>{i("mousedown",Te)},le=(Te,we)=>{const Ue=we?" ":"";if(Te.type===Iu){let He=Te.children.trim();return fD(He)&&(He=He.split("").join(Ue)),Oe("span",null,[He])}return Te};return ts(()=>{LO(!(e.ghost&&Iy(e.type)),"Button","`link` or `text` button can't be a `ghost` button.")}),Gn(ee),e1(ee),Il(()=>{P.value&&clearTimeout(P.value)}),a({focus:()=>{var Te;(Te=M.value)===null||Te===void 0||Te.focus()},blur:()=>{var Te;(Te=M.value)===null||Te===void 0||Te.blur()}}),()=>{var Te,we;const{icon:Ue=(Te=r.icon)===null||Te===void 0?void 0:Te.call(r)}=e,He=nv((we=r.default)===null||we===void 0?void 0:we.call(r));D=He.length===1&&!Ue&&!Iy(e.type);const{type:Mt,htmlType:Pt,href:er,title:Dt,target:Wt}=e,ur=k.value?"loading":Ue,Ar=Fe(Fe({},n),{title:Dt,disabled:E.value,class:[Z.value,n.class,{[`${s.value}-icon-only`]:He.length===0&&!!ur}],onClick:re,onMousedown:ce});E.value||delete Ar.disabled;const mr=Ue&&!k.value?Ue:Oe(Aee,{existIcon:!!Ue,prefixCls:s.value,loading:!!k.value},null),qe=He.map(et=>le(et,D&&F.value));if(er!==void 0)return m(Oe("a",dn(dn({},Ar),{},{href:er,target:Wt,ref:M}),[mr,qe]));let lt=Oe("button",dn(dn({},Ar),{},{ref:M,type:Pt}),[mr,qe]);if(!Iy(Mt)){const et=function(){return lt}();lt=Oe(Tee,{ref:"wave",disabled:!!k.value},{default:()=>[et]})}return m(lt)}}});Pm.Group=K2;Pm.install=function(e){return e.component(Pm.name,Pm),e.component(K2.name,K2),e};function e6(e,t){return e.classList?e.classList.contains(t):` ${e.className} `.indexOf(` ${t} `)>-1}function Zee(e,t){e.classList?e.classList.add(t):e6(e,t)||(e.className=`${e.className} ${t}`)}function Xee(e,t){if(e.classList)e.classList.remove(t);else if(e6(e,t)){const r=e.className;e.className=` ${r} `.replace(` ${t} `," ")}}var t6=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function r6(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function TC(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}let Bx=Fe({},iv.Modal);function Yee(e){e?Bx=Fe(Fe({},Bx),e):Bx=Fe({},iv.Modal)}const J2="internalMark",I_=Ut({compatConfig:{MODE:3},name:"ALocaleProvider",props:{locale:{type:Object},ANT_MARK__:String},setup(e,t){let{slots:r}=t;aC(e.ANT_MARK__===J2);const n=$a({antLocale:Fe(Fe({},e.locale),{exist:!0}),ANT_MARK__:J2});return zi("localeData",n),Qr(()=>e.locale,i=>{Yee(i&&i.Modal),n.antLocale=Fe(Fe({},i),{exist:!0})},{immediate:!0}),()=>{var i;return(i=r.default)===null||i===void 0?void 0:i.call(r)}}});I_.install=function(e){return e.component(I_.name,I_),e};const Kee=d1(I_),n6=Ut({name:"Notice",inheritAttrs:!1,props:["prefixCls","duration","updateMark","noticeKey","closeIcon","closable","props","onClick","onClose","holder","visible"],setup(e,t){let{attrs:r,slots:n}=t,i,a=!1;const s=ze(()=>e.duration===void 0?4.5:e.duration),o=()=>{s.value&&!a&&(i=setTimeout(()=>{d()},s.value*1e3))},h=()=>{i&&(clearTimeout(i),i=null)},d=g=>{g&&g.stopPropagation(),h();const{onClose:y,noticeKey:x}=e;y&&y(x)},m=()=>{h(),o()};return Gn(()=>{o()}),fd(()=>{a=!0,h()}),Qr([s,()=>e.updateMark,()=>e.visible],(g,y)=>{let[x,E,M]=g,[P,D,k]=y;(x!==P||E!==D||M!==k&&k)&&m()},{flush:"post"}),()=>{var g,y;const{prefixCls:x,closable:E,closeIcon:M=(g=n.closeIcon)===null||g===void 0?void 0:g.call(n),onClick:P,holder:D}=e,{class:k,style:O}=r,F=`${x}-notice`,q=Object.keys(r).reduce((W,Z)=>((Z.startsWith("data-")||Z.startsWith("aria-")||Z==="role")&&(W[Z]=r[Z]),W),{}),H=Oe("div",dn({class:pi(F,k,{[`${F}-closable`]:E}),style:O,onMouseenter:h,onMouseleave:o,onClick:P},q),[Oe("div",{class:`${F}-content`},[(y=n.default)===null||y===void 0?void 0:y.call(n)]),E?Oe("a",{tabindex:0,onClick:d,class:`${F}-close`},[M||Oe("span",{class:`${F}-close-x`},null)]):null]);return D?Oe(lR,{to:D},{default:()=>H}):H}}});var Jee=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i{const{prefixCls:m,animation:g="fade"}=e;let y=e.transitionName;return!y&&g&&(y=`${m}-${g}`),jO(y)}),h=(m,g)=>{const y=m.key||pD(),x=Fe(Fe({},m),{key:y}),{maxCount:E}=e,M=s.value.map(D=>D.notice.key).indexOf(y),P=s.value.concat();M!==-1?P.splice(M,1,{notice:x,holderCallback:g}):(E&&s.value.length>=E&&(x.key=P[0].notice.key,x.updateMark=pD(),x.userPassKey=y,P.shift()),P.push({notice:x,holderCallback:g})),s.value=P},d=m=>{s.value=s.value.filter(g=>{let{notice:{key:y,userPassKey:x}}=g;return(x||y)!==m})};return n({add:h,remove:d,notices:s}),()=>{var m;const{prefixCls:g,closeIcon:y=(m=i.closeIcon)===null||m===void 0?void 0:m.call(i,{prefixCls:g})}=e,x=s.value.map((M,P)=>{let{notice:D,holderCallback:k}=M;const O=P===s.value.length-1?D.updateMark:void 0,{key:F,userPassKey:q}=D,{content:H}=D,W=Fe(Fe(Fe({prefixCls:g,closeIcon:typeof y=="function"?y({prefixCls:g}):y},D),D.props),{key:F,noticeKey:q||F,updateMark:O,onClose:Z=>{var ee;d(Z),(ee=D.onClose)===null||ee===void 0||ee.call(D)},onClick:D.onClick});return k?Oe("div",{key:F,class:`${g}-hook-holder`,ref:Z=>{typeof F>"u"||(Z?(a.set(F,Z),k(Z,W)):a.delete(F))}},null):Oe(n6,dn(dn({},W),{},{class:pi(W.class,e.hashId)}),{default:()=>[typeof H=="function"?H({prefixCls:g}):H]})}),E={[g]:1,[r.class]:!!r.class,[e.hashId]:!0};return Oe("div",{class:E,style:r.style||{top:"65px",left:"50%"}},[Oe(SR,dn({tag:"div"},o.value),{default:()=>[x]})])}}});Q2.newInstance=function(t,r){const n=t||{},{name:i="notification",getContainer:a,appContext:s,prefixCls:o,rootPrefixCls:h,transitionName:d,hasTransitionName:m,useStyle:g}=n,y=Jee(n,["name","getContainer","appContext","prefixCls","rootPrefixCls","transitionName","hasTransitionName","useStyle"]),x=document.createElement("div");a?a().appendChild(x):document.body.appendChild(x);const M=Oe(Ut({compatConfig:{MODE:3},name:"NotificationWrapper",setup(P,D){let{attrs:k}=D;const O=zn(),F=ze(()=>Ki.getPrefixCls(i,o)),[,q]=g(F);return Gn(()=>{r({notice(H){var W;(W=O.value)===null||W===void 0||W.add(H)},removeNotice(H){var W;(W=O.value)===null||W===void 0||W.remove(H)},destroy(){a0(null,x),x.parentNode&&x.parentNode.removeChild(x)},component:O})}),()=>{const H=Ki,W=H.getRootPrefixCls(h,F.value),Z=m?d:`${F.value}-${d}`;return Oe(EC,dn(dn({},H),{},{prefixCls:W}),{default:()=>[Oe(Q2,dn(dn({ref:O},k),{},{prefixCls:F.value,transitionName:Z,hashId:q.value}),null)]})}}}),y);M.appContext=s||M.appContext,a0(M,x)};const i6=Q2;let mD=0;const ete=Date.now();function vD(){const e=mD;return mD+=1,`rcNotification_${ete}_${e}`}const tte=Ut({name:"HookNotification",inheritAttrs:!1,props:["prefixCls","transitionName","animation","maxCount","closeIcon","hashId","remove","notices","getStyles","getClassName","onAllRemoved","getContainer"],setup(e,t){let{attrs:r,slots:n}=t;const i=new Map,a=ze(()=>e.notices),s=ze(()=>{let m=e.transitionName;if(!m&&e.animation)switch(typeof e.animation){case"string":m=e.animation;break;case"function":m=e.animation().name;break;case"object":m=e.animation.name;break;default:m=`${e.prefixCls}-fade`;break}return jO(m)}),o=m=>e.remove(m),h=xr({});Qr(a,()=>{const m={};Object.keys(h.value).forEach(g=>{m[g]=[]}),e.notices.forEach(g=>{const{placement:y="topRight"}=g.notice;y&&(m[y]=m[y]||[],m[y].push(g))}),h.value=m});const d=ze(()=>Object.keys(h.value));return()=>{var m;const{prefixCls:g,closeIcon:y=(m=n.closeIcon)===null||m===void 0?void 0:m.call(n,{prefixCls:g})}=e,x=d.value.map(E=>{var M,P;const D=h.value[E],k=(M=e.getClassName)===null||M===void 0?void 0:M.call(e,E),O=(P=e.getStyles)===null||P===void 0?void 0:P.call(e,E),F=D.map((W,Z)=>{let{notice:ee,holderCallback:re}=W;const ce=Z===a.value.length-1?ee.updateMark:void 0,{key:le,userPassKey:ve}=ee,{content:de}=ee,Te=Fe(Fe(Fe({prefixCls:g,closeIcon:typeof y=="function"?y({prefixCls:g}):y},ee),ee.props),{key:le,noticeKey:ve||le,updateMark:ce,onClose:we=>{var Ue;o(we),(Ue=ee.onClose)===null||Ue===void 0||Ue.call(ee)},onClick:ee.onClick});return re?Oe("div",{key:le,class:`${g}-hook-holder`,ref:we=>{typeof le>"u"||(we?(i.set(le,we),re(we,Te)):i.delete(le))}},null):Oe(n6,dn(dn({},Te),{},{class:pi(Te.class,e.hashId)}),{default:()=>[typeof de=="function"?de({prefixCls:g}):de]})}),q={[g]:1,[`${g}-${E}`]:1,[r.class]:!!r.class,[e.hashId]:!0,[k]:!!k};function H(){var W;D.length>0||(Reflect.deleteProperty(h.value,E),(W=e.onAllRemoved)===null||W===void 0||W.call(e))}return Oe("div",{key:E,class:q,style:r.style||O||{top:"65px",left:"50%"}},[Oe(SR,dn(dn({tag:"div"},s.value),{},{onAfterLeave:H}),{default:()=>[F]})])});return Oe(XJ,{getContainer:e.getContainer},{default:()=>[x]})}}}),rte=tte;var nte=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);idocument.body;let gD=0;function ate(){const e={};for(var t=arguments.length,r=new Array(t),n=0;n{i&&Object.keys(i).forEach(a=>{const s=i[a];s!==void 0&&(e[a]=s)})}),e}function a6(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{getContainer:t=ite,motion:r,prefixCls:n,maxCount:i,getClassName:a,getStyles:s,onAllRemoved:o}=e,h=nte(e,["getContainer","motion","prefixCls","maxCount","getClassName","getStyles","onAllRemoved"]),d=zn([]),m=zn(),g=(D,k)=>{const O=D.key||vD(),F=Fe(Fe({},D),{key:O}),q=d.value.map(W=>W.notice.key).indexOf(O),H=d.value.concat();q!==-1?H.splice(q,1,{notice:F,holderCallback:k}):(i&&d.value.length>=i&&(F.key=H[0].notice.key,F.updateMark=vD(),F.userPassKey=O,H.shift()),H.push({notice:F,holderCallback:k})),d.value=H},y=D=>{d.value=d.value.filter(k=>{let{notice:{key:O,userPassKey:F}}=k;return(F||O)!==D})},x=()=>{d.value=[]},E=ze(()=>Oe(rte,{ref:m,prefixCls:n,maxCount:i,notices:d.value,remove:y,getClassName:a,getStyles:s,animation:r,hashId:e.hashId,onAllRemoved:o,getContainer:t},null)),M=zn([]),P={open:D=>{const k=ate(h,D);(k.key===null||k.key===void 0)&&(k.key=`vc-notification-${gD}`,gD+=1),M.value=[...M.value,{type:"open",config:k}]},close:D=>{M.value=[...M.value,{type:"close",key:D}]},destroy:()=>{M.value=[...M.value,{type:"destroy"}]}};return Qr(M,()=>{M.value.length&&(M.value.forEach(D=>{switch(D.type){case"open":g(D.config);break;case"close":y(D.key);break;case"destroy":x();break}}),M.value=[])}),[P,()=>E.value]}const ote=e=>{const{componentCls:t,iconCls:r,boxShadowSecondary:n,colorBgElevated:i,colorSuccess:a,colorError:s,colorWarning:o,colorInfo:h,fontSizeLG:d,motionEaseInOutCirc:m,motionDurationSlow:g,marginXS:y,paddingXS:x,borderRadiusLG:E,zIndexPopup:M,messageNoticeContentPadding:P}=e,D=new Jc("MessageMoveIn",{"0%":{padding:0,transform:"translateY(-100%)",opacity:0},"100%":{padding:x,transform:"translateY(0)",opacity:1}}),k=new Jc("MessageMoveOut",{"0%":{maxHeight:e.height,padding:x,opacity:1},"100%":{maxHeight:0,padding:0,opacity:0}});return[{[t]:Fe(Fe({},oC(e)),{position:"fixed",top:y,width:"100%",pointerEvents:"none",zIndex:M,[`${t}-move-up`]:{animationFillMode:"forwards"},[` + ${t}-move-up-appear, + ${t}-move-up-enter + `]:{animationName:D,animationDuration:g,animationPlayState:"paused",animationTimingFunction:m},[` + ${t}-move-up-appear${t}-move-up-appear-active, + ${t}-move-up-enter${t}-move-up-enter-active + `]:{animationPlayState:"running"},[`${t}-move-up-leave`]:{animationName:k,animationDuration:g,animationPlayState:"paused",animationTimingFunction:m},[`${t}-move-up-leave${t}-move-up-leave-active`]:{animationPlayState:"running"},"&-rtl":{direction:"rtl",span:{direction:"rtl"}}})},{[`${t}-notice`]:{padding:x,textAlign:"center",[r]:{verticalAlign:"text-bottom",marginInlineEnd:y,fontSize:d},[`${t}-notice-content`]:{display:"inline-block",padding:P,background:i,borderRadius:E,boxShadow:n,pointerEvents:"all"},[`${t}-success ${r}`]:{color:a},[`${t}-error ${r}`]:{color:s},[`${t}-warning ${r}`]:{color:o},[` + ${t}-info ${r}, + ${t}-loading ${r}`]:{color:h}}},{[`${t}-notice-pure-panel`]:{padding:0,textAlign:"start"}}]},o6=hh("Message",e=>{const t=Bu(e,{messageNoticeContentPadding:`${(e.controlHeightLG-e.fontSize*e.lineHeight)/2}px ${e.paddingSM}px`});return[ote(t)]},e=>({height:150,zIndexPopup:e.zIndexPopupBase+10}));var ste=["class","component","viewBox","spin","rotate","tabindex","onClick"];function Dy(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function ute(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,a;for(a=0;a=0)&&(r[i]=e[i]);return r}var T1=function(t,r){var n=r.attrs,i=r.slots,a=Dy({},t,n),s=a.class,o=a.component,h=a.viewBox,d=a.spin,m=a.rotate,g=a.tabindex,y=a.onClick,x=lte(a,ste),E=i.default&&i.default(),M=E&&E.length,P=i.component;qO();var D=s6({anticon:!0},s,s),k={"anticon-spin":d===""||!!d},O=m?{msTransform:"rotate(".concat(m,"deg)"),transform:"rotate(".concat(m,"deg)")}:void 0,F=Dy({},eQ,{viewBox:h,class:k,style:O});h||delete F.viewBox;var q=function(){return o?Oe(o,F,{default:function(){return[E]}}):P?P(F):M?(h||E.length===1&&E[0]&&E[0].type,Oe("svg",Dy({},F,{viewBox:h}),[E])):null},H=g;return H===void 0&&y&&(H=-1,x.tabindex=H),Oe("span",Dy({role:"img"},x,{onClick:y,class:D}),[q()])};T1.props={spin:Boolean,rotate:Number,viewBox:String,ariaLabel:String};T1.inheritAttrs=!1;T1.displayName="Icon";const cte=T1,hte={info:Oe(S1,null,null),success:Oe(x1,null,null),error:Oe(b1,null,null),warning:Oe(w1,null,null),loading:Oe(uv,null,null)},fte=Ut({name:"PureContent",inheritAttrs:!1,props:["prefixCls","type","icon"],setup(e,t){let{slots:r}=t;return()=>{var n;return Oe("div",{class:pi(`${e.prefixCls}-custom-content`,`${e.prefixCls}-${e.type}`)},[e.icon||hte[e.type],Oe("span",null,[(n=r.default)===null||n===void 0?void 0:n.call(r)])])}}});var dte=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);ii("message",e.prefixCls)),[,o]=o6(s),h=()=>{var E;const M=(E=e.top)!==null&&E!==void 0?E:pte;return{left:"50%",transform:"translateX(-50%)",top:typeof M=="number"?`${M}px`:M}},d=()=>pi(o.value,e.rtl?`${s.value}-rtl`:""),m=()=>{var E;return sK({prefixCls:s.value,animation:(E=e.animation)!==null&&E!==void 0?E:"move-up",transitionName:e.transitionName})},g=Oe("span",{class:`${s.value}-close-x`},[Oe(cte,{class:`${s.value}-close-icon`},null)]),[y,x]=a6({getStyles:h,prefixCls:s.value,getClassName:d,motion:m,closable:!1,closeIcon:g,duration:(n=e.duration)!==null&&n!==void 0?n:mte,getContainer:()=>{var E,M;return((E=e.staticGetContainer)===null||E===void 0?void 0:E.call(e))||((M=a.value)===null||M===void 0?void 0:M.call(a))||document.body},maxCount:e.maxCount,onAllRemoved:e.onAllRemoved});return r(Fe(Fe({},y),{prefixCls:s,hashId:o})),x}});let yD=0;function gte(e){const t=zn(null),r=Symbol("messageHolderKey"),n=h=>{var d;(d=t.value)===null||d===void 0||d.close(h)},i=h=>{if(!t.value){const q=()=>{};return q.then=()=>{},q}const{open:d,prefixCls:m,hashId:g}=t.value,y=`${m}-notice`,{content:x,icon:E,type:M,key:P,class:D,onClose:k}=h,O=dte(h,["content","icon","type","key","class","onClose"]);let F=P;return F==null&&(yD+=1,F=`antd-message-${yD}`),OZ(q=>(d(Fe(Fe({},O),{key:F,content:()=>Oe(fte,{prefixCls:m,type:M,icon:typeof E=="function"?E():E},{default:()=>[typeof x=="function"?x():x]}),placement:"top",class:pi(M&&`${y}-${M}`,g,D),onClose:()=>{k==null||k(),q()}})),()=>{n(F)}))},s={open:i,destroy:h=>{var d;h!==void 0?n(h):(d=t.value)===null||d===void 0||d.destroy()}};return["info","success","warning","error","loading"].forEach(h=>{const d=(m,g,y)=>{let x;m&&typeof m=="object"&&"content"in m?x=m:x={content:m};let E,M;typeof g=="function"?M=g:(E=g,M=y);const P=Fe(Fe({onClose:M,duration:E},x),{type:h});return i(P)};s[h]=d}),[s,()=>Oe(vte,dn(dn({key:r},e),{},{ref:t}),null)]}function yte(e){return gte(e)}let l6=3,u6,ya,_te=1,c6="",h6="move-up",f6=!1,d6=()=>document.body,p6,m6=!1;function bte(){return _te++}function xte(e){e.top!==void 0&&(u6=e.top,ya=null),e.duration!==void 0&&(l6=e.duration),e.prefixCls!==void 0&&(c6=e.prefixCls),e.getContainer!==void 0&&(d6=e.getContainer,ya=null),e.transitionName!==void 0&&(h6=e.transitionName,ya=null,f6=!0),e.maxCount!==void 0&&(p6=e.maxCount,ya=null),e.rtl!==void 0&&(m6=e.rtl)}function wte(e,t){if(ya){t(ya);return}i6.newInstance({appContext:e.appContext,prefixCls:e.prefixCls||c6,rootPrefixCls:e.rootPrefixCls,transitionName:h6,hasTransitionName:f6,style:{top:u6},getContainer:d6||e.getPopupContainer,maxCount:p6,name:"message",useStyle:o6},r=>{if(ya){t(ya);return}ya=r,t(r)})}const v6={info:S1,success:x1,error:b1,warning:w1,loading:uv},Ste=Object.keys(v6);function Tte(e){const t=e.duration!==void 0?e.duration:l6,r=e.key||bte(),n=new Promise(a=>{const s=()=>(typeof e.onClose=="function"&&e.onClose(),a(!0));wte(e,o=>{o.notice({key:r,duration:t,style:e.style||{},class:e.class,content:h=>{let{prefixCls:d}=h;const m=v6[e.type],g=m?Oe(m,null,null):"",y=pi(`${d}-custom-content`,{[`${d}-${e.type}`]:e.type,[`${d}-rtl`]:m6===!0});return Oe("div",{class:y},[typeof e.icon=="function"?e.icon():e.icon||g,Oe("span",null,[typeof e.content=="function"?e.content():e.content])])},onClose:s,onClick:e.onClick})})}),i=()=>{ya&&ya.removeNotice(r)};return i.then=(a,s)=>n.then(a,s),i.promise=n,i}function Cte(e){return Object.prototype.toString.call(e)==="[object Object]"&&!!e.content}const cv={open:Tte,config:xte,destroy(e){if(ya)if(e){const{removeNotice:t}=ya;t(e)}else{const{destroy:t}=ya;t(),ya=null}}};function Ete(e,t){e[t]=(r,n,i)=>Cte(r)?e.open(Fe(Fe({},r),{type:t})):(typeof n=="function"&&(i=n,n=void 0),e.open({content:r,duration:n,type:t,onClose:i}))}Ste.forEach(e=>Ete(cv,e));cv.warn=cv.warning;cv.useMessage=yte;const Ate=cv,Mte=e=>{const{componentCls:t,width:r,notificationMarginEdge:n}=e,i=new Jc("antNotificationTopFadeIn",{"0%":{marginTop:"-100%",opacity:0},"100%":{marginTop:0,opacity:1}}),a=new Jc("antNotificationBottomFadeIn",{"0%":{marginBottom:"-100%",opacity:0},"100%":{marginBottom:0,opacity:1}}),s=new Jc("antNotificationLeftFadeIn",{"0%":{right:{_skip_check_:!0,value:r},opacity:0},"100%":{right:{_skip_check_:!0,value:0},opacity:1}});return{[`&${t}-top, &${t}-bottom`]:{marginInline:0},[`&${t}-top`]:{[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationName:i}},[`&${t}-bottom`]:{[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationName:a}},[`&${t}-topLeft, &${t}-bottomLeft`]:{marginInlineEnd:0,marginInlineStart:n,[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationName:s}}}},Pte=Mte,Ite=e=>{const{iconCls:t,componentCls:r,boxShadowSecondary:n,fontSizeLG:i,notificationMarginBottom:a,borderRadiusLG:s,colorSuccess:o,colorInfo:h,colorWarning:d,colorError:m,colorTextHeading:g,notificationBg:y,notificationPadding:x,notificationMarginEdge:E,motionDurationMid:M,motionEaseInOut:P,fontSize:D,lineHeight:k,width:O,notificationIconSize:F}=e,q=`${r}-notice`,H=new Jc("antNotificationFadeIn",{"0%":{left:{_skip_check_:!0,value:O},opacity:0},"100%":{left:{_skip_check_:!0,value:0},opacity:1}}),W=new Jc("antNotificationFadeOut",{"0%":{maxHeight:e.animationMaxHeight,marginBottom:a,opacity:1},"100%":{maxHeight:0,marginBottom:0,paddingTop:0,paddingBottom:0,opacity:0}});return[{[r]:Fe(Fe(Fe(Fe({},oC(e)),{position:"fixed",zIndex:e.zIndexPopup,marginInlineEnd:E,[`${r}-hook-holder`]:{position:"relative"},[`&${r}-top, &${r}-bottom`]:{[`${r}-notice`]:{marginInline:"auto auto"}},[`&${r}-topLeft, &${r}-bottomLeft`]:{[`${r}-notice`]:{marginInlineEnd:"auto",marginInlineStart:0}},[`${r}-fade-enter, ${r}-fade-appear`]:{animationDuration:e.motionDurationMid,animationTimingFunction:P,animationFillMode:"both",opacity:0,animationPlayState:"paused"},[`${r}-fade-leave`]:{animationTimingFunction:P,animationFillMode:"both",animationDuration:M,animationPlayState:"paused"},[`${r}-fade-enter${r}-fade-enter-active, ${r}-fade-appear${r}-fade-appear-active`]:{animationName:H,animationPlayState:"running"},[`${r}-fade-leave${r}-fade-leave-active`]:{animationName:W,animationPlayState:"running"}}),Pte(e)),{"&-rtl":{direction:"rtl",[`${r}-notice-btn`]:{float:"left"}}})},{[q]:{position:"relative",width:O,maxWidth:`calc(100vw - ${E*2}px)`,marginBottom:a,marginInlineStart:"auto",padding:x,overflow:"hidden",lineHeight:k,wordWrap:"break-word",background:y,borderRadius:s,boxShadow:n,[`${r}-close-icon`]:{fontSize:D,cursor:"pointer"},[`${q}-message`]:{marginBottom:e.marginXS,color:g,fontSize:i,lineHeight:e.lineHeightLG},[`${q}-description`]:{fontSize:D},[`&${q}-closable ${q}-message`]:{paddingInlineEnd:e.paddingLG},[`${q}-with-icon ${q}-message`]:{marginBottom:e.marginXS,marginInlineStart:e.marginSM+F,fontSize:i},[`${q}-with-icon ${q}-description`]:{marginInlineStart:e.marginSM+F,fontSize:D},[`${q}-icon`]:{position:"absolute",fontSize:F,lineHeight:0,[`&-success${t}`]:{color:o},[`&-info${t}`]:{color:h},[`&-warning${t}`]:{color:d},[`&-error${t}`]:{color:m}},[`${q}-close`]:{position:"absolute",top:e.notificationPaddingVertical,insetInlineEnd:e.notificationPaddingHorizontal,color:e.colorIcon,outline:"none",width:e.notificationCloseButtonSize,height:e.notificationCloseButtonSize,borderRadius:e.borderRadiusSM,transition:`background-color ${e.motionDurationMid}, color ${e.motionDurationMid}`,display:"flex",alignItems:"center",justifyContent:"center","&:hover":{color:e.colorIconHover,backgroundColor:e.wireframe?"transparent":e.colorFillContent}},[`${q}-btn`]:{float:"right",marginTop:e.marginSM}}},{[`${q}-pure-panel`]:{margin:0}}]},g6=hh("Notification",e=>{const t=e.paddingMD,r=e.paddingLG,n=Bu(e,{notificationBg:e.colorBgElevated,notificationPaddingVertical:t,notificationPaddingHorizontal:r,notificationPadding:`${e.paddingMD}px ${e.paddingContentHorizontalLG}px`,notificationMarginBottom:e.margin,notificationMarginEdge:e.marginLG,animationMaxHeight:150,notificationIconSize:e.fontSizeLG*e.lineHeightLG,notificationCloseButtonSize:e.controlHeightLG*.55});return[Ite(n)]},e=>({zIndexPopup:e.zIndexPopupBase+50,width:384}));function Dte(e,t){return t||Oe("span",{class:`${e}-close-x`},[Oe(ZO,{class:`${e}-close-icon`},null)])}Oe(S1,null,null),Oe(x1,null,null),Oe(b1,null,null),Oe(w1,null,null),Oe(uv,null,null);const Lte={success:x1,info:S1,error:b1,warning:w1};function kte(e){let{prefixCls:t,icon:r,type:n,message:i,description:a,btn:s}=e,o=null;if(r)o=Oe("span",{class:`${t}-icon`},[Cf(r)]);else if(n){const h=Lte[n];o=Oe(h,{class:`${t}-icon ${t}-icon-${n}`},null)}return Oe("div",{class:pi({[`${t}-with-icon`]:o}),role:"alert"},[o,Oe("div",{class:`${t}-message`},[i]),Oe("div",{class:`${t}-description`},[a]),s&&Oe("div",{class:`${t}-btn`},[s])])}function y6(e,t,r){let n;switch(t=typeof t=="number"?`${t}px`:t,r=typeof r=="number"?`${r}px`:r,e){case"top":n={left:"50%",transform:"translateX(-50%)",right:"auto",top:t,bottom:"auto"};break;case"topLeft":n={left:0,top:t,bottom:"auto"};break;case"topRight":n={right:0,top:t,bottom:"auto"};break;case"bottom":n={left:"50%",transform:"translateX(-50%)",right:"auto",top:"auto",bottom:r};break;case"bottomLeft":n={left:0,top:"auto",bottom:r};break;default:n={right:0,top:"auto",bottom:r};break}return n}function Rte(e){return{name:`${e}-fade`}}var Ote=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);ie.prefixCls||n("notification")),s=y=>{var x,E;return y6(y,(x=e.top)!==null&&x!==void 0?x:_D,(E=e.bottom)!==null&&E!==void 0?E:_D)},[,o]=g6(a),h=()=>pi(o.value,{[`${a.value}-rtl`]:e.rtl}),d=()=>Rte(a.value),[m,g]=a6({prefixCls:a.value,getStyles:s,getClassName:h,motion:d,closable:!0,closeIcon:Dte(a.value),duration:zte,getContainer:()=>{var y,x;return((y=e.getPopupContainer)===null||y===void 0?void 0:y.call(e))||((x=i.value)===null||x===void 0?void 0:x.call(i))||document.body},maxCount:e.maxCount,hashId:o.value,onAllRemoved:e.onAllRemoved});return r(Fe(Fe({},m),{prefixCls:a.value,hashId:o})),g}});function Fte(e){const t=zn(null),r=Symbol("notificationHolderKey"),n=o=>{if(!t.value)return;const{open:h,prefixCls:d,hashId:m}=t.value,g=`${d}-notice`,{message:y,description:x,icon:E,type:M,btn:P,class:D}=o,k=Ote(o,["message","description","icon","type","btn","class"]);return h(Fe(Fe({placement:"topRight"},k),{content:()=>Oe(kte,{prefixCls:g,icon:typeof E=="function"?E():E,type:M,message:typeof y=="function"?y():y,description:typeof x=="function"?x():x,btn:typeof P=="function"?P():P},null),class:pi(M&&`${g}-${M}`,m,D)}))},a={open:n,destroy:o=>{var h,d;o!==void 0?(h=t.value)===null||h===void 0||h.close(o):(d=t.value)===null||d===void 0||d.destroy()}};return["success","info","warning","error"].forEach(o=>{a[o]=h=>n(Fe(Fe({},h),{type:o}))}),[a,()=>Oe(Bte,dn(dn({key:r},e),{},{ref:t}),null)]}function $te(e){return Fte(e)}const Nc={};let _6=4.5,b6="24px",x6="24px",eS="",w6="topRight",S6=()=>document.body,T6=null,tS=!1,C6;function Nte(e){const{duration:t,placement:r,bottom:n,top:i,getContainer:a,closeIcon:s,prefixCls:o}=e;o!==void 0&&(eS=o),t!==void 0&&(_6=t),r!==void 0&&(w6=r),n!==void 0&&(x6=typeof n=="number"?`${n}px`:n),i!==void 0&&(b6=typeof i=="number"?`${i}px`:i),a!==void 0&&(S6=a),s!==void 0&&(T6=s),e.rtl!==void 0&&(tS=e.rtl),e.maxCount!==void 0&&(C6=e.maxCount)}function Vte(e,t){let{prefixCls:r,placement:n=w6,getContainer:i=S6,top:a,bottom:s,closeIcon:o=T6,appContext:h}=e;const{getPrefixCls:d}=tre(),m=d("notification",r||eS),g=`${m}-${n}-${tS}`,y=Nc[g];if(y){Promise.resolve(y).then(E=>{t(E)});return}const x=pi(`${m}-${n}`,{[`${m}-rtl`]:tS===!0});i6.newInstance({name:"notification",prefixCls:r||eS,useStyle:g6,class:x,style:y6(n,a??b6,s??x6),appContext:h,getContainer:i,closeIcon:E=>{let{prefixCls:M}=E;return Oe("span",{class:`${M}-close-x`},[Cf(o,{},Oe(ZO,{class:`${M}-close-icon`},null))])},maxCount:C6,hasTransitionName:!0},E=>{Nc[g]=E,t(E)})}const jte={success:XQ,info:nee,error:see,warning:QQ};function Hte(e){const{icon:t,type:r,description:n,message:i,btn:a}=e,s=e.duration===void 0?_6:e.duration;Vte(e,o=>{o.notice({content:h=>{let{prefixCls:d}=h;const m=`${d}-notice`;let g=null;if(t)g=()=>Oe("span",{class:`${m}-icon`},[Cf(t)]);else if(r){const y=jte[r];g=()=>Oe(y,{class:`${m}-icon ${m}-icon-${r}`},null)}return Oe("div",{class:g?`${m}-with-icon`:""},[g&&g(),Oe("div",{class:`${m}-message`},[!n&&g?Oe("span",{class:`${m}-message-single-line-auto-margin`},null):null,Cf(i)]),Oe("div",{class:`${m}-description`},[Cf(n)]),a?Oe("span",{class:`${m}-btn`},[Cf(a)]):null])},duration:s,closable:!0,onClose:e.onClose,onClick:e.onClick,key:e.key,style:e.style||{},class:e.class})})}const td={open:Hte,close(e){Object.keys(Nc).forEach(t=>Promise.resolve(Nc[t]).then(r=>{r.removeNotice(e)}))},config:Nte,destroy(){Object.keys(Nc).forEach(e=>{Promise.resolve(Nc[e]).then(t=>{t.destroy()}),delete Nc[e]})}},Ute=["success","info","warning","error"];Ute.forEach(e=>{td[e]=t=>td.open(Fe(Fe({},t),{type:e}))});td.warn=td.warning;td.useNotification=$te;const Gte=td,qte=`-ant-${Date.now()}-${Math.random()}`;function Wte(e,t){const r={},n=(s,o)=>{let h=s.clone();return h=(o==null?void 0:o(h))||h,h.toRgbString()},i=(s,o)=>{const h=new Ri(s),d=ih(h.toRgbString());r[`${o}-color`]=n(h),r[`${o}-color-disabled`]=d[1],r[`${o}-color-hover`]=d[4],r[`${o}-color-active`]=d[6],r[`${o}-color-outline`]=h.clone().setAlpha(.2).toRgbString(),r[`${o}-color-deprecated-bg`]=d[0],r[`${o}-color-deprecated-border`]=d[2]};if(t.primaryColor){i(t.primaryColor,"primary");const s=new Ri(t.primaryColor),o=ih(s.toRgbString());o.forEach((d,m)=>{r[`primary-${m+1}`]=d}),r["primary-color-deprecated-l-35"]=n(s,d=>d.lighten(35)),r["primary-color-deprecated-l-20"]=n(s,d=>d.lighten(20)),r["primary-color-deprecated-t-20"]=n(s,d=>d.tint(20)),r["primary-color-deprecated-t-50"]=n(s,d=>d.tint(50)),r["primary-color-deprecated-f-12"]=n(s,d=>d.setAlpha(d.getAlpha()*.12));const h=new Ri(o[0]);r["primary-color-active-deprecated-f-30"]=n(h,d=>d.setAlpha(d.getAlpha()*.3)),r["primary-color-active-deprecated-d-02"]=n(h,d=>d.darken(2))}return t.successColor&&i(t.successColor,"success"),t.warningColor&&i(t.warningColor,"warning"),t.errorColor&&i(t.errorColor,"error"),t.infoColor&&i(t.infoColor,"info"),` + :root { + ${Object.keys(r).map(s=>`--${e}-${s}: ${r[s]};`).join(` +`)} + } + `.trim()}function Zte(e,t){const r=Wte(e,t);p1()?h0(r,`${qte}-dynamic-theme`):aC()}const Xte=e=>{const[t,r]=Uv();return F2(ze(()=>({theme:t.value,token:r.value,hashId:"",path:["ant-design-icons",e.value]})),()=>[{[`.${e.value}`]:Fe(Fe({},SY()),{[`.${e.value} .${e.value}-icon`]:{display:"block"}})}])},Yte=Xte;function Kte(e,t){const r=ze(()=>(e==null?void 0:e.value)||{}),n=ze(()=>r.value.inherit===!1||!(t!=null&&t.value)?dO:t.value);return ze(()=>{if(!(e!=null&&e.value))return t==null?void 0:t.value;const a=Fe({},n.value.components);return Object.keys(e.value.components||{}).forEach(s=>{a[s]=Fe(Fe({},a[s]),e.value.components[s])}),Fe(Fe(Fe({},n.value),r.value),{token:Fe(Fe({},n.value.token),r.value.token),components:a})})}var Jte=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i{Fe(Ki,CC),Ki.prefixCls=zf(),Ki.iconPrefixCls=E6(),Ki.getPrefixCls=(e,t)=>t||(e?`${Ki.prefixCls}-${e}`:Ki.prefixCls),Ki.getRootPrefixCls=()=>Ki.prefixCls?Ki.prefixCls:zf()});let Fx;const ere=e=>{Fx&&Fx(),Fx=ts(()=>{Fe(CC,$a(e)),Fe(Ki,$a(e))}),e.theme&&Zte(zf(),e.theme)},tre=()=>({getPrefixCls:(e,t)=>t||(e?`${zf()}-${e}`:zf()),getIconPrefixCls:E6,getRootPrefixCls:()=>Ki.prefixCls?Ki.prefixCls:zf()}),Im=Ut({compatConfig:{MODE:3},name:"AConfigProvider",inheritAttrs:!1,props:jZ(),setup(e,t){let{slots:r}=t;const n=V4(),i=(de,Te)=>{const{prefixCls:we="ant"}=e;if(Te)return Te;const Ue=we||n.getPrefixCls("");return de?`${Ue}-${de}`:Ue},a=ze(()=>e.iconPrefixCls||n.iconPrefixCls.value||KT),s=ze(()=>a.value!==n.iconPrefixCls.value),o=ze(()=>{var de;return e.csp||((de=n.csp)===null||de===void 0?void 0:de.value)}),h=Yte(a),d=Kte(ze(()=>e.theme),ze(()=>{var de;return(de=n.theme)===null||de===void 0?void 0:de.value})),m=de=>(e.renderEmpty||r.renderEmpty||n.renderEmpty||NY)(de),g=ze(()=>{var de,Te;return(de=e.autoInsertSpaceInButton)!==null&&de!==void 0?de:(Te=n.autoInsertSpaceInButton)===null||Te===void 0?void 0:Te.value}),y=ze(()=>{var de;return e.locale||((de=n.locale)===null||de===void 0?void 0:de.value)});Qr(y,()=>{CC.locale=y.value},{immediate:!0});const x=ze(()=>{var de;return e.direction||((de=n.direction)===null||de===void 0?void 0:de.value)}),E=ze(()=>{var de,Te;return(de=e.space)!==null&&de!==void 0?de:(Te=n.space)===null||Te===void 0?void 0:Te.value}),M=ze(()=>{var de,Te;return(de=e.virtual)!==null&&de!==void 0?de:(Te=n.virtual)===null||Te===void 0?void 0:Te.value}),P=ze(()=>{var de,Te;return(de=e.dropdownMatchSelectWidth)!==null&&de!==void 0?de:(Te=n.dropdownMatchSelectWidth)===null||Te===void 0?void 0:Te.value}),D=ze(()=>{var de;return e.getTargetContainer!==void 0?e.getTargetContainer:(de=n.getTargetContainer)===null||de===void 0?void 0:de.value}),k=ze(()=>{var de;return e.getPopupContainer!==void 0?e.getPopupContainer:(de=n.getPopupContainer)===null||de===void 0?void 0:de.value}),O=ze(()=>{var de;return e.pageHeader!==void 0?e.pageHeader:(de=n.pageHeader)===null||de===void 0?void 0:de.value}),F=ze(()=>{var de;return e.input!==void 0?e.input:(de=n.input)===null||de===void 0?void 0:de.value}),q=ze(()=>{var de;return e.pagination!==void 0?e.pagination:(de=n.pagination)===null||de===void 0?void 0:de.value}),H=ze(()=>{var de;return e.form!==void 0?e.form:(de=n.form)===null||de===void 0?void 0:de.value}),W=ze(()=>{var de;return e.select!==void 0?e.select:(de=n.select)===null||de===void 0?void 0:de.value}),Z=ze(()=>e.componentSize),ee=ze(()=>e.componentDisabled),re={csp:o,autoInsertSpaceInButton:g,locale:y,direction:x,space:E,virtual:M,dropdownMatchSelectWidth:P,getPrefixCls:i,iconPrefixCls:a,theme:ze(()=>{var de,Te;return(de=d.value)!==null&&de!==void 0?de:(Te=n.theme)===null||Te===void 0?void 0:Te.value}),renderEmpty:m,getTargetContainer:D,getPopupContainer:k,pageHeader:O,input:F,pagination:q,form:H,select:W,componentSize:Z,componentDisabled:ee,transformCellText:ze(()=>e.transformCellText)},ce=ze(()=>{const de=d.value||{},{algorithm:Te,token:we}=de,Ue=Jte(de,["algorithm","token"]),He=Te&&(!Array.isArray(Te)||Te.length>0)?sO(Te):void 0;return Fe(Fe({},Ue),{theme:He,token:Fe(Fe({},y1),we)})}),le=ze(()=>{var de,Te;let we={};return y.value&&(we=((de=y.value.Form)===null||de===void 0?void 0:de.defaultValidateMessages)||((Te=iv.Form)===null||Te===void 0?void 0:Te.defaultValidateMessages)||{}),e.form&&e.form.validateMessages&&(we=Fe(Fe({},we),e.form.validateMessages)),we});HZ(re),VZ({validateMessages:le}),VY(Z),UZ(ee);const ve=de=>{var Te,we;let Ue=s.value?h((Te=r.default)===null||Te===void 0?void 0:Te.call(r)):(we=r.default)===null||we===void 0?void 0:we.call(r);if(e.theme){const He=function(){return Ue}();Ue=Oe(kY,{value:ce.value},{default:()=>[He]})}return Oe(Kee,{locale:y.value||de,ANT_MARK__:J2},{default:()=>[Ue]})};return ts(()=>{x.value&&(Ate.config({rtl:x.value==="rtl"}),Gte.config({rtl:x.value==="rtl"}))}),()=>Oe(U4,{children:(de,Te,we)=>ve(we)},null)}});Im.config=ere;Im.install=function(e){e.component(Im.name,Im)};const EC=Im;function bD(e,t){return{[`${e}, ${e}:hover, ${e}:focus`]:{color:t.colorTextDisabled,cursor:"not-allowed"}}}function xD(e){return{backgroundColor:e.bgColorSelected,boxShadow:e.boxShadow}}const rre=Fe({overflow:"hidden"},wY),nre=e=>{const{componentCls:t}=e;return{[t]:Fe(Fe(Fe(Fe(Fe({},oC(e)),{display:"inline-block",padding:e.segmentedContainerPadding,color:e.labelColor,backgroundColor:e.bgColor,borderRadius:e.borderRadius,transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,[`${t}-group`]:{position:"relative",display:"flex",alignItems:"stretch",justifyItems:"flex-start",width:"100%"},[`&${t}-rtl`]:{direction:"rtl"},[`&${t}-block`]:{display:"flex"},[`&${t}-block ${t}-item`]:{flex:1,minWidth:0},[`${t}-item`]:{position:"relative",textAlign:"center",cursor:"pointer",transition:`color ${e.motionDurationMid} ${e.motionEaseInOut}`,borderRadius:e.borderRadiusSM,"&-selected":Fe(Fe({},xD(e)),{color:e.labelColorHover}),"&::after":{content:'""',position:"absolute",width:"100%",height:"100%",top:0,insetInlineStart:0,borderRadius:"inherit",transition:`background-color ${e.motionDurationMid}`},[`&:hover:not(${t}-item-selected):not(${t}-item-disabled)`]:{color:e.labelColorHover,"&::after":{backgroundColor:e.bgColorHover}},"&-label":Fe({minHeight:e.controlHeight-e.segmentedContainerPadding*2,lineHeight:`${e.controlHeight-e.segmentedContainerPadding*2}px`,padding:`0 ${e.segmentedPaddingHorizontal}px`},rre),"&-icon + *":{marginInlineStart:e.marginSM/2},"&-input":{position:"absolute",insetBlockStart:0,insetInlineStart:0,width:0,height:0,opacity:0,pointerEvents:"none"}},[`${t}-thumb`]:Fe(Fe({},xD(e)),{position:"absolute",insetBlockStart:0,insetInlineStart:0,width:0,height:"100%",padding:`${e.paddingXXS}px 0`,borderRadius:e.borderRadiusSM,[`& ~ ${t}-item:not(${t}-item-selected):not(${t}-item-disabled)::after`]:{backgroundColor:"transparent"}}),[`&${t}-lg`]:{borderRadius:e.borderRadiusLG,[`${t}-item-label`]:{minHeight:e.controlHeightLG-e.segmentedContainerPadding*2,lineHeight:`${e.controlHeightLG-e.segmentedContainerPadding*2}px`,padding:`0 ${e.segmentedPaddingHorizontal}px`,fontSize:e.fontSizeLG},[`${t}-item, ${t}-thumb`]:{borderRadius:e.borderRadius}},[`&${t}-sm`]:{borderRadius:e.borderRadiusSM,[`${t}-item-label`]:{minHeight:e.controlHeightSM-e.segmentedContainerPadding*2,lineHeight:`${e.controlHeightSM-e.segmentedContainerPadding*2}px`,padding:`0 ${e.segmentedPaddingHorizontalSM}px`},[`${t}-item, ${t}-thumb`]:{borderRadius:e.borderRadiusXS}}}),bD(`&-disabled ${t}-item`,e)),bD(`${t}-item-disabled`,e)),{[`${t}-thumb-motion-appear-active`]:{transition:`transform ${e.motionDurationSlow} ${e.motionEaseInOut}, width ${e.motionDurationSlow} ${e.motionEaseInOut}`,willChange:"transform, width"}})}},ire=hh("Segmented",e=>{const{lineWidthBold:t,lineWidth:r,colorTextLabel:n,colorText:i,colorFillSecondary:a,colorBgLayout:s,colorBgElevated:o}=e,h=Bu(e,{segmentedPaddingHorizontal:e.controlPaddingHorizontal-r,segmentedPaddingHorizontalSM:e.controlPaddingHorizontalSM-r,segmentedContainerPadding:t,labelColor:n,labelColorHover:i,bgColor:s,bgColorHover:a,bgColorSelected:o});return[nre(h)]}),wD=e=>e?{left:e.offsetLeft,right:e.parentElement.clientWidth-e.clientWidth-e.offsetLeft,width:e.clientWidth}:null,af=e=>e!==void 0?`${e}px`:void 0,are=Ut({props:{value:Xo(),getValueIndex:Xo(),prefixCls:Xo(),motionName:Xo(),onMotionStart:Xo(),onMotionEnd:Xo(),direction:Xo(),containerRef:Xo()},emits:["motionStart","motionEnd"],setup(e,t){let{emit:r}=t;const n=xr(),i=E=>{var M;const P=e.getValueIndex(E),D=(M=e.containerRef.value)===null||M===void 0?void 0:M.querySelectorAll(`.${e.prefixCls}-item`)[P];return(D==null?void 0:D.offsetParent)&&D},a=xr(null),s=xr(null);Qr(()=>e.value,(E,M)=>{const P=i(M),D=i(E),k=wD(P),O=wD(D);a.value=k,s.value=O,r(P&&D?"motionStart":"motionEnd")},{flush:"post"});const o=ze(()=>{var E,M;return e.direction==="rtl"?af(-((E=a.value)===null||E===void 0?void 0:E.right)):af((M=a.value)===null||M===void 0?void 0:M.left)}),h=ze(()=>{var E,M;return e.direction==="rtl"?af(-((E=s.value)===null||E===void 0?void 0:E.right)):af((M=s.value)===null||M===void 0?void 0:M.left)});let d;const m=E=>{clearTimeout(d),os(()=>{E&&(E.style.transform="translateX(var(--thumb-start-left))",E.style.width="var(--thumb-start-width)")})},g=E=>{d=setTimeout(()=>{E&&(Zee(E,`${e.motionName}-appear-active`),E.style.transform="translateX(var(--thumb-active-left))",E.style.width="var(--thumb-active-width)")})},y=E=>{a.value=null,s.value=null,E&&(E.style.transform=null,E.style.width=null,Xee(E,`${e.motionName}-appear-active`)),r("motionEnd")},x=ze(()=>{var E,M;return{"--thumb-start-left":o.value,"--thumb-start-width":af((E=a.value)===null||E===void 0?void 0:E.width),"--thumb-active-left":h.value,"--thumb-active-width":af((M=s.value)===null||M===void 0?void 0:M.width)}});return Il(()=>{clearTimeout(d)}),()=>{const E={ref:n,style:x.value,class:[`${e.prefixCls}-thumb`]};return Oe(Ou,{appear:!0,onBeforeEnter:m,onEnter:g,onAfterEnter:y},{default:()=>[!a.value||!s.value?null:Oe("div",E,null)]})}}}),ore=are;function sre(e){return e.map(t=>typeof t=="object"&&t!==null?t:{label:t==null?void 0:t.toString(),title:t==null?void 0:t.toString(),value:t})}const lre=()=>({prefixCls:String,options:D2(),block:Yc(),disabled:Yc(),size:L2(),value:Fe(Fe({},$4([String,Number])),{required:!0}),motionName:String,onChange:cI(),"onUpdate:value":cI()}),A6=(e,t)=>{let{slots:r,emit:n}=t;const{value:i,disabled:a,payload:s,title:o,prefixCls:h,label:d=r.label,checked:m,className:g}=e,y=x=>{a||n("change",x,i)};return Oe("label",{class:pi({[`${h}-item-disabled`]:a},g)},[Oe("input",{class:`${h}-item-input`,type:"radio",disabled:a,checked:m,onChange:y},null),Oe("div",{class:`${h}-item-label`,title:typeof o=="string"?o:""},[typeof d=="function"?d({value:i,disabled:a,payload:s,title:o}):d??i])])};A6.inheritAttrs=!1;const ure=Ut({name:"ASegmented",inheritAttrs:!1,props:XT(lre(),{options:[],motionName:"thumb-motion"}),slots:Object,setup(e,t){let{emit:r,slots:n,attrs:i}=t;const{prefixCls:a,direction:s,size:o}=Dl("segmented",e),[h,d]=ire(a),m=zn(),g=zn(!1),y=ze(()=>sre(e.options)),x=(E,M)=>{e.disabled||(r("update:value",M),r("change",M))};return()=>{const E=a.value;return h(Oe("div",dn(dn({},i),{},{class:pi(E,{[d.value]:!0,[`${E}-block`]:e.block,[`${E}-disabled`]:e.disabled,[`${E}-lg`]:o.value=="large",[`${E}-sm`]:o.value=="small",[`${E}-rtl`]:s.value==="rtl"},i.class),ref:m}),[Oe("div",{class:`${E}-group`},[Oe(ore,{containerRef:m,prefixCls:E,value:e.value,motionName:`${E}-${e.motionName}`,direction:s.value,getValueIndex:M=>y.value.findIndex(P=>P.value===M),onMotionStart:()=>{g.value=!0},onMotionEnd:()=>{g.value=!1}},null),y.value.map(M=>Oe(A6,dn(dn({key:M.value,prefixCls:E,checked:M.value===e.value,onChange:x},M),{},{className:pi(M.className,`${E}-item`,{[`${E}-item-selected`]:M.value===e.value&&!g.value}),disabled:!!e.disabled||!!M.disabled}),n))])]))}}}),cre=d1(ure),hre={components:{AButton:Pm,AConfigProvider:EC},data(){return{keySelected:null}},props:{objs:{},initPos:{type:Number,default:0}},mounted(){this.select(Object.keys(this.objs)[this.initPos])},watch:{objs(e){for(let t in this.objs){this.keySelected=t;break}}},computed:{},methods:{select:function(e){this.keySelected=e}}};function fre(e,t,r,n,i,a){const s=jn("a-button"),o=jn("a-config-provider");return ft(),zt(Mr,null,[Oe(o,{theme:{token:{colorPrimary:"#49BF7C"}}},{default:Pn(()=>[(ft(!0),zt(Mr,null,rs(r.objs,(h,d,m)=>(ft(),In(s,{key:m,onClick:g=>a.select(d),class:Oi(d==i.keySelected?"selected":"unselected"),type:d==i.keySelected?"primary":"default",size:"large"},{default:Pn(()=>[Cl(zr(d),1)]),_:2},1032,["onClick","class","type"]))),128))]),_:1}),on(e.$slots,"default",{selected:r.objs[i.keySelected]})],64)}const dre=Vr(hre,[["render",fre],["__file","ObjectSelector.vue"]]),pre={data(){return{data:null}},props:{path:{type:String}},watch:{path(e){if(e)return Ka.get(e).then(t=>{this.data=t.data})}}};function mre(e,t,r,n,i,a){return on(e.$slots,"default",{data:i.data})}const vre=Vr(pre,[["render",mre],["__file","DataRequest.vue"]]),gre={props:["data"]},yre={class:"cards"};function _re(e,t,r,n,i,a){return ft(),zt("div",yre,[(ft(!0),zt(Mr,null,rs(r.data,(s,o)=>(ft(),zt("div",{key:o,class:"card"},zr(s),1))),128))])}const bre=Vr(gre,[["render",_re],["__scopeId","data-v-00202de1"],["__file","GridList.vue"]]),xre={name:"BusTable",components:{BusTimer:MZ,ObjectSelector:dre,DataRequest:vre,GridList:bre},mounted(){function e(t){var r={};for(let g=0;g{e(t.data)})}},wre={id:"bustable"},Sre=Qt("br",null,null,-1);function Tre(e,t,r,n,i,a){const s=jn("bus-timer"),o=jn("grid-list"),h=jn("data-request"),d=jn("object-selector");return ft(),zt("div",wre,[Oe(d,{objs:{"工作日 Workday":!0,"节假日 Holiday":!1}},{default:Pn(m=>[Sre,Oe(d,{objs:m.selected?{"Line 1 号线 │ 工学院方向 To COE":"/bus_times/one_down.json","Line 1 号线 │ 欣园方向 To Joy Highland":"/bus_times/one_up.json","Line 2 号线 │ 科研楼方向 To Research Bldg.":"/bus_times/two_down.json","Line 2 号线 │ 欣园方向 To Joy Highland":"/bus_times/two_up.json"}:{"Line 1 号线 │ 工学院方向 To COE":"/bus_times/one_down_holiday.json","Line 1 号线 │ 欣园方向 To Joy Highland":"/bus_times/one_up_holiday.json"}},{default:Pn(g=>[Oe(h,{path:g.selected},{default:Pn(({data:y})=>[y?(ft(),In(s,s7(r0({key:0},y)),null,16)):ln("",!0),y?(ft(),In(o,{key:1,data:y.times},null,8,["data"])):ln("",!0)]),_:2},1032,["path"])]),_:2},1032,["objs"])]),_:1})])}const Cre=Vr(xre,[["render",Tre],["__file","BusTable.vue"]]),Ere={name:"TabView",components:{AConfigProvider:EC,ASegmented:cre},setup(){const e=xr("bus-location"),t=xr("bus-location"),r=xr([{value:"bus-location",payload:{title:"车辆实时位置",subTitle:"Bus Realtime Location"}},{value:"timetable",payload:{title:"时间表",subTitle:"Timetable"}}]);return{initSelect:e,currentSelect:t,tabOptions:r,switchTab:i=>{t.value=i}}}},Are=e=>(bT("data-v-4fc19259"),e=e(),xT(),e),Mre={style:{padding:"4px 8px"}},Pre={class:"tab-container"},Ire={key:0},Dre=Are(()=>Qt("div",{class:"bus-location-hint"},"位置每5秒自动刷新。Location refreshes automatically every 5 seconds.",-1)),Lre={key:1};function kre(e,t,r,n,i,a){const s=jn("a-segmented"),o=jn("RealtimeMap"),h=jn("BusChartVue"),d=jn("BusTable"),m=jn("a-config-provider");return ft(),zt("div",null,[Oe(m,{theme:{token:{colorPrimary:"#49BF7C"}}},{default:Pn(()=>[Oe(s,{value:n.initSelect,"onUpdate:value":t[0]||(t[0]=g=>n.initSelect=g),options:n.tabOptions,onChange:n.switchTab},{label:Pn(({payload:g})=>[Qt("div",Mre,[Qt("div",null,zr(g.title),1),Qt("div",null,zr(g.subTitle),1)])]),_:1},8,["value","options","onChange"]),Qt("div",Pre,[n.currentSelect==="bus-location"?(ft(),zt("div",Ire,[Dre,Oe(o),Oe(h)])):ln("",!0),n.currentSelect==="timetable"?(ft(),zt("div",Lre,[Oe(d)])):ln("",!0)])]),_:1})])}const Rre=Vr(Ere,[["render",kre],["__scopeId","data-v-4fc19259"],["__file","TabView.vue"]]);var M6={exports:{}};(function(e,t){(function(r,n){e.exports=n()})(t6,function(){var r,n,i;function a(o,h){if(!r)r=h;else if(!n)n=h;else{var d="var sharedChunk = {}; ("+r+")(sharedChunk); ("+n+")(sharedChunk);",m={};r(m),i=h(m),typeof window<"u"&&(i.workerUrl=window.URL.createObjectURL(new Blob([d],{type:"text/javascript"})))}}a(["exports"],function(o){function h(c,l,f,v){return new(f||(f=Promise))(function(b,T){function A($){try{z(v.next($))}catch(V){T(V)}}function I($){try{z(v.throw($))}catch(V){T(V)}}function z($){var V;$.done?b($.value):(V=$.value,V instanceof f?V:new f(function(G){G(V)})).then(A,I)}z((v=v.apply(c,l||[])).next())})}function d(c){return c&&c.__esModule&&Object.prototype.hasOwnProperty.call(c,"default")?c.default:c}typeof SuppressedError=="function"&&SuppressedError;var m=g;function g(c,l){this.x=c,this.y=l}g.prototype={clone:function(){return new g(this.x,this.y)},add:function(c){return this.clone()._add(c)},sub:function(c){return this.clone()._sub(c)},multByPoint:function(c){return this.clone()._multByPoint(c)},divByPoint:function(c){return this.clone()._divByPoint(c)},mult:function(c){return this.clone()._mult(c)},div:function(c){return this.clone()._div(c)},rotate:function(c){return this.clone()._rotate(c)},rotateAround:function(c,l){return this.clone()._rotateAround(c,l)},matMult:function(c){return this.clone()._matMult(c)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(c){return this.x===c.x&&this.y===c.y},dist:function(c){return Math.sqrt(this.distSqr(c))},distSqr:function(c){var l=c.x-this.x,f=c.y-this.y;return l*l+f*f},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(c){return Math.atan2(this.y-c.y,this.x-c.x)},angleWith:function(c){return this.angleWithSep(c.x,c.y)},angleWithSep:function(c,l){return Math.atan2(this.x*l-this.y*c,this.x*c+this.y*l)},_matMult:function(c){var l=c[2]*this.x+c[3]*this.y;return this.x=c[0]*this.x+c[1]*this.y,this.y=l,this},_add:function(c){return this.x+=c.x,this.y+=c.y,this},_sub:function(c){return this.x-=c.x,this.y-=c.y,this},_mult:function(c){return this.x*=c,this.y*=c,this},_div:function(c){return this.x/=c,this.y/=c,this},_multByPoint:function(c){return this.x*=c.x,this.y*=c.y,this},_divByPoint:function(c){return this.x/=c.x,this.y/=c.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var c=this.y;return this.y=this.x,this.x=-c,this},_rotate:function(c){var l=Math.cos(c),f=Math.sin(c),v=f*this.x+l*this.y;return this.x=l*this.x-f*this.y,this.y=v,this},_rotateAround:function(c,l){var f=Math.cos(c),v=Math.sin(c),b=l.y+v*(this.x-l.x)+f*(this.y-l.y);return this.x=l.x+f*(this.x-l.x)-v*(this.y-l.y),this.y=b,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},g.convert=function(c){return c instanceof g?c:Array.isArray(c)?new g(c[0],c[1]):c};var y=d(m),x=E;function E(c,l,f,v){this.cx=3*c,this.bx=3*(f-c)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*l,this.by=3*(v-l)-this.cy,this.ay=1-this.cy-this.by,this.p1x=c,this.p1y=l,this.p2x=f,this.p2y=v}E.prototype={sampleCurveX:function(c){return((this.ax*c+this.bx)*c+this.cx)*c},sampleCurveY:function(c){return((this.ay*c+this.by)*c+this.cy)*c},sampleCurveDerivativeX:function(c){return(3*this.ax*c+2*this.bx)*c+this.cx},solveCurveX:function(c,l){if(l===void 0&&(l=1e-6),c<0)return 0;if(c>1)return 1;for(var f=c,v=0;v<8;v++){var b=this.sampleCurveX(f)-c;if(Math.abs(b)b?A=f:I=f,f=.5*(I-A)+A;return f},solve:function(c,l){return this.sampleCurveY(this.solveCurveX(c,l))}};var M=d(x);let P,D;function k(){return P==null&&(P=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),P}function O(){if(D==null&&(D=!1,k())){const l=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(l){for(let v=0;v<5*5;v++){const b=4*v;l.fillStyle=`rgb(${b},${b+1},${b+2})`,l.fillRect(v%5,Math.floor(v/5),1,1)}const f=l.getImageData(0,0,5,5).data;for(let v=0;v<5*5*4;v++)if(v%4!=3&&f[v]!==v){D=!0;break}}}return D||!1}function F(c,l,f,v){const b=new M(c,l,f,v);return function(T){return b.solve(T)}}const q=F(.25,.1,.25,1);function H(c,l,f){return Math.min(f,Math.max(l,c))}function W(c,l,f){const v=f-l,b=((c-l)%v+v)%v+l;return b===l?f:b}function Z(c,...l){for(const f of l)for(const v in f)c[v]=f[v];return c}let ee=1;function re(c,l,f){const v={};for(const b in c)v[b]=l.call(f||this,c[b],b,c);return v}function ce(c,l,f){const v={};for(const b in c)l.call(f||this,c[b],b,c)&&(v[b]=c[b]);return v}function le(c){return Array.isArray(c)?c.map(le):typeof c=="object"&&c?re(c,le):c}const ve={};function de(c){ve[c]||(typeof console<"u"&&console.warn(c),ve[c]=!0)}function Te(c,l,f){return(f.y-c.y)*(l.x-c.x)>(l.y-c.y)*(f.x-c.x)}function we(c){let l=0;for(let f,v,b=0,T=c.length,A=T-1;b"u")throw new Error("VideoFrame not supported");const T=new VideoFrame(c,{timestamp:0});try{const A=T==null?void 0:T.format;if(!A||!A.startsWith("BGR")&&!A.startsWith("RGB"))throw new Error(`Unrecognized format ${A}`);const I=A.startsWith("BGR"),z=new Uint8ClampedArray(v*b*4);if(yield T.copyTo(z,function($,V,G,Y,Q){const te=4*Math.max(-V,0),ae=(Math.max(0,G)-G)*Y*4+te,me=4*Y,_e=Math.max(0,V),De=Math.max(0,G);return{rect:{x:_e,y:De,width:Math.min($.width,V+Y)-_e,height:Math.min($.height,G+Q)-De},layout:[{offset:ae,stride:me}]}}(c,l,f,v,b)),I)for(let $=0;$cancelAnimationFrame(l)}},getImageData(c,l=0){return this.getImageCanvasContext(c).getImageData(-l,-l,c.width+2*l,c.height+2*l)},getImageCanvasContext(c){const l=window.document.createElement("canvas"),f=l.getContext("2d",{willReadFrequently:!0});if(!f)throw new Error("failed to create canvas 2d context");return l.width=c.width,l.height=c.height,f.drawImage(c,0,0,c.width,c.height),f},resolveURL:c=>(ur||(ur=document.createElement("a")),ur.href=c,ur.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(Ar==null&&(Ar=matchMedia("(prefers-reduced-motion: reduce)")),Ar.matches)}},qe={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:""};class lt extends Error{constructor(l,f,v,b){super(`AJAXError: ${f} (${l}): ${v}`),this.status=l,this.statusText=f,this.url=v,this.body=b}}const et=Ue()?()=>self.worker&&self.worker.referrer:()=>(window.location.protocol==="blob:"?window.parent:window).location.href,dt=c=>qe.REGISTERED_PROTOCOLS[c.substring(0,c.indexOf("://"))];function vt(c,l){const f=new AbortController,v=new Request(c.url,{method:c.method||"GET",body:c.body,credentials:c.credentials,headers:c.headers,cache:c.cache,referrer:et(),signal:f.signal});let b=!1,T=!1;return c.type==="json"&&v.headers.set("Accept","application/json"),T||fetch(v).then(A=>A.ok?(I=>{(c.type==="arrayBuffer"||c.type==="image"?I.arrayBuffer():c.type==="json"?I.json():I.text()).then(z=>{T||(b=!0,l(null,z,I.headers.get("Cache-Control"),I.headers.get("Expires")))}).catch(z=>{T||l(new Error(z.message))})})(A):A.blob().then(I=>l(new lt(A.status,A.statusText,c.url,I)))).catch(A=>{A.code!==20&&l(new Error(A.message))}),{cancel:()=>{T=!0,b||f.abort()}}}const ue=function(c,l){if(/:\/\//.test(c.url)&&!/^https?:|^file:/.test(c.url)){if(Ue()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",c,l);if(!Ue())return(dt(c.url)||vt)(c,l)}if(!(/^file:/.test(f=c.url)||/^file:/.test(et())&&!/^\w+:/.test(f))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return vt(c,l);if(Ue()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",c,l,void 0,!0)}var f;return function(v,b){const T=new XMLHttpRequest;T.open(v.method||"GET",v.url,!0),v.type!=="arrayBuffer"&&v.type!=="image"||(T.responseType="arraybuffer");for(const A in v.headers)T.setRequestHeader(A,v.headers[A]);return v.type==="json"&&(T.responseType="text",T.setRequestHeader("Accept","application/json")),T.withCredentials=v.credentials==="include",T.onerror=()=>{b(new Error(T.statusText))},T.onload=()=>{if((T.status>=200&&T.status<300||T.status===0)&&T.response!==null){let A=T.response;if(v.type==="json")try{A=JSON.parse(T.response)}catch(I){return b(I)}b(null,A,T.getResponseHeader("Cache-Control"),T.getResponseHeader("Expires"))}else{const A=new Blob([T.response],{type:T.getResponseHeader("Content-Type")});b(new lt(T.status,T.statusText,v.url,A))}},T.send(v.body),{cancel:()=>T.abort()}}(c,l)},xe=function(c,l){return ue(Z(c,{type:"arrayBuffer"}),l)};function Le(c){if(!c||c.indexOf("://")<=0||c.indexOf("data:image/")===0||c.indexOf("blob:")===0)return!0;const l=new URL(c),f=window.location;return l.protocol===f.protocol&&l.host===f.host}function Ge(c,l,f){f[c]&&f[c].indexOf(l)!==-1||(f[c]=f[c]||[],f[c].push(l))}function Ye(c,l,f){if(f&&f[c]){const v=f[c].indexOf(l);v!==-1&&f[c].splice(v,1)}}class tt{constructor(l,f={}){Z(this,f),this.type=l}}class yt extends tt{constructor(l,f={}){super("error",Z({error:l},f))}}class ot{on(l,f){return this._listeners=this._listeners||{},Ge(l,f,this._listeners),this}off(l,f){return Ye(l,f,this._listeners),Ye(l,f,this._oneTimeListeners),this}once(l,f){return f?(this._oneTimeListeners=this._oneTimeListeners||{},Ge(l,f,this._oneTimeListeners),this):new Promise(v=>this.once(l,v))}fire(l,f){typeof l=="string"&&(l=new tt(l,f||{}));const v=l.type;if(this.listens(v)){l.target=this;const b=this._listeners&&this._listeners[v]?this._listeners[v].slice():[];for(const I of b)I.call(this,l);const T=this._oneTimeListeners&&this._oneTimeListeners[v]?this._oneTimeListeners[v].slice():[];for(const I of T)Ye(v,I,this._oneTimeListeners),I.call(this,l);const A=this._eventedParent;A&&(Z(l,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),A.fire(l))}else l instanceof yt&&console.error(l.error);return this}listens(l){return this._listeners&&this._listeners[l]&&this._listeners[l].length>0||this._oneTimeListeners&&this._oneTimeListeners[l]&&this._oneTimeListeners[l].length>0||this._eventedParent&&this._eventedParent.listens(l)}setEventedParent(l,f){return this._eventedParent=l,this._eventedParentData=f,this}}var Ce={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};const rt=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function Ft(c,l){const f={};for(const v in c)v!=="ref"&&(f[v]=c[v]);return rt.forEach(v=>{v in l&&(f[v]=l[v])}),f}function mt(c,l){if(Array.isArray(c)){if(!Array.isArray(l)||c.length!==l.length)return!1;for(let f=0;f`:c.itemType.kind==="value"?"array":`array<${l}>`}return c.kind}const ke=[Fn,ct,or,tr,Si,he,ro,pe(ir),X,K,ne];function Ee(c,l){if(l.kind==="error")return null;if(c.kind==="array"){if(l.kind==="array"&&(l.N===0&&l.itemType.kind==="value"||!Ee(c.itemType,l.itemType))&&(typeof c.N!="number"||c.N===l.N))return null}else{if(c.kind===l.kind)return null;if(c.kind==="value"){for(const f of ke)if(!Ee(f,l))return null}}return`Expected ${ge(c)} but found ${ge(l)} instead.`}function be(c,l){return l.some(f=>f.kind===c.kind)}function Ie(c,l){return l.some(f=>f==="null"?c===null:f==="array"?Array.isArray(c):f==="object"?c&&!Array.isArray(c)&&typeof c=="object":f===typeof c)}function We(c,l){return c.kind==="array"&&l.kind==="array"?c.itemType.kind===l.itemType.kind&&typeof c.N=="number":c.kind===l.kind}const Ze=.96422,Je=.82521,Vt=4/29,Yt=6/29,Lt=3*Yt*Yt,Ht=Yt*Yt*Yt,rr=Math.PI/180,Rr=180/Math.PI;function Gr(c){return(c%=360)<0&&(c+=360),c}function Sr([c,l,f,v]){let b,T;const A=vi((.2225045*(c=_r(c))+.7168786*(l=_r(l))+.0606169*(f=_r(f)))/1);c===l&&l===f?b=T=A:(b=vi((.4360747*c+.3850649*l+.1430804*f)/Ze),T=vi((.0139322*c+.0971045*l+.7141733*f)/Je));const I=116*A-16;return[I<0?0:I,500*(b-A),200*(A-T),v]}function _r(c){return c<=.04045?c/12.92:Math.pow((c+.055)/1.055,2.4)}function vi(c){return c>Ht?Math.pow(c,1/3):c/Lt+Vt}function Xr([c,l,f,v]){let b=(c+16)/116,T=isNaN(l)?b:b+l/500,A=isNaN(f)?b:b-f/200;return b=1*ai(b),T=Ze*ai(T),A=Je*ai(A),[$n(3.1338561*T-1.6168667*b-.4906146*A),$n(-.9787684*T+1.9161415*b+.033454*A),$n(.0719453*T-.2289914*b+1.4052427*A),v]}function $n(c){return(c=c<=.00304?12.92*c:1.055*Math.pow(c,1/2.4)-.055)<0?0:c>1?1:c}function ai(c){return c>Yt?c*c*c:Lt*(c-Vt)}function Sa(c){return parseInt(c.padEnd(2,c),16)/255}function ng(c,l){return Bl(l?c/100:c,0,1)}function Bl(c,l,f){return Math.min(Math.max(l,c),f)}function Fl(c){return!c.some(Number.isNaN)}const K1={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class jr{constructor(l,f,v,b=1,T=!0){this.r=l,this.g=f,this.b=v,this.a=b,T||(this.r*=b,this.g*=b,this.b*=b,b||this.overwriteGetter("rgb",[l,f,v,b]))}static parse(l){if(l instanceof jr)return l;if(typeof l!="string")return;const f=function(v){if((v=v.toLowerCase().trim())==="transparent")return[0,0,0,0];const b=K1[v];if(b){const[A,I,z]=b;return[A/255,I/255,z/255,1]}if(v.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(v)){const A=v.length<6?1:2;let I=1;return[Sa(v.slice(I,I+=A)),Sa(v.slice(I,I+=A)),Sa(v.slice(I,I+=A)),Sa(v.slice(I,I+A)||"ff")]}if(v.startsWith("rgb")){const A=v.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(A){const[I,z,$,V,G,Y,Q,te,ae,me,_e,De]=A,Se=[V||" ",Q||" ",me].join("");if(Se===" "||Se===" /"||Se===",,"||Se===",,,"){const Re=[$,Y,ae].join(""),$e=Re==="%%%"?100:Re===""?255:0;if($e){const Ke=[Bl(+z/$e,0,1),Bl(+G/$e,0,1),Bl(+te/$e,0,1),_e?ng(+_e,De):1];if(Fl(Ke))return Ke}}return}}const T=v.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(T){const[A,I,z,$,V,G,Y,Q,te]=T,ae=[z||" ",V||" ",Y].join("");if(ae===" "||ae===" /"||ae===",,"||ae===",,,"){const me=[+I,Bl(+$,0,100),Bl(+G,0,100),Q?ng(+Q,te):1];if(Fl(me))return function([_e,De,Se,Re]){function $e(Ke){const St=(Ke+_e/30)%12,Rt=De*Math.min(Se,1-Se);return Se-Rt*Math.max(-1,Math.min(St-3,9-St,1))}return _e=Gr(_e),De/=100,Se/=100,[$e(0),$e(8),$e(4),Re]}(me)}}}(l);return f?new jr(...f,!1):void 0}get rgb(){const{r:l,g:f,b:v,a:b}=this,T=b||1/0;return this.overwriteGetter("rgb",[l/T,f/T,v/T,b])}get hcl(){return this.overwriteGetter("hcl",function(l){const[f,v,b,T]=Sr(l),A=Math.sqrt(v*v+b*b);return[Math.round(1e4*A)?Gr(Math.atan2(b,v)*Rr):NaN,A,f,T]}(this.rgb))}get lab(){return this.overwriteGetter("lab",Sr(this.rgb))}overwriteGetter(l,f){return Object.defineProperty(this,l,{value:f}),f}toString(){const[l,f,v,b]=this.rgb;return`rgba(${[l,f,v].map(T=>Math.round(255*T)).join(",")},${b})`}}jr.black=new jr(0,0,0,1),jr.white=new jr(1,1,1,1),jr.transparent=new jr(0,0,0,0),jr.red=new jr(1,0,0,1);class Ed{constructor(l,f,v){this.sensitivity=l?f?"variant":"case":f?"accent":"base",this.locale=v,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(l,f){return this.collator.compare(l,f)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class gh{constructor(l,f,v,b,T){this.text=l,this.image=f,this.scale=v,this.fontStack=b,this.textColor=T}}class gi{constructor(l){this.sections=l}static fromString(l){return new gi([new gh(l,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(l=>l.text.length!==0||l.image&&l.image.name.length!==0)}static factory(l){return l instanceof gi?l:gi.fromString(l)}toString(){return this.sections.length===0?"":this.sections.map(l=>l.text).join("")}}class ia{constructor(l){this.values=l.slice()}static parse(l){if(l instanceof ia)return l;if(typeof l=="number")return new ia([l,l,l,l]);if(Array.isArray(l)&&!(l.length<1||l.length>4)){for(const f of l)if(typeof f!="number")return;switch(l.length){case 1:l=[l[0],l[0],l[0],l[0]];break;case 2:l=[l[0],l[1],l[0],l[1]];break;case 3:l=[l[0],l[1],l[2],l[1]]}return new ia(l)}}toString(){return JSON.stringify(this.values)}}const J1=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class Ta{constructor(l){this.values=l.slice()}static parse(l){if(l instanceof Ta)return l;if(Array.isArray(l)&&!(l.length<1)&&l.length%2==0){for(let f=0;f=0&&c<=255&&typeof l=="number"&&l>=0&&l<=255&&typeof f=="number"&&f>=0&&f<=255?v===void 0||typeof v=="number"&&v>=0&&v<=1?null:`Invalid rgba value [${[c,l,f,v].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof v=="number"?[c,l,f,v]:[c,l,f]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function $l(c){if(c===null||typeof c=="string"||typeof c=="boolean"||typeof c=="number"||c instanceof jr||c instanceof Ed||c instanceof gi||c instanceof ia||c instanceof Ta||c instanceof oi)return!0;if(Array.isArray(c)){for(const l of c)if(!$l(l))return!1;return!0}if(typeof c=="object"){for(const l in c)if(!$l(c[l]))return!1;return!0}return!1}function pn(c){if(c===null)return Fn;if(typeof c=="string")return or;if(typeof c=="boolean")return tr;if(typeof c=="number")return ct;if(c instanceof jr)return Si;if(c instanceof Ed)return Lo;if(c instanceof gi)return he;if(c instanceof ia)return X;if(c instanceof Ta)return ne;if(c instanceof oi)return K;if(Array.isArray(c)){const l=c.length;let f;for(const v of c){const b=pn(v);if(f){if(f===b)continue;f=ir;break}f=b}return pe(f||ir,l)}return ro}function Dr(c){const l=typeof c;return c===null?"":l==="string"||l==="number"||l==="boolean"?String(c):c instanceof jr||c instanceof gi||c instanceof ia||c instanceof Ta||c instanceof oi?c.toString():JSON.stringify(c)}class Vs{constructor(l,f){this.type=l,this.value=f}static parse(l,f){if(l.length!==2)return f.error(`'literal' expression requires exactly one argument, but found ${l.length-1} instead.`);if(!$l(l[1]))return f.error("invalid value");const v=l[1];let b=pn(v);const T=f.expectedType;return b.kind!=="array"||b.N!==0||!T||T.kind!=="array"||typeof T.N=="number"&&T.N!==0||(b=T),new Vs(b,v)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class bn{constructor(l){this.name="ExpressionEvaluationError",this.message=l}toJSON(){return this.message}}const _h={string:or,number:ct,boolean:tr,object:ro};class Ca{constructor(l,f){this.type=l,this.args=f}static parse(l,f){if(l.length<2)return f.error("Expected at least one argument.");let v,b=1;const T=l[0];if(T==="array"){let I,z;if(l.length>2){const $=l[1];if(typeof $!="string"||!($ in _h)||$==="object")return f.error('The item type argument of "array" must be one of string, number, boolean',1);I=_h[$],b++}else I=ir;if(l.length>3){if(l[2]!==null&&(typeof l[2]!="number"||l[2]<0||l[2]!==Math.floor(l[2])))return f.error('The length argument to "array" must be a positive integer literal',2);z=l[2],b++}v=pe(I,z)}else{if(!_h[T])throw new Error(`Types doesn't contain name = ${T}`);v=_h[T]}const A=[];for(;bl.outputDefined())}}const Ad={"to-boolean":tr,"to-color":Si,"to-number":ct,"to-string":or};class cs{constructor(l,f){this.type=l,this.args=f}static parse(l,f){if(l.length<2)return f.error("Expected at least one argument.");const v=l[0];if(!Ad[v])throw new Error(`Can't parse ${v} as it is not part of the known types`);if((v==="to-boolean"||v==="to-string")&&l.length!==2)return f.error("Expected one argument.");const b=Ad[v],T=[];for(let A=1;A4?`Invalid rbga value ${JSON.stringify(f)}: expected an array containing either three or four numeric values.`:yh(f[0],f[1],f[2],f[3]),!v))return new jr(f[0]/255,f[1]/255,f[2]/255,f[3])}throw new bn(v||`Could not parse color from value '${typeof f=="string"?f:JSON.stringify(f)}'`)}case"padding":{let f;for(const v of this.args){f=v.evaluate(l);const b=ia.parse(f);if(b)return b}throw new bn(`Could not parse padding from value '${typeof f=="string"?f:JSON.stringify(f)}'`)}case"variableAnchorOffsetCollection":{let f;for(const v of this.args){f=v.evaluate(l);const b=Ta.parse(f);if(b)return b}throw new bn(`Could not parse variableAnchorOffsetCollection from value '${typeof f=="string"?f:JSON.stringify(f)}'`)}case"number":{let f=null;for(const v of this.args){if(f=v.evaluate(l),f===null)return 0;const b=Number(f);if(!isNaN(b))return b}throw new bn(`Could not convert ${JSON.stringify(f)} to number.`)}case"formatted":return gi.fromString(Dr(this.args[0].evaluate(l)));case"resolvedImage":return oi.fromString(Dr(this.args[0].evaluate(l)));default:return Dr(this.args[0].evaluate(l))}}eachChild(l){this.args.forEach(l)}outputDefined(){return this.args.every(l=>l.outputDefined())}}const ig=["Unknown","Point","LineString","Polygon"];class Md{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type=="number"?ig[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(l){let f=this._parseColorCache[l];return f||(f=this._parseColorCache[l]=jr.parse(l)),f}}class bh{constructor(l,f,v=[],b,T=new Ln,A=[]){this.registry=l,this.path=v,this.key=v.map(I=>`[${I}]`).join(""),this.scope=T,this.errors=A,this.expectedType=b,this._isConstant=f}parse(l,f,v,b,T={}){return f?this.concat(f,v,b)._parse(l,T):this._parse(l,T)}_parse(l,f){function v(b,T,A){return A==="assert"?new Ca(T,[b]):A==="coerce"?new cs(T,[b]):b}if(l!==null&&typeof l!="string"&&typeof l!="boolean"&&typeof l!="number"||(l=["literal",l]),Array.isArray(l)){if(l.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const b=l[0];if(typeof b!="string")return this.error(`Expression name must be a string, but found ${typeof b} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const T=this.registry[b];if(T){let A=T.parse(l,this);if(!A)return null;if(this.expectedType){const I=this.expectedType,z=A.type;if(I.kind!=="string"&&I.kind!=="number"&&I.kind!=="boolean"&&I.kind!=="object"&&I.kind!=="array"||z.kind!=="value")if(I.kind!=="color"&&I.kind!=="formatted"&&I.kind!=="resolvedImage"||z.kind!=="value"&&z.kind!=="string")if(I.kind!=="padding"||z.kind!=="value"&&z.kind!=="number"&&z.kind!=="array")if(I.kind!=="variableAnchorOffsetCollection"||z.kind!=="value"&&z.kind!=="array"){if(this.checkSubtype(I,z))return null}else A=v(A,I,f.typeAnnotation||"coerce");else A=v(A,I,f.typeAnnotation||"coerce");else A=v(A,I,f.typeAnnotation||"coerce");else A=v(A,I,f.typeAnnotation||"assert")}if(!(A instanceof Vs)&&A.type.kind!=="resolvedImage"&&this._isConstant(A)){const I=new Md;try{A=new Vs(A.type,A.evaluate(I))}catch(z){return this.error(z.message),null}}return A}return this.error(`Unknown expression "${b}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(l===void 0?"'undefined' value invalid. Use null instead.":typeof l=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof l} instead.`)}concat(l,f,v){const b=typeof l=="number"?this.path.concat(l):this.path,T=v?this.scope.concat(v):this.scope;return new bh(this.registry,this._isConstant,b,f||null,T,this.errors)}error(l,...f){const v=`${this.key}${f.map(b=>`[${b}]`).join("")}`;this.errors.push(new tn(v,l))}checkSubtype(l,f){const v=Ee(l,f);return v&&this.error(v),v}}class xh{constructor(l,f,v){this.type=Lo,this.locale=v,this.caseSensitive=l,this.diacriticSensitive=f}static parse(l,f){if(l.length!==2)return f.error("Expected one argument.");const v=l[1];if(typeof v!="object"||Array.isArray(v))return f.error("Collator options argument must be an object.");const b=f.parse(v["case-sensitive"]!==void 0&&v["case-sensitive"],1,tr);if(!b)return null;const T=f.parse(v["diacritic-sensitive"]!==void 0&&v["diacritic-sensitive"],1,tr);if(!T)return null;let A=null;return v.locale&&(A=f.parse(v.locale,1,or),!A)?null:new xh(b,T,A)}evaluate(l){return new Ed(this.caseSensitive.evaluate(l),this.diacriticSensitive.evaluate(l),this.locale?this.locale.evaluate(l):null)}eachChild(l){l(this.caseSensitive),l(this.diacriticSensitive),this.locale&&l(this.locale)}outputDefined(){return!1}}const hs=8192;function Pd(c,l){c[0]=Math.min(c[0],l[0]),c[1]=Math.min(c[1],l[1]),c[2]=Math.max(c[2],l[0]),c[3]=Math.max(c[3],l[1])}function $u(c,l){return!(c[0]<=l[0]||c[2]>=l[2]||c[1]<=l[1]||c[3]>=l[3])}function ag(c,l){const f=(180+c[0])/360,v=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+c[1]*Math.PI/360)))/360,b=Math.pow(2,l.z);return[Math.round(f*b*hs),Math.round(v*b*hs)]}function Q1(c,l,f){const v=c[0]-l[0],b=c[1]-l[1],T=c[0]-f[0],A=c[1]-f[1];return v*A-T*b==0&&v*T<=0&&b*A<=0}function Id(c,l){let f=!1;for(let A=0,I=l.length;A(v=c)[1]!=(T=z[$+1])[1]>v[1]&&v[0]<(T[0]-b[0])*(v[1]-b[1])/(T[1]-b[1])+b[0]&&(f=!f)}}var v,b,T;return f}function Dd(c,l){for(let f=0;f0&&I<0||A<0&&I>0}function eb(c,l,f){for(const $ of f)for(let V=0;V<$.length-1;++V)if((I=[(A=$[V+1])[0]-(T=$[V])[0],A[1]-T[1]])[0]*(z=[(b=l)[0]-(v=c)[0],b[1]-v[1]])[1]-I[1]*z[0]!=0&&og(v,b,T,A)&&og(T,A,v,b))return!0;var v,b,T,A,I,z;return!1}function sg(c,l){for(let f=0;ff[2]){const b=.5*v;let T=c[0]-f[0]>b?-v:f[0]-c[0]>b?v:0;T===0&&(T=c[0]-f[2]>b?-v:f[2]-c[0]>b?v:0),c[0]+=T}Pd(l,c)}function Ld(c,l,f,v){const b=Math.pow(2,v.z)*hs,T=[v.x*hs,v.y*hs],A=[];for(const I of c)for(const z of I){const $=[z.x+T[0],z.y+T[1]];cg($,l,f,b),A.push($)}return A}function kd(c,l,f,v){const b=Math.pow(2,v.z)*hs,T=[v.x*hs,v.y*hs],A=[];for(const z of c){const $=[];for(const V of z){const G=[V.x+T[0],V.y+T[1]];Pd(l,G),$.push(G)}A.push($)}if(l[2]-l[0]<=b/2){(I=l)[0]=I[1]=1/0,I[2]=I[3]=-1/0;for(const z of A)for(const $ of z)cg($,l,f,b)}var I;return A}class js{constructor(l,f){this.type=tr,this.geojson=l,this.geometries=f}static parse(l,f){if(l.length!==2)return f.error(`'within' expression requires exactly one argument, but found ${l.length-1} instead.`);if($l(l[1])){const v=l[1];if(v.type==="FeatureCollection")for(let b=0;b!Array.isArray($)||$.length===l.length-1);let z=null;for(const[$,V]of I){z=new bh(f.registry,Th,f.path,null,f.scope);const G=[];let Y=!1;for(let Q=1;Q{return Y=G,Array.isArray(Y)?`(${Y.map(ge).join(", ")})`:`(${ge(Y.type)}...)`;var Y}).join(" | "),V=[];for(let G=1;G{f=l?f&&Th(v):f&&v instanceof Vs}),!!f&&Ch(c)&&Eh(c,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function Ch(c){if(c instanceof Ea&&(c.name==="get"&&c.args.length===1||c.name==="feature-state"||c.name==="has"&&c.args.length===1||c.name==="properties"||c.name==="geometry-type"||c.name==="id"||/^filter-/.test(c.name))||c instanceof js)return!1;let l=!0;return c.eachChild(f=>{l&&!Ch(f)&&(l=!1)}),l}function Nu(c){if(c instanceof Ea&&c.name==="feature-state")return!1;let l=!0;return c.eachChild(f=>{l&&!Nu(f)&&(l=!1)}),l}function Eh(c,l){if(c instanceof Ea&&l.indexOf(c.name)>=0)return!1;let f=!0;return c.eachChild(v=>{f&&!Eh(v,l)&&(f=!1)}),f}function Nl(c,l){const f=c.length-1;let v,b,T=0,A=f,I=0;for(;T<=A;)if(I=Math.floor((T+A)/2),v=c[I],b=c[I+1],v<=l){if(I===f||ll))throw new bn("Input is not a number.");A=I-1}return 0}class fs{constructor(l,f,v){this.type=l,this.input=f,this.labels=[],this.outputs=[];for(const[b,T]of v)this.labels.push(b),this.outputs.push(T)}static parse(l,f){if(l.length-1<4)return f.error(`Expected at least 4 arguments, but found only ${l.length-1}.`);if((l.length-1)%2!=0)return f.error("Expected an even number of arguments.");const v=f.parse(l[1],1,ct);if(!v)return null;const b=[];let T=null;f.expectedType&&f.expectedType.kind!=="value"&&(T=f.expectedType);for(let A=1;A=I)return f.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',$);const G=f.parse(z,V,T);if(!G)return null;T=T||G.type,b.push([I,G])}return new fs(T,v,b)}evaluate(l){const f=this.labels,v=this.outputs;if(f.length===1)return v[0].evaluate(l);const b=this.input.evaluate(l);if(b<=f[0])return v[0].evaluate(l);const T=f.length;return b>=f[T-1]?v[T-1].evaluate(l):v[Nl(f,b)].evaluate(l)}eachChild(l){l(this.input);for(const f of this.outputs)l(f)}outputDefined(){return this.outputs.every(l=>l.outputDefined())}}function vr(c,l,f){return c+f*(l-c)}function Ah(c,l,f){return c.map((v,b)=>vr(v,l[b],f))}const aa={number:vr,color:function(c,l,f,v="rgb"){switch(v){case"rgb":{const[b,T,A,I]=Ah(c.rgb,l.rgb,f);return new jr(b,T,A,I,!1)}case"hcl":{const[b,T,A,I]=c.hcl,[z,$,V,G]=l.hcl;let Y,Q;if(isNaN(b)||isNaN(z))isNaN(b)?isNaN(z)?Y=NaN:(Y=z,A!==1&&A!==0||(Q=$)):(Y=b,V!==1&&V!==0||(Q=T));else{let De=z-b;z>b&&De>180?De-=360:z180&&(De+=360),Y=b+f*De}const[te,ae,me,_e]=function([De,Se,Re,$e]){return De=isNaN(De)?0:De*rr,Xr([Re,Math.cos(De)*Se,Math.sin(De)*Se,$e])}([Y,Q??vr(T,$,f),vr(A,V,f),vr(I,G,f)]);return new jr(te,ae,me,_e,!1)}case"lab":{const[b,T,A,I]=Xr(Ah(c.lab,l.lab,f));return new jr(b,T,A,I,!1)}}},array:Ah,padding:function(c,l,f){return new ia(Ah(c.values,l.values,f))},variableAnchorOffsetCollection:function(c,l,f){const v=c.values,b=l.values;if(v.length!==b.length)throw new bn(`Cannot interpolate values of different length. from: ${c.toString()}, to: ${l.toString()}`);const T=[];for(let A=0;Atypeof V!="number"||V<0||V>1))return f.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);b={name:"cubic-bezier",controlPoints:$}}}if(l.length-1<4)return f.error(`Expected at least 4 arguments, but found only ${l.length-1}.`);if((l.length-1)%2!=0)return f.error("Expected an even number of arguments.");if(T=f.parse(T,2,ct),!T)return null;const I=[];let z=null;v==="interpolate-hcl"||v==="interpolate-lab"?z=Si:f.expectedType&&f.expectedType.kind!=="value"&&(z=f.expectedType);for(let $=0;$=V)return f.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',Y);const te=f.parse(G,Q,z);if(!te)return null;z=z||te.type,I.push([V,te])}return We(z,ct)||We(z,Si)||We(z,X)||We(z,ne)||We(z,pe(ct))?new oa(z,v,b,T,I):f.error(`Type ${ge(z)} is not interpolatable.`)}evaluate(l){const f=this.labels,v=this.outputs;if(f.length===1)return v[0].evaluate(l);const b=this.input.evaluate(l);if(b<=f[0])return v[0].evaluate(l);const T=f.length;if(b>=f[T-1])return v[T-1].evaluate(l);const A=Nl(f,b),I=oa.interpolationFactor(this.interpolation,b,f[A],f[A+1]),z=v[A].evaluate(l),$=v[A+1].evaluate(l);switch(this.operator){case"interpolate":return aa[this.type.kind](z,$,I);case"interpolate-hcl":return aa.color(z,$,I,"hcl");case"interpolate-lab":return aa.color(z,$,I,"lab")}}eachChild(l){l(this.input);for(const f of this.outputs)l(f)}outputDefined(){return this.outputs.every(l=>l.outputDefined())}}function Rd(c,l,f,v){const b=v-f,T=c-f;return b===0?0:l===1?T/b:(Math.pow(l,T)-1)/(Math.pow(l,b)-1)}class Mh{constructor(l,f){this.type=l,this.args=f}static parse(l,f){if(l.length<2)return f.error("Expectected at least one argument.");let v=null;const b=f.expectedType;b&&b.kind!=="value"&&(v=b);const T=[];for(const I of l.slice(1)){const z=f.parse(I,1+T.length,v,void 0,{typeAnnotation:"omit"});if(!z)return null;v=v||z.type,T.push(z)}if(!v)throw new Error("No output type");const A=b&&T.some(I=>Ee(b,I.type));return new Mh(A?ir:v,T)}evaluate(l){let f,v=null,b=0;for(const T of this.args)if(b++,v=T.evaluate(l),v&&v instanceof oi&&!v.available&&(f||(f=v.name),v=null,b===this.args.length&&(v=f)),v!==null)break;return v}eachChild(l){this.args.forEach(l)}outputDefined(){return this.args.every(l=>l.outputDefined())}}class Ph{constructor(l,f){this.type=f.type,this.bindings=[].concat(l),this.result=f}evaluate(l){return this.result.evaluate(l)}eachChild(l){for(const f of this.bindings)l(f[1]);l(this.result)}static parse(l,f){if(l.length<4)return f.error(`Expected at least 3 arguments, but found ${l.length-1} instead.`);const v=[];for(let T=1;T=v.length)throw new bn(`Array index out of bounds: ${f} > ${v.length-1}.`);if(f!==Math.floor(f))throw new bn(`Array index must be an integer, but found ${f} instead.`);return v[f]}eachChild(l){l(this.index),l(this.input)}outputDefined(){return!1}}class zd{constructor(l,f){this.type=tr,this.needle=l,this.haystack=f}static parse(l,f){if(l.length!==3)return f.error(`Expected 2 arguments, but found ${l.length-1} instead.`);const v=f.parse(l[1],1,ir),b=f.parse(l[2],2,ir);return v&&b?be(v.type,[tr,or,ct,Fn,ir])?new zd(v,b):f.error(`Expected first argument to be of type boolean, string, number or null, but found ${ge(v.type)} instead`):null}evaluate(l){const f=this.needle.evaluate(l),v=this.haystack.evaluate(l);if(!v)return!1;if(!Ie(f,["boolean","string","number","null"]))throw new bn(`Expected first argument to be of type boolean, string, number or null, but found ${ge(pn(f))} instead.`);if(!Ie(v,["string","array"]))throw new bn(`Expected second argument to be of type array or string, but found ${ge(pn(v))} instead.`);return v.indexOf(f)>=0}eachChild(l){l(this.needle),l(this.haystack)}outputDefined(){return!0}}class Ih{constructor(l,f,v){this.type=ct,this.needle=l,this.haystack=f,this.fromIndex=v}static parse(l,f){if(l.length<=2||l.length>=5)return f.error(`Expected 3 or 4 arguments, but found ${l.length-1} instead.`);const v=f.parse(l[1],1,ir),b=f.parse(l[2],2,ir);if(!v||!b)return null;if(!be(v.type,[tr,or,ct,Fn,ir]))return f.error(`Expected first argument to be of type boolean, string, number or null, but found ${ge(v.type)} instead`);if(l.length===4){const T=f.parse(l[3],3,ct);return T?new Ih(v,b,T):null}return new Ih(v,b)}evaluate(l){const f=this.needle.evaluate(l),v=this.haystack.evaluate(l);if(!Ie(f,["boolean","string","number","null"]))throw new bn(`Expected first argument to be of type boolean, string, number or null, but found ${ge(pn(f))} instead.`);if(!Ie(v,["string","array"]))throw new bn(`Expected second argument to be of type array or string, but found ${ge(pn(v))} instead.`);if(this.fromIndex){const b=this.fromIndex.evaluate(l);return v.indexOf(f,b)}return v.indexOf(f)}eachChild(l){l(this.needle),l(this.haystack),this.fromIndex&&l(this.fromIndex)}outputDefined(){return!1}}class Bd{constructor(l,f,v,b,T,A){this.inputType=l,this.type=f,this.input=v,this.cases=b,this.outputs=T,this.otherwise=A}static parse(l,f){if(l.length<5)return f.error(`Expected at least 4 arguments, but found only ${l.length-1}.`);if(l.length%2!=1)return f.error("Expected an even number of arguments.");let v,b;f.expectedType&&f.expectedType.kind!=="value"&&(b=f.expectedType);const T={},A=[];for(let $=2;$Number.MAX_SAFE_INTEGER)return Y.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof te=="number"&&Math.floor(te)!==te)return Y.error("Numeric branch labels must be integer values.");if(v){if(Y.checkSubtype(v,pn(te)))return null}else v=pn(te);if(T[String(te)]!==void 0)return Y.error("Branch labels must be unique.");T[String(te)]=A.length}const Q=f.parse(G,$,b);if(!Q)return null;b=b||Q.type,A.push(Q)}const I=f.parse(l[1],1,ir);if(!I)return null;const z=f.parse(l[l.length-1],l.length-1,b);return z?I.type.kind!=="value"&&f.concat(1).checkSubtype(v,I.type)?null:new Bd(v,b,I,T,A,z):null}evaluate(l){const f=this.input.evaluate(l);return(pn(f)===this.inputType&&this.outputs[this.cases[f]]||this.otherwise).evaluate(l)}eachChild(l){l(this.input),this.outputs.forEach(l),l(this.otherwise)}outputDefined(){return this.outputs.every(l=>l.outputDefined())&&this.otherwise.outputDefined()}}class Fd{constructor(l,f,v){this.type=l,this.branches=f,this.otherwise=v}static parse(l,f){if(l.length<4)return f.error(`Expected at least 3 arguments, but found only ${l.length-1}.`);if(l.length%2!=0)return f.error("Expected an odd number of arguments.");let v;f.expectedType&&f.expectedType.kind!=="value"&&(v=f.expectedType);const b=[];for(let A=1;Af.outputDefined())&&this.otherwise.outputDefined()}}class Dh{constructor(l,f,v,b){this.type=l,this.input=f,this.beginIndex=v,this.endIndex=b}static parse(l,f){if(l.length<=2||l.length>=5)return f.error(`Expected 3 or 4 arguments, but found ${l.length-1} instead.`);const v=f.parse(l[1],1,ir),b=f.parse(l[2],2,ct);if(!v||!b)return null;if(!be(v.type,[pe(ir),or,ir]))return f.error(`Expected first argument to be of type array or string, but found ${ge(v.type)} instead`);if(l.length===4){const T=f.parse(l[3],3,ct);return T?new Dh(v.type,v,b,T):null}return new Dh(v.type,v,b)}evaluate(l){const f=this.input.evaluate(l),v=this.beginIndex.evaluate(l);if(!Ie(f,["string","array"]))throw new bn(`Expected first argument to be of type array or string, but found ${ge(pn(f))} instead.`);if(this.endIndex){const b=this.endIndex.evaluate(l);return f.slice(v,b)}return f.slice(v)}eachChild(l){l(this.input),l(this.beginIndex),this.endIndex&&l(this.endIndex)}outputDefined(){return!1}}function hg(c,l){return c==="=="||c==="!="?l.kind==="boolean"||l.kind==="string"||l.kind==="number"||l.kind==="null"||l.kind==="value":l.kind==="string"||l.kind==="number"||l.kind==="value"}function fg(c,l,f,v){return v.compare(l,f)===0}function Vl(c,l,f){const v=c!=="=="&&c!=="!=";return class P6{constructor(T,A,I){this.type=tr,this.lhs=T,this.rhs=A,this.collator=I,this.hasUntypedArgument=T.type.kind==="value"||A.type.kind==="value"}static parse(T,A){if(T.length!==3&&T.length!==4)return A.error("Expected two or three arguments.");const I=T[0];let z=A.parse(T[1],1,ir);if(!z)return null;if(!hg(I,z.type))return A.concat(1).error(`"${I}" comparisons are not supported for type '${ge(z.type)}'.`);let $=A.parse(T[2],2,ir);if(!$)return null;if(!hg(I,$.type))return A.concat(2).error(`"${I}" comparisons are not supported for type '${ge($.type)}'.`);if(z.type.kind!==$.type.kind&&z.type.kind!=="value"&&$.type.kind!=="value")return A.error(`Cannot compare types '${ge(z.type)}' and '${ge($.type)}'.`);v&&(z.type.kind==="value"&&$.type.kind!=="value"?z=new Ca($.type,[z]):z.type.kind!=="value"&&$.type.kind==="value"&&($=new Ca(z.type,[$])));let V=null;if(T.length===4){if(z.type.kind!=="string"&&$.type.kind!=="string"&&z.type.kind!=="value"&&$.type.kind!=="value")return A.error("Cannot use collator to compare non-string types.");if(V=A.parse(T[3],3,Lo),!V)return null}return new P6(z,$,V)}evaluate(T){const A=this.lhs.evaluate(T),I=this.rhs.evaluate(T);if(v&&this.hasUntypedArgument){const z=pn(A),$=pn(I);if(z.kind!==$.kind||z.kind!=="string"&&z.kind!=="number")throw new bn(`Expected arguments for "${c}" to be (string, string) or (number, number), but found (${z.kind}, ${$.kind}) instead.`)}if(this.collator&&!v&&this.hasUntypedArgument){const z=pn(A),$=pn(I);if(z.kind!=="string"||$.kind!=="string")return l(T,A,I)}return this.collator?f(T,A,I,this.collator.evaluate(T)):l(T,A,I)}eachChild(T){T(this.lhs),T(this.rhs),this.collator&&T(this.collator)}outputDefined(){return!0}}}const tb=Vl("==",function(c,l,f){return l===f},fg),rb=Vl("!=",function(c,l,f){return l!==f},function(c,l,f,v){return!fg(0,l,f,v)}),nb=Vl("<",function(c,l,f){return l",function(c,l,f){return l>f},function(c,l,f,v){return v.compare(l,f)>0}),ab=Vl("<=",function(c,l,f){return l<=f},function(c,l,f,v){return v.compare(l,f)<=0}),ob=Vl(">=",function(c,l,f){return l>=f},function(c,l,f,v){return v.compare(l,f)>=0});class $d{constructor(l,f,v,b,T){this.type=or,this.number=l,this.locale=f,this.currency=v,this.minFractionDigits=b,this.maxFractionDigits=T}static parse(l,f){if(l.length!==3)return f.error("Expected two arguments.");const v=f.parse(l[1],1,ct);if(!v)return null;const b=l[2];if(typeof b!="object"||Array.isArray(b))return f.error("NumberFormat options argument must be an object.");let T=null;if(b.locale&&(T=f.parse(b.locale,1,or),!T))return null;let A=null;if(b.currency&&(A=f.parse(b.currency,1,or),!A))return null;let I=null;if(b["min-fraction-digits"]&&(I=f.parse(b["min-fraction-digits"],1,ct),!I))return null;let z=null;return b["max-fraction-digits"]&&(z=f.parse(b["max-fraction-digits"],1,ct),!z)?null:new $d(v,T,A,I,z)}evaluate(l){return new Intl.NumberFormat(this.locale?this.locale.evaluate(l):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(l):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(l):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(l):void 0}).format(this.number.evaluate(l))}eachChild(l){l(this.number),this.locale&&l(this.locale),this.currency&&l(this.currency),this.minFractionDigits&&l(this.minFractionDigits),this.maxFractionDigits&&l(this.maxFractionDigits)}outputDefined(){return!1}}class Lh{constructor(l){this.type=he,this.sections=l}static parse(l,f){if(l.length<2)return f.error("Expected at least one argument.");const v=l[1];if(!Array.isArray(v)&&typeof v=="object")return f.error("First argument must be an image or text section.");const b=[];let T=!1;for(let A=1;A<=l.length-1;++A){const I=l[A];if(T&&typeof I=="object"&&!Array.isArray(I)){T=!1;let z=null;if(I["font-scale"]&&(z=f.parse(I["font-scale"],1,ct),!z))return null;let $=null;if(I["text-font"]&&($=f.parse(I["text-font"],1,pe(or)),!$))return null;let V=null;if(I["text-color"]&&(V=f.parse(I["text-color"],1,Si),!V))return null;const G=b[b.length-1];G.scale=z,G.font=$,G.textColor=V}else{const z=f.parse(l[A],1,ir);if(!z)return null;const $=z.type.kind;if($!=="string"&&$!=="value"&&$!=="null"&&$!=="resolvedImage")return f.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");T=!0,b.push({content:z,scale:null,font:null,textColor:null})}}return new Lh(b)}evaluate(l){return new gi(this.sections.map(f=>{const v=f.content.evaluate(l);return pn(v)===K?new gh("",v,null,null,null):new gh(Dr(v),null,f.scale?f.scale.evaluate(l):null,f.font?f.font.evaluate(l).join(","):null,f.textColor?f.textColor.evaluate(l):null)}))}eachChild(l){for(const f of this.sections)l(f.content),f.scale&&l(f.scale),f.font&&l(f.font),f.textColor&&l(f.textColor)}outputDefined(){return!1}}class Nd{constructor(l){this.type=K,this.input=l}static parse(l,f){if(l.length!==2)return f.error("Expected two arguments.");const v=f.parse(l[1],1,or);return v?new Nd(v):f.error("No image name provided.")}evaluate(l){const f=this.input.evaluate(l),v=oi.fromString(f);return v&&l.availableImages&&(v.available=l.availableImages.indexOf(f)>-1),v}eachChild(l){l(this.input)}outputDefined(){return!1}}class Vd{constructor(l){this.type=ct,this.input=l}static parse(l,f){if(l.length!==2)return f.error(`Expected 1 argument, but found ${l.length-1} instead.`);const v=f.parse(l[1],1);return v?v.type.kind!=="array"&&v.type.kind!=="string"&&v.type.kind!=="value"?f.error(`Expected argument of type string or array, but found ${ge(v.type)} instead.`):new Vd(v):null}evaluate(l){const f=this.input.evaluate(l);if(typeof f=="string"||Array.isArray(f))return f.length;throw new bn(`Expected value to be of type string or array, but found ${ge(pn(f))} instead.`)}eachChild(l){l(this.input)}outputDefined(){return!1}}const jl={"==":tb,"!=":rb,">":ib,"<":nb,">=":ob,"<=":ab,array:Ca,at:Od,boolean:Ca,case:Fd,coalesce:Mh,collator:xh,format:Lh,image:Nd,in:zd,"index-of":Ih,interpolate:oa,"interpolate-hcl":oa,"interpolate-lab":oa,length:Vd,let:Ph,literal:Vs,match:Bd,number:Ca,"number-format":$d,object:Ca,slice:Dh,step:fs,string:Ca,"to-boolean":cs,"to-color":cs,"to-number":cs,"to-string":cs,var:Sh,within:js};function dg(c,[l,f,v,b]){l=l.evaluate(c),f=f.evaluate(c),v=v.evaluate(c);const T=b?b.evaluate(c):1,A=yh(l,f,v,T);if(A)throw new bn(A);return new jr(l/255,f/255,v/255,T,!1)}function pg(c,l){return c in l}function jd(c,l){const f=l[c];return f===void 0?null:f}function Hs(c){return{type:c}}function mg(c){return{result:"success",value:c}}function ds(c){return{result:"error",value:c}}function Hl(c){return c["property-type"]==="data-driven"||c["property-type"]==="cross-faded-data-driven"}function vg(c){return!!c.expression&&c.expression.parameters.indexOf("zoom")>-1}function Hd(c){return!!c.expression&&c.expression.interpolated}function Lr(c){return c instanceof Number?"number":c instanceof String?"string":c instanceof Boolean?"boolean":Array.isArray(c)?"array":c===null?"null":typeof c}function mn(c){return typeof c=="object"&&c!==null&&!Array.isArray(c)}function sb(c){return c}function gr(c,l){const f=l.type==="color",v=c.stops&&typeof c.stops[0][0]=="object",b=v||!(v||c.property!==void 0),T=c.type||(Hd(l)?"exponential":"interval");if(f||l.type==="padding"){const V=f?jr.parse:ia.parse;(c=mi({},c)).stops&&(c.stops=c.stops.map(G=>[G[0],V(G[1])])),c.default=V(c.default?c.default:l.default)}if(c.colorSpace&&(A=c.colorSpace)!=="rgb"&&A!=="hcl"&&A!=="lab")throw new Error(`Unknown color space: "${c.colorSpace}"`);var A;let I,z,$;if(T==="exponential")I=Vu;else if(T==="interval")I=cn;else if(T==="categorical"){I=vn,z=Object.create(null);for(const V of c.stops)z[V[0]]=V[1];$=typeof c.stops[0][0]}else{if(T!=="identity")throw new Error(`Unknown function type "${T}"`);I=gg}if(v){const V={},G=[];for(let te=0;tete[0]),evaluate:({zoom:te},ae)=>Vu({stops:Y,base:c.base},l,te).evaluate(te,ae)}}if(b){const V=T==="exponential"?{name:"exponential",base:c.base!==void 0?c.base:1}:null;return{kind:"camera",interpolationType:V,interpolationFactor:oa.interpolationFactor.bind(void 0,V),zoomStops:c.stops.map(G=>G[0]),evaluate:({zoom:G})=>I(c,l,G,z,$)}}return{kind:"source",evaluate(V,G){const Y=G&&G.properties?G.properties[c.property]:void 0;return Y===void 0?Us(c.default,l.default):I(c,l,Y,z,$)}}}function Us(c,l,f){return c!==void 0?c:l!==void 0?l:f!==void 0?f:void 0}function vn(c,l,f,v,b){return Us(typeof f===b?v[f]:void 0,c.default,l.default)}function cn(c,l,f){if(Lr(f)!=="number")return Us(c.default,l.default);const v=c.stops.length;if(v===1||f<=c.stops[0][0])return c.stops[0][1];if(f>=c.stops[v-1][0])return c.stops[v-1][1];const b=Nl(c.stops.map(T=>T[0]),f);return c.stops[b][1]}function Vu(c,l,f){const v=c.base!==void 0?c.base:1;if(Lr(f)!=="number")return Us(c.default,l.default);const b=c.stops.length;if(b===1||f<=c.stops[0][0])return c.stops[0][1];if(f>=c.stops[b-1][0])return c.stops[b-1][1];const T=Nl(c.stops.map(V=>V[0]),f),A=function(V,G,Y,Q){const te=Q-Y,ae=V-Y;return te===0?0:G===1?ae/te:(Math.pow(G,ae)-1)/(Math.pow(G,te)-1)}(f,v,c.stops[T][0],c.stops[T+1][0]),I=c.stops[T][1],z=c.stops[T+1][1],$=aa[l.type]||sb;return typeof I.evaluate=="function"?{evaluate(...V){const G=I.evaluate.apply(void 0,V),Y=z.evaluate.apply(void 0,V);if(G!==void 0&&Y!==void 0)return $(G,Y,A,c.colorSpace)}}:$(I,z,A,c.colorSpace)}function gg(c,l,f){switch(l.type){case"color":f=jr.parse(f);break;case"formatted":f=gi.fromString(f.toString());break;case"resolvedImage":f=oi.fromString(f.toString());break;case"padding":f=ia.parse(f);break;default:Lr(f)===l.type||l.type==="enum"&&l.values[f]||(f=void 0)}return Us(f,c.default,l.default)}Ea.register(jl,{error:[{kind:"error"},[or],(c,[l])=>{throw new bn(l.evaluate(c))}],typeof:[or,[ir],(c,[l])=>ge(pn(l.evaluate(c)))],"to-rgba":[pe(ct,4),[Si],(c,[l])=>{const[f,v,b,T]=l.evaluate(c).rgb;return[255*f,255*v,255*b,T]}],rgb:[Si,[ct,ct,ct],dg],rgba:[Si,[ct,ct,ct,ct],dg],has:{type:tr,overloads:[[[or],(c,[l])=>pg(l.evaluate(c),c.properties())],[[or,ro],(c,[l,f])=>pg(l.evaluate(c),f.evaluate(c))]]},get:{type:ir,overloads:[[[or],(c,[l])=>jd(l.evaluate(c),c.properties())],[[or,ro],(c,[l,f])=>jd(l.evaluate(c),f.evaluate(c))]]},"feature-state":[ir,[or],(c,[l])=>jd(l.evaluate(c),c.featureState||{})],properties:[ro,[],c=>c.properties()],"geometry-type":[or,[],c=>c.geometryType()],id:[ir,[],c=>c.id()],zoom:[ct,[],c=>c.globals.zoom],"heatmap-density":[ct,[],c=>c.globals.heatmapDensity||0],"line-progress":[ct,[],c=>c.globals.lineProgress||0],accumulated:[ir,[],c=>c.globals.accumulated===void 0?null:c.globals.accumulated],"+":[ct,Hs(ct),(c,l)=>{let f=0;for(const v of l)f+=v.evaluate(c);return f}],"*":[ct,Hs(ct),(c,l)=>{let f=1;for(const v of l)f*=v.evaluate(c);return f}],"-":{type:ct,overloads:[[[ct,ct],(c,[l,f])=>l.evaluate(c)-f.evaluate(c)],[[ct],(c,[l])=>-l.evaluate(c)]]},"/":[ct,[ct,ct],(c,[l,f])=>l.evaluate(c)/f.evaluate(c)],"%":[ct,[ct,ct],(c,[l,f])=>l.evaluate(c)%f.evaluate(c)],ln2:[ct,[],()=>Math.LN2],pi:[ct,[],()=>Math.PI],e:[ct,[],()=>Math.E],"^":[ct,[ct,ct],(c,[l,f])=>Math.pow(l.evaluate(c),f.evaluate(c))],sqrt:[ct,[ct],(c,[l])=>Math.sqrt(l.evaluate(c))],log10:[ct,[ct],(c,[l])=>Math.log(l.evaluate(c))/Math.LN10],ln:[ct,[ct],(c,[l])=>Math.log(l.evaluate(c))],log2:[ct,[ct],(c,[l])=>Math.log(l.evaluate(c))/Math.LN2],sin:[ct,[ct],(c,[l])=>Math.sin(l.evaluate(c))],cos:[ct,[ct],(c,[l])=>Math.cos(l.evaluate(c))],tan:[ct,[ct],(c,[l])=>Math.tan(l.evaluate(c))],asin:[ct,[ct],(c,[l])=>Math.asin(l.evaluate(c))],acos:[ct,[ct],(c,[l])=>Math.acos(l.evaluate(c))],atan:[ct,[ct],(c,[l])=>Math.atan(l.evaluate(c))],min:[ct,Hs(ct),(c,l)=>Math.min(...l.map(f=>f.evaluate(c)))],max:[ct,Hs(ct),(c,l)=>Math.max(...l.map(f=>f.evaluate(c)))],abs:[ct,[ct],(c,[l])=>Math.abs(l.evaluate(c))],round:[ct,[ct],(c,[l])=>{const f=l.evaluate(c);return f<0?-Math.round(-f):Math.round(f)}],floor:[ct,[ct],(c,[l])=>Math.floor(l.evaluate(c))],ceil:[ct,[ct],(c,[l])=>Math.ceil(l.evaluate(c))],"filter-==":[tr,[or,ir],(c,[l,f])=>c.properties()[l.value]===f.value],"filter-id-==":[tr,[ir],(c,[l])=>c.id()===l.value],"filter-type-==":[tr,[or],(c,[l])=>c.geometryType()===l.value],"filter-<":[tr,[or,ir],(c,[l,f])=>{const v=c.properties()[l.value],b=f.value;return typeof v==typeof b&&v{const f=c.id(),v=l.value;return typeof f==typeof v&&f":[tr,[or,ir],(c,[l,f])=>{const v=c.properties()[l.value],b=f.value;return typeof v==typeof b&&v>b}],"filter-id->":[tr,[ir],(c,[l])=>{const f=c.id(),v=l.value;return typeof f==typeof v&&f>v}],"filter-<=":[tr,[or,ir],(c,[l,f])=>{const v=c.properties()[l.value],b=f.value;return typeof v==typeof b&&v<=b}],"filter-id-<=":[tr,[ir],(c,[l])=>{const f=c.id(),v=l.value;return typeof f==typeof v&&f<=v}],"filter->=":[tr,[or,ir],(c,[l,f])=>{const v=c.properties()[l.value],b=f.value;return typeof v==typeof b&&v>=b}],"filter-id->=":[tr,[ir],(c,[l])=>{const f=c.id(),v=l.value;return typeof f==typeof v&&f>=v}],"filter-has":[tr,[ir],(c,[l])=>l.value in c.properties()],"filter-has-id":[tr,[],c=>c.id()!==null&&c.id()!==void 0],"filter-type-in":[tr,[pe(or)],(c,[l])=>l.value.indexOf(c.geometryType())>=0],"filter-id-in":[tr,[pe(ir)],(c,[l])=>l.value.indexOf(c.id())>=0],"filter-in-small":[tr,[or,pe(ir)],(c,[l,f])=>f.value.indexOf(c.properties()[l.value])>=0],"filter-in-large":[tr,[or,pe(ir)],(c,[l,f])=>function(v,b,T,A){for(;T<=A;){const I=T+A>>1;if(b[I]===v)return!0;b[I]>v?A=I-1:T=I+1}return!1}(c.properties()[l.value],f.value,0,f.value.length-1)],all:{type:tr,overloads:[[[tr,tr],(c,[l,f])=>l.evaluate(c)&&f.evaluate(c)],[Hs(tr),(c,l)=>{for(const f of l)if(!f.evaluate(c))return!1;return!0}]]},any:{type:tr,overloads:[[[tr,tr],(c,[l,f])=>l.evaluate(c)||f.evaluate(c)],[Hs(tr),(c,l)=>{for(const f of l)if(f.evaluate(c))return!0;return!1}]]},"!":[tr,[tr],(c,[l])=>!l.evaluate(c)],"is-supported-script":[tr,[or],(c,[l])=>{const f=c.globals&&c.globals.isSupportedScript;return!f||f(l.evaluate(c))}],upcase:[or,[or],(c,[l])=>l.evaluate(c).toUpperCase()],downcase:[or,[or],(c,[l])=>l.evaluate(c).toLowerCase()],concat:[or,Hs(ir),(c,l)=>l.map(f=>Dr(f.evaluate(c))).join("")],"resolved-locale":[or,[Lo],(c,[l])=>l.evaluate(c).resolvedLocale()]});class Ud{constructor(l,f){var v;this.expression=l,this._warningHistory={},this._evaluator=new Md,this._defaultValue=f?(v=f).type==="color"&&mn(v.default)?new jr(0,0,0,0):v.type==="color"?jr.parse(v.default)||null:v.type==="padding"?ia.parse(v.default)||null:v.type==="variableAnchorOffsetCollection"?Ta.parse(v.default)||null:v.default===void 0?null:v.default:null,this._enumValues=f&&f.type==="enum"?f.values:null}evaluateWithoutErrorHandling(l,f,v,b,T,A){return this._evaluator.globals=l,this._evaluator.feature=f,this._evaluator.featureState=v,this._evaluator.canonical=b,this._evaluator.availableImages=T||null,this._evaluator.formattedSection=A,this.expression.evaluate(this._evaluator)}evaluate(l,f,v,b,T,A){this._evaluator.globals=l,this._evaluator.feature=f||null,this._evaluator.featureState=v||null,this._evaluator.canonical=b,this._evaluator.availableImages=T||null,this._evaluator.formattedSection=A||null;try{const I=this.expression.evaluate(this._evaluator);if(I==null||typeof I=="number"&&I!=I)return this._defaultValue;if(this._enumValues&&!(I in this._enumValues))throw new bn(`Expected value to be one of ${Object.keys(this._enumValues).map(z=>JSON.stringify(z)).join(", ")}, but found ${JSON.stringify(I)} instead.`);return I}catch(I){return this._warningHistory[I.message]||(this._warningHistory[I.message]=!0,typeof console<"u"&&console.warn(I.message)),this._defaultValue}}}function kh(c){return Array.isArray(c)&&c.length>0&&typeof c[0]=="string"&&c[0]in jl}function Rh(c,l){const f=new bh(jl,Th,[],l?function(b){const T={color:Si,string:or,number:ct,enum:or,boolean:tr,formatted:he,padding:X,resolvedImage:K,variableAnchorOffsetCollection:ne};return b.type==="array"?pe(T[b.value]||ir,b.length):T[b.type]}(l):void 0),v=f.parse(c,void 0,void 0,void 0,l&&l.type==="string"?{typeAnnotation:"coerce"}:void 0);return v?mg(new Ud(v,l)):ds(f.errors)}class Gd{constructor(l,f){this.kind=l,this._styleExpression=f,this.isStateDependent=l!=="constant"&&!Nu(f.expression)}evaluateWithoutErrorHandling(l,f,v,b,T,A){return this._styleExpression.evaluateWithoutErrorHandling(l,f,v,b,T,A)}evaluate(l,f,v,b,T,A){return this._styleExpression.evaluate(l,f,v,b,T,A)}}class Oh{constructor(l,f,v,b){this.kind=l,this.zoomStops=v,this._styleExpression=f,this.isStateDependent=l!=="camera"&&!Nu(f.expression),this.interpolationType=b}evaluateWithoutErrorHandling(l,f,v,b,T,A){return this._styleExpression.evaluateWithoutErrorHandling(l,f,v,b,T,A)}evaluate(l,f,v,b,T,A){return this._styleExpression.evaluate(l,f,v,b,T,A)}interpolationFactor(l,f,v){return this.interpolationType?oa.interpolationFactor(this.interpolationType,l,f,v):0}}function qd(c,l){const f=Rh(c,l);if(f.result==="error")return f;const v=f.value.expression,b=Ch(v);if(!b&&!Hl(l))return ds([new tn("","data expressions not supported")]);const T=Eh(v,["zoom"]);if(!T&&!vg(l))return ds([new tn("","zoom expressions not supported")]);const A=Hu(v);return A||T?A instanceof tn?ds([A]):A instanceof oa&&!Hd(l)?ds([new tn("",'"interpolate" expressions cannot be used with this property')]):mg(A?new Oh(b?"camera":"composite",f.value,A.labels,A instanceof oa?A.interpolation:void 0):new Gd(b?"constant":"source",f.value)):ds([new tn("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class ju{constructor(l,f){this._parameters=l,this._specification=f,mi(this,gr(this._parameters,this._specification))}static deserialize(l){return new ju(l._parameters,l._specification)}static serialize(l){return{_parameters:l._parameters,_specification:l._specification}}}function Hu(c){let l=null;if(c instanceof Ph)l=Hu(c.result);else if(c instanceof Mh){for(const f of c.args)if(l=Hu(f),l)break}else(c instanceof fs||c instanceof oa)&&c.input instanceof Ea&&c.input.name==="zoom"&&(l=c);return l instanceof tn||c.eachChild(f=>{const v=Hu(f);v instanceof tn?l=v:!l&&v?l=new tn("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):l&&v&&l!==v&&(l=new tn("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),l}function Uu(c){if(c===!0||c===!1)return!0;if(!Array.isArray(c)||c.length===0)return!1;switch(c[0]){case"has":return c.length>=2&&c[1]!=="$id"&&c[1]!=="$type";case"in":return c.length>=3&&(typeof c[1]!="string"||Array.isArray(c[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return c.length!==3||Array.isArray(c[1])||Array.isArray(c[2]);case"any":case"all":for(const l of c.slice(1))if(!Uu(l)&&typeof l!="boolean")return!1;return!0;default:return!0}}const lb={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Wd(c){if(c==null)return{filter:()=>!0,needGeometry:!1};Uu(c)||(c=zh(c));const l=Rh(c,lb);if(l.result==="error")throw new Error(l.value.map(f=>`${f.key}: ${f.message}`).join(", "));return{filter:(f,v,b)=>l.value.evaluate(f,v,{},b),needGeometry:yg(c)}}function ub(c,l){return cl?1:0}function yg(c){if(!Array.isArray(c))return!1;if(c[0]==="within")return!0;for(let l=1;l"||l==="<="||l===">="?Zd(c[1],c[2],l):l==="any"?(f=c.slice(1),["any"].concat(f.map(zh))):l==="all"?["all"].concat(c.slice(1).map(zh)):l==="none"?["all"].concat(c.slice(1).map(zh).map(Gu)):l==="in"?_g(c[1],c.slice(2)):l==="!in"?Gu(_g(c[1],c.slice(2))):l==="has"?bg(c[1]):l==="!has"?Gu(bg(c[1])):l!=="within"||c;var f}function Zd(c,l,f){switch(c){case"$type":return[`filter-type-${f}`,l];case"$id":return[`filter-id-${f}`,l];default:return[`filter-${f}`,c,l]}}function _g(c,l){if(l.length===0)return!1;switch(c){case"$type":return["filter-type-in",["literal",l]];case"$id":return["filter-id-in",["literal",l]];default:return l.length>200&&!l.some(f=>typeof f!=typeof l[0])?["filter-in-large",c,["literal",l.sort(ub)]]:["filter-in-small",c,["literal",l]]}}function bg(c){switch(c){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",c]}}function Gu(c){return["!",c]}function Bh(c){const l=typeof c;if(l==="number"||l==="boolean"||l==="string"||c==null)return JSON.stringify(c);if(Array.isArray(c)){let b="[";for(const T of c)b+=`${Bh(T)},`;return`${b}]`}const f=Object.keys(c).sort();let v="{";for(let b=0;bv.maximum?[new ut(l,f,`${f} is greater than the maximum value ${v.maximum}`)]:[]}function $h(c){const l=c.valueSpec,f=xn(c.value.type);let v,b,T,A={};const I=f!=="categorical"&&c.value.property===void 0,z=!I,$=Lr(c.value.stops)==="array"&&Lr(c.value.stops[0])==="array"&&Lr(c.value.stops[0][0])==="object",V=Ni({key:c.key,value:c.value,valueSpec:c.styleSpec.function,validateSpec:c.validateSpec,style:c.style,styleSpec:c.styleSpec,objectElementValidators:{stops:function(Q){if(f==="identity")return[new ut(Q.key,Q.value,'identity function may not have a "stops" property')];let te=[];const ae=Q.value;return te=te.concat(Ul({key:Q.key,value:ae,valueSpec:Q.valueSpec,validateSpec:Q.validateSpec,style:Q.style,styleSpec:Q.styleSpec,arrayElementValidator:G})),Lr(ae)==="array"&&ae.length===0&&te.push(new ut(Q.key,ae,"array must have at least one stop")),te},default:function(Q){return Q.validateSpec({key:Q.key,value:Q.value,valueSpec:l,validateSpec:Q.validateSpec,style:Q.style,styleSpec:Q.styleSpec})}}});return f==="identity"&&I&&V.push(new ut(c.key,c.value,'missing required property "property"')),f==="identity"||c.value.stops||V.push(new ut(c.key,c.value,'missing required property "stops"')),f==="exponential"&&c.valueSpec.expression&&!Hd(c.valueSpec)&&V.push(new ut(c.key,c.value,"exponential functions not supported")),c.styleSpec.$version>=8&&(z&&!Hl(c.valueSpec)?V.push(new ut(c.key,c.value,"property functions not supported")):I&&!vg(c.valueSpec)&&V.push(new ut(c.key,c.value,"zoom functions not supported"))),f!=="categorical"&&!$||c.value.property!==void 0||V.push(new ut(c.key,c.value,'"property" property is required')),V;function G(Q){let te=[];const ae=Q.value,me=Q.key;if(Lr(ae)!=="array")return[new ut(me,ae,`array expected, ${Lr(ae)} found`)];if(ae.length!==2)return[new ut(me,ae,`array length 2 expected, length ${ae.length} found`)];if($){if(Lr(ae[0])!=="object")return[new ut(me,ae,`object expected, ${Lr(ae[0])} found`)];if(ae[0].zoom===void 0)return[new ut(me,ae,"object stop key must have zoom")];if(ae[0].value===void 0)return[new ut(me,ae,"object stop key must have value")];if(T&&T>xn(ae[0].zoom))return[new ut(me,ae[0].zoom,"stop zoom values must appear in ascending order")];xn(ae[0].zoom)!==T&&(T=xn(ae[0].zoom),b=void 0,A={}),te=te.concat(Ni({key:`${me}[0]`,value:ae[0],valueSpec:{zoom:{}},validateSpec:Q.validateSpec,style:Q.style,styleSpec:Q.styleSpec,objectElementValidators:{zoom:qu,value:Y}}))}else te=te.concat(Y({key:`${me}[0]`,value:ae[0],valueSpec:{},validateSpec:Q.validateSpec,style:Q.style,styleSpec:Q.styleSpec},ae));return kh(Gs(ae[1]))?te.concat([new ut(`${me}[1]`,ae[1],"expressions are not allowed in function stops.")]):te.concat(Q.validateSpec({key:`${me}[1]`,value:ae[1],valueSpec:l,validateSpec:Q.validateSpec,style:Q.style,styleSpec:Q.styleSpec}))}function Y(Q,te){const ae=Lr(Q.value),me=xn(Q.value),_e=Q.value!==null?Q.value:te;if(v){if(ae!==v)return[new ut(Q.key,_e,`${ae} stop domain type must match previous stop domain type ${v}`)]}else v=ae;if(ae!=="number"&&ae!=="string"&&ae!=="boolean")return[new ut(Q.key,_e,"stop domain value must be a number, string, or boolean")];if(ae!=="number"&&f!=="categorical"){let De=`number expected, ${ae} found`;return Hl(l)&&f===void 0&&(De+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ut(Q.key,_e,De)]}return f!=="categorical"||ae!=="number"||isFinite(me)&&Math.floor(me)===me?f!=="categorical"&&ae==="number"&&b!==void 0&&menew ut(`${c.key}${v.key}`,c.value,v.message));const f=l.value.expression||l.value._styleExpression.expression;if(c.expressionContext==="property"&&c.propertyKey==="text-font"&&!f.outputDefined())return[new ut(c.key,c.value,`Invalid data expression for "${c.propertyKey}". Output values must be contained as literals within the expression.`)];if(c.expressionContext==="property"&&c.propertyType==="layout"&&!Nu(f))return[new ut(c.key,c.value,'"feature-state" data expressions are not supported with layout properties.')];if(c.expressionContext==="filter"&&!Nu(f))return[new ut(c.key,c.value,'"feature-state" data expressions are not supported with filters.')];if(c.expressionContext&&c.expressionContext.indexOf("cluster")===0){if(!Eh(f,["zoom","feature-state"]))return[new ut(c.key,c.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(c.expressionContext==="cluster-initial"&&!Ch(f))return[new ut(c.key,c.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Wu(c){const l=c.key,f=c.value,v=c.valueSpec,b=[];return Array.isArray(v.values)?v.values.indexOf(xn(f))===-1&&b.push(new ut(l,f,`expected one of [${v.values.join(", ")}], ${JSON.stringify(f)} found`)):Object.keys(v.values).indexOf(xn(f))===-1&&b.push(new ut(l,f,`expected one of [${Object.keys(v.values).join(", ")}], ${JSON.stringify(f)} found`)),b}function Gl(c){return Uu(Gs(c.value))?qs(mi({},c,{expressionContext:"filter",valueSpec:{value:"boolean"}})):wg(c)}function wg(c){const l=c.value,f=c.key;if(Lr(l)!=="array")return[new ut(f,l,`array expected, ${Lr(l)} found`)];const v=c.styleSpec;let b,T=[];if(l.length<1)return[new ut(f,l,"filter array must have at least 1 element")];switch(T=T.concat(Wu({key:`${f}[0]`,value:l[0],valueSpec:v.filter_operator,style:c.style,styleSpec:c.styleSpec})),xn(l[0])){case"<":case"<=":case">":case">=":l.length>=2&&xn(l[1])==="$type"&&T.push(new ut(f,l,`"$type" cannot be use with operator "${l[0]}"`));case"==":case"!=":l.length!==3&&T.push(new ut(f,l,`filter array for operator "${l[0]}" must have 3 elements`));case"in":case"!in":l.length>=2&&(b=Lr(l[1]),b!=="string"&&T.push(new ut(`${f}[1]`,l[1],`string expected, ${b} found`)));for(let A=2;A{$ in f&&l.push(new ut(v,f[$],`"${$}" is prohibited for ref layers`))}),b.layers.forEach($=>{xn($.id)===I&&(z=$)}),z?z.ref?l.push(new ut(v,f.ref,"ref cannot reference another ref layer")):A=xn(z.type):l.push(new ut(v,f.ref,`ref layer "${I}" not found`))}else if(A!=="background")if(f.source){const z=b.sources&&b.sources[f.source],$=z&&xn(z.type);z?$==="vector"&&A==="raster"?l.push(new ut(v,f.source,`layer "${f.id}" requires a raster source`)):$!=="raster-dem"&&A==="hillshade"?l.push(new ut(v,f.source,`layer "${f.id}" requires a raster-dem source`)):$==="raster"&&A!=="raster"?l.push(new ut(v,f.source,`layer "${f.id}" requires a vector source`)):$!=="vector"||f["source-layer"]?$==="raster-dem"&&A!=="hillshade"?l.push(new ut(v,f.source,"raster-dem source can only be used with layer type 'hillshade'.")):A!=="line"||!f.paint||!f.paint["line-gradient"]||$==="geojson"&&z.lineMetrics||l.push(new ut(v,f,`layer "${f.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):l.push(new ut(v,f,`layer "${f.id}" must specify a "source-layer"`)):l.push(new ut(v,f.source,`source "${f.source}" not found`))}else l.push(new ut(v,f,'missing required property "source"'));return l=l.concat(Ni({key:v,value:f,valueSpec:T.layer,style:c.style,styleSpec:c.styleSpec,validateSpec:c.validateSpec,objectElementValidators:{"*":()=>[],type:()=>c.validateSpec({key:`${v}.type`,value:f.type,valueSpec:T.layer.type,style:c.style,styleSpec:c.styleSpec,validateSpec:c.validateSpec,object:f,objectKey:"type"}),filter:Gl,layout:z=>Ni({layer:f,key:z.key,value:z.value,style:z.style,styleSpec:z.styleSpec,validateSpec:z.validateSpec,objectElementValidators:{"*":$=>Cg(mi({layerType:A},$))}}),paint:z=>Ni({layer:f,key:z.key,value:z.value,style:z.style,styleSpec:z.styleSpec,validateSpec:z.validateSpec,objectElementValidators:{"*":$=>Tg(mi({layerType:A},$))}})}})),l}function no(c){const l=c.value,f=c.key,v=Lr(l);return v!=="string"?[new ut(f,l,`string expected, ${v} found`)]:[]}const Zu={promoteId:function({key:c,value:l}){if(Lr(l)==="string")return no({key:c,value:l});{const f=[];for(const v in l)f.push(...no({key:`${c}.${v}`,value:l[v]}));return f}}};function sa(c){const l=c.value,f=c.key,v=c.styleSpec,b=c.style,T=c.validateSpec;if(!l.type)return[new ut(f,l,'"type" is required')];const A=xn(l.type);let I;switch(A){case"vector":case"raster":return I=Ni({key:f,value:l,valueSpec:v[`source_${A.replace("-","_")}`],style:c.style,styleSpec:v,objectElementValidators:Zu,validateSpec:T}),I;case"raster-dem":return I=function(z){var $;const V=($=z.sourceName)!==null&&$!==void 0?$:"",G=z.value,Y=z.styleSpec,Q=Y.source_raster_dem,te=z.style;let ae=[];const me=Lr(G);if(G===void 0)return ae;if(me!=="object")return ae.push(new ut("source_raster_dem",G,`object expected, ${me} found`)),ae;const _e=xn(G.encoding)==="custom",De=["redFactor","greenFactor","blueFactor","baseShift"],Se=z.value.encoding?`"${z.value.encoding}"`:"Default";for(const Re in G)!_e&&De.includes(Re)?ae.push(new ut(Re,G[Re],`In "${V}": "${Re}" is only valid when "encoding" is set to "custom". ${Se} encoding found`)):Q[Re]?ae=ae.concat(z.validateSpec({key:Re,value:G[Re],valueSpec:Q[Re],validateSpec:z.validateSpec,style:te,styleSpec:Y})):ae.push(new ut(Re,G[Re],`unknown property "${Re}"`));return ae}({sourceName:f,value:l,style:c.style,styleSpec:v,validateSpec:T}),I;case"geojson":if(I=Ni({key:f,value:l,valueSpec:v.source_geojson,style:b,styleSpec:v,validateSpec:T,objectElementValidators:Zu}),l.cluster)for(const z in l.clusterProperties){const[$,V]=l.clusterProperties[z],G=typeof $=="string"?[$,["accumulated"],["get",z]]:$;I.push(...qs({key:`${f}.${z}.map`,value:V,validateSpec:T,expressionContext:"cluster-map"})),I.push(...qs({key:`${f}.${z}.reduce`,value:G,validateSpec:T,expressionContext:"cluster-reduce"}))}return I;case"video":return Ni({key:f,value:l,valueSpec:v.source_video,style:b,validateSpec:T,styleSpec:v});case"image":return Ni({key:f,value:l,valueSpec:v.source_image,style:b,validateSpec:T,styleSpec:v});case"canvas":return[new ut(f,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Wu({key:`${f}.type`,value:l.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:b,validateSpec:T,styleSpec:v})}}function Xu(c){const l=c.value,f=c.styleSpec,v=f.light,b=c.style;let T=[];const A=Lr(l);if(l===void 0)return T;if(A!=="object")return T=T.concat([new ut("light",l,`object expected, ${A} found`)]),T;for(const I in l){const z=I.match(/^(.*)-transition$/);T=T.concat(z&&v[z[1]]&&v[z[1]].transition?c.validateSpec({key:I,value:l[I],valueSpec:f.transition,validateSpec:c.validateSpec,style:b,styleSpec:f}):v[I]?c.validateSpec({key:I,value:l[I],valueSpec:v[I],validateSpec:c.validateSpec,style:b,styleSpec:f}):[new ut(I,l[I],`unknown property "${I}"`)])}return T}function Ag(c){const l=c.value,f=c.styleSpec,v=f.terrain,b=c.style;let T=[];const A=Lr(l);if(l===void 0)return T;if(A!=="object")return T=T.concat([new ut("terrain",l,`object expected, ${A} found`)]),T;for(const I in l)T=T.concat(v[I]?c.validateSpec({key:I,value:l[I],valueSpec:v[I],validateSpec:c.validateSpec,style:b,styleSpec:f}):[new ut(I,l[I],`unknown property "${I}"`)]);return T}function Mg(c){let l=[];const f=c.value,v=c.key;if(Array.isArray(f)){const b=[],T=[];for(const A in f)f[A].id&&b.includes(f[A].id)&&l.push(new ut(v,f,`all the sprites' ids must be unique, but ${f[A].id} is duplicated`)),b.push(f[A].id),f[A].url&&T.includes(f[A].url)&&l.push(new ut(v,f,`all the sprites' URLs must be unique, but ${f[A].url} is duplicated`)),T.push(f[A].url),l=l.concat(Ni({key:`${v}[${A}]`,value:f[A],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:c.validateSpec}));return l}return no({key:v,value:f})}const Pg={"*":()=>[],array:Ul,boolean:function(c){const l=c.value,f=c.key,v=Lr(l);return v!=="boolean"?[new ut(f,l,`boolean expected, ${v} found`)]:[]},number:qu,color:function(c){const l=c.key,f=c.value,v=Lr(f);return v!=="string"?[new ut(l,f,`color expected, ${v} found`)]:jr.parse(String(f))?[]:[new ut(l,f,`color expected, "${f}" found`)]},constants:xg,enum:Wu,filter:Gl,function:$h,layer:Eg,object:Ni,source:sa,light:Xu,terrain:Ag,string:no,formatted:function(c){return no(c).length===0?[]:qs(c)},resolvedImage:function(c){return no(c).length===0?[]:qs(c)},padding:function(c){const l=c.key,f=c.value;if(Lr(f)==="array"){if(f.length<1||f.length>4)return[new ut(l,f,`padding requires 1 to 4 values; ${f.length} values found`)];const v={type:"number"};let b=[];for(let T=0;T[]}})),c.constants&&(f=f.concat(xg({key:"constants",value:c.constants,style:c,styleSpec:l,validateSpec:ko}))),Nh(f)}function Ro(c){return function(l){return c({...l,validateSpec:ko})}}function Nh(c){return[].concat(c).sort((l,f)=>l.line-f.line)}function Oo(c){return function(...l){return Nh(c.apply(this,l))}}Aa.source=Oo(Ro(sa)),Aa.sprite=Oo(Ro(Mg)),Aa.glyphs=Oo(Ro(Ig)),Aa.light=Oo(Ro(Xu)),Aa.terrain=Oo(Ro(Ag)),Aa.layer=Oo(Ro(Eg)),Aa.filter=Oo(Ro(Gl)),Aa.paintProperty=Oo(Ro(Tg)),Aa.layoutProperty=Oo(Ro(Cg));const zo=Aa,cb=zo.light,Xd=zo.paintProperty,Dg=zo.layoutProperty;function Vh(c,l){let f=!1;if(l&&l.length)for(const v of l)c.fire(new yt(new Error(v.message))),f=!0;return f}class ql{constructor(l,f,v){const b=this.cells=[];if(l instanceof ArrayBuffer){this.arrayBuffer=l;const A=new Int32Array(this.arrayBuffer);l=A[0],this.d=(f=A[1])+2*(v=A[2]);for(let z=0;z=G[te+0]&&b>=G[te+1])?(I[Q]=!0,A.push(V[Q])):I[Q]=!1}}}}_forEachCell(l,f,v,b,T,A,I,z){const $=this._convertToCellCoord(l),V=this._convertToCellCoord(f),G=this._convertToCellCoord(v),Y=this._convertToCellCoord(b);for(let Q=$;Q<=G;Q++)for(let te=V;te<=Y;te++){const ae=this.d*te+Q;if((!z||z(this._convertFromCellCoord(Q),this._convertFromCellCoord(te),this._convertFromCellCoord(Q+1),this._convertFromCellCoord(te+1)))&&T.call(this,l,f,v,b,ae,A,I,z))return}}_convertFromCellCoord(l){return(l-this.padding)/this.scale}_convertToCellCoord(l){return Math.max(0,Math.min(this.d-1,Math.floor(l*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const l=this.cells,f=3+this.cells.length+1+1;let v=0;for(let A=0;A=0)continue;const A=c[T];b[T]=Bo[v].shallow.indexOf(T)>=0?A:ps(A,l)}c instanceof Error&&(b.message=c.message)}if(b.$name)throw new Error("$name property is reserved for worker serialization logic.");return v!=="Object"&&(b.$name=v),b}throw new Error("can't serialize object of type "+typeof c)}function Wl(c){if(c==null||typeof c=="boolean"||typeof c=="number"||typeof c=="string"||c instanceof Boolean||c instanceof Number||c instanceof String||c instanceof Date||c instanceof RegExp||c instanceof Blob||jh(c)||Mt(c)||ArrayBuffer.isView(c)||c instanceof ImageData)return c;if(Array.isArray(c))return c.map(Wl);if(typeof c=="object"){const l=c.$name||"Object";if(!Bo[l])throw new Error(`can't deserialize unregistered class ${l}`);const{klass:f}=Bo[l];if(!f)throw new Error(`can't deserialize unregistered class ${l}`);if(f.deserialize)return f.deserialize(c);const v=Object.create(f.prototype);for(const b of Object.keys(c)){if(b==="$name")continue;const T=c[b];v[b]=Bo[l].shallow.indexOf(b)>=0?T:Wl(T)}return v}throw new Error("can't deserialize object of type "+typeof c)}class Lg{constructor(){this.first=!0}update(l,f){const v=Math.floor(l);return this.first?(this.first=!1,this.lastIntegerZoom=v,this.lastIntegerZoomTime=0,this.lastZoom=l,this.lastFloorZoom=v,!0):(this.lastFloorZoom>v?(this.lastIntegerZoom=v+1,this.lastIntegerZoomTime=f):this.lastFloorZoomc>=128&&c<=255,Arabic:c=>c>=1536&&c<=1791,"Arabic Supplement":c=>c>=1872&&c<=1919,"Arabic Extended-A":c=>c>=2208&&c<=2303,"Hangul Jamo":c=>c>=4352&&c<=4607,"Unified Canadian Aboriginal Syllabics":c=>c>=5120&&c<=5759,Khmer:c=>c>=6016&&c<=6143,"Unified Canadian Aboriginal Syllabics Extended":c=>c>=6320&&c<=6399,"General Punctuation":c=>c>=8192&&c<=8303,"Letterlike Symbols":c=>c>=8448&&c<=8527,"Number Forms":c=>c>=8528&&c<=8591,"Miscellaneous Technical":c=>c>=8960&&c<=9215,"Control Pictures":c=>c>=9216&&c<=9279,"Optical Character Recognition":c=>c>=9280&&c<=9311,"Enclosed Alphanumerics":c=>c>=9312&&c<=9471,"Geometric Shapes":c=>c>=9632&&c<=9727,"Miscellaneous Symbols":c=>c>=9728&&c<=9983,"Miscellaneous Symbols and Arrows":c=>c>=11008&&c<=11263,"CJK Radicals Supplement":c=>c>=11904&&c<=12031,"Kangxi Radicals":c=>c>=12032&&c<=12255,"Ideographic Description Characters":c=>c>=12272&&c<=12287,"CJK Symbols and Punctuation":c=>c>=12288&&c<=12351,Hiragana:c=>c>=12352&&c<=12447,Katakana:c=>c>=12448&&c<=12543,Bopomofo:c=>c>=12544&&c<=12591,"Hangul Compatibility Jamo":c=>c>=12592&&c<=12687,Kanbun:c=>c>=12688&&c<=12703,"Bopomofo Extended":c=>c>=12704&&c<=12735,"CJK Strokes":c=>c>=12736&&c<=12783,"Katakana Phonetic Extensions":c=>c>=12784&&c<=12799,"Enclosed CJK Letters and Months":c=>c>=12800&&c<=13055,"CJK Compatibility":c=>c>=13056&&c<=13311,"CJK Unified Ideographs Extension A":c=>c>=13312&&c<=19903,"Yijing Hexagram Symbols":c=>c>=19904&&c<=19967,"CJK Unified Ideographs":c=>c>=19968&&c<=40959,"Yi Syllables":c=>c>=40960&&c<=42127,"Yi Radicals":c=>c>=42128&&c<=42191,"Hangul Jamo Extended-A":c=>c>=43360&&c<=43391,"Hangul Syllables":c=>c>=44032&&c<=55215,"Hangul Jamo Extended-B":c=>c>=55216&&c<=55295,"Private Use Area":c=>c>=57344&&c<=63743,"CJK Compatibility Ideographs":c=>c>=63744&&c<=64255,"Arabic Presentation Forms-A":c=>c>=64336&&c<=65023,"Vertical Forms":c=>c>=65040&&c<=65055,"CJK Compatibility Forms":c=>c>=65072&&c<=65103,"Small Form Variants":c=>c>=65104&&c<=65135,"Arabic Presentation Forms-B":c=>c>=65136&&c<=65279,"Halfwidth and Fullwidth Forms":c=>c>=65280&&c<=65519};function Yd(c){for(const l of c)if(Jd(l.charCodeAt(0)))return!0;return!1}function Kd(c){for(const l of c)if(!hb(l.charCodeAt(0)))return!1;return!0}function hb(c){return!(wt.Arabic(c)||wt["Arabic Supplement"](c)||wt["Arabic Extended-A"](c)||wt["Arabic Presentation Forms-A"](c)||wt["Arabic Presentation Forms-B"](c))}function Jd(c){return!(c!==746&&c!==747&&(c<4352||!(wt["Bopomofo Extended"](c)||wt.Bopomofo(c)||wt["CJK Compatibility Forms"](c)&&!(c>=65097&&c<=65103)||wt["CJK Compatibility Ideographs"](c)||wt["CJK Compatibility"](c)||wt["CJK Radicals Supplement"](c)||wt["CJK Strokes"](c)||!(!wt["CJK Symbols and Punctuation"](c)||c>=12296&&c<=12305||c>=12308&&c<=12319||c===12336)||wt["CJK Unified Ideographs Extension A"](c)||wt["CJK Unified Ideographs"](c)||wt["Enclosed CJK Letters and Months"](c)||wt["Hangul Compatibility Jamo"](c)||wt["Hangul Jamo Extended-A"](c)||wt["Hangul Jamo Extended-B"](c)||wt["Hangul Jamo"](c)||wt["Hangul Syllables"](c)||wt.Hiragana(c)||wt["Ideographic Description Characters"](c)||wt.Kanbun(c)||wt["Kangxi Radicals"](c)||wt["Katakana Phonetic Extensions"](c)||wt.Katakana(c)&&c!==12540||!(!wt["Halfwidth and Fullwidth Forms"](c)||c===65288||c===65289||c===65293||c>=65306&&c<=65310||c===65339||c===65341||c===65343||c>=65371&&c<=65503||c===65507||c>=65512&&c<=65519)||!(!wt["Small Form Variants"](c)||c>=65112&&c<=65118||c>=65123&&c<=65126)||wt["Unified Canadian Aboriginal Syllabics"](c)||wt["Unified Canadian Aboriginal Syllabics Extended"](c)||wt["Vertical Forms"](c)||wt["Yijing Hexagram Symbols"](c)||wt["Yi Syllables"](c)||wt["Yi Radicals"](c))))}function kg(c){return!(Jd(c)||function(l){return!!(wt["Latin-1 Supplement"](l)&&(l===167||l===169||l===174||l===177||l===188||l===189||l===190||l===215||l===247)||wt["General Punctuation"](l)&&(l===8214||l===8224||l===8225||l===8240||l===8241||l===8251||l===8252||l===8258||l===8263||l===8264||l===8265||l===8273)||wt["Letterlike Symbols"](l)||wt["Number Forms"](l)||wt["Miscellaneous Technical"](l)&&(l>=8960&&l<=8967||l>=8972&&l<=8991||l>=8996&&l<=9e3||l===9003||l>=9085&&l<=9114||l>=9150&&l<=9165||l===9167||l>=9169&&l<=9179||l>=9186&&l<=9215)||wt["Control Pictures"](l)&&l!==9251||wt["Optical Character Recognition"](l)||wt["Enclosed Alphanumerics"](l)||wt["Geometric Shapes"](l)||wt["Miscellaneous Symbols"](l)&&!(l>=9754&&l<=9759)||wt["Miscellaneous Symbols and Arrows"](l)&&(l>=11026&&l<=11055||l>=11088&&l<=11097||l>=11192&&l<=11243)||wt["CJK Symbols and Punctuation"](l)||wt.Katakana(l)||wt["Private Use Area"](l)||wt["CJK Compatibility Forms"](l)||wt["Small Form Variants"](l)||wt["Halfwidth and Fullwidth Forms"](l)||l===8734||l===8756||l===8757||l>=9984&&l<=10087||l>=10102&&l<=10131||l===65532||l===65533)}(c))}function Rg(c){return c>=1424&&c<=2303||wt["Arabic Presentation Forms-A"](c)||wt["Arabic Presentation Forms-B"](c)}function Og(c,l){return!(!l&&Rg(c)||c>=2304&&c<=3583||c>=3840&&c<=4255||wt.Khmer(c))}function fb(c){for(const l of c)if(Rg(l.charCodeAt(0)))return!0;return!1}const Qd="deferred",ep="loading",tp="loaded";let rp=null,Vi="unavailable",ms=null;const Yu=function(c){c&&typeof c=="string"&&c.indexOf("NetworkError")>-1&&(Vi="error"),rp&&rp(c)};function np(){Ku.fire(new tt("pluginStateChange",{pluginStatus:Vi,pluginURL:ms}))}const Ku=new ot,ip=function(){return Vi},zg=function(){if(Vi!==Qd||!ms)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Vi=ep,np(),ms&&xe({url:ms},c=>{c?Yu(c):(Vi=tp,np())})},la={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>Vi===tp||la.applyArabicShaping!=null,isLoading:()=>Vi===ep,setState(c){if(!Ue())throw new Error("Cannot set the state of the rtl-text-plugin when not in the web-worker context");Vi=c.pluginStatus,ms=c.pluginURL},isParsed(){if(!Ue())throw new Error("rtl-text-plugin is only parsed on the worker-threads");return la.applyArabicShaping!=null&&la.processBidirectionalText!=null&&la.processStyledBidirectionalText!=null},getPluginURL(){if(!Ue())throw new Error("rtl-text-plugin url can only be queried from the worker threads");return ms}};class rn{constructor(l,f){this.zoom=l,f?(this.now=f.now,this.fadeDuration=f.fadeDuration,this.zoomHistory=f.zoomHistory,this.transition=f.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Lg,this.transition={})}isSupportedScript(l){return function(f,v){for(const b of f)if(!Og(b.charCodeAt(0),v))return!1;return!0}(l,la.isLoaded())}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const l=this.zoom,f=l-Math.floor(l),v=this.crossFadingFactor();return l>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:f+(1-f)*v}:{fromScale:.5,toScale:1,t:1-(1-v)*f}}}class Hh{constructor(l,f){this.property=l,this.value=f,this.expression=function(v,b){if(mn(v))return new ju(v,b);if(kh(v)){const T=qd(v,b);if(T.result==="error")throw new Error(T.value.map(A=>`${A.key}: ${A.message}`).join(", "));return T.value}{let T=v;return b.type==="color"&&typeof v=="string"?T=jr.parse(v):b.type!=="padding"||typeof v!="number"&&!Array.isArray(v)?b.type==="variableAnchorOffsetCollection"&&Array.isArray(v)&&(T=Ta.parse(v)):T=ia.parse(v),{kind:"constant",evaluate:()=>T}}}(f===void 0?l.specification.default:f,l.specification)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(l,f,v){return this.property.possiblyEvaluate(this,l,f,v)}}class ap{constructor(l){this.property=l,this.value=new Hh(l,void 0)}transitioned(l,f){return new Fg(this.property,this.value,f,Z({},l.transition,this.transition),l.now)}untransitioned(){return new Fg(this.property,this.value,null,{},0)}}class Bg{constructor(l){this._properties=l,this._values=Object.create(l.defaultTransitionablePropertyValues)}getValue(l){return le(this._values[l].value.value)}setValue(l,f){Object.prototype.hasOwnProperty.call(this._values,l)||(this._values[l]=new ap(this._values[l].property)),this._values[l].value=new Hh(this._values[l].property,f===null?void 0:le(f))}getTransition(l){return le(this._values[l].transition)}setTransition(l,f){Object.prototype.hasOwnProperty.call(this._values,l)||(this._values[l]=new ap(this._values[l].property)),this._values[l].transition=le(f)||void 0}serialize(){const l={};for(const f of Object.keys(this._values)){const v=this.getValue(f);v!==void 0&&(l[f]=v);const b=this.getTransition(f);b!==void 0&&(l[`${f}-transition`]=b)}return l}transitioned(l,f){const v=new $g(this._properties);for(const b of Object.keys(this._values))v._values[b]=this._values[b].transitioned(l,f._values[b]);return v}untransitioned(){const l=new $g(this._properties);for(const f of Object.keys(this._values))l._values[f]=this._values[f].untransitioned();return l}}class Fg{constructor(l,f,v,b,T){this.property=l,this.value=f,this.begin=T+b.delay||0,this.end=this.begin+b.duration||0,l.specification.transition&&(b.delay||b.duration)&&(this.prior=v)}possiblyEvaluate(l,f,v){const b=l.now||0,T=this.value.possiblyEvaluate(l,f,v),A=this.prior;if(A){if(b>this.end)return this.prior=null,T;if(this.value.isDataDriven())return this.prior=null,T;if(b=1)return 1;const $=z*z,V=$*z;return 4*(z<.5?V:3*(z-$)+V-.75)}(I))}}return T}}class $g{constructor(l){this._properties=l,this._values=Object.create(l.defaultTransitioningPropertyValues)}possiblyEvaluate(l,f,v){const b=new Uh(this._properties);for(const T of Object.keys(this._values))b._values[T]=this._values[T].possiblyEvaluate(l,f,v);return b}hasTransition(){for(const l of Object.keys(this._values))if(this._values[l].prior)return!0;return!1}}class db{constructor(l){this._properties=l,this._values=Object.create(l.defaultPropertyValues)}hasValue(l){return this._values[l].value!==void 0}getValue(l){return le(this._values[l].value)}setValue(l,f){this._values[l]=new Hh(this._values[l].property,f===null?void 0:le(f))}serialize(){const l={};for(const f of Object.keys(this._values)){const v=this.getValue(f);v!==void 0&&(l[f]=v)}return l}possiblyEvaluate(l,f,v){const b=new Uh(this._properties);for(const T of Object.keys(this._values))b._values[T]=this._values[T].possiblyEvaluate(l,f,v);return b}}class Ti{constructor(l,f,v){this.property=l,this.value=f,this.parameters=v}isConstant(){return this.value.kind==="constant"}constantOr(l){return this.value.kind==="constant"?this.value.value:l}evaluate(l,f,v,b){return this.property.evaluate(this.value,this.parameters,l,f,v,b)}}class Uh{constructor(l){this._properties=l,this._values=Object.create(l.defaultPossiblyEvaluatedValues)}get(l){return this._values[l]}}class $t{constructor(l){this.specification=l}possiblyEvaluate(l,f){if(l.isDataDriven())throw new Error("Value should not be data driven");return l.expression.evaluate(f)}interpolate(l,f,v){const b=aa[this.specification.type];return b?b(l,f,v):l}}class Gt{constructor(l,f){this.specification=l,this.overrides=f}possiblyEvaluate(l,f,v,b){return new Ti(this,l.expression.kind==="constant"||l.expression.kind==="camera"?{kind:"constant",value:l.expression.evaluate(f,null,{},v,b)}:l.expression,f)}interpolate(l,f,v){if(l.value.kind!=="constant"||f.value.kind!=="constant")return l;if(l.value.value===void 0||f.value.value===void 0)return new Ti(this,{kind:"constant",value:void 0},l.parameters);const b=aa[this.specification.type];if(b){const T=b(l.value.value,f.value.value,v);return new Ti(this,{kind:"constant",value:T},l.parameters)}return l}evaluate(l,f,v,b,T,A){return l.kind==="constant"?l.value:l.evaluate(f,v,b,T,A)}}class Ju extends Gt{possiblyEvaluate(l,f,v,b){if(l.value===void 0)return new Ti(this,{kind:"constant",value:void 0},f);if(l.expression.kind==="constant"){const T=l.expression.evaluate(f,null,{},v,b),A=l.property.specification.type==="resolvedImage"&&typeof T!="string"?T.name:T,I=this._calculate(A,A,A,f);return new Ti(this,{kind:"constant",value:I},f)}if(l.expression.kind==="camera"){const T=this._calculate(l.expression.evaluate({zoom:f.zoom-1}),l.expression.evaluate({zoom:f.zoom}),l.expression.evaluate({zoom:f.zoom+1}),f);return new Ti(this,{kind:"constant",value:T},f)}return new Ti(this,l.expression,f)}evaluate(l,f,v,b,T,A){if(l.kind==="source"){const I=l.evaluate(f,v,b,T,A);return this._calculate(I,I,I,f)}return l.kind==="composite"?this._calculate(l.evaluate({zoom:Math.floor(f.zoom)-1},v,b),l.evaluate({zoom:Math.floor(f.zoom)},v,b),l.evaluate({zoom:Math.floor(f.zoom)+1},v,b),f):l.value}_calculate(l,f,v,b){return b.zoom>b.zoomHistory.lastIntegerZoom?{from:l,to:f}:{from:v,to:f}}interpolate(l){return l}}class op{constructor(l){this.specification=l}possiblyEvaluate(l,f,v,b){if(l.value!==void 0){if(l.expression.kind==="constant"){const T=l.expression.evaluate(f,null,{},v,b);return this._calculate(T,T,T,f)}return this._calculate(l.expression.evaluate(new rn(Math.floor(f.zoom-1),f)),l.expression.evaluate(new rn(Math.floor(f.zoom),f)),l.expression.evaluate(new rn(Math.floor(f.zoom+1),f)),f)}}_calculate(l,f,v,b){return b.zoom>b.zoomHistory.lastIntegerZoom?{from:l,to:f}:{from:v,to:f}}interpolate(l){return l}}class sp{constructor(l){this.specification=l}possiblyEvaluate(l,f,v,b){return!!l.expression.evaluate(f,null,{},v,b)}interpolate(){return!1}}class kn{constructor(l){this.properties=l,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const f in l){const v=l[f];v.specification.overridable&&this.overridableProperties.push(f);const b=this.defaultPropertyValues[f]=new Hh(v,void 0),T=this.defaultTransitionablePropertyValues[f]=new ap(v);this.defaultTransitioningPropertyValues[f]=T.untransitioned(),this.defaultPossiblyEvaluatedValues[f]=b.possiblyEvaluate({})}}}Ct("DataDrivenProperty",Gt),Ct("DataConstantProperty",$t),Ct("CrossFadedDataDrivenProperty",Ju),Ct("CrossFadedProperty",op),Ct("ColorRampProperty",sp);const lp="-transition";class Ma extends ot{constructor(l,f){if(super(),this.id=l.id,this.type=l.type,this._featureFilter={filter:()=>!0,needGeometry:!1},l.type!=="custom"&&(this.metadata=l.metadata,this.minzoom=l.minzoom,this.maxzoom=l.maxzoom,l.type!=="background"&&(this.source=l.source,this.sourceLayer=l["source-layer"],this.filter=l.filter),f.layout&&(this._unevaluatedLayout=new db(f.layout)),f.paint)){this._transitionablePaint=new Bg(f.paint);for(const v in l.paint)this.setPaintProperty(v,l.paint[v],{validate:!1});for(const v in l.layout)this.setLayoutProperty(v,l.layout[v],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Uh(f.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(l){return l==="visibility"?this.visibility:this._unevaluatedLayout.getValue(l)}setLayoutProperty(l,f,v={}){f!=null&&this._validate(Dg,`layers.${this.id}.layout.${l}`,l,f,v)||(l!=="visibility"?this._unevaluatedLayout.setValue(l,f):this.visibility=f)}getPaintProperty(l){return l.endsWith(lp)?this._transitionablePaint.getTransition(l.slice(0,-11)):this._transitionablePaint.getValue(l)}setPaintProperty(l,f,v={}){if(f!=null&&this._validate(Xd,`layers.${this.id}.paint.${l}`,l,f,v))return!1;if(l.endsWith(lp))return this._transitionablePaint.setTransition(l.slice(0,-11),f||void 0),!1;{const b=this._transitionablePaint._values[l],T=b.property.specification["property-type"]==="cross-faded-data-driven",A=b.value.isDataDriven(),I=b.value;this._transitionablePaint.setValue(l,f),this._handleSpecialPaintPropertyUpdate(l);const z=this._transitionablePaint._values[l].value;return z.isDataDriven()||A||T||this._handleOverridablePaintPropertyUpdate(l,I,z)}}_handleSpecialPaintPropertyUpdate(l){}_handleOverridablePaintPropertyUpdate(l,f,v){return!1}isHidden(l){return!!(this.minzoom&&l=this.maxzoom)||this.visibility==="none"}updateTransitions(l){this._transitioningPaint=this._transitionablePaint.transitioned(l,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(l,f){l.getCrossfadeParameters&&(this._crossfadeParameters=l.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(l,void 0,f)),this.paint=this._transitioningPaint.possiblyEvaluate(l,void 0,f)}serialize(){const l={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(l.layout=l.layout||{},l.layout.visibility=this.visibility),ce(l,(f,v)=>!(f===void 0||v==="layout"&&!Object.keys(f).length||v==="paint"&&!Object.keys(f).length))}_validate(l,f,v,b,T={}){return(!T||T.validate!==!1)&&Vh(this,l.call(zo,{key:f,layerType:this.type,objectKey:v,value:b,styleSpec:Ce,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const l in this.paint._values){const f=this.paint.get(l);if(f instanceof Ti&&Hl(f.property.specification)&&(f.value.kind==="source"||f.value.kind==="composite")&&f.value.isStateDependent)return!0}return!1}}const Ng={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class Ws{constructor(l,f){this._structArray=l,this._pos1=f*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class wn{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(l,f){return l._trim(),f&&(l.isTransferred=!0,f.push(l.arrayBuffer)),{length:l.length,arrayBuffer:l.arrayBuffer}}static deserialize(l){const f=Object.create(this.prototype);return f.arrayBuffer=l.arrayBuffer,f.length=l.length,f.capacity=l.arrayBuffer.byteLength/f.bytesPerElement,f._refreshViews(),f}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(l){this.reserve(l),this.length=l}reserve(l){if(l>this.capacity){this.capacity=Math.max(l,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const f=this.uint8;this._refreshViews(),f&&this.uint8.set(f)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function gn(c,l=1){let f=0,v=0;return{members:c.map(b=>{const T=Ng[b.type].BYTES_PER_ELEMENT,A=f=Zl(f,Math.max(l,T)),I=b.components||1;return v=Math.max(v,T),f+=T*I,{name:b.name,type:b.type,components:I,offset:A}}),size:Zl(f,Math.max(v,l)),alignment:l}}function Zl(c,l){return Math.ceil(c/l)*l}class Qu extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,f){const v=this.length;return this.resize(v+1),this.emplace(v,l,f)}emplace(l,f,v){const b=2*l;return this.int16[b+0]=f,this.int16[b+1]=v,l}}Qu.prototype.bytesPerElement=4,Ct("StructArrayLayout2i4",Qu);class ec extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,f,v){const b=this.length;return this.resize(b+1),this.emplace(b,l,f,v)}emplace(l,f,v,b){const T=3*l;return this.int16[T+0]=f,this.int16[T+1]=v,this.int16[T+2]=b,l}}ec.prototype.bytesPerElement=6,Ct("StructArrayLayout3i6",ec);class Zs extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,f,v,b){const T=this.length;return this.resize(T+1),this.emplace(T,l,f,v,b)}emplace(l,f,v,b,T){const A=4*l;return this.int16[A+0]=f,this.int16[A+1]=v,this.int16[A+2]=b,this.int16[A+3]=T,l}}Zs.prototype.bytesPerElement=8,Ct("StructArrayLayout4i8",Zs);class up extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,f,v,b,T,A){const I=this.length;return this.resize(I+1),this.emplace(I,l,f,v,b,T,A)}emplace(l,f,v,b,T,A,I){const z=6*l;return this.int16[z+0]=f,this.int16[z+1]=v,this.int16[z+2]=b,this.int16[z+3]=T,this.int16[z+4]=A,this.int16[z+5]=I,l}}up.prototype.bytesPerElement=12,Ct("StructArrayLayout2i4i12",up);class cp extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,f,v,b,T,A){const I=this.length;return this.resize(I+1),this.emplace(I,l,f,v,b,T,A)}emplace(l,f,v,b,T,A,I){const z=4*l,$=8*l;return this.int16[z+0]=f,this.int16[z+1]=v,this.uint8[$+4]=b,this.uint8[$+5]=T,this.uint8[$+6]=A,this.uint8[$+7]=I,l}}cp.prototype.bytesPerElement=8,Ct("StructArrayLayout2i4ub8",cp);class Xl extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l,f){const v=this.length;return this.resize(v+1),this.emplace(v,l,f)}emplace(l,f,v){const b=2*l;return this.float32[b+0]=f,this.float32[b+1]=v,l}}Xl.prototype.bytesPerElement=8,Ct("StructArrayLayout2f8",Xl);class hp extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l,f,v,b,T,A,I,z,$,V){const G=this.length;return this.resize(G+1),this.emplace(G,l,f,v,b,T,A,I,z,$,V)}emplace(l,f,v,b,T,A,I,z,$,V,G){const Y=10*l;return this.uint16[Y+0]=f,this.uint16[Y+1]=v,this.uint16[Y+2]=b,this.uint16[Y+3]=T,this.uint16[Y+4]=A,this.uint16[Y+5]=I,this.uint16[Y+6]=z,this.uint16[Y+7]=$,this.uint16[Y+8]=V,this.uint16[Y+9]=G,l}}hp.prototype.bytesPerElement=20,Ct("StructArrayLayout10ui20",hp);class fp extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l,f,v,b,T,A,I,z,$,V,G,Y){const Q=this.length;return this.resize(Q+1),this.emplace(Q,l,f,v,b,T,A,I,z,$,V,G,Y)}emplace(l,f,v,b,T,A,I,z,$,V,G,Y,Q){const te=12*l;return this.int16[te+0]=f,this.int16[te+1]=v,this.int16[te+2]=b,this.int16[te+3]=T,this.uint16[te+4]=A,this.uint16[te+5]=I,this.uint16[te+6]=z,this.uint16[te+7]=$,this.int16[te+8]=V,this.int16[te+9]=G,this.int16[te+10]=Y,this.int16[te+11]=Q,l}}fp.prototype.bytesPerElement=24,Ct("StructArrayLayout4i4ui4i24",fp);class kr extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l,f,v){const b=this.length;return this.resize(b+1),this.emplace(b,l,f,v)}emplace(l,f,v,b){const T=3*l;return this.float32[T+0]=f,this.float32[T+1]=v,this.float32[T+2]=b,l}}kr.prototype.bytesPerElement=12,Ct("StructArrayLayout3f12",kr);class S extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(l){const f=this.length;return this.resize(f+1),this.emplace(f,l)}emplace(l,f){return this.uint32[1*l+0]=f,l}}S.prototype.bytesPerElement=4,Ct("StructArrayLayout1ul4",S);class u extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l,f,v,b,T,A,I,z,$){const V=this.length;return this.resize(V+1),this.emplace(V,l,f,v,b,T,A,I,z,$)}emplace(l,f,v,b,T,A,I,z,$,V){const G=10*l,Y=5*l;return this.int16[G+0]=f,this.int16[G+1]=v,this.int16[G+2]=b,this.int16[G+3]=T,this.int16[G+4]=A,this.int16[G+5]=I,this.uint32[Y+3]=z,this.uint16[G+8]=$,this.uint16[G+9]=V,l}}u.prototype.bytesPerElement=20,Ct("StructArrayLayout6i1ul2ui20",u);class p extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,f,v,b,T,A){const I=this.length;return this.resize(I+1),this.emplace(I,l,f,v,b,T,A)}emplace(l,f,v,b,T,A,I){const z=6*l;return this.int16[z+0]=f,this.int16[z+1]=v,this.int16[z+2]=b,this.int16[z+3]=T,this.int16[z+4]=A,this.int16[z+5]=I,l}}p.prototype.bytesPerElement=12,Ct("StructArrayLayout2i2i2i12",p);class _ extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,f,v,b,T){const A=this.length;return this.resize(A+1),this.emplace(A,l,f,v,b,T)}emplace(l,f,v,b,T,A){const I=4*l,z=8*l;return this.float32[I+0]=f,this.float32[I+1]=v,this.float32[I+2]=b,this.int16[z+6]=T,this.int16[z+7]=A,l}}_.prototype.bytesPerElement=16,Ct("StructArrayLayout2f1f2i16",_);class w extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l,f,v,b){const T=this.length;return this.resize(T+1),this.emplace(T,l,f,v,b)}emplace(l,f,v,b,T){const A=12*l,I=3*l;return this.uint8[A+0]=f,this.uint8[A+1]=v,this.float32[I+1]=b,this.float32[I+2]=T,l}}w.prototype.bytesPerElement=12,Ct("StructArrayLayout2ub2f12",w);class C extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l,f,v){const b=this.length;return this.resize(b+1),this.emplace(b,l,f,v)}emplace(l,f,v,b){const T=3*l;return this.uint16[T+0]=f,this.uint16[T+1]=v,this.uint16[T+2]=b,l}}C.prototype.bytesPerElement=6,Ct("StructArrayLayout3ui6",C);class L extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l,f,v,b,T,A,I,z,$,V,G,Y,Q,te,ae,me,_e){const De=this.length;return this.resize(De+1),this.emplace(De,l,f,v,b,T,A,I,z,$,V,G,Y,Q,te,ae,me,_e)}emplace(l,f,v,b,T,A,I,z,$,V,G,Y,Q,te,ae,me,_e,De){const Se=24*l,Re=12*l,$e=48*l;return this.int16[Se+0]=f,this.int16[Se+1]=v,this.uint16[Se+2]=b,this.uint16[Se+3]=T,this.uint32[Re+2]=A,this.uint32[Re+3]=I,this.uint32[Re+4]=z,this.uint16[Se+10]=$,this.uint16[Se+11]=V,this.uint16[Se+12]=G,this.float32[Re+7]=Y,this.float32[Re+8]=Q,this.uint8[$e+36]=te,this.uint8[$e+37]=ae,this.uint8[$e+38]=me,this.uint32[Re+10]=_e,this.int16[Se+22]=De,l}}L.prototype.bytesPerElement=48,Ct("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",L);class R extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l,f,v,b,T,A,I,z,$,V,G,Y,Q,te,ae,me,_e,De,Se,Re,$e,Ke,St,Rt,xt,bt,ht,Et){const pt=this.length;return this.resize(pt+1),this.emplace(pt,l,f,v,b,T,A,I,z,$,V,G,Y,Q,te,ae,me,_e,De,Se,Re,$e,Ke,St,Rt,xt,bt,ht,Et)}emplace(l,f,v,b,T,A,I,z,$,V,G,Y,Q,te,ae,me,_e,De,Se,Re,$e,Ke,St,Rt,xt,bt,ht,Et,pt){const at=32*l,jt=16*l;return this.int16[at+0]=f,this.int16[at+1]=v,this.int16[at+2]=b,this.int16[at+3]=T,this.int16[at+4]=A,this.int16[at+5]=I,this.int16[at+6]=z,this.int16[at+7]=$,this.uint16[at+8]=V,this.uint16[at+9]=G,this.uint16[at+10]=Y,this.uint16[at+11]=Q,this.uint16[at+12]=te,this.uint16[at+13]=ae,this.uint16[at+14]=me,this.uint16[at+15]=_e,this.uint16[at+16]=De,this.uint16[at+17]=Se,this.uint16[at+18]=Re,this.uint16[at+19]=$e,this.uint16[at+20]=Ke,this.uint16[at+21]=St,this.uint16[at+22]=Rt,this.uint32[jt+12]=xt,this.float32[jt+13]=bt,this.float32[jt+14]=ht,this.uint16[at+30]=Et,this.uint16[at+31]=pt,l}}R.prototype.bytesPerElement=64,Ct("StructArrayLayout8i15ui1ul2f2ui64",R);class B extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l){const f=this.length;return this.resize(f+1),this.emplace(f,l)}emplace(l,f){return this.float32[1*l+0]=f,l}}B.prototype.bytesPerElement=4,Ct("StructArrayLayout1f4",B);class N extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l,f,v){const b=this.length;return this.resize(b+1),this.emplace(b,l,f,v)}emplace(l,f,v,b){const T=3*l;return this.uint16[6*l+0]=f,this.float32[T+1]=v,this.float32[T+2]=b,l}}N.prototype.bytesPerElement=12,Ct("StructArrayLayout1ui2f12",N);class j extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l,f,v){const b=this.length;return this.resize(b+1),this.emplace(b,l,f,v)}emplace(l,f,v,b){const T=4*l;return this.uint32[2*l+0]=f,this.uint16[T+2]=v,this.uint16[T+3]=b,l}}j.prototype.bytesPerElement=8,Ct("StructArrayLayout1ul2ui8",j);class U extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l,f){const v=this.length;return this.resize(v+1),this.emplace(v,l,f)}emplace(l,f,v){const b=2*l;return this.uint16[b+0]=f,this.uint16[b+1]=v,l}}U.prototype.bytesPerElement=4,Ct("StructArrayLayout2ui4",U);class J extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l){const f=this.length;return this.resize(f+1),this.emplace(f,l)}emplace(l,f){return this.uint16[1*l+0]=f,l}}J.prototype.bytesPerElement=2,Ct("StructArrayLayout1ui2",J);class se extends wn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l,f,v,b){const T=this.length;return this.resize(T+1),this.emplace(T,l,f,v,b)}emplace(l,f,v,b,T){const A=4*l;return this.float32[A+0]=f,this.float32[A+1]=v,this.float32[A+2]=b,this.float32[A+3]=T,l}}se.prototype.bytesPerElement=16,Ct("StructArrayLayout4f16",se);class oe extends Ws{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new y(this.anchorPointX,this.anchorPointY)}}oe.prototype.size=20;class fe extends u{get(l){return new oe(this,l)}}Ct("CollisionBoxArray",fe);class ie extends Ws{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(l){this._structArray.uint8[this._pos1+37]=l}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(l){this._structArray.uint8[this._pos1+38]=l}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(l){this._structArray.uint32[this._pos4+10]=l}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}ie.prototype.size=48;class Ae extends L{get(l){return new ie(this,l)}}Ct("PlacedSymbolArray",Ae);class Be extends Ws{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(l){this._structArray.uint32[this._pos4+12]=l}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Be.prototype.size=64;class ye extends R{get(l){return new Be(this,l)}}Ct("SymbolInstanceArray",ye);class Me extends B{getoffsetX(l){return this.float32[1*l+0]}}Ct("GlyphOffsetArray",Me);class Ne extends ec{getx(l){return this.int16[3*l+0]}gety(l){return this.int16[3*l+1]}gettileUnitDistanceFromAnchor(l){return this.int16[3*l+2]}}Ct("SymbolLineVertexArray",Ne);class je extends Ws{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}je.prototype.size=12;class Xe extends N{get(l){return new je(this,l)}}Ct("TextAnchorOffsetArray",Xe);class it extends Ws{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}it.prototype.size=8;class Qe extends j{get(l){return new it(this,l)}}Ct("FeatureIndexArray",Qe);class st extends Qu{}class kt extends Qu{}class fr extends Qu{}class _t extends up{}class qt extends cp{}class Ot extends Xl{}class Hr extends hp{}class hr extends fp{}class ar extends kr{}class dr extends S{}class Cn extends p{}class Yr extends w{}class si extends C{}class qn extends U{}const Rn=gn([{name:"a_pos",components:2,type:"Int16"}],4),{members:ua}=Rn;class nn{constructor(l=[]){this.segments=l}prepareSegment(l,f,v,b){let T=this.segments[this.segments.length-1];return l>nn.MAX_VERTEX_ARRAY_LENGTH&&de(`Max vertices per segment is ${nn.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${l}`),(!T||T.vertexLength+l>nn.MAX_VERTEX_ARRAY_LENGTH||T.sortKey!==b)&&(T={vertexOffset:f.length,primitiveOffset:v.length,vertexLength:0,primitiveLength:0},b!==void 0&&(T.sortKey=b),this.segments.push(T)),T}get(){return this.segments}destroy(){for(const l of this.segments)for(const f in l.vaos)l.vaos[f].destroy()}static simpleSegment(l,f,v,b){return new nn([{vertexOffset:l,primitiveOffset:f,vertexLength:v,primitiveLength:b,vaos:{},sortKey:0}])}}function io(c,l){return 256*(c=H(Math.floor(c),0,255))+H(Math.floor(l),0,255)}nn.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ct("SegmentVector",nn);const ao=gn([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var vs={exports:{}},Xs={exports:{}};Xs.exports=function(c,l){var f,v,b,T,A,I,z,$;for(v=c.length-(f=3&c.length),b=l,A=3432918353,I=461845907,$=0;$>>16)*A&65535)<<16)&4294967295)<<15|z>>>17))*I+(((z>>>16)*I&65535)<<16)&4294967295)<<13|b>>>19))+((5*(b>>>16)&65535)<<16)&4294967295))+((58964+(T>>>16)&65535)<<16);switch(z=0,f){case 3:z^=(255&c.charCodeAt($+2))<<16;case 2:z^=(255&c.charCodeAt($+1))<<8;case 1:b^=z=(65535&(z=(z=(65535&(z^=255&c.charCodeAt($)))*A+(((z>>>16)*A&65535)<<16)&4294967295)<<15|z>>>17))*I+(((z>>>16)*I&65535)<<16)&4294967295}return b^=c.length,b=2246822507*(65535&(b^=b>>>16))+((2246822507*(b>>>16)&65535)<<16)&4294967295,b=3266489909*(65535&(b^=b>>>13))+((3266489909*(b>>>16)&65535)<<16)&4294967295,(b^=b>>>16)>>>0};var Yl=Xs.exports,yi={exports:{}};yi.exports=function(c,l){for(var f,v=c.length,b=l^v,T=0;v>=4;)f=1540483477*(65535&(f=255&c.charCodeAt(T)|(255&c.charCodeAt(++T))<<8|(255&c.charCodeAt(++T))<<16|(255&c.charCodeAt(++T))<<24))+((1540483477*(f>>>16)&65535)<<16),b=1540483477*(65535&b)+((1540483477*(b>>>16)&65535)<<16)^(f=1540483477*(65535&(f^=f>>>24))+((1540483477*(f>>>16)&65535)<<16)),v-=4,++T;switch(v){case 3:b^=(255&c.charCodeAt(T+2))<<16;case 2:b^=(255&c.charCodeAt(T+1))<<8;case 1:b=1540483477*(65535&(b^=255&c.charCodeAt(T)))+((1540483477*(b>>>16)&65535)<<16)}return b=1540483477*(65535&(b^=b>>>13))+((1540483477*(b>>>16)&65535)<<16),(b^=b>>>15)>>>0};var li=Yl,Ci=yi.exports;vs.exports=li,vs.exports.murmur3=li,vs.exports.murmur2=Ci;var Ys=d(vs.exports);class En{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(l,f,v,b){this.ids.push(Wn(l)),this.positions.push(f,v,b)}getPositions(l){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");const f=Wn(l);let v=0,b=this.ids.length-1;for(;v>1;this.ids[A]>=f?b=A:v=A+1}const T=[];for(;this.ids[v]===f;)T.push({index:this.positions[3*v],start:this.positions[3*v+1],end:this.positions[3*v+2]}),v++;return T}static serialize(l,f){const v=new Float64Array(l.ids),b=new Uint32Array(l.positions);return ji(v,b,0,v.length-1),f&&f.push(v.buffer,b.buffer),{ids:v,positions:b}}static deserialize(l){const f=new En;return f.ids=l.ids,f.positions=l.positions,f.indexed=!0,f}}function Wn(c){const l=+c;return!isNaN(l)&&l<=Number.MAX_SAFE_INTEGER?l:Ys(String(c))}function ji(c,l,f,v){for(;f>1];let T=f-1,A=v+1;for(;;){do T++;while(c[T]b);if(T>=A)break;An(c,T,A),An(l,3*T,3*A),An(l,3*T+1,3*A+1),An(l,3*T+2,3*A+2)}A-f`u_${b}`),this.type=v}setUniform(l,f,v){l.set(v.constantOr(this.value))}getBinding(l,f,v){return this.type==="color"?new jg(l,f):new Gh(l,f)}}class Js{constructor(l,f){this.uniformNames=f.map(v=>`u_${v}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(l,f){this.pixelRatioFrom=f.pixelRatio,this.pixelRatioTo=l.pixelRatio,this.patternFrom=f.tlbr,this.patternTo=l.tlbr}setUniform(l,f,v,b){const T=b==="u_pattern_to"?this.patternTo:b==="u_pattern_from"?this.patternFrom:b==="u_pixel_ratio_to"?this.pixelRatioTo:b==="u_pixel_ratio_from"?this.pixelRatioFrom:null;T&&l.set(T)}getBinding(l,f,v){return v.substr(0,9)==="u_pattern"?new Vg(l,f):new Gh(l,f)}}class so{constructor(l,f,v,b){this.expression=l,this.type=v,this.maxValue=0,this.paintVertexAttributes=f.map(T=>({name:`a_${T}`,type:"Float32",components:v==="color"?2:1,offset:0})),this.paintVertexArray=new b}populatePaintArray(l,f,v,b,T){const A=this.paintVertexArray.length,I=this.expression.evaluate(new rn(0),f,{},b,[],T);this.paintVertexArray.resize(l),this._setPaintValue(A,l,I)}updatePaintArray(l,f,v,b){const T=this.expression.evaluate({zoom:0},v,b);this._setPaintValue(l,f,T)}_setPaintValue(l,f,v){if(this.type==="color"){const b=dp(v);for(let T=l;T`u_${I}_t`),this.type=v,this.useIntegerZoom=b,this.zoom=T,this.maxValue=0,this.paintVertexAttributes=f.map(I=>({name:`a_${I}`,type:"Float32",components:v==="color"?4:2,offset:0})),this.paintVertexArray=new A}populatePaintArray(l,f,v,b,T){const A=this.expression.evaluate(new rn(this.zoom),f,{},b,[],T),I=this.expression.evaluate(new rn(this.zoom+1),f,{},b,[],T),z=this.paintVertexArray.length;this.paintVertexArray.resize(l),this._setPaintValue(z,l,A,I)}updatePaintArray(l,f,v,b){const T=this.expression.evaluate({zoom:this.zoom},v,b),A=this.expression.evaluate({zoom:this.zoom+1},v,b);this._setPaintValue(l,f,T,A)}_setPaintValue(l,f,v,b){if(this.type==="color"){const T=dp(v),A=dp(b);for(let I=l;I`#define HAS_UNIFORM_${b}`))}return l}getBinderAttributes(){const l=[];for(const f in this.binders){const v=this.binders[f];if(v instanceof so||v instanceof Pa)for(let b=0;b!0){this.programConfigurations={};for(const b of l)this.programConfigurations[b.id]=new pp(b,f,v);this.needsUpload=!1,this._featureMap=new En,this._bufferOffset=0}populatePaintArrays(l,f,v,b,T,A){for(const I in this.programConfigurations)this.programConfigurations[I].populatePaintArrays(l,f,b,T,A);f.id!==void 0&&this._featureMap.add(f.id,v,this._bufferOffset,l),this._bufferOffset=l,this.needsUpload=!0}updatePaintArrays(l,f,v,b){for(const T of v)this.needsUpload=this.programConfigurations[T.id].updatePaintArrays(l,this._featureMap,f,T,b)||this.needsUpload}get(l){return this.programConfigurations[l]}upload(l){if(this.needsUpload){for(const f in this.programConfigurations)this.programConfigurations[f].upload(l);this.needsUpload=!1}}destroy(){for(const l in this.programConfigurations)this.programConfigurations[l].destroy()}}function v8(c,l){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[c]||[c.replace(`${l}-`,"").replace(/-/g,"_")]}function eA(c,l,f){const v={color:{source:Xl,composite:se},number:{source:B,composite:Xl}},b=function(T){return{"line-pattern":{source:Hr,composite:Hr},"fill-pattern":{source:Hr,composite:Hr},"fill-extrusion-pattern":{source:Hr,composite:Hr}}[T]}(c);return b&&b[f]||v[l][f]}Ct("ConstantBinder",oo),Ct("CrossFadedConstantBinder",Js),Ct("SourceExpressionBinder",so),Ct("CrossFadedCompositeBinder",lo),Ct("CompositeExpressionBinder",Pa),Ct("ProgramConfiguration",pp,{omit:["_buffers"]}),Ct("ProgramConfigurationSet",Fo);const Nn=8192,mb=Math.pow(2,14)-1,tA=-mb-1;function tc(c){const l=Nn/c.extent,f=c.loadGeometry();for(let v=0;vA.x+1||zA.y+1)&&de("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return f}function rc(c,l){return{type:c.type,id:c.id,properties:c.properties,geometry:l?tc(c):[]}}function Hg(c,l,f,v,b){c.emplaceBack(2*l+(v+1)/2,2*f+(b+1)/2)}class vb{constructor(l){this.zoom=l.zoom,this.overscaling=l.overscaling,this.layers=l.layers,this.layerIds=this.layers.map(f=>f.id),this.index=l.index,this.hasPattern=!1,this.layoutVertexArray=new kt,this.indexArray=new si,this.segments=new nn,this.programConfigurations=new Fo(l.layers,l.zoom),this.stateDependentLayerIds=this.layers.filter(f=>f.isStateDependent()).map(f=>f.id)}populate(l,f,v){const b=this.layers[0],T=[];let A=null,I=!1;b.type==="circle"&&(A=b.layout.get("circle-sort-key"),I=!A.isConstant());for(const{feature:z,id:$,index:V,sourceLayerIndex:G}of l){const Y=this.layers[0]._featureFilter.needGeometry,Q=rc(z,Y);if(!this.layers[0]._featureFilter.filter(new rn(this.zoom),Q,v))continue;const te=I?A.evaluate(Q,{},v):void 0,ae={id:$,properties:z.properties,type:z.type,sourceLayerIndex:G,index:V,geometry:Y?Q.geometry:tc(z),patterns:{},sortKey:te};T.push(ae)}I&&T.sort((z,$)=>z.sortKey-$.sortKey);for(const z of T){const{geometry:$,index:V,sourceLayerIndex:G}=z,Y=l[V].feature;this.addFeature(z,$,V,v),f.featureIndex.insert(Y,$,V,G,this.index)}}update(l,f,v){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(l,f,this.stateDependentLayers,v)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(l){this.uploaded||(this.layoutVertexBuffer=l.createVertexBuffer(this.layoutVertexArray,ua),this.indexBuffer=l.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(l),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(l,f,v,b){for(const T of f)for(const A of T){const I=A.x,z=A.y;if(I<0||I>=Nn||z<0||z>=Nn)continue;const $=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,l.sortKey),V=$.vertexLength;Hg(this.layoutVertexArray,I,z,-1,-1),Hg(this.layoutVertexArray,I,z,1,-1),Hg(this.layoutVertexArray,I,z,1,1),Hg(this.layoutVertexArray,I,z,-1,1),this.indexArray.emplaceBack(V,V+1,V+2),this.indexArray.emplaceBack(V,V+3,V+2),$.vertexLength+=4,$.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,l,v,{},b)}}function rA(c,l){for(let f=0;f1){if(gb(c,l))return!0;for(let v=0;v1?f:f.sub(l)._mult(b)._add(l))}function aA(c,l){let f,v,b,T=!1;for(let A=0;Al.y!=b.y>l.y&&l.x<(b.x-v.x)*(l.y-v.y)/(b.y-v.y)+v.x&&(T=!T)}return T}function qh(c,l){let f=!1;for(let v=0,b=c.length-1;vl.y!=A.y>l.y&&l.x<(A.x-T.x)*(l.y-T.y)/(A.y-T.y)+T.x&&(f=!f)}return f}function b8(c,l,f){const v=f[0],b=f[2];if(c.xb.x&&l.x>b.x||c.yb.y&&l.y>b.y)return!1;const T=Te(c,l,f[0]);return T!==Te(c,l,f[1])||T!==Te(c,l,f[2])||T!==Te(c,l,f[3])}function mp(c,l,f){const v=l.paint.get(c).value;return v.kind==="constant"?v.value:f.programConfigurations.get(l.id).getMaxValue(c)}function Ug(c){return Math.sqrt(c[0]*c[0]+c[1]*c[1])}function Gg(c,l,f,v,b){if(!l[0]&&!l[1])return c;const T=y.convert(l)._mult(b);f==="viewport"&&T._rotate(-v);const A=[];for(let I=0;IuA(me,ae))}($,z),Q=G?V*I:V;for(const te of b)for(const ae of te){const me=G?ae:uA(ae,z);let _e=Q;const De=qg([],[ae.x,ae.y,0,1],z);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"?_e*=De[3]/A.cameraToCenterDistance:this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"&&(_e*=A.cameraToCenterDistance/De[3]),g8(Y,me,_e))return!0}return!1}}function uA(c,l){const f=qg([],[c.x,c.y,0,1],l);return new y(f[0]/f[3],f[1]/f[3])}class cA extends vb{}let hA;Ct("HeatmapBucket",cA,{omit:["layers"]});var T8={get paint(){return hA=hA||new kn({"heatmap-radius":new Gt(Ce.paint_heatmap["heatmap-radius"]),"heatmap-weight":new Gt(Ce.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new $t(Ce.paint_heatmap["heatmap-intensity"]),"heatmap-color":new sp(Ce.paint_heatmap["heatmap-color"]),"heatmap-opacity":new $t(Ce.paint_heatmap["heatmap-opacity"])})}};function bb(c,{width:l,height:f},v,b){if(b){if(b instanceof Uint8ClampedArray)b=new Uint8Array(b.buffer);else if(b.length!==l*f*v)throw new RangeError(`mismatched image size. expected: ${b.length} but got: ${l*f*v}`)}else b=new Uint8Array(l*f*v);return c.width=l,c.height=f,c.data=b,c}function fA(c,{width:l,height:f},v){if(l===c.width&&f===c.height)return;const b=bb({},{width:l,height:f},v);xb(c,b,{x:0,y:0},{x:0,y:0},{width:Math.min(c.width,l),height:Math.min(c.height,f)},v),c.width=l,c.height=f,c.data=b.data}function xb(c,l,f,v,b,T){if(b.width===0||b.height===0)return l;if(b.width>c.width||b.height>c.height||f.x>c.width-b.width||f.y>c.height-b.height)throw new RangeError("out of range source coordinates for image copy");if(b.width>l.width||b.height>l.height||v.x>l.width-b.width||v.y>l.height-b.height)throw new RangeError("out of range destination coordinates for image copy");const A=c.data,I=l.data;if(A===I)throw new Error("srcData equals dstData, so image is already copied");for(let z=0;z{l[c.evaluationKey]=z;const $=c.expression.evaluate(l);b.data[A+I+0]=Math.floor(255*$.r/$.a),b.data[A+I+1]=Math.floor(255*$.g/$.a),b.data[A+I+2]=Math.floor(255*$.b/$.a),b.data[A+I+3]=Math.floor(255*$.a)};if(c.clips)for(let A=0,I=0;A80*f){v=T=c[0],b=A=c[1];for(var te=f;teT&&(T=I),z>A&&(A=z);$=($=Math.max(T-v,A-b))!==0?32767/$:0}return yp(Y,Q,f,v,b,$,0),Q}function mA(c,l,f,v,b){var T,A;if(b===Cb(c,l,f,v)>0)for(T=l;T=l;T-=v)A=yA(T,c[T],c[T+1],A);return A&&Zg(A,A.next)&&(bp(A),A=A.next),A}function nc(c,l){if(!c)return c;l||(l=c);var f,v=c;do if(f=!1,v.steiner||!Zg(v,v.next)&&On(v.prev,v,v.next)!==0)v=v.next;else{if(bp(v),(v=l=v.prev)===v.next)break;f=!0}while(f||v!==l);return l}function yp(c,l,f,v,b,T,A){if(c){!A&&T&&function(V,G,Y,Q){var te=V;do te.z===0&&(te.z=Sb(te.x,te.y,G,Y,Q)),te.prevZ=te.prev,te.nextZ=te.next,te=te.next;while(te!==V);te.prevZ.nextZ=null,te.prevZ=null,function(ae){var me,_e,De,Se,Re,$e,Ke,St,Rt=1;do{for(_e=ae,ae=null,Re=null,$e=0;_e;){for($e++,De=_e,Ke=0,me=0;me0||St>0&&De;)Ke!==0&&(St===0||!De||_e.z<=De.z)?(Se=_e,_e=_e.nextZ,Ke--):(Se=De,De=De.nextZ,St--),Re?Re.nextZ=Se:ae=Se,Se.prevZ=Re,Re=Se;_e=De}Re.nextZ=null,Rt*=2}while($e>1)}(te)}(c,v,b,T);for(var I,z,$=c;c.prev!==c.next;)if(I=c.prev,z=c.next,T?D8(c,v,b,T):I8(c))l.push(I.i/f|0),l.push(c.i/f|0),l.push(z.i/f|0),bp(c),c=z.next,$=z.next;else if((c=z)===$){A?A===1?yp(c=L8(nc(c),l,f),l,f,v,b,T,2):A===2&&k8(c,l,f,v,b,T):yp(nc(c),l,f,v,b,T,1);break}}}function I8(c){var l=c.prev,f=c,v=c.next;if(On(l,f,v)>=0)return!1;for(var b=l.x,T=f.x,A=v.x,I=l.y,z=f.y,$=v.y,V=bT?b>A?b:A:T>A?T:A,Q=I>z?I>$?I:$:z>$?z:$,te=v.next;te!==l;){if(te.x>=V&&te.x<=Y&&te.y>=G&&te.y<=Q&&Zh(b,I,T,z,A,$,te.x,te.y)&&On(te.prev,te,te.next)>=0)return!1;te=te.next}return!0}function D8(c,l,f,v){var b=c.prev,T=c,A=c.next;if(On(b,T,A)>=0)return!1;for(var I=b.x,z=T.x,$=A.x,V=b.y,G=T.y,Y=A.y,Q=Iz?I>$?I:$:z>$?z:$,me=V>G?V>Y?V:Y:G>Y?G:Y,_e=Sb(Q,te,l,f,v),De=Sb(ae,me,l,f,v),Se=c.prevZ,Re=c.nextZ;Se&&Se.z>=_e&&Re&&Re.z<=De;){if(Se.x>=Q&&Se.x<=ae&&Se.y>=te&&Se.y<=me&&Se!==b&&Se!==A&&Zh(I,V,z,G,$,Y,Se.x,Se.y)&&On(Se.prev,Se,Se.next)>=0||(Se=Se.prevZ,Re.x>=Q&&Re.x<=ae&&Re.y>=te&&Re.y<=me&&Re!==b&&Re!==A&&Zh(I,V,z,G,$,Y,Re.x,Re.y)&&On(Re.prev,Re,Re.next)>=0))return!1;Re=Re.nextZ}for(;Se&&Se.z>=_e;){if(Se.x>=Q&&Se.x<=ae&&Se.y>=te&&Se.y<=me&&Se!==b&&Se!==A&&Zh(I,V,z,G,$,Y,Se.x,Se.y)&&On(Se.prev,Se,Se.next)>=0)return!1;Se=Se.prevZ}for(;Re&&Re.z<=De;){if(Re.x>=Q&&Re.x<=ae&&Re.y>=te&&Re.y<=me&&Re!==b&&Re!==A&&Zh(I,V,z,G,$,Y,Re.x,Re.y)&&On(Re.prev,Re,Re.next)>=0)return!1;Re=Re.nextZ}return!0}function L8(c,l,f){var v=c;do{var b=v.prev,T=v.next.next;!Zg(b,T)&&vA(b,v,v.next,T)&&_p(b,T)&&_p(T,b)&&(l.push(b.i/f|0),l.push(v.i/f|0),l.push(T.i/f|0),bp(v),bp(v.next),v=c=T),v=v.next}while(v!==c);return nc(v)}function k8(c,l,f,v,b,T){var A=c;do{for(var I=A.next.next;I!==A.prev;){if(A.i!==I.i&&F8(A,I)){var z=gA(A,I);return A=nc(A,A.next),z=nc(z,z.next),yp(A,l,f,v,b,T,0),void yp(z,l,f,v,b,T,0)}I=I.next}A=A.next}while(A!==c)}function R8(c,l){return c.x-l.x}function O8(c,l){var f=function(b,T){var A,I=T,z=b.x,$=b.y,V=-1/0;do{if($<=I.y&&$>=I.next.y&&I.next.y!==I.y){var G=I.x+($-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(G<=z&&G>V&&(V=G,A=I.x=I.x&&I.x>=te&&z!==I.x&&Zh($A.x||I.x===A.x&&z8(A,I)))&&(A=I,me=Y)),I=I.next;while(I!==Q);return A}(c,l);if(!f)return l;var v=gA(f,c);return nc(v,v.next),nc(f,f.next)}function z8(c,l){return On(c.prev,c,l.prev)<0&&On(l.next,c,c.next)<0}function Sb(c,l,f,v,b){return(c=1431655765&((c=858993459&((c=252645135&((c=16711935&((c=(c-f)*b|0)|c<<8))|c<<4))|c<<2))|c<<1))|(l=1431655765&((l=858993459&((l=252645135&((l=16711935&((l=(l-v)*b|0)|l<<8))|l<<4))|l<<2))|l<<1))<<1}function B8(c){var l=c,f=c;do(l.x=(c-A)*(T-I)&&(c-A)*(v-I)>=(f-A)*(l-I)&&(f-A)*(T-I)>=(b-A)*(v-I)}function F8(c,l){return c.next.i!==l.i&&c.prev.i!==l.i&&!function(f,v){var b=f;do{if(b.i!==f.i&&b.next.i!==f.i&&b.i!==v.i&&b.next.i!==v.i&&vA(b,b.next,f,v))return!0;b=b.next}while(b!==f);return!1}(c,l)&&(_p(c,l)&&_p(l,c)&&function(f,v){var b=f,T=!1,A=(f.x+v.x)/2,I=(f.y+v.y)/2;do b.y>I!=b.next.y>I&&b.next.y!==b.y&&A<(b.next.x-b.x)*(I-b.y)/(b.next.y-b.y)+b.x&&(T=!T),b=b.next;while(b!==f);return T}(c,l)&&(On(c.prev,c,l.prev)||On(c,l.prev,l))||Zg(c,l)&&On(c.prev,c,c.next)>0&&On(l.prev,l,l.next)>0)}function On(c,l,f){return(l.y-c.y)*(f.x-l.x)-(l.x-c.x)*(f.y-l.y)}function Zg(c,l){return c.x===l.x&&c.y===l.y}function vA(c,l,f,v){var b=Yg(On(c,l,f)),T=Yg(On(c,l,v)),A=Yg(On(f,v,c)),I=Yg(On(f,v,l));return b!==T&&A!==I||!(b!==0||!Xg(c,f,l))||!(T!==0||!Xg(c,v,l))||!(A!==0||!Xg(f,c,v))||!(I!==0||!Xg(f,l,v))}function Xg(c,l,f){return l.x<=Math.max(c.x,f.x)&&l.x>=Math.min(c.x,f.x)&&l.y<=Math.max(c.y,f.y)&&l.y>=Math.min(c.y,f.y)}function Yg(c){return c>0?1:c<0?-1:0}function _p(c,l){return On(c.prev,c,c.next)<0?On(c,l,c.next)>=0&&On(c,c.prev,l)>=0:On(c,l,c.prev)<0||On(c,c.next,l)<0}function gA(c,l){var f=new Tb(c.i,c.x,c.y),v=new Tb(l.i,l.x,l.y),b=c.next,T=l.prev;return c.next=l,l.prev=c,f.next=b,b.prev=f,v.next=f,f.prev=v,T.next=v,v.prev=T,v}function yA(c,l,f,v){var b=new Tb(c,l,f);return v?(b.next=v.next,b.prev=v,v.next.prev=b,v.next=b):(b.prev=b,b.next=b),b}function bp(c){c.next.prev=c.prev,c.prev.next=c.next,c.prevZ&&(c.prevZ.nextZ=c.nextZ),c.nextZ&&(c.nextZ.prevZ=c.prevZ)}function Tb(c,l,f){this.i=c,this.x=l,this.y=f,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Cb(c,l,f,v){for(var b=0,T=l,A=f-v;T0&&f.holes.push(v+=c[b-1].length)}return f};var _A=d(wb.exports);function $8(c,l,f,v,b){bA(c,l,f||0,v||c.length-1,b||N8)}function bA(c,l,f,v,b){for(;v>f;){if(v-f>600){var T=v-f+1,A=l-f+1,I=Math.log(T),z=.5*Math.exp(2*I/3),$=.5*Math.sqrt(I*z*(T-z)/T)*(A-T/2<0?-1:1);bA(c,l,Math.max(f,Math.floor(l-A*z/T+$)),Math.min(v,Math.floor(l+(T-A)*z/T+$)),b)}var V=c[l],G=f,Y=v;for(xp(c,f,l),b(c[v],V)>0&&xp(c,f,v);G0;)Y--}b(c[f],V)===0?xp(c,f,Y):xp(c,++Y,v),Y<=l&&(f=Y+1),l<=Y&&(v=Y-1)}}function xp(c,l,f){var v=c[l];c[l]=c[f],c[f]=v}function N8(c,l){return cl?1:0}function Eb(c,l){const f=c.length;if(f<=1)return[c];const v=[];let b,T;for(let A=0;A1)for(let A=0;Af.id),this.index=l.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new fr,this.indexArray=new si,this.indexArray2=new qn,this.programConfigurations=new Fo(l.layers,l.zoom),this.segments=new nn,this.segments2=new nn,this.stateDependentLayerIds=this.layers.filter(f=>f.isStateDependent()).map(f=>f.id)}populate(l,f,v){this.hasPattern=Ab("fill",this.layers,f);const b=this.layers[0].layout.get("fill-sort-key"),T=!b.isConstant(),A=[];for(const{feature:I,id:z,index:$,sourceLayerIndex:V}of l){const G=this.layers[0]._featureFilter.needGeometry,Y=rc(I,G);if(!this.layers[0]._featureFilter.filter(new rn(this.zoom),Y,v))continue;const Q=T?b.evaluate(Y,{},v,f.availableImages):void 0,te={id:z,properties:I.properties,type:I.type,sourceLayerIndex:V,index:$,geometry:G?Y.geometry:tc(I),patterns:{},sortKey:Q};A.push(te)}T&&A.sort((I,z)=>I.sortKey-z.sortKey);for(const I of A){const{geometry:z,index:$,sourceLayerIndex:V}=I;if(this.hasPattern){const G=Mb("fill",this.layers,I,this.zoom,f);this.patternFeatures.push(G)}else this.addFeature(I,z,$,v,{});f.featureIndex.insert(l[$].feature,z,$,V,this.index)}}update(l,f,v){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(l,f,this.stateDependentLayers,v)}addFeatures(l,f,v){for(const b of this.patternFeatures)this.addFeature(b,b.geometry,b.index,f,v)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(l){this.uploaded||(this.layoutVertexBuffer=l.createVertexBuffer(this.layoutVertexArray,P8),this.indexBuffer=l.createIndexBuffer(this.indexArray),this.indexBuffer2=l.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(l),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(l,f,v,b,T){for(const A of Eb(f,500)){let I=0;for(const Q of A)I+=Q.length;const z=this.segments.prepareSegment(I,this.layoutVertexArray,this.indexArray),$=z.vertexLength,V=[],G=[];for(const Q of A){if(Q.length===0)continue;Q!==A[0]&&G.push(V.length/2);const te=this.segments2.prepareSegment(Q.length,this.layoutVertexArray,this.indexArray2),ae=te.vertexLength;this.layoutVertexArray.emplaceBack(Q[0].x,Q[0].y),this.indexArray2.emplaceBack(ae+Q.length-1,ae),V.push(Q[0].x),V.push(Q[0].y);for(let me=1;me>3}if(b--,v===1||v===2)T+=c.readSVarint(),A+=c.readSVarint(),v===1&&(l&&I.push(l),l=[]),l.push(new W8(T,A));else{if(v!==7)throw new Error("unknown command "+v);l&&l.push(l[0].clone())}}return l&&I.push(l),I},Xh.prototype.bbox=function(){var c=this._pbf;c.pos=this._geometry;for(var l=c.readVarint()+c.pos,f=1,v=0,b=0,T=0,A=1/0,I=-1/0,z=1/0,$=-1/0;c.pos>3}if(v--,f===1||f===2)(b+=c.readSVarint())I&&(I=b),(T+=c.readSVarint())$&&($=T);else if(f!==7)throw new Error("unknown command "+f)}return[A,z,I,$]},Xh.prototype.toGeoJSON=function(c,l,f){var v,b,T=this.extent*Math.pow(2,f),A=this.extent*c,I=this.extent*l,z=this.loadGeometry(),$=Xh.types[this.type];function V(Q){for(var te=0;te>3;b=A===1?v.readString():A===2?v.readFloat():A===3?v.readDouble():A===4?v.readVarint64():A===5?v.readVarint():A===6?v.readSVarint():A===7?v.readBoolean():null}return b}(f))}CA.prototype.feature=function(c){if(c<0||c>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[c];var l=this._pbf.readVarint()+this._pbf.pos;return new Y8(this._pbf,l,this.extent,this._keys,this._values)};var J8=TA;function Q8(c,l,f){if(c===3){var v=new J8(f,f.readVarint()+f.pos);v.length&&(l[v.name]=v)}}Kl.VectorTile=function(c,l){this.layers=c.readFields(Q8,{},l)},Kl.VectorTileFeature=SA,Kl.VectorTileLayer=TA;const e$=Kl.VectorTileFeature.types,Ib=Math.pow(2,13);function wp(c,l,f,v,b,T,A,I){c.emplaceBack(l,f,2*Math.floor(v*Ib)+A,b*Ib*2,T*Ib*2,Math.round(I))}class Db{constructor(l){this.zoom=l.zoom,this.overscaling=l.overscaling,this.layers=l.layers,this.layerIds=this.layers.map(f=>f.id),this.index=l.index,this.hasPattern=!1,this.layoutVertexArray=new _t,this.centroidVertexArray=new st,this.indexArray=new si,this.programConfigurations=new Fo(l.layers,l.zoom),this.segments=new nn,this.stateDependentLayerIds=this.layers.filter(f=>f.isStateDependent()).map(f=>f.id)}populate(l,f,v){this.features=[],this.hasPattern=Ab("fill-extrusion",this.layers,f);for(const{feature:b,id:T,index:A,sourceLayerIndex:I}of l){const z=this.layers[0]._featureFilter.needGeometry,$=rc(b,z);if(!this.layers[0]._featureFilter.filter(new rn(this.zoom),$,v))continue;const V={id:T,sourceLayerIndex:I,index:A,geometry:z?$.geometry:tc(b),properties:b.properties,type:b.type,patterns:{}};this.hasPattern?this.features.push(Mb("fill-extrusion",this.layers,V,this.zoom,f)):this.addFeature(V,V.geometry,A,v,{}),f.featureIndex.insert(b,V.geometry,A,I,this.index,!0)}}addFeatures(l,f,v){for(const b of this.features){const{geometry:T}=b;this.addFeature(b,T,b.index,f,v)}}update(l,f,v){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(l,f,this.stateDependentLayers,v)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(l){this.uploaded||(this.layoutVertexBuffer=l.createVertexBuffer(this.layoutVertexArray,q8),this.centroidVertexBuffer=l.createVertexBuffer(this.centroidVertexArray,G8.members,!0),this.indexBuffer=l.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(l),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(l,f,v,b,T){const A={x:0,y:0,vertexCount:0};for(const I of Eb(f,500)){let z=0;for(const te of I)z+=te.length;let $=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const te of I){if(te.length===0||r$(te))continue;let ae=0;for(let me=0;me=1){const De=te[me-1];if(!t$(_e,De)){$.vertexLength+4>nn.MAX_VERTEX_ARRAY_LENGTH&&($=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const Se=_e.sub(De)._perp()._unit(),Re=De.dist(_e);ae+Re>32768&&(ae=0),wp(this.layoutVertexArray,_e.x,_e.y,Se.x,Se.y,0,0,ae),wp(this.layoutVertexArray,_e.x,_e.y,Se.x,Se.y,0,1,ae),A.x+=2*_e.x,A.y+=2*_e.y,A.vertexCount+=2,ae+=Re,wp(this.layoutVertexArray,De.x,De.y,Se.x,Se.y,0,0,ae),wp(this.layoutVertexArray,De.x,De.y,Se.x,Se.y,0,1,ae),A.x+=2*De.x,A.y+=2*De.y,A.vertexCount+=2;const $e=$.vertexLength;this.indexArray.emplaceBack($e,$e+2,$e+1),this.indexArray.emplaceBack($e+1,$e+2,$e+3),$.vertexLength+=4,$.primitiveLength+=2}}}}if($.vertexLength+z>nn.MAX_VERTEX_ARRAY_LENGTH&&($=this.segments.prepareSegment(z,this.layoutVertexArray,this.indexArray)),e$[l.type]!=="Polygon")continue;const V=[],G=[],Y=$.vertexLength;for(const te of I)if(te.length!==0){te!==I[0]&&G.push(V.length/2);for(let ae=0;aeNn)||c.y===l.y&&(c.y<0||c.y>Nn)}function r$(c){return c.every(l=>l.x<0)||c.every(l=>l.x>Nn)||c.every(l=>l.y<0)||c.every(l=>l.y>Nn)}let EA;Ct("FillExtrusionBucket",Db,{omit:["layers","features"]});var n$={get paint(){return EA=EA||new kn({"fill-extrusion-opacity":new $t(Ce["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Gt(Ce["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new $t(Ce["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new $t(Ce["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Ju(Ce["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Gt(Ce["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Gt(Ce["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new $t(Ce["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class i$ extends Ma{constructor(l){super(l,n$)}createBucket(l){return new Db(l)}queryRadius(){return Ug(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(l,f,v,b,T,A,I,z){const $=Gg(l,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),A.angle,I),V=this.paint.get("fill-extrusion-height").evaluate(f,v),G=this.paint.get("fill-extrusion-base").evaluate(f,v),Y=function(te,ae,me,_e){const De=[];for(const Se of te){const Re=[Se.x,Se.y,0,1];qg(Re,Re,ae),De.push(new y(Re[0]/Re[3],Re[1]/Re[3]))}return De}($,z),Q=function(te,ae,me,_e){const De=[],Se=[],Re=_e[8]*ae,$e=_e[9]*ae,Ke=_e[10]*ae,St=_e[11]*ae,Rt=_e[8]*me,xt=_e[9]*me,bt=_e[10]*me,ht=_e[11]*me;for(const Et of te){const pt=[],at=[];for(const jt of Et){const Bt=jt.x,cr=jt.y,an=_e[0]*Bt+_e[4]*cr+_e[12],hn=_e[1]*Bt+_e[5]*cr+_e[13],Xn=_e[2]*Bt+_e[6]*cr+_e[14],Ia=_e[3]*Bt+_e[7]*cr+_e[15],Ui=Xn+Ke,Vn=Ia+St,ui=an+Rt,bi=hn+xt,Gi=Xn+bt,qi=Ia+ht,Yn=new y((an+Re)/Vn,(hn+$e)/Vn);Yn.z=Ui/Vn,pt.push(Yn);const Kn=new y(ui/qi,bi/qi);Kn.z=Gi/qi,at.push(Kn)}De.push(pt),Se.push(at)}return[De,Se]}(b,G,V,z);return function(te,ae,me){let _e=1/0;nA(me,ae)&&(_e=AA(me,ae[0]));for(let De=0;Def.id),this.index=l.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(f=>{this.gradients[f.id]={}}),this.layoutVertexArray=new qt,this.layoutVertexArray2=new Ot,this.indexArray=new si,this.programConfigurations=new Fo(l.layers,l.zoom),this.segments=new nn,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(f=>f.isStateDependent()).map(f=>f.id)}populate(l,f,v){this.hasPattern=Ab("line",this.layers,f);const b=this.layers[0].layout.get("line-sort-key"),T=!b.isConstant(),A=[];for(const{feature:I,id:z,index:$,sourceLayerIndex:V}of l){const G=this.layers[0]._featureFilter.needGeometry,Y=rc(I,G);if(!this.layers[0]._featureFilter.filter(new rn(this.zoom),Y,v))continue;const Q=T?b.evaluate(Y,{},v):void 0,te={id:z,properties:I.properties,type:I.type,sourceLayerIndex:V,index:$,geometry:G?Y.geometry:tc(I),patterns:{},sortKey:Q};A.push(te)}T&&A.sort((I,z)=>I.sortKey-z.sortKey);for(const I of A){const{geometry:z,index:$,sourceLayerIndex:V}=I;if(this.hasPattern){const G=Mb("line",this.layers,I,this.zoom,f);this.patternFeatures.push(G)}else this.addFeature(I,z,$,v,{});f.featureIndex.insert(l[$].feature,z,$,V,this.index)}}update(l,f,v){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(l,f,this.stateDependentLayers,v)}addFeatures(l,f,v){for(const b of this.patternFeatures)this.addFeature(b,b.geometry,b.index,f,v)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(l){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=l.createVertexBuffer(this.layoutVertexArray2,l$)),this.layoutVertexBuffer=l.createVertexBuffer(this.layoutVertexArray,o$),this.indexBuffer=l.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(l),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(l){if(l.properties&&Object.prototype.hasOwnProperty.call(l.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(l.properties,"mapbox_clip_end"))return{start:+l.properties.mapbox_clip_start,end:+l.properties.mapbox_clip_end}}addFeature(l,f,v,b,T){const A=this.layers[0].layout,I=A.get("line-join").evaluate(l,{}),z=A.get("line-cap"),$=A.get("line-miter-limit"),V=A.get("line-round-limit");this.lineClips=this.lineFeatureClips(l);for(const G of f)this.addLine(G,l,I,z,$,V);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,l,v,T,b)}addLine(l,f,v,b,T,A){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let _e=0;_e=2&&l[z-1].equals(l[z-2]);)z--;let $=0;for(;$0;if(St&&_e>$){const ht=Y.dist(Q);if(ht>2*V){const Et=Y.sub(Y.sub(Q)._mult(V/ht)._round());this.updateDistance(Q,Et),this.addCurrentVertex(Et,ae,0,0,G),Q=Et}}const xt=Q&&te;let bt=xt?v:I?"butt":b;if(xt&&bt==="round"&&($eT&&(bt="bevel"),bt==="bevel"&&($e>2&&(bt="flipbevel"),$e100)De=me.mult(-1);else{const ht=$e*ae.add(me).mag()/ae.sub(me).mag();De._perp()._mult(ht*(Rt?-1:1))}this.addCurrentVertex(Y,De,0,0,G),this.addCurrentVertex(Y,De.mult(-1),0,0,G)}else if(bt==="bevel"||bt==="fakeround"){const ht=-Math.sqrt($e*$e-1),Et=Rt?ht:0,pt=Rt?0:ht;if(Q&&this.addCurrentVertex(Y,ae,Et,pt,G),bt==="fakeround"){const at=Math.round(180*Ke/Math.PI/20);for(let jt=1;jt2*V){const Et=Y.add(te.sub(Y)._mult(V/ht)._round());this.updateDistance(Y,Et),this.addCurrentVertex(Et,me,0,0,G),Y=Et}}}}addCurrentVertex(l,f,v,b,T,A=!1){const I=f.y*b-f.x,z=-f.y-f.x*b;this.addHalfVertex(l,f.x+f.y*v,f.y-f.x*v,A,!1,v,T),this.addHalfVertex(l,I,z,A,!0,-b,T),this.distance>MA/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(l,f,v,b,T,A))}addHalfVertex({x:l,y:f},v,b,T,A,I,z){const $=.5*(this.lineClips?this.scaledDistance*(MA-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((l<<1)+(T?1:0),(f<<1)+(A?1:0),Math.round(63*v)+128,Math.round(63*b)+128,1+(I===0?0:I<0?-1:1)|(63&$)<<2,$>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const V=z.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,V),z.primitiveLength++),A?this.e2=V:this.e1=V}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(l,f){this.distance+=l.dist(f),this.updateScaledDistance()}}let PA,IA;Ct("LineBucket",Lb,{omit:["layers","patternFeatures"]});var DA={get paint(){return IA=IA||new kn({"line-opacity":new Gt(Ce.paint_line["line-opacity"]),"line-color":new Gt(Ce.paint_line["line-color"]),"line-translate":new $t(Ce.paint_line["line-translate"]),"line-translate-anchor":new $t(Ce.paint_line["line-translate-anchor"]),"line-width":new Gt(Ce.paint_line["line-width"]),"line-gap-width":new Gt(Ce.paint_line["line-gap-width"]),"line-offset":new Gt(Ce.paint_line["line-offset"]),"line-blur":new Gt(Ce.paint_line["line-blur"]),"line-dasharray":new op(Ce.paint_line["line-dasharray"]),"line-pattern":new Ju(Ce.paint_line["line-pattern"]),"line-gradient":new sp(Ce.paint_line["line-gradient"])})},get layout(){return PA=PA||new kn({"line-cap":new $t(Ce.layout_line["line-cap"]),"line-join":new Gt(Ce.layout_line["line-join"]),"line-miter-limit":new $t(Ce.layout_line["line-miter-limit"]),"line-round-limit":new $t(Ce.layout_line["line-round-limit"]),"line-sort-key":new Gt(Ce.layout_line["line-sort-key"])})}};class h$ extends Gt{possiblyEvaluate(l,f){return f=new rn(Math.floor(f.zoom),{now:f.now,fadeDuration:f.fadeDuration,zoomHistory:f.zoomHistory,transition:f.transition}),super.possiblyEvaluate(l,f)}evaluate(l,f,v,b){return f=Z({},f,{zoom:Math.floor(f.zoom)}),super.evaluate(l,f,v,b)}}let Kg;class f$ extends Ma{constructor(l){super(l,DA),this.gradientVersion=0,Kg||(Kg=new h$(DA.paint.properties["line-width"].specification),Kg.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(l){if(l==="line-gradient"){const f=this.gradientExpression();this.stepInterpolant=!!function(v){return v._styleExpression!==void 0}(f)&&f._styleExpression.expression instanceof fs,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(l,f){super.recalculate(l,f),this.paint._values["line-floorwidth"]=Kg.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,l)}createBucket(l){return new Lb(l)}queryRadius(l){const f=l,v=LA(mp("line-width",this,f),mp("line-gap-width",this,f)),b=mp("line-offset",this,f);return v/2+Math.abs(b)+Ug(this.paint.get("line-translate"))}queryIntersectsFeature(l,f,v,b,T,A,I){const z=Gg(l,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),A.angle,I),$=I/2*LA(this.paint.get("line-width").evaluate(f,v),this.paint.get("line-gap-width").evaluate(f,v)),V=this.paint.get("line-offset").evaluate(f,v);return V&&(b=function(G,Y){const Q=[];for(let te=0;te=3){for(let me=0;me0?l+2*c:c}const d$=gn([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),p$=gn([{name:"a_projected_pos",components:3,type:"Float32"}],4);gn([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const m$=gn([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]);gn([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const kA=gn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),v$=gn([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function g$(c,l,f){return c.sections.forEach(v=>{v.text=function(b,T,A){const I=T.layout.get("text-transform").evaluate(A,{});return I==="uppercase"?b=b.toLocaleUpperCase():I==="lowercase"&&(b=b.toLocaleLowerCase()),la.applyArabicShaping&&(b=la.applyArabicShaping(b)),b}(v.text,l,f)}),c}gn([{name:"triangle",components:3,type:"Uint16"}]),gn([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),gn([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"}]),gn([{type:"Float32",name:"offsetX"}]),gn([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),gn([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);const Tp={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var Zn=24,RA=qr,OA=function(c,l,f,v,b){var T,A,I=8*b-v-1,z=(1<>1,V=-7,G=f?b-1:0,Y=f?-1:1,Q=c[l+G];for(G+=Y,T=Q&(1<<-V)-1,Q>>=-V,V+=I;V>0;T=256*T+c[l+G],G+=Y,V-=8);for(A=T&(1<<-V)-1,T>>=-V,V+=v;V>0;A=256*A+c[l+G],G+=Y,V-=8);if(T===0)T=1-$;else{if(T===z)return A?NaN:1/0*(Q?-1:1);A+=Math.pow(2,v),T-=$}return(Q?-1:1)*A*Math.pow(2,T-v)},zA=function(c,l,f,v,b,T){var A,I,z,$=8*T-b-1,V=(1<<$)-1,G=V>>1,Y=b===23?Math.pow(2,-24)-Math.pow(2,-77):0,Q=v?0:T-1,te=v?1:-1,ae=l<0||l===0&&1/l<0?1:0;for(l=Math.abs(l),isNaN(l)||l===1/0?(I=isNaN(l)?1:0,A=V):(A=Math.floor(Math.log(l)/Math.LN2),l*(z=Math.pow(2,-A))<1&&(A--,z*=2),(l+=A+G>=1?Y/z:Y*Math.pow(2,1-G))*z>=2&&(A++,z/=2),A+G>=V?(I=0,A=V):A+G>=1?(I=(l*z-1)*Math.pow(2,b),A+=G):(I=l*Math.pow(2,G-1)*Math.pow(2,b),A=0));b>=8;c[f+Q]=255&I,Q+=te,I/=256,b-=8);for(A=A<0;c[f+Q]=255&A,Q+=te,A/=256,$-=8);c[f+Q-te]|=128*ae};function qr(c){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(c)?c:new Uint8Array(c||0),this.pos=0,this.type=0,this.length=this.buf.length}qr.Varint=0,qr.Fixed64=1,qr.Bytes=2,qr.Fixed32=5;var kb=4294967296,BA=1/kb,FA=typeof TextDecoder>"u"?null:new TextDecoder("utf8");function Qs(c){return c.type===qr.Bytes?c.readVarint()+c.pos:c.pos+1}function Yh(c,l,f){return f?4294967296*l+(c>>>0):4294967296*(l>>>0)+(c>>>0)}function $A(c,l,f){var v=l<=16383?1:l<=2097151?2:l<=268435455?3:Math.floor(Math.log(l)/(7*Math.LN2));f.realloc(v);for(var b=f.pos-1;b>=c;b--)f.buf[b+v]=f.buf[b]}function y$(c,l){for(var f=0;f>>8,c[f+2]=l>>>16,c[f+3]=l>>>24}function NA(c,l){return(c[l]|c[l+1]<<8|c[l+2]<<16)+(c[l+3]<<24)}qr.prototype={destroy:function(){this.buf=null},readFields:function(c,l,f){for(f=f||this.length;this.pos>3,T=this.pos;this.type=7&v,c(b,l,this),this.pos===T&&this.skip(v)}return l},readMessage:function(c,l){return this.readFields(c,l,this.readVarint()+this.pos)},readFixed32:function(){var c=Jg(this.buf,this.pos);return this.pos+=4,c},readSFixed32:function(){var c=NA(this.buf,this.pos);return this.pos+=4,c},readFixed64:function(){var c=Jg(this.buf,this.pos)+Jg(this.buf,this.pos+4)*kb;return this.pos+=8,c},readSFixed64:function(){var c=Jg(this.buf,this.pos)+NA(this.buf,this.pos+4)*kb;return this.pos+=8,c},readFloat:function(){var c=OA(this.buf,this.pos,!0,23,4);return this.pos+=4,c},readDouble:function(){var c=OA(this.buf,this.pos,!0,52,8);return this.pos+=8,c},readVarint:function(c){var l,f,v=this.buf;return l=127&(f=v[this.pos++]),f<128?l:(l|=(127&(f=v[this.pos++]))<<7,f<128?l:(l|=(127&(f=v[this.pos++]))<<14,f<128?l:(l|=(127&(f=v[this.pos++]))<<21,f<128?l:function(b,T,A){var I,z,$=A.buf;if(I=(112&(z=$[A.pos++]))>>4,z<128||(I|=(127&(z=$[A.pos++]))<<3,z<128)||(I|=(127&(z=$[A.pos++]))<<10,z<128)||(I|=(127&(z=$[A.pos++]))<<17,z<128)||(I|=(127&(z=$[A.pos++]))<<24,z<128)||(I|=(1&(z=$[A.pos++]))<<31,z<128))return Yh(b,I,T);throw new Error("Expected varint not more than 10 bytes")}(l|=(15&(f=v[this.pos]))<<28,c,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var c=this.readVarint();return c%2==1?(c+1)/-2:c/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var c=this.readVarint()+this.pos,l=this.pos;return this.pos=c,c-l>=12&&FA?function(f,v,b){return FA.decode(f.subarray(v,b))}(this.buf,l,c):function(f,v,b){for(var T="",A=v;A239?4:V>223?3:V>191?2:1;if(A+Y>b)break;Y===1?V<128&&(G=V):Y===2?(192&(I=f[A+1]))==128&&(G=(31&V)<<6|63&I)<=127&&(G=null):Y===3?(z=f[A+2],(192&(I=f[A+1]))==128&&(192&z)==128&&((G=(15&V)<<12|(63&I)<<6|63&z)<=2047||G>=55296&&G<=57343)&&(G=null)):Y===4&&(z=f[A+2],$=f[A+3],(192&(I=f[A+1]))==128&&(192&z)==128&&(192&$)==128&&((G=(15&V)<<18|(63&I)<<12|(63&z)<<6|63&$)<=65535||G>=1114112)&&(G=null)),G===null?(G=65533,Y=1):G>65535&&(G-=65536,T+=String.fromCharCode(G>>>10&1023|55296),G=56320|1023&G),T+=String.fromCharCode(G),A+=Y}return T}(this.buf,l,c)},readBytes:function(){var c=this.readVarint()+this.pos,l=this.buf.subarray(this.pos,c);return this.pos=c,l},readPackedVarint:function(c,l){if(this.type!==qr.Bytes)return c.push(this.readVarint(l));var f=Qs(this);for(c=c||[];this.pos127;);else if(l===qr.Bytes)this.pos=this.readVarint()+this.pos;else if(l===qr.Fixed32)this.pos+=4;else{if(l!==qr.Fixed64)throw new Error("Unimplemented type: "+l);this.pos+=8}},writeTag:function(c,l){this.writeVarint(c<<3|l)},realloc:function(c){for(var l=this.length||16;l268435455||c<0?function(l,f){var v,b;if(l>=0?(v=l%4294967296|0,b=l/4294967296|0):(b=~(-l/4294967296),4294967295^(v=~(-l%4294967296))?v=v+1|0:(v=0,b=b+1|0)),l>=18446744073709552e3||l<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");f.realloc(10),function(T,A,I){I.buf[I.pos++]=127&T|128,T>>>=7,I.buf[I.pos++]=127&T|128,T>>>=7,I.buf[I.pos++]=127&T|128,T>>>=7,I.buf[I.pos++]=127&T|128,I.buf[I.pos]=127&(T>>>=7)}(v,0,f),function(T,A){var I=(7&T)<<4;A.buf[A.pos++]|=I|((T>>>=3)?128:0),T&&(A.buf[A.pos++]=127&T|((T>>>=7)?128:0),T&&(A.buf[A.pos++]=127&T|((T>>>=7)?128:0),T&&(A.buf[A.pos++]=127&T|((T>>>=7)?128:0),T&&(A.buf[A.pos++]=127&T|((T>>>=7)?128:0),T&&(A.buf[A.pos++]=127&T)))))}(b,f)}(c,this):(this.realloc(4),this.buf[this.pos++]=127&c|(c>127?128:0),c<=127||(this.buf[this.pos++]=127&(c>>>=7)|(c>127?128:0),c<=127||(this.buf[this.pos++]=127&(c>>>=7)|(c>127?128:0),c<=127||(this.buf[this.pos++]=c>>>7&127))))},writeSVarint:function(c){this.writeVarint(c<0?2*-c-1:2*c)},writeBoolean:function(c){this.writeVarint(!!c)},writeString:function(c){c=String(c),this.realloc(4*c.length),this.pos++;var l=this.pos;this.pos=function(v,b,T){for(var A,I,z=0;z55295&&A<57344){if(!I){A>56319||z+1===b.length?(v[T++]=239,v[T++]=191,v[T++]=189):I=A;continue}if(A<56320){v[T++]=239,v[T++]=191,v[T++]=189,I=A;continue}A=I-55296<<10|A-56320|65536,I=null}else I&&(v[T++]=239,v[T++]=191,v[T++]=189,I=null);A<128?v[T++]=A:(A<2048?v[T++]=A>>6|192:(A<65536?v[T++]=A>>12|224:(v[T++]=A>>18|240,v[T++]=A>>12&63|128),v[T++]=A>>6&63|128),v[T++]=63&A|128)}return T}(this.buf,c,this.pos);var f=this.pos-l;f>=128&&$A(l,f,this),this.pos=l-1,this.writeVarint(f),this.pos+=f},writeFloat:function(c){this.realloc(4),zA(this.buf,c,this.pos,!0,23,4),this.pos+=4},writeDouble:function(c){this.realloc(8),zA(this.buf,c,this.pos,!0,52,8),this.pos+=8},writeBytes:function(c){var l=c.length;this.writeVarint(l),this.realloc(l);for(var f=0;f=128&&$A(f,v,this),this.pos=f-1,this.writeVarint(v),this.pos+=v},writeMessage:function(c,l,f){this.writeTag(c,qr.Bytes),this.writeRawMessage(l,f)},writePackedVarint:function(c,l){l.length&&this.writeMessage(c,y$,l)},writePackedSVarint:function(c,l){l.length&&this.writeMessage(c,_$,l)},writePackedBoolean:function(c,l){l.length&&this.writeMessage(c,w$,l)},writePackedFloat:function(c,l){l.length&&this.writeMessage(c,b$,l)},writePackedDouble:function(c,l){l.length&&this.writeMessage(c,x$,l)},writePackedFixed32:function(c,l){l.length&&this.writeMessage(c,S$,l)},writePackedSFixed32:function(c,l){l.length&&this.writeMessage(c,T$,l)},writePackedFixed64:function(c,l){l.length&&this.writeMessage(c,C$,l)},writePackedSFixed64:function(c,l){l.length&&this.writeMessage(c,E$,l)},writeBytesField:function(c,l){this.writeTag(c,qr.Bytes),this.writeBytes(l)},writeFixed32Field:function(c,l){this.writeTag(c,qr.Fixed32),this.writeFixed32(l)},writeSFixed32Field:function(c,l){this.writeTag(c,qr.Fixed32),this.writeSFixed32(l)},writeFixed64Field:function(c,l){this.writeTag(c,qr.Fixed64),this.writeFixed64(l)},writeSFixed64Field:function(c,l){this.writeTag(c,qr.Fixed64),this.writeSFixed64(l)},writeVarintField:function(c,l){this.writeTag(c,qr.Varint),this.writeVarint(l)},writeSVarintField:function(c,l){this.writeTag(c,qr.Varint),this.writeSVarint(l)},writeStringField:function(c,l){this.writeTag(c,qr.Bytes),this.writeString(l)},writeFloatField:function(c,l){this.writeTag(c,qr.Fixed32),this.writeFloat(l)},writeDoubleField:function(c,l){this.writeTag(c,qr.Fixed64),this.writeDouble(l)},writeBooleanField:function(c,l){this.writeVarintField(c,!!l)}};var Rb=d(RA);const Ob=3;function A$(c,l,f){c===1&&f.readMessage(M$,l)}function M$(c,l,f){if(c===3){const{id:v,bitmap:b,width:T,height:A,left:I,top:z,advance:$}=f.readMessage(P$,{});l.push({id:v,bitmap:new gp({width:T+2*Ob,height:A+2*Ob},b),metrics:{width:T,height:A,left:I,top:z,advance:$}})}}function P$(c,l,f){c===1?l.id=f.readVarint():c===2?l.bitmap=f.readBytes():c===3?l.width=f.readVarint():c===4?l.height=f.readVarint():c===5?l.left=f.readSVarint():c===6?l.top=f.readSVarint():c===7&&(l.advance=f.readVarint())}const VA=Ob;function jA(c){let l=0,f=0;for(const A of c)l+=A.w*A.h,f=Math.max(f,A.w);c.sort((A,I)=>I.h-A.h);const v=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(l/.95)),f),h:1/0}];let b=0,T=0;for(const A of c)for(let I=v.length-1;I>=0;I--){const z=v[I];if(!(A.w>z.w||A.h>z.h)){if(A.x=z.x,A.y=z.y,T=Math.max(T,A.y+A.h),b=Math.max(b,A.x+A.w),A.w===z.w&&A.h===z.h){const $=v.pop();I=0&&v>=l&&ey[this.text.charCodeAt(v)];v--)f--;this.text=this.text.substring(l,f),this.sectionIndex=this.sectionIndex.slice(l,f)}substring(l,f){const v=new Jh;return v.text=this.text.substring(l,f),v.sectionIndex=this.sectionIndex.slice(l,f),v.sections=this.sections,v}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((l,f)=>Math.max(l,this.sections[f].scale),0)}addTextSection(l,f){this.text+=l.text,this.sections.push(Ep.forText(l.scale,l.fontStack||f));const v=this.sections.length-1;for(let b=0;b=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Qg(c,l,f,v,b,T,A,I,z,$,V,G,Y,Q,te,ae){const me=Jh.fromFeature(c,b);let _e;G===o.ai.vertical&&me.verticalizePunctuation();const{processBidirectionalText:De,processStyledBidirectionalText:Se}=la;if(De&&me.sections.length===1){_e=[];const Ke=De(me.toString(),Bb(me,$,T,l,v,Q,te));for(const St of Ke){const Rt=new Jh;Rt.text=St,Rt.sections=me.sections;for(let xt=0;xt0&&tl>ha&&(ha=tl)}else{const Ua=Rt[pr.fontStack],da=Ua&&Ua[xi];if(da&&da.rect)$o=da.rect,uo=da.metrics;else{const tl=St[pr.fontStack],Dp=tl&&tl[xi];if(!Dp)continue;uo=Dp.metrics}Qn=(Kn-pr.scale)*Zn}co?(Ke.verticalizable=!0,Ai.push({glyph:xi,imageName:No,x:an,y:hn+Qn,vertical:co,scale:pr.scale,fontStack:pr.fontStack,sectionIndex:Mi,metrics:uo,rect:$o}),an+=el*pr.scale+jt):(Ai.push({glyph:xi,imageName:No,x:an,y:hn+Qn,vertical:co,scale:pr.scale,fontStack:pr.fontStack,sectionIndex:Mi,metrics:uo,rect:$o}),an+=uo.advance*pr.scale+jt)}Ai.length!==0&&(Xn=Math.max(an-jt,Xn),L$(Ai,0,Ai.length-1,Ui,ha)),an=0;const fa=ht*Kn+ha;Wi.lineOffset=Math.max(ha,Ei),hn+=fa,Ia=Math.max(fa,Ia),++Vn}var ui;const bi=hn-Cp,{horizontalAlign:Gi,verticalAlign:qi}=Fb(Et);(function(Yn,Kn,Ei,Wi,Ai,ha,fa,Jn,pr){const Mi=(Kn-Ei)*Ai;let xi=0;xi=ha!==fa?-Jn*Wi-Cp:(-Wi*pr+.5)*fa;for(const Qn of Yn)for(const uo of Qn.positionedGlyphs)uo.x+=Mi,uo.y+=xi})(Ke.positionedLines,Ui,Gi,qi,Xn,Ia,ht,bi,bt.length),Ke.top+=-qi*bi,Ke.bottom=Ke.top+bi,Ke.left+=-Gi*Xn,Ke.right=Ke.left+Xn}($e,l,f,v,_e,A,I,z,G,$,Y,ae),!function(Ke){for(const St of Ke)if(St.positionedGlyphs.length!==0)return!1;return!0}(Re)&&$e}const ey={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},I$={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function UA(c,l,f,v,b,T){if(l.imageName){const A=v[l.imageName];return A?A.displaySize[0]*l.scale*Zn/T+b:0}{const A=f[l.fontStack],I=A&&A[c];return I?I.metrics.advance*l.scale+b:0}}function GA(c,l,f,v){const b=Math.pow(c-l,2);return v?c=0;let V=0;for(let Y=0;YA.id),this.index=l.index,this.pixelRatio=l.pixelRatio,this.sourceLayerIndex=l.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=_b([]),this.placementViewportMatrix=_b([]);const f=this.layers[0]._unevaluatedLayout._values;this.textSizeData=XA(this.zoom,f["text-size"]),this.iconSizeData=XA(this.zoom,f["icon-size"]);const v=this.layers[0].layout,b=v.get("symbol-sort-key"),T=v.get("symbol-z-order");this.canOverlap=$b(v,"text-overlap","text-allow-overlap")!=="never"||$b(v,"icon-overlap","icon-allow-overlap")!=="never"||v.get("text-ignore-placement")||v.get("icon-ignore-placement"),this.sortFeaturesByKey=T!=="viewport-y"&&!b.isConstant(),this.sortFeaturesByY=(T==="viewport-y"||T==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,v.get("symbol-placement")==="point"&&(this.writingModes=v.get("text-writing-mode").map(A=>o.ai[A])),this.stateDependentLayerIds=this.layers.filter(A=>A.isStateDependent()).map(A=>A.id),this.sourceID=l.sourceID}createArrays(){this.text=new Vb(new Fo(this.layers,this.zoom,l=>/^text/.test(l))),this.icon=new Vb(new Fo(this.layers,this.zoom,l=>/^icon/.test(l))),this.glyphOffsetArray=new Me,this.lineVertexArray=new Ne,this.symbolInstances=new ye,this.textAnchorOffsets=new Xe}calculateGlyphDependencies(l,f,v,b,T){for(let A=0;A0)&&(A.value.kind!=="constant"||A.value.value.length>0),V=z.value.kind!=="constant"||!!z.value.value||Object.keys(z.parameters).length>0,G=T.get("symbol-sort-key");if(this.features=[],!$&&!V)return;const Y=f.iconDependencies,Q=f.glyphDependencies,te=f.availableImages,ae=new rn(this.zoom);for(const{feature:me,id:_e,index:De,sourceLayerIndex:Se}of l){const Re=b._featureFilter.needGeometry,$e=rc(me,Re);if(!b._featureFilter.filter(ae,$e,v))continue;let Ke,St;if(Re||($e.geometry=tc(me)),$){const xt=b.getValueAndResolveTokens("text-field",$e,v,te),bt=gi.factory(xt);z$(bt)&&(this.hasRTLText=!0),(!this.hasRTLText||ip()==="unavailable"||this.hasRTLText&&la.isParsed())&&(Ke=g$(bt,b,$e))}if(V){const xt=b.getValueAndResolveTokens("icon-image",$e,v,te);St=xt instanceof oi?xt:oi.fromString(xt)}if(!Ke&&!St)continue;const Rt=this.sortFeaturesByKey?G.evaluate($e,{},v):void 0;if(this.features.push({id:_e,text:Ke,icon:St,index:De,sourceLayerIndex:Se,geometry:$e.geometry,properties:me.properties,type:R$[me.type],sortKey:Rt}),St&&(Y[St.name]=!0),Ke){const xt=A.evaluate($e,{},v).join(","),bt=T.get("text-rotation-alignment")!=="viewport"&&T.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(o.ai.vertical)>=0;for(const ht of Ke.sections)if(ht.image)Y[ht.image.name]=!0;else{const Et=Yd(Ke.toString()),pt=ht.fontStack||xt,at=Q[pt]=Q[pt]||{};this.calculateGlyphDependencies(ht.text,at,bt,this.allowVerticalPlacement,Et)}}}T.get("symbol-placement")==="line"&&(this.features=function(me){const _e={},De={},Se=[];let Re=0;function $e(xt){Se.push(me[xt]),Re++}function Ke(xt,bt,ht){const Et=De[xt];return delete De[xt],De[bt]=Et,Se[Et].geometry[0].pop(),Se[Et].geometry[0]=Se[Et].geometry[0].concat(ht[0]),Et}function St(xt,bt,ht){const Et=_e[bt];return delete _e[bt],_e[xt]=Et,Se[Et].geometry[0].shift(),Se[Et].geometry[0]=ht[0].concat(Se[Et].geometry[0]),Et}function Rt(xt,bt,ht){const Et=ht?bt[0][bt[0].length-1]:bt[0][0];return`${xt}:${Et.x}:${Et.y}`}for(let xt=0;xtxt.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((me,_e)=>me.sortKey-_e.sortKey)}update(l,f,v){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(l,f,this.layers,v),this.icon.programConfigurations.updatePaintArrays(l,f,this.layers,v))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(l){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(l),this.iconCollisionBox.upload(l)),this.text.upload(l,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(l,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(l,f){const v=this.lineVertexArray.length;if(l.segment!==void 0){let b=l.dist(f[l.segment+1]),T=l.dist(f[l.segment]);const A={};for(let I=l.segment+1;I=0;I--)A[I]={x:f[I].x,y:f[I].y,tileUnitDistanceFromAnchor:T},I>0&&(T+=f[I-1].dist(f[I]));for(let I=0;I0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(l,f){const v=l.placedSymbolArray.get(f),b=v.vertexStartIndex+4*v.numGlyphs;for(let T=v.vertexStartIndex;Tb[I]-b[z]||T[z]-T[I]),A}addToSortKeyRanges(l,f){const v=this.sortKeyRanges[this.sortKeyRanges.length-1];v&&v.sortKey===f?v.symbolInstanceEnd=l+1:this.sortKeyRanges.push({sortKey:f,symbolInstanceStart:l,symbolInstanceEnd:l+1})}sortFeatures(l){if(this.sortFeaturesByY&&this.sortedAngle!==l&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(l),this.sortedAngle=l,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const f of this.symbolInstanceIndexes){const v=this.symbolInstances.get(f);this.featureSortOrder.push(v.featureIndex),[v.rightJustifiedTextSymbolIndex,v.centerJustifiedTextSymbolIndex,v.leftJustifiedTextSymbolIndex].forEach((b,T,A)=>{b>=0&&A.indexOf(b)===T&&this.addIndicesForPlacedSymbol(this.text,b)}),v.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,v.verticalPlacedTextSymbolIndex),v.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,v.placedIconSymbolIndex),v.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,v.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let YA,KA;Ct("SymbolBucket",Qh,{omit:["layers","collisionBoxArray","features","compareText"]}),Qh.MAX_GLYPHS=65535,Qh.addDynamicAttributes=Nb;var Hb={get paint(){return KA=KA||new kn({"icon-opacity":new Gt(Ce.paint_symbol["icon-opacity"]),"icon-color":new Gt(Ce.paint_symbol["icon-color"]),"icon-halo-color":new Gt(Ce.paint_symbol["icon-halo-color"]),"icon-halo-width":new Gt(Ce.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Gt(Ce.paint_symbol["icon-halo-blur"]),"icon-translate":new $t(Ce.paint_symbol["icon-translate"]),"icon-translate-anchor":new $t(Ce.paint_symbol["icon-translate-anchor"]),"text-opacity":new Gt(Ce.paint_symbol["text-opacity"]),"text-color":new Gt(Ce.paint_symbol["text-color"],{runtimeType:Si,getOverride:c=>c.textColor,hasOverride:c=>!!c.textColor}),"text-halo-color":new Gt(Ce.paint_symbol["text-halo-color"]),"text-halo-width":new Gt(Ce.paint_symbol["text-halo-width"]),"text-halo-blur":new Gt(Ce.paint_symbol["text-halo-blur"]),"text-translate":new $t(Ce.paint_symbol["text-translate"]),"text-translate-anchor":new $t(Ce.paint_symbol["text-translate-anchor"])})},get layout(){return YA=YA||new kn({"symbol-placement":new $t(Ce.layout_symbol["symbol-placement"]),"symbol-spacing":new $t(Ce.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new $t(Ce.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Gt(Ce.layout_symbol["symbol-sort-key"]),"symbol-z-order":new $t(Ce.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new $t(Ce.layout_symbol["icon-allow-overlap"]),"icon-overlap":new $t(Ce.layout_symbol["icon-overlap"]),"icon-ignore-placement":new $t(Ce.layout_symbol["icon-ignore-placement"]),"icon-optional":new $t(Ce.layout_symbol["icon-optional"]),"icon-rotation-alignment":new $t(Ce.layout_symbol["icon-rotation-alignment"]),"icon-size":new Gt(Ce.layout_symbol["icon-size"]),"icon-text-fit":new $t(Ce.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new $t(Ce.layout_symbol["icon-text-fit-padding"]),"icon-image":new Gt(Ce.layout_symbol["icon-image"]),"icon-rotate":new Gt(Ce.layout_symbol["icon-rotate"]),"icon-padding":new Gt(Ce.layout_symbol["icon-padding"]),"icon-keep-upright":new $t(Ce.layout_symbol["icon-keep-upright"]),"icon-offset":new Gt(Ce.layout_symbol["icon-offset"]),"icon-anchor":new Gt(Ce.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new $t(Ce.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new $t(Ce.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new $t(Ce.layout_symbol["text-rotation-alignment"]),"text-field":new Gt(Ce.layout_symbol["text-field"]),"text-font":new Gt(Ce.layout_symbol["text-font"]),"text-size":new Gt(Ce.layout_symbol["text-size"]),"text-max-width":new Gt(Ce.layout_symbol["text-max-width"]),"text-line-height":new $t(Ce.layout_symbol["text-line-height"]),"text-letter-spacing":new Gt(Ce.layout_symbol["text-letter-spacing"]),"text-justify":new Gt(Ce.layout_symbol["text-justify"]),"text-radial-offset":new Gt(Ce.layout_symbol["text-radial-offset"]),"text-variable-anchor":new $t(Ce.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new Gt(Ce.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new Gt(Ce.layout_symbol["text-anchor"]),"text-max-angle":new $t(Ce.layout_symbol["text-max-angle"]),"text-writing-mode":new $t(Ce.layout_symbol["text-writing-mode"]),"text-rotate":new Gt(Ce.layout_symbol["text-rotate"]),"text-padding":new $t(Ce.layout_symbol["text-padding"]),"text-keep-upright":new $t(Ce.layout_symbol["text-keep-upright"]),"text-transform":new Gt(Ce.layout_symbol["text-transform"]),"text-offset":new Gt(Ce.layout_symbol["text-offset"]),"text-allow-overlap":new $t(Ce.layout_symbol["text-allow-overlap"]),"text-overlap":new $t(Ce.layout_symbol["text-overlap"]),"text-ignore-placement":new $t(Ce.layout_symbol["text-ignore-placement"]),"text-optional":new $t(Ce.layout_symbol["text-optional"])})}};class JA{constructor(l){if(l.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=l.property.overrides?l.property.overrides.runtimeType:Fn,this.defaultValue=l}evaluate(l){if(l.formattedSection){const f=this.defaultValue.property.overrides;if(f&&f.hasOverride(l.formattedSection))return f.getOverride(l.formattedSection)}return l.feature&&l.featureState?this.defaultValue.evaluate(l.feature,l.featureState):this.defaultValue.property.specification.default}eachChild(l){this.defaultValue.isConstant()||l(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ct("FormatSectionOverride",JA,{omit:["defaultValue"]});class ry extends Ma{constructor(l){super(l,Hb)}recalculate(l,f){if(super.recalculate(l,f),this.layout.get("icon-rotation-alignment")==="auto"&&(this.layout._values["icon-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout._values["text-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")==="map"?"map":"viewport"),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),this.layout.get("symbol-placement")==="point"){const v=this.layout.get("text-writing-mode");if(v){const b=[];for(const T of v)b.indexOf(T)<0&&b.push(T);this.layout._values["text-writing-mode"]=b}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(l,f,v,b){const T=this.layout.get(l).evaluate(f,{},v,b),A=this._unevaluatedLayout._values[l];return A.isDataDriven()||kh(A.value)||!T?T:function(I,z){return z.replace(/{([^{}]+)}/g,($,V)=>I&&V in I?String(I[V]):"")}(f.properties,T)}createBucket(l){return new Qh(l)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const l of Hb.paint.overridableProperties){if(!ry.hasPaintOverride(this.layout,l))continue;const f=this.paint.get(l),v=new JA(f),b=new Ud(v,f.property.specification);let T=null;T=f.value.kind==="constant"||f.value.kind==="source"?new Gd("source",b):new Oh("composite",b,f.value.zoomStops),this.paint._values[l]=new Ti(f.property,T,f.parameters)}}_handleOverridablePaintPropertyUpdate(l,f,v){return!(!this.layout||f.isDataDriven()||v.isDataDriven())&&ry.hasPaintOverride(this.layout,l)}static hasPaintOverride(l,f){const v=l.get("text-field"),b=Hb.paint.properties[f];let T=!1;const A=I=>{for(const z of I)if(b.overrides&&b.overrides.hasOverride(z))return void(T=!0)};if(v.value.kind==="constant"&&v.value.value instanceof gi)A(v.value.value.sections);else if(v.value.kind==="source"){const I=$=>{T||($ instanceof Vs&&pn($.value)===he?A($.value.sections):$ instanceof Lh?A($.sections):$.eachChild(I))},z=v.value;z._styleExpression&&I(z._styleExpression.expression)}return T}}let QA;var B$={get paint(){return QA=QA||new kn({"background-color":new $t(Ce.paint_background["background-color"]),"background-pattern":new op(Ce.paint_background["background-pattern"]),"background-opacity":new $t(Ce.paint_background["background-opacity"])})}};class F$ extends Ma{constructor(l){super(l,B$)}}let eM;var $$={get paint(){return eM=eM||new kn({"raster-opacity":new $t(Ce.paint_raster["raster-opacity"]),"raster-hue-rotate":new $t(Ce.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new $t(Ce.paint_raster["raster-brightness-min"]),"raster-brightness-max":new $t(Ce.paint_raster["raster-brightness-max"]),"raster-saturation":new $t(Ce.paint_raster["raster-saturation"]),"raster-contrast":new $t(Ce.paint_raster["raster-contrast"]),"raster-resampling":new $t(Ce.paint_raster["raster-resampling"]),"raster-fade-duration":new $t(Ce.paint_raster["raster-fade-duration"])})}};class N$ extends Ma{constructor(l){super(l,$$)}}class V$ extends Ma{constructor(l){super(l,{}),this.onAdd=f=>{this.implementation.onAdd&&this.implementation.onAdd(f,f.painter.context.gl)},this.onRemove=f=>{this.implementation.onRemove&&this.implementation.onRemove(f,f.painter.context.gl)},this.implementation=l}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class j${constructor(l){this._callback=l,this._triggered=!1,typeof MessageChannel<"u"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._callback()},0))}remove(){delete this._channel,this._callback=()=>{}}}const Ub=63710088e-1;class eu{constructor(l,f){if(isNaN(l)||isNaN(f))throw new Error(`Invalid LngLat object: (${l}, ${f})`);if(this.lng=+l,this.lat=+f,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new eu(W(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(l){const f=Math.PI/180,v=this.lat*f,b=l.lat*f,T=Math.sin(v)*Math.sin(b)+Math.cos(v)*Math.cos(b)*Math.cos((l.lng-this.lng)*f);return Ub*Math.acos(Math.min(T,1))}static convert(l){if(l instanceof eu)return l;if(Array.isArray(l)&&(l.length===2||l.length===3))return new eu(Number(l[0]),Number(l[1]));if(!Array.isArray(l)&&typeof l=="object"&&l!==null)return new eu(Number("lng"in l?l.lng:l.lon),Number(l.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}const tM=2*Math.PI*Ub;function rM(c){return tM*Math.cos(c*Math.PI/180)}function nM(c){return(180+c)/360}function iM(c){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+c*Math.PI/360)))/360}function aM(c,l){return c/rM(l)}function oM(c){return 360*c-180}function Gb(c){return 360/Math.PI*Math.atan(Math.exp((180-360*c)*Math.PI/180))-90}class ny{constructor(l,f,v=0){this.x=+l,this.y=+f,this.z=+v}static fromLngLat(l,f=0){const v=eu.convert(l);return new ny(nM(v.lng),iM(v.lat),aM(f,v.lat))}toLngLat(){return new eu(oM(this.x),Gb(this.y))}toAltitude(){return this.z*rM(Gb(this.y))}meterInMercatorCoordinateUnits(){return 1/tM*(l=Gb(this.y),1/Math.cos(l*Math.PI/180));var l}}function sM(c,l,f){var v=2*Math.PI*6378137/256/Math.pow(2,f);return[c*v-2*Math.PI*6378137/2,l*v-2*Math.PI*6378137/2]}class qb{constructor(l,f,v){if(l<0||l>25||v<0||v>=Math.pow(2,l)||f<0||f>=Math.pow(2,l))throw new Error(`x=${f}, y=${v}, z=${l} outside of bounds. 0<=x<${Math.pow(2,l)}, 0<=y<${Math.pow(2,l)} 0<=z<=25 `);this.z=l,this.x=f,this.y=v,this.key=Mp(0,l,l,f,v)}equals(l){return this.z===l.z&&this.x===l.x&&this.y===l.y}url(l,f,v){const b=(A=this.y,I=this.z,z=sM(256*(T=this.x),256*(A=Math.pow(2,I)-A-1),I),$=sM(256*(T+1),256*(A+1),I),z[0]+","+z[1]+","+$[0]+","+$[1]);var T,A,I,z,$;const V=function(G,Y,Q){let te,ae="";for(let me=G;me>0;me--)te=1<1?"@2x":"").replace(/{quadkey}/g,V).replace(/{bbox-epsg-3857}/g,b)}isChildOf(l){const f=this.z-l.z;return f>0&&l.x===this.x>>f&&l.y===this.y>>f}getTilePoint(l){const f=Math.pow(2,this.z);return new y((l.x*f-this.x)*Nn,(l.y*f-this.y)*Nn)}toString(){return`${this.z}/${this.x}/${this.y}`}}class lM{constructor(l,f){this.wrap=l,this.canonical=f,this.key=Mp(l,f.z,f.z,f.x,f.y)}}class Ha{constructor(l,f,v,b,T){if(l= z; overscaledZ = ${l}; z = ${v}`);this.overscaledZ=l,this.wrap=f,this.canonical=new qb(v,+b,+T),this.key=Mp(f,l,v,b,T)}clone(){return new Ha(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(l){return this.overscaledZ===l.overscaledZ&&this.wrap===l.wrap&&this.canonical.equals(l.canonical)}scaledTo(l){if(l>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${l}; overscaledZ = ${this.overscaledZ}`);const f=this.canonical.z-l;return l>this.canonical.z?new Ha(l,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Ha(l,this.wrap,l,this.canonical.x>>f,this.canonical.y>>f)}calculateScaledKey(l,f){if(l>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${l}; overscaledZ = ${this.overscaledZ}`);const v=this.canonical.z-l;return l>this.canonical.z?Mp(this.wrap*+f,l,this.canonical.z,this.canonical.x,this.canonical.y):Mp(this.wrap*+f,l,l,this.canonical.x>>v,this.canonical.y>>v)}isChildOf(l){if(l.wrap!==this.wrap)return!1;const f=this.canonical.z-l.canonical.z;return l.overscaledZ===0||l.overscaledZ>f&&l.canonical.y===this.canonical.y>>f}children(l){if(this.overscaledZ>=l)return[new Ha(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const f=this.canonical.z+1,v=2*this.canonical.x,b=2*this.canonical.y;return[new Ha(f,this.wrap,f,v,b),new Ha(f,this.wrap,f,v+1,b),new Ha(f,this.wrap,f,v,b+1),new Ha(f,this.wrap,f,v+1,b+1)]}isLessThan(l){return this.wrapl.wrap)&&(this.overscaledZl.overscaledZ)&&(this.canonical.xl.canonical.x)&&this.canonical.ythis.max&&(this.max=G),G=this.dim+1||f<-1||f>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(f+1)*this.stride+(l+1)}unpack(l,f,v){return l*this.redFactor+f*this.greenFactor+v*this.blueFactor-this.baseShift}getPixels(){return new ja({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(l,f,v){if(this.dim!==l.dim)throw new Error("dem dimension mismatch");let b=f*this.dim,T=f*this.dim+this.dim,A=v*this.dim,I=v*this.dim+this.dim;switch(f){case-1:b=T-1;break;case 1:T=b+1}switch(v){case-1:A=I-1;break;case 1:I=A+1}const z=-f*this.dim,$=-v*this.dim;for(let V=A;V=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${l} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[l]}}class hM{constructor(l,f,v,b,T){this.type="Feature",this._vectorTileFeature=l,l._z=f,l._x=v,l._y=b,this.properties=l.properties,this.id=T}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(l){this._geometry=l}toJSON(){const l={geometry:this.geometry};for(const f in this)f!=="_geometry"&&f!=="_vectorTileFeature"&&(l[f]=this[f]);return l}}class fM{constructor(l,f){this.tileID=l,this.x=l.canonical.x,this.y=l.canonical.y,this.z=l.canonical.z,this.grid=new ql(Nn,16,0),this.grid3D=new ql(Nn,16,0),this.featureIndexArray=new Qe,this.promoteId=f}insert(l,f,v,b,T,A){const I=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(v,b,T);const z=A?this.grid3D:this.grid;for(let $=0;$=0&&G[3]>=0&&z.insert(I,G[0],G[1],G[2],G[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new Kl.VectorTile(new Rb(this.rawTileData)).layers,this.sourceLayerCoder=new cM(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(l,f,v,b){this.loadVTLayers();const T=l.params||{},A=Nn/l.tileSize/l.scale,I=Wd(T.filter),z=l.queryGeometry,$=l.queryPadding*A,V=pM(z),G=this.grid.query(V.minX-$,V.minY-$,V.maxX+$,V.maxY+$),Y=pM(l.cameraQueryGeometry),Q=this.grid3D.query(Y.minX-$,Y.minY-$,Y.maxX+$,Y.maxY+$,(me,_e,De,Se)=>function(Re,$e,Ke,St,Rt){for(const bt of Re)if($e<=bt.x&&Ke<=bt.y&&St>=bt.x&&Rt>=bt.y)return!0;const xt=[new y($e,Ke),new y($e,Rt),new y(St,Rt),new y(St,Ke)];if(Re.length>2){for(const bt of xt)if(qh(Re,bt))return!0}for(let bt=0;bt(Se||(Se=tc(Re)),$e.queryIntersectsFeature(z,Re,Ke,Se,this.z,l.transform,A,l.pixelPosMatrix)))}return te}loadMatchingFeature(l,f,v,b,T,A,I,z,$,V,G){const Y=this.bucketLayerIDs[f];if(A&&!function(me,_e){for(let De=0;De=0)return!0;return!1}(A,Y))return;const Q=this.sourceLayerCoder.decode(v),te=this.vtLayers[Q].feature(b);if(T.needGeometry){const me=rc(te,!0);if(!T.filter(new rn(this.tileID.overscaledZ),me,this.tileID.canonical))return}else if(!T.filter(new rn(this.tileID.overscaledZ),te))return;const ae=this.getId(te,Q);for(let me=0;me{const I=l instanceof Uh?l.get(A):null;return I&&I.evaluate?I.evaluate(f,v,b):I})}function pM(c){let l=1/0,f=1/0,v=-1/0,b=-1/0;for(const T of c)l=Math.min(l,T.x),f=Math.min(f,T.y),v=Math.max(v,T.x),b=Math.max(b,T.y);return{minX:l,minY:f,maxX:v,maxY:b}}function H$(c,l){return l-c}function mM(c,l,f,v,b){const T=[];for(let A=0;A=v&&G.x>=v||(V.x>=v?V=new y(v,V.y+(v-V.x)/(G.x-V.x)*(G.y-V.y))._round():G.x>=v&&(G=new y(v,V.y+(v-V.x)/(G.x-V.x)*(G.y-V.y))._round()),V.y>=b&&G.y>=b||(V.y>=b?V=new y(V.x+(b-V.y)/(G.y-V.y)*(G.x-V.x),b)._round():G.y>=b&&(G=new y(V.x+(b-V.y)/(G.y-V.y)*(G.x-V.x),b)._round()),z&&V.equals(z[z.length-1])||(z=[V],T.push(z)),z.push(G)))))}}return T}Ct("FeatureIndex",fM,{omit:["rawTileData","sourceLayerCoder"]});class tu extends y{constructor(l,f,v,b){super(l,f),this.angle=v,b!==void 0&&(this.segment=b)}clone(){return new tu(this.x,this.y,this.angle,this.segment)}}function vM(c,l,f,v,b){if(l.segment===void 0||f===0)return!0;let T=l,A=l.segment+1,I=0;for(;I>-f/2;){if(A--,A<0)return!1;I-=c[A].dist(T),T=c[A]}I+=c[A].dist(c[A+1]),A++;const z=[];let $=0;for(;Iv;)$-=z.shift().angleDelta;if($>b)return!1;A++,I+=V.dist(G)}return!0}function gM(c){let l=0;for(let f=0;f$){const te=($-z)/Q,ae=aa.number(G.x,Y.x,te),me=aa.number(G.y,Y.y,te),_e=new tu(ae,me,Y.angleTo(G),V);return _e._round(),!A||vM(c,_e,I,A,l)?_e:void 0}z+=Q}}function G$(c,l,f,v,b,T,A,I,z){const $=yM(v,T,A),V=_M(v,b),G=V*A,Y=c[0].x===0||c[0].x===z||c[0].y===0||c[0].y===z;return l-G=0&&Re=0&&$e=0&&Y+$<=V){const Ke=new tu(Re,$e,De,te);Ke._round(),v&&!vM(c,Ke,T,v,b)||Q.push(Ke)}}G+=_e}return I||Q.length||A||(Q=bM(c,G/2,f,v,b,T,A,!0,z)),Q}Ct("Anchor",tu);const ef=ca;function xM(c,l,f,v){const b=[],T=c.image,A=T.pixelRatio,I=T.paddedRect.w-2*ef,z=T.paddedRect.h-2*ef,$=c.right-c.left,V=c.bottom-c.top,G=T.stretchX||[[0,I]],Y=T.stretchY||[[0,z]],Q=(ht,Et)=>ht+Et[1]-Et[0],te=G.reduce(Q,0),ae=Y.reduce(Q,0),me=I-te,_e=z-ae;let De=0,Se=te,Re=0,$e=ae,Ke=0,St=me,Rt=0,xt=_e;if(T.content&&v){const ht=T.content;De=iy(G,0,ht[0]),Re=iy(Y,0,ht[1]),Se=iy(G,ht[0],ht[2]),$e=iy(Y,ht[1],ht[3]),Ke=ht[0]-De,Rt=ht[1]-Re,St=ht[2]-ht[0]-Se,xt=ht[3]-ht[1]-$e}const bt=(ht,Et,pt,at)=>{const jt=ay(ht.stretch-De,Se,$,c.left),Bt=oy(ht.fixed-Ke,St,ht.stretch,te),cr=ay(Et.stretch-Re,$e,V,c.top),an=oy(Et.fixed-Rt,xt,Et.stretch,ae),hn=ay(pt.stretch-De,Se,$,c.left),Xn=oy(pt.fixed-Ke,St,pt.stretch,te),Ia=ay(at.stretch-Re,$e,V,c.top),Ui=oy(at.fixed-Rt,xt,at.stretch,ae),Vn=new y(jt,cr),ui=new y(hn,cr),bi=new y(hn,Ia),Gi=new y(jt,Ia),qi=new y(Bt/A,an/A),Yn=new y(Xn/A,Ui/A),Kn=l*Math.PI/180;if(Kn){const Ai=Math.sin(Kn),ha=Math.cos(Kn),fa=[ha,-Ai,Ai,ha];Vn._matMult(fa),ui._matMult(fa),Gi._matMult(fa),bi._matMult(fa)}const Ei=ht.stretch+ht.fixed,Wi=Et.stretch+Et.fixed;return{tl:Vn,tr:ui,bl:Gi,br:bi,tex:{x:T.paddedRect.x+ef+Ei,y:T.paddedRect.y+ef+Wi,w:pt.stretch+pt.fixed-Ei,h:at.stretch+at.fixed-Wi},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:qi,pixelOffsetBR:Yn,minFontScaleX:St/A/$,minFontScaleY:xt/A/V,isSDF:f}};if(v&&(T.stretchX||T.stretchY)){const ht=wM(G,me,te),Et=wM(Y,_e,ae);for(let pt=0;pt0&&(te=Math.max(10,te),this.circleDiameter=te)}else{let G=A.top*I-z[0],Y=A.bottom*I+z[2],Q=A.left*I-z[3],te=A.right*I+z[1];const ae=A.collisionPadding;if(ae&&(Q-=ae[0]*I,G-=ae[1]*I,te+=ae[2]*I,Y+=ae[3]*I),V){const me=new y(Q,G),_e=new y(te,G),De=new y(Q,Y),Se=new y(te,Y),Re=V*Math.PI/180;me._rotate(Re),_e._rotate(Re),De._rotate(Re),Se._rotate(Re),Q=Math.min(me.x,_e.x,De.x,Se.x),te=Math.max(me.x,_e.x,De.x,Se.x),G=Math.min(me.y,_e.y,De.y,Se.y),Y=Math.max(me.y,_e.y,De.y,Se.y)}l.emplaceBack(f.x,f.y,Q,G,te,Y,v,b,T)}this.boxEndIndex=l.length}}class q${constructor(l=[],f=W$){if(this.data=l,this.length=this.data.length,this.compare=f,this.length>0)for(let v=(this.length>>1)-1;v>=0;v--)this._down(v)}push(l){this.data.push(l),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const l=this.data[0],f=this.data.pop();return this.length--,this.length>0&&(this.data[0]=f,this._down(0)),l}peek(){return this.data[0]}_up(l){const{data:f,compare:v}=this,b=f[l];for(;l>0;){const T=l-1>>1,A=f[T];if(v(b,A)>=0)break;f[l]=A,l=T}f[l]=b}_down(l){const{data:f,compare:v}=this,b=this.length>>1,T=f[l];for(;l=0)break;f[l]=I,l=A}f[l]=T}}function W$(c,l){return cl?1:0}function Z$(c,l=1,f=!1){let v=1/0,b=1/0,T=-1/0,A=-1/0;const I=c[0];for(let Q=0;QT)&&(T=te.x),(!Q||te.y>A)&&(A=te.y)}const z=Math.min(T-v,A-b);let $=z/2;const V=new q$([],X$);if(z===0)return new y(v,b);for(let Q=v;QG.d||!G.d)&&(G=Q,f&&console.log("found best %d after %d probes",Math.round(1e4*Q.d)/1e4,Y)),Q.max-G.d<=l||($=Q.h/2,V.push(new tf(Q.p.x-$,Q.p.y-$,$,c)),V.push(new tf(Q.p.x+$,Q.p.y-$,$,c)),V.push(new tf(Q.p.x-$,Q.p.y+$,$,c)),V.push(new tf(Q.p.x+$,Q.p.y+$,$,c)),Y+=4)}return f&&(console.log(`num probes: ${Y}`),console.log(`best distance: ${G.d}`)),G.p}function X$(c,l){return l.max-c.max}function tf(c,l,f,v){this.p=new y(c,l),this.h=f,this.d=function(b,T){let A=!1,I=1/0;for(let z=0;zb.y!=te.y>b.y&&b.x<(te.x-Q.x)*(b.y-Q.y)/(te.y-Q.y)+Q.x&&(A=!A),I=Math.min(I,iA(b,Q,te))}}return(A?1:-1)*Math.sqrt(I)}(this.p,v),this.max=this.d+this.h*Math.SQRT2}var _i;o.aq=void 0,(_i=o.aq||(o.aq={}))[_i.center=1]="center",_i[_i.left=2]="left",_i[_i.right=3]="right",_i[_i.top=4]="top",_i[_i.bottom=5]="bottom",_i[_i["top-left"]=6]="top-left",_i[_i["top-right"]=7]="top-right",_i[_i["bottom-left"]=8]="bottom-left",_i[_i["bottom-right"]=9]="bottom-right";const ru=7,Wb=Number.POSITIVE_INFINITY;function SM(c,l){return l[1]!==Wb?function(f,v,b){let T=0,A=0;switch(v=Math.abs(v),b=Math.abs(b),f){case"top-right":case"top-left":case"top":A=b-ru;break;case"bottom-right":case"bottom-left":case"bottom":A=-b+ru}switch(f){case"top-right":case"bottom-right":case"right":T=-v;break;case"top-left":case"bottom-left":case"left":T=v}return[T,A]}(c,l[0],l[1]):function(f,v){let b=0,T=0;v<0&&(v=0);const A=v/Math.SQRT2;switch(f){case"top-right":case"top-left":T=A-ru;break;case"bottom-right":case"bottom-left":T=-A+ru;break;case"bottom":T=-v+ru;break;case"top":T=v-ru}switch(f){case"top-right":case"bottom-right":b=-A;break;case"top-left":case"bottom-left":b=A;break;case"left":b=v;break;case"right":b=-v}return[b,T]}(c,l[0])}function TM(c,l,f){var v;const b=c.layout,T=(v=b.get("text-variable-anchor-offset"))===null||v===void 0?void 0:v.evaluate(l,{},f);if(T){const I=T.values,z=[];for(let $=0;$Y*Zn);V.startsWith("top")?G[1]-=ru:V.startsWith("bottom")&&(G[1]+=ru),z[$+1]=G}return new Ta(z)}const A=b.get("text-variable-anchor");if(A){let I;I=c._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[b.get("text-radial-offset").evaluate(l,{},f)*Zn,Wb]:b.get("text-offset").evaluate(l,{},f).map($=>$*Zn);const z=[];for(const $ of A)z.push($,SM($,I));return new Ta(z)}return null}function Zb(c){switch(c){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Y$(c,l,f,v,b,T,A,I,z,$,V){let G=T.textMaxSize.evaluate(l,{});G===void 0&&(G=A);const Y=c.layers[0].layout,Q=Y.get("icon-offset").evaluate(l,{},V),te=EM(f.horizontal),ae=A/24,me=c.tilePixelRatio*ae,_e=c.tilePixelRatio*G/24,De=c.tilePixelRatio*I,Se=c.tilePixelRatio*Y.get("symbol-spacing"),Re=Y.get("text-padding")*c.tilePixelRatio,$e=function(at,jt,Bt,cr=1){const an=at.get("icon-padding").evaluate(jt,{},Bt),hn=an&&an.values;return[hn[0]*cr,hn[1]*cr,hn[2]*cr,hn[3]*cr]}(Y,l,V,c.tilePixelRatio),Ke=Y.get("text-max-angle")/180*Math.PI,St=Y.get("text-rotation-alignment")!=="viewport"&&Y.get("symbol-placement")!=="point",Rt=Y.get("icon-rotation-alignment")==="map"&&Y.get("symbol-placement")!=="point",xt=Y.get("symbol-placement"),bt=Se/2,ht=Y.get("icon-text-fit");let Et;v&&ht!=="none"&&(c.allowVerticalPlacement&&f.vertical&&(Et=ZA(v,f.vertical,ht,Y.get("icon-text-fit-padding"),Q,ae)),te&&(v=ZA(v,te,ht,Y.get("icon-text-fit-padding"),Q,ae)));const pt=(at,jt)=>{jt.x<0||jt.x>=Nn||jt.y<0||jt.y>=Nn||function(Bt,cr,an,hn,Xn,Ia,Ui,Vn,ui,bi,Gi,qi,Yn,Kn,Ei,Wi,Ai,ha,fa,Jn,pr,Mi,xi,Qn,uo){const $o=Bt.addToLineVertexArray(cr,an);let No,el,co,Ua,da=0,tl=0,Dp=0,IM=0,rx=-1,nx=-1;const rl={};let DM=Ys("");if(Bt.allowVerticalPlacement&&hn.vertical){const Pi=Vn.layout.get("text-rotate").evaluate(pr,{},Qn)+90;co=new sy(ui,cr,bi,Gi,qi,hn.vertical,Yn,Kn,Ei,Pi),Ui&&(Ua=new sy(ui,cr,bi,Gi,qi,Ui,Ai,ha,Ei,Pi))}if(Xn){const Pi=Vn.layout.get("icon-rotate").evaluate(pr,{}),Ga=Vn.layout.get("icon-text-fit")!=="none",ic=xM(Xn,Pi,xi,Ga),jo=Ui?xM(Ui,Pi,xi,Ga):void 0;el=new sy(ui,cr,bi,Gi,qi,Xn,Ai,ha,!1,Pi),da=4*ic.length;const ac=Bt.iconSizeData;let ys=null;ac.kind==="source"?(ys=[gs*Vn.layout.get("icon-size").evaluate(pr,{})],ys[0]>Ql&&de(`${Bt.layerIds[0]}: Value for "icon-size" is >= ${Ap}. Reduce your "icon-size".`)):ac.kind==="composite"&&(ys=[gs*Mi.compositeIconSizes[0].evaluate(pr,{},Qn),gs*Mi.compositeIconSizes[1].evaluate(pr,{},Qn)],(ys[0]>Ql||ys[1]>Ql)&&de(`${Bt.layerIds[0]}: Value for "icon-size" is >= ${Ap}. Reduce your "icon-size".`)),Bt.addSymbols(Bt.icon,ic,ys,Jn,fa,pr,o.ai.none,cr,$o.lineStartIndex,$o.lineLength,-1,Qn),rx=Bt.icon.placedSymbolArray.length-1,jo&&(tl=4*jo.length,Bt.addSymbols(Bt.icon,jo,ys,Jn,fa,pr,o.ai.vertical,cr,$o.lineStartIndex,$o.lineLength,-1,Qn),nx=Bt.icon.placedSymbolArray.length-1)}const LM=Object.keys(hn.horizontal);for(const Pi of LM){const Ga=hn.horizontal[Pi];if(!No){DM=Ys(Ga.text);const jo=Vn.layout.get("text-rotate").evaluate(pr,{},Qn);No=new sy(ui,cr,bi,Gi,qi,Ga,Yn,Kn,Ei,jo)}const ic=Ga.positionedLines.length===1;if(Dp+=CM(Bt,cr,Ga,Ia,Vn,Ei,pr,Wi,$o,hn.vertical?o.ai.horizontal:o.ai.horizontalOnly,ic?LM:[Pi],rl,rx,Mi,Qn),ic)break}hn.vertical&&(IM+=CM(Bt,cr,hn.vertical,Ia,Vn,Ei,pr,Wi,$o,o.ai.vertical,["vertical"],rl,nx,Mi,Qn));const Q$=No?No.boxStartIndex:Bt.collisionBoxArray.length,eN=No?No.boxEndIndex:Bt.collisionBoxArray.length,tN=co?co.boxStartIndex:Bt.collisionBoxArray.length,rN=co?co.boxEndIndex:Bt.collisionBoxArray.length,nN=el?el.boxStartIndex:Bt.collisionBoxArray.length,iN=el?el.boxEndIndex:Bt.collisionBoxArray.length,aN=Ua?Ua.boxStartIndex:Bt.collisionBoxArray.length,oN=Ua?Ua.boxEndIndex:Bt.collisionBoxArray.length;let Vo=-1;const uy=(Pi,Ga)=>Pi&&Pi.circleDiameter?Math.max(Pi.circleDiameter,Ga):Ga;Vo=uy(No,Vo),Vo=uy(co,Vo),Vo=uy(el,Vo),Vo=uy(Ua,Vo);const kM=Vo>-1?1:0;kM&&(Vo*=uo/Zn),Bt.glyphOffsetArray.length>=Qh.MAX_GLYPHS&&de("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),pr.sortKey!==void 0&&Bt.addToSortKeyRanges(Bt.symbolInstances.length,pr.sortKey);const sN=TM(Vn,pr,Qn),[lN,uN]=function(Pi,Ga){const ic=Pi.length,jo=Ga==null?void 0:Ga.values;if((jo==null?void 0:jo.length)>0)for(let ac=0;ac=0?rl.right:-1,rl.center>=0?rl.center:-1,rl.left>=0?rl.left:-1,rl.vertical||-1,rx,nx,DM,Q$,eN,tN,rN,nN,iN,aN,oN,bi,Dp,IM,da,tl,kM,0,Yn,Vo,lN,uN)}(c,jt,at,f,v,b,Et,c.layers[0],c.collisionBoxArray,l.index,l.sourceLayerIndex,c.index,me,[Re,Re,Re,Re],St,z,De,$e,Rt,Q,l,T,$,V,A)};if(xt==="line")for(const at of mM(l.geometry,0,0,Nn,Nn)){const jt=G$(at,Se,Ke,f.vertical||te,v,24,_e,c.overscaling,Nn);for(const Bt of jt)te&&K$(c,te.text,bt,Bt)||pt(at,Bt)}else if(xt==="line-center"){for(const at of l.geometry)if(at.length>1){const jt=U$(at,Ke,f.vertical||te,v,24,_e);jt&&pt(at,jt)}}else if(l.type==="Polygon")for(const at of Eb(l.geometry,0)){const jt=Z$(at,16);pt(at[0],new tu(jt.x,jt.y,0))}else if(l.type==="LineString")for(const at of l.geometry)pt(at,new tu(at[0].x,at[0].y,0));else if(l.type==="Point")for(const at of l.geometry)for(const jt of at)pt([jt],new tu(jt.x,jt.y,0))}function CM(c,l,f,v,b,T,A,I,z,$,V,G,Y,Q,te){const ae=function(De,Se,Re,$e,Ke,St,Rt,xt){const bt=$e.layout.get("text-rotate").evaluate(St,{})*Math.PI/180,ht=[];for(const Et of Se.positionedLines)for(const pt of Et.positionedGlyphs){if(!pt.rect)continue;const at=pt.rect||{};let jt=VA+1,Bt=!0,cr=1,an=0;const hn=(Ke||xt)&&pt.vertical,Xn=pt.metrics.advance*pt.scale/2;if(xt&&Se.verticalizable&&(an=Et.lineOffset/2-(pt.imageName?-(Zn-pt.metrics.width*pt.scale)/2:(pt.scale-1)*Zn)),pt.imageName){const Jn=Rt[pt.imageName];Bt=Jn.sdf,cr=Jn.pixelRatio,jt=ca/cr}const Ia=Ke?[pt.x+Xn,pt.y]:[0,0];let Ui=Ke?[0,0]:[pt.x+Xn+Re[0],pt.y+Re[1]-an],Vn=[0,0];hn&&(Vn=Ui,Ui=[0,0]);const ui=pt.metrics.isDoubleResolution?2:1,bi=(pt.metrics.left-jt)*pt.scale-Xn+Ui[0],Gi=(-pt.metrics.top-jt)*pt.scale+Ui[1],qi=bi+at.w/ui*pt.scale/cr,Yn=Gi+at.h/ui*pt.scale/cr,Kn=new y(bi,Gi),Ei=new y(qi,Gi),Wi=new y(bi,Yn),Ai=new y(qi,Yn);if(hn){const Jn=new y(-Xn,Xn-Cp),pr=-Math.PI/2,Mi=Zn/2-Xn,xi=new y(5-Cp-Mi,-(pt.imageName?Mi:0)),Qn=new y(...Vn);Kn._rotateAround(pr,Jn)._add(xi)._add(Qn),Ei._rotateAround(pr,Jn)._add(xi)._add(Qn),Wi._rotateAround(pr,Jn)._add(xi)._add(Qn),Ai._rotateAround(pr,Jn)._add(xi)._add(Qn)}if(bt){const Jn=Math.sin(bt),pr=Math.cos(bt),Mi=[pr,-Jn,Jn,pr];Kn._matMult(Mi),Ei._matMult(Mi),Wi._matMult(Mi),Ai._matMult(Mi)}const ha=new y(0,0),fa=new y(0,0);ht.push({tl:Kn,tr:Ei,bl:Wi,br:Ai,tex:at,writingMode:Se.writingMode,glyphOffset:Ia,sectionIndex:pt.sectionIndex,isSDF:Bt,pixelOffsetTL:ha,pixelOffsetBR:fa,minFontScaleX:0,minFontScaleY:0})}return ht}(0,f,I,b,T,A,v,c.allowVerticalPlacement),me=c.textSizeData;let _e=null;me.kind==="source"?(_e=[gs*b.layout.get("text-size").evaluate(A,{})],_e[0]>Ql&&de(`${c.layerIds[0]}: Value for "text-size" is >= ${Ap}. Reduce your "text-size".`)):me.kind==="composite"&&(_e=[gs*Q.compositeTextSizes[0].evaluate(A,{},te),gs*Q.compositeTextSizes[1].evaluate(A,{},te)],(_e[0]>Ql||_e[1]>Ql)&&de(`${c.layerIds[0]}: Value for "text-size" is >= ${Ap}. Reduce your "text-size".`)),c.addSymbols(c.text,ae,_e,I,T,A,$,l,z.lineStartIndex,z.lineLength,Y,te);for(const De of V)G[De]=c.text.placedSymbolArray.length-1;return 4*ae.length}function EM(c){for(const l in c)return c[l];return null}function K$(c,l,f,v){const b=c.compareText;if(l in b){const T=b[l];for(let A=T.length-1;A>=0;A--)if(v.dist(T[A])>4;if(b!==1)throw new Error(`Got v${b} data when expected v1.`);const T=AM[15&v];if(!T)throw new Error("Unrecognized array type.");const[A]=new Uint16Array(l,2,1),[I]=new Uint32Array(l,4,1);return new Xb(I,A,T,l)}constructor(l,f=64,v=Float64Array,b){if(isNaN(l)||l<0)throw new Error(`Unpexpected numItems value: ${l}.`);this.numItems=+l,this.nodeSize=Math.min(Math.max(+f,2),65535),this.ArrayType=v,this.IndexArrayType=l<65536?Uint16Array:Uint32Array;const T=AM.indexOf(this.ArrayType),A=2*l*this.ArrayType.BYTES_PER_ELEMENT,I=l*this.IndexArrayType.BYTES_PER_ELEMENT,z=(8-I%8)%8;if(T<0)throw new Error(`Unexpected typed array class: ${v}.`);b&&b instanceof ArrayBuffer?(this.data=b,this.ids=new this.IndexArrayType(this.data,8,l),this.coords=new this.ArrayType(this.data,8+I+z,2*l),this._pos=2*l,this._finished=!0):(this.data=new ArrayBuffer(8+A+I+z),this.ids=new this.IndexArrayType(this.data,8,l),this.coords=new this.ArrayType(this.data,8+I+z,2*l),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+T]),new Uint16Array(this.data,2,1)[0]=f,new Uint32Array(this.data,4,1)[0]=l)}add(l,f){const v=this._pos>>1;return this.ids[v]=v,this.coords[this._pos++]=l,this.coords[this._pos++]=f,v}finish(){const l=this._pos>>1;if(l!==this.numItems)throw new Error(`Added ${l} items when expected ${this.numItems}.`);return Yb(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(l,f,v,b){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:T,coords:A,nodeSize:I}=this,z=[0,T.length-1,0],$=[];for(;z.length;){const V=z.pop()||0,G=z.pop()||0,Y=z.pop()||0;if(G-Y<=I){for(let me=Y;me<=G;me++){const _e=A[2*me],De=A[2*me+1];_e>=l&&_e<=v&&De>=f&&De<=b&&$.push(T[me])}continue}const Q=Y+G>>1,te=A[2*Q],ae=A[2*Q+1];te>=l&&te<=v&&ae>=f&&ae<=b&&$.push(T[Q]),(V===0?l<=te:f<=ae)&&(z.push(Y),z.push(Q-1),z.push(1-V)),(V===0?v>=te:b>=ae)&&(z.push(Q+1),z.push(G),z.push(1-V))}return $}within(l,f,v){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:b,coords:T,nodeSize:A}=this,I=[0,b.length-1,0],z=[],$=v*v;for(;I.length;){const V=I.pop()||0,G=I.pop()||0,Y=I.pop()||0;if(G-Y<=A){for(let me=Y;me<=G;me++)PM(T[2*me],T[2*me+1],l,f)<=$&&z.push(b[me]);continue}const Q=Y+G>>1,te=T[2*Q],ae=T[2*Q+1];PM(te,ae,l,f)<=$&&z.push(b[Q]),(V===0?l-v<=te:f-v<=ae)&&(I.push(Y),I.push(Q-1),I.push(1-V)),(V===0?l+v>=te:f+v>=ae)&&(I.push(Q+1),I.push(G),I.push(1-V))}return z}}function Yb(c,l,f,v,b,T){if(b-v<=f)return;const A=v+b>>1;MM(c,l,A,v,b,T),Yb(c,l,f,v,A-1,1-T),Yb(c,l,f,A+1,b,1-T)}function MM(c,l,f,v,b,T){for(;b>v;){if(b-v>600){const $=b-v+1,V=f-v+1,G=Math.log($),Y=.5*Math.exp(2*G/3),Q=.5*Math.sqrt(G*Y*($-Y)/$)*(V-$/2<0?-1:1);MM(c,l,f,Math.max(v,Math.floor(f-V*Y/$+Q)),Math.min(b,Math.floor(f+($-V)*Y/$+Q)),T)}const A=l[2*f+T];let I=v,z=b;for(Pp(c,l,v,f),l[2*b+T]>A&&Pp(c,l,v,b);IA;)z--}l[2*v+T]===A?Pp(c,l,v,z):(z++,Pp(c,l,z,b)),z<=f&&(v=z+1),f<=z&&(b=z-1)}}function Pp(c,l,f,v){Kb(c,f,v),Kb(l,2*f,2*v),Kb(l,2*f+1,2*v+1)}function Kb(c,l,f){const v=c[l];c[l]=c[f],c[f]=v}function PM(c,l,f,v){const b=c-f,T=l-v;return b*b+T*T}var Jb;o.bh=void 0,(Jb=o.bh||(o.bh={})).create="create",Jb.load="load",Jb.fullLoad="fullLoad";let ly=null,Ip=[];const Qb=1e3/60,ex="loadTime",tx="fullLoadTime",J$={mark(c){performance.mark(c)},frame(c){const l=c;ly!=null&&Ip.push(l-ly),ly=l},clearMetrics(){ly=null,Ip=[],performance.clearMeasures(ex),performance.clearMeasures(tx);for(const c in o.bh)performance.clearMarks(o.bh[c])},getPerformanceMetrics(){performance.measure(ex,o.bh.create,o.bh.load),performance.measure(tx,o.bh.create,o.bh.fullLoad);const c=performance.getEntriesByName(ex)[0].duration,l=performance.getEntriesByName(tx)[0].duration,f=Ip.length,v=1/(Ip.reduce((T,A)=>T+A,0)/f/1e3),b=Ip.filter(T=>T>Qb).reduce((T,A)=>T+(A-Qb)/Qb,0);return{loadTime:c,fullLoadTime:l,fps:v,percentDroppedFrames:b/(f+b)*100,totalFrames:f}}};o.$=function(c,l,f){var v,b,T,A,I,z,$,V,G,Y,Q,te,ae=f[0],me=f[1],_e=f[2];return l===c?(c[12]=l[0]*ae+l[4]*me+l[8]*_e+l[12],c[13]=l[1]*ae+l[5]*me+l[9]*_e+l[13],c[14]=l[2]*ae+l[6]*me+l[10]*_e+l[14],c[15]=l[3]*ae+l[7]*me+l[11]*_e+l[15]):(b=l[1],T=l[2],A=l[3],I=l[4],z=l[5],$=l[6],V=l[7],G=l[8],Y=l[9],Q=l[10],te=l[11],c[0]=v=l[0],c[1]=b,c[2]=T,c[3]=A,c[4]=I,c[5]=z,c[6]=$,c[7]=V,c[8]=G,c[9]=Y,c[10]=Q,c[11]=te,c[12]=v*ae+I*me+G*_e+l[12],c[13]=b*ae+z*me+Y*_e+l[13],c[14]=T*ae+$*me+Q*_e+l[14],c[15]=A*ae+V*me+te*_e+l[15]),c},o.A=Wh,o.B=aa,o.C=class{constructor(c,l,f){this.receive=v=>{const b=v.data,T=b.id;if(T&&(!b.targetMapId||this.mapId===b.targetMapId))if(b.type===""){delete this.tasks[T];const A=this.cancelCallbacks[T];delete this.cancelCallbacks[T],A&&A()}else Ue()||b.mustQueue?(this.tasks[T]=b,this.taskQueue.push(T),this.invoker.trigger()):this.processTask(T,b)},this.process=()=>{if(!this.taskQueue.length)return;const v=this.taskQueue.shift(),b=this.tasks[v];delete this.tasks[v],this.taskQueue.length&&this.invoker.trigger(),b&&this.processTask(v,b)},this.target=c,this.parent=l,this.mapId=f,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},this.invoker=new j$(this.process),this.target.addEventListener("message",this.receive,!1),this.globalScope=Ue()?c:window}send(c,l,f,v,b=!1){const T=Math.round(1e18*Math.random()).toString(36).substring(0,10);f&&(this.callbacks[T]=f);const A=[],I={id:T,type:c,hasCallback:!!f,targetMapId:v,mustQueue:b,sourceMapId:this.mapId,data:ps(l,A)};return this.target.postMessage(I,{transfer:A}),{cancel:()=>{f&&delete this.callbacks[T],this.target.postMessage({id:T,type:"",targetMapId:v,sourceMapId:this.mapId})}}}processTask(c,l){if(l.type===""){const f=this.callbacks[c];delete this.callbacks[c],f&&(l.error?f(Wl(l.error)):f(null,Wl(l.data)))}else{let f=!1;const v=[],b=l.hasCallback?(I,z)=>{f=!0,delete this.cancelCallbacks[c];const $={id:c,type:"",sourceMapId:this.mapId,error:I?ps(I):null,data:ps(z,v)};this.target.postMessage($,{transfer:v})}:I=>{f=!0};let T=null;const A=Wl(l.data);if(this.parent[l.type])T=this.parent[l.type](l.sourceMapId,A,b);else if("getWorkerSource"in this.parent){const I=l.type.split(".");T=this.parent.getWorkerSource(l.sourceMapId,I[0],A.source)[I[1]](A,b)}else b(new Error(`Could not find function ${l.type}`));!f&&T&&T.cancel&&(this.cancelCallbacks[c]=T.cancel)}}remove(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)}},o.D=$t,o.E=ot,o.F=function(c,l){const f={};for(let v=0;v{}}},o.Y=ut,o.Z=function(){var c=new Wh(16);return Wh!=Float32Array&&(c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[6]=0,c[7]=0,c[8]=0,c[9]=0,c[11]=0,c[12]=0,c[13]=0,c[14]=0),c[0]=1,c[5]=1,c[10]=1,c[15]=1,c},o._=h,o.a=Mt,o.a$=class extends J{},o.a0=function(c,l,f){var v=f[0],b=f[1],T=f[2];return c[0]=l[0]*v,c[1]=l[1]*v,c[2]=l[2]*v,c[3]=l[3]*v,c[4]=l[4]*b,c[5]=l[5]*b,c[6]=l[6]*b,c[7]=l[7]*b,c[8]=l[8]*T,c[9]=l[9]*T,c[10]=l[10]*T,c[11]=l[11]*T,c[12]=l[12],c[13]=l[13],c[14]=l[14],c[15]=l[15],c},o.a1=lA,o.a2=function(){return ee++},o.a3=fe,o.a4=Qh,o.a5=function(){la.isLoading()||la.isLoaded()||ip()!=="deferred"||zg()},o.a6=Wd,o.a7=rc,o.a8=rn,o.a9=hM,o.aA=Yu,o.aB=function(c){c=c.slice();const l=Object.create(null);for(let f=0;f{v[A.source]?f.push({command:gt.removeLayer,args:[A.id]}):T.push(A)}),f=f.concat(b),function(A,I,z){I=I||[];const $=(A=A||[]).map(Bn),V=I.map(Bn),G=A.reduce($i,{}),Y=I.reduce($i,{}),Q=$.slice(),te=Object.create(null);let ae,me,_e,De,Se,Re,$e;for(ae=0,me=0;ae<$.length;ae++)_e=$[ae],Object.prototype.hasOwnProperty.call(Y,_e)?me++:(z.push({command:gt.removeLayer,args:[_e]}),Q.splice(Q.indexOf(_e,me),1));for(ae=0,me=0;ae@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(f,v,b,T)=>{const A=b||T;return l[v]=!A||A.toLowerCase(),""}),l["max-age"]){const f=parseInt(l["max-age"],10);isNaN(f)?delete l["max-age"]:l["max-age"]=f}return l},o.ab=function(c,l){const f=[];for(const v in c)v in l||f.push(v);return f},o.ac=function(c){if(He==null){const l=c.navigator?c.navigator.userAgent:null;He=!!c.safari||!(!l||!(/\b(iPad|iPhone|iPod)\b/.test(l)||l.match("Safari")&&!l.match("Chrome")))}return He},o.ad=H,o.ae=function(c,l,f){var v=Math.sin(f),b=Math.cos(f),T=l[0],A=l[1],I=l[2],z=l[3],$=l[4],V=l[5],G=l[6],Y=l[7];return l!==c&&(c[8]=l[8],c[9]=l[9],c[10]=l[10],c[11]=l[11],c[12]=l[12],c[13]=l[13],c[14]=l[14],c[15]=l[15]),c[0]=T*b+$*v,c[1]=A*b+V*v,c[2]=I*b+G*v,c[3]=z*b+Y*v,c[4]=$*b-T*v,c[5]=V*b-A*v,c[6]=G*b-I*v,c[7]=Y*b-z*v,c},o.af=function(c){var l=new Wh(16);return l[0]=c[0],l[1]=c[1],l[2]=c[2],l[3]=c[3],l[4]=c[4],l[5]=c[5],l[6]=c[6],l[7]=c[7],l[8]=c[8],l[9]=c[9],l[10]=c[10],l[11]=c[11],l[12]=c[12],l[13]=c[13],l[14]=c[14],l[15]=c[15],l},o.ag=qg,o.ah=function(c,l){let f=0,v=0;if(c.kind==="constant")v=c.layoutSize;else if(c.kind!=="source"){const{interpolationType:b,minZoom:T,maxZoom:A}=c,I=b?H(oa.interpolationFactor(b,l,T,A),0,1):0;c.kind==="camera"?v=aa.number(c.minSize,c.maxSize,I):f=I}return{uSizeT:f,uSize:v}},o.aj=function(c,{uSize:l,uSizeT:f},{lowerSize:v,upperSize:b}){return c.kind==="source"?v/gs:c.kind==="composite"?aa.number(v/gs,b/gs,f):l},o.ak=Nb,o.al=function(c,l,f,v){const b=l.y-c.y,T=l.x-c.x,A=v.y-f.y,I=v.x-f.x,z=A*T-I*b;if(z===0)return null;const $=(I*(c.y-f.y)-A*(c.x-f.x))/z;return new y(c.x+$*T,c.y+$*b)},o.am=mM,o.an=rA,o.ao=_b,o.ap=Zn,o.ar=$b,o.as=function(c,l){var f=l[0],v=l[1],b=l[2],T=l[3],A=l[4],I=l[5],z=l[6],$=l[7],V=l[8],G=l[9],Y=l[10],Q=l[11],te=l[12],ae=l[13],me=l[14],_e=l[15],De=f*I-v*A,Se=f*z-b*A,Re=f*$-T*A,$e=v*z-b*I,Ke=v*$-T*I,St=b*$-T*z,Rt=V*ae-G*te,xt=V*me-Y*te,bt=V*_e-Q*te,ht=G*me-Y*ae,Et=G*_e-Q*ae,pt=Y*_e-Q*me,at=De*pt-Se*Et+Re*ht+$e*bt-Ke*xt+St*Rt;return at?(c[0]=(I*pt-z*Et+$*ht)*(at=1/at),c[1]=(b*Et-v*pt-T*ht)*at,c[2]=(ae*St-me*Ke+_e*$e)*at,c[3]=(Y*Ke-G*St-Q*$e)*at,c[4]=(z*bt-A*pt-$*xt)*at,c[5]=(f*pt-b*bt+T*xt)*at,c[6]=(me*Re-te*St-_e*Se)*at,c[7]=(V*St-Y*Re+Q*Se)*at,c[8]=(A*Et-I*bt+$*Rt)*at,c[9]=(v*bt-f*Et-T*Rt)*at,c[10]=(te*Ke-ae*Re+_e*De)*at,c[11]=(G*Re-V*Ke-Q*De)*at,c[12]=(I*xt-A*ht-z*Rt)*at,c[13]=(f*ht-v*xt+b*Rt)*at,c[14]=(ae*Se-te*$e-me*De)*at,c[15]=(V*$e-G*Se+Y*De)*at,c):null},o.at=Zb,o.au=Fb,o.av=Xb,o.aw=function(){const c={},l=Ce.$version;for(const f in Ce.$root){const v=Ce.$root[f];if(v.required){let b=null;b=f==="version"?l:v.type==="array"?[]:{},b!=null&&(c[f]=b)}}return c},o.ax=gt,o.ay=Lg,o.az=et,o.b=function(c,l){const f=new Blob([new Uint8Array(c)],{type:"image/png"});createImageBitmap(f).then(v=>{l(null,v)}).catch(v=>{l(new Error(`Could not load image because of ${v.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))})},o.b0=si,o.b1=function(c,l){var f=c[0],v=c[1],b=c[2],T=c[3],A=c[4],I=c[5],z=c[6],$=c[7],V=c[8],G=c[9],Y=c[10],Q=c[11],te=c[12],ae=c[13],me=c[14],_e=c[15],De=l[0],Se=l[1],Re=l[2],$e=l[3],Ke=l[4],St=l[5],Rt=l[6],xt=l[7],bt=l[8],ht=l[9],Et=l[10],pt=l[11],at=l[12],jt=l[13],Bt=l[14],cr=l[15];return Math.abs(f-De)<=Hi*Math.max(1,Math.abs(f),Math.abs(De))&&Math.abs(v-Se)<=Hi*Math.max(1,Math.abs(v),Math.abs(Se))&&Math.abs(b-Re)<=Hi*Math.max(1,Math.abs(b),Math.abs(Re))&&Math.abs(T-$e)<=Hi*Math.max(1,Math.abs(T),Math.abs($e))&&Math.abs(A-Ke)<=Hi*Math.max(1,Math.abs(A),Math.abs(Ke))&&Math.abs(I-St)<=Hi*Math.max(1,Math.abs(I),Math.abs(St))&&Math.abs(z-Rt)<=Hi*Math.max(1,Math.abs(z),Math.abs(Rt))&&Math.abs($-xt)<=Hi*Math.max(1,Math.abs($),Math.abs(xt))&&Math.abs(V-bt)<=Hi*Math.max(1,Math.abs(V),Math.abs(bt))&&Math.abs(G-ht)<=Hi*Math.max(1,Math.abs(G),Math.abs(ht))&&Math.abs(Y-Et)<=Hi*Math.max(1,Math.abs(Y),Math.abs(Et))&&Math.abs(Q-pt)<=Hi*Math.max(1,Math.abs(Q),Math.abs(pt))&&Math.abs(te-at)<=Hi*Math.max(1,Math.abs(te),Math.abs(at))&&Math.abs(ae-jt)<=Hi*Math.max(1,Math.abs(ae),Math.abs(jt))&&Math.abs(me-Bt)<=Hi*Math.max(1,Math.abs(me),Math.abs(Bt))&&Math.abs(_e-cr)<=Hi*Math.max(1,Math.abs(_e),Math.abs(cr))},o.b2=function(c,l){return c[0]=l[0],c[1]=l[1],c[2]=l[2],c[3]=l[3],c[4]=l[4],c[5]=l[5],c[6]=l[6],c[7]=l[7],c[8]=l[8],c[9]=l[9],c[10]=l[10],c[11]=l[11],c[12]=l[12],c[13]=l[13],c[14]=l[14],c[15]=l[15],c},o.b3=function(c,l,f){return c[0]=l[0]*f[0],c[1]=l[1]*f[1],c[2]=l[2]*f[2],c[3]=l[3]*f[3],c},o.b4=function(c,l){return c[0]*l[0]+c[1]*l[1]+c[2]*l[2]+c[3]*l[3]},o.b5=W,o.b6=lM,o.b7=aM,o.b8=function(c,l,f,v,b){var T,A=1/Math.tan(l/2);return c[0]=A/f,c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=A,c[6]=0,c[7]=0,c[8]=0,c[9]=0,c[11]=-1,c[12]=0,c[13]=0,c[15]=0,b!=null&&b!==1/0?(c[10]=(b+v)*(T=1/(v-b)),c[14]=2*b*v*T):(c[10]=-1,c[14]=-2*v),c},o.b9=function(c,l,f){var v=Math.sin(f),b=Math.cos(f),T=l[4],A=l[5],I=l[6],z=l[7],$=l[8],V=l[9],G=l[10],Y=l[11];return l!==c&&(c[0]=l[0],c[1]=l[1],c[2]=l[2],c[3]=l[3],c[12]=l[12],c[13]=l[13],c[14]=l[14],c[15]=l[15]),c[4]=T*b+$*v,c[5]=A*b+V*v,c[6]=I*b+G*v,c[7]=z*b+Y*v,c[8]=$*b-T*v,c[9]=V*b-A*v,c[10]=G*b-I*v,c[11]=Y*b-z*v,c},o.bA=m,o.bB=RA,o.bC=Rh,o.bD=la,o.ba=F,o.bb=q,o.bc=function(c,l){return c[0]=l[0],c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=l[1],c[6]=0,c[7]=0,c[8]=0,c[9]=0,c[10]=l[2],c[11]=0,c[12]=0,c[13]=0,c[14]=0,c[15]=1,c},o.bd=class extends ec{},o.be=Ub,o.bf=oM,o.bg=J$,o.bi=lt,o.bj=function(c,l,f=!1){if(Vi===Qd||Vi===ep||Vi===tp)throw new Error("setRTLTextPlugin cannot be called multiple times.");ms=mr.resolveURL(c),Vi=Qd,rp=l,np(),f||zg()},o.bk=ip,o.bl=function(c,l){const f={};for(let b=0;bat*Zn)}let xt=A?"center":f.get("text-justify").evaluate($,{},c.canonical);const bt=f.get("symbol-placement"),ht=bt==="point"?f.get("text-max-width").evaluate($,{},c.canonical)*Zn:0,Et=()=>{c.bucket.allowVerticalPlacement&&Yd(Re)&&(te.vertical=Qg(ae,c.glyphMap,c.glyphPositions,c.imagePositions,V,ht,T,St,"left",Ke,_e,o.ai.vertical,!0,bt,Y,G))};if(!A&&Rt){const pt=new Set;if(xt==="auto")for(let jt=0;jt{l(null,f),URL.revokeObjectURL(f.src),f.onload=null,window.requestAnimationFrame(()=>{f.src=Pt})},f.onerror=()=>l(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const v=new Blob([new Uint8Array(c)],{type:"image/png"});f.src=c.byteLength?URL.createObjectURL(v):Pt},o.e=Z,o.f=function(c,l){return ue(Z(c,{type:"json"}),l)},o.g=dt,o.h=mr,o.i=Ue,o.j=yt,o.k=tt,o.l=xe,o.m=ue,o.n=function(c){return new Rb(c).readFields(A$,[])},o.o=function(c,l,f){if(!c.length)return f(null,[]);let v=c.length;const b=new Array(c.length);let T=null;c.forEach((A,I)=>{l(A,(z,$)=>{z&&(T=z),b[I]=$,--v==0&&f(T,b)})})},o.p=jA,o.q=gp,o.r=kn,o.s=Le,o.t=cb,o.u=wt,o.v=Ce,o.w=de,o.x=Vh,o.y=zo,o.z=function([c,l,f]){return l+=90,l*=Math.PI/180,f*=Math.PI/180,{x:c*Math.cos(l)*Math.sin(f),y:c*Math.sin(l)*Math.sin(f),z:c*Math.cos(f)}}}),a(["./shared"],function(o){class h{constructor(X){this.keyCache={},X&&this.replace(X)}replace(X){this._layerConfigs={},this._layers={},this.update(X,[])}update(X,K){for(const pe of X){this._layerConfigs[pe.id]=pe;const ge=this._layers[pe.id]=o.aC(pe);ge._featureFilter=o.a6(ge.filter),this.keyCache[pe.id]&&delete this.keyCache[pe.id]}for(const pe of K)delete this.keyCache[pe],delete this._layerConfigs[pe],delete this._layers[pe];this.familiesBySource={};const ne=o.bl(Object.values(this._layerConfigs),this.keyCache);for(const pe of ne){const ge=pe.map(Ze=>this._layers[Ze.id]),ke=ge[0];if(ke.visibility==="none")continue;const Ee=ke.source||"";let be=this.familiesBySource[Ee];be||(be=this.familiesBySource[Ee]={});const Ie=ke.sourceLayer||"_geojsonTileLayer";let We=be[Ie];We||(We=be[Ie]=[]),We.push(ge)}}}class d{constructor(X){const K={},ne=[];for(const Ee in X){const be=X[Ee],Ie=K[Ee]={};for(const We in be){const Ze=be[+We];if(!Ze||Ze.bitmap.width===0||Ze.bitmap.height===0)continue;const Je={x:0,y:0,w:Ze.bitmap.width+2,h:Ze.bitmap.height+2};ne.push(Je),Ie[We]={rect:Je,metrics:Ze.metrics}}}const{w:pe,h:ge}=o.p(ne),ke=new o.q({width:pe||1,height:ge||1});for(const Ee in X){const be=X[Ee];for(const Ie in be){const We=be[+Ie];if(!We||We.bitmap.width===0||We.bitmap.height===0)continue;const Ze=K[Ee][Ie].rect;o.q.copy(We.bitmap,ke,{x:0,y:0},{x:Ze.x+1,y:Ze.y+1},We.bitmap)}}this.image=ke,this.positions=K}}o.bm("GlyphAtlas",d);class m{constructor(X){this.tileID=new o.O(X.tileID.overscaledZ,X.tileID.wrap,X.tileID.canonical.z,X.tileID.canonical.x,X.tileID.canonical.y),this.uid=X.uid,this.zoom=X.zoom,this.pixelRatio=X.pixelRatio,this.tileSize=X.tileSize,this.source=X.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=X.showCollisionBoxes,this.collectResourceTiming=!!X.collectResourceTiming,this.returnDependencies=!!X.returnDependencies,this.promoteId=X.promoteId,this.inFlightDependencies=[],this.dependencySentinel=-1}parse(X,K,ne,pe,ge){this.status="parsing",this.data=X,this.collisionBoxArray=new o.a3;const ke=new o.bn(Object.keys(X.layers).sort()),Ee=new o.bo(this.tileID,this.promoteId);Ee.bucketLayerIDs=[];const be={},Ie={featureIndex:Ee,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:ne},We=K.familiesBySource[this.source];for(const Sr in We){const _r=X.layers[Sr];if(!_r)continue;_r.version===1&&o.w(`Vector tile source "${this.source}" layer "${Sr}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const vi=ke.encode(Sr),Xr=[];for(let $n=0;$n<_r.length;$n++){const ai=_r.feature($n),Sa=Ee.getId(ai,Sr);Xr.push({feature:ai,id:Sa,index:$n,sourceLayerIndex:vi})}for(const $n of We[Sr]){const ai=$n[0];ai.source!==this.source&&o.w(`layer.source = ${ai.source} does not equal this.source = ${this.source}`),ai.minzoom&&this.zoom=ai.maxzoom||ai.visibility!=="none"&&(g($n,this.zoom,ne),(be[ai.id]=ai.createBucket({index:Ee.bucketLayerIDs.length,layers:$n,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:vi,sourceID:this.source})).populate(Xr,Ie,this.tileID.canonical),Ee.bucketLayerIDs.push($n.map(Sa=>Sa.id)))}}let Ze,Je,Vt,Yt;const Lt=o.aH(Ie.glyphDependencies,Sr=>Object.keys(Sr).map(Number));this.inFlightDependencies.forEach(Sr=>Sr==null?void 0:Sr.cancel()),this.inFlightDependencies=[];const Ht=++this.dependencySentinel;Object.keys(Lt).length?this.inFlightDependencies.push(pe.send("getGlyphs",{uid:this.uid,stacks:Lt,source:this.source,tileID:this.tileID,type:"glyphs"},(Sr,_r)=>{Ht===this.dependencySentinel&&(Ze||(Ze=Sr,Je=_r,Gr.call(this)))})):Je={};const rr=Object.keys(Ie.iconDependencies);rr.length?this.inFlightDependencies.push(pe.send("getImages",{icons:rr,source:this.source,tileID:this.tileID,type:"icons"},(Sr,_r)=>{Ht===this.dependencySentinel&&(Ze||(Ze=Sr,Vt=_r,Gr.call(this)))})):Vt={};const Rr=Object.keys(Ie.patternDependencies);function Gr(){if(Ze)return ge(Ze);if(Je&&Vt&&Yt){const Sr=new d(Je),_r=new o.bp(Vt,Yt);for(const vi in be){const Xr=be[vi];Xr instanceof o.a4?(g(Xr.layers,this.zoom,ne),o.bq({bucket:Xr,glyphMap:Je,glyphPositions:Sr.positions,imageMap:Vt,imagePositions:_r.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Xr.hasPattern&&(Xr instanceof o.br||Xr instanceof o.bs||Xr instanceof o.bt)&&(g(Xr.layers,this.zoom,ne),Xr.addFeatures(Ie,this.tileID.canonical,_r.patternPositions))}this.status="done",ge(null,{buckets:Object.values(be).filter(vi=>!vi.isEmpty()),featureIndex:Ee,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Sr.image,imageAtlas:_r,glyphMap:this.returnDependencies?Je:null,iconMap:this.returnDependencies?Vt:null,glyphPositions:this.returnDependencies?Sr.positions:null})}}Rr.length?this.inFlightDependencies.push(pe.send("getImages",{icons:Rr,source:this.source,tileID:this.tileID,type:"patterns"},(Sr,_r)=>{Ht===this.dependencySentinel&&(Ze||(Ze=Sr,Yt=_r,Gr.call(this)))})):Yt={},Gr.call(this)}}function g(he,X,K){const ne=new o.a8(X);for(const pe of he)pe.recalculate(ne,K)}function y(he,X){const K=o.l(he.request,(ne,pe,ge,ke)=>{if(ne)X(ne);else if(pe)try{const Ee=new o.bw.VectorTile(new o.bv(pe));X(null,{vectorTile:Ee,rawData:pe,cacheControl:ge,expires:ke})}catch(Ee){const be=new Uint8Array(pe);let Ie=`Unable to parse the tile at ${he.request.url}, `;Ie+=be[0]===31&&be[1]===139?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${Ee.messge}`,X(new Error(Ie))}});return()=>{K.cancel(),X()}}class x{constructor(X,K,ne,pe){this.actor=X,this.layerIndex=K,this.availableImages=ne,this.loadVectorData=pe||y,this.fetching={},this.loading={},this.loaded={}}loadTile(X,K){const ne=X.uid;this.loading||(this.loading={});const pe=!!(X&&X.request&&X.request.collectResourceTiming)&&new o.bu(X.request),ge=this.loading[ne]=new m(X);ge.abort=this.loadVectorData(X,(ke,Ee)=>{if(delete this.loading[ne],ke||!Ee)return ge.status="done",this.loaded[ne]=ge,K(ke);const be=Ee.rawData,Ie={};Ee.expires&&(Ie.expires=Ee.expires),Ee.cacheControl&&(Ie.cacheControl=Ee.cacheControl);const We={};if(pe){const Ze=pe.finish();Ze&&(We.resourceTiming=JSON.parse(JSON.stringify(Ze)))}ge.vectorTile=Ee.vectorTile,ge.parse(Ee.vectorTile,this.layerIndex,this.availableImages,this.actor,(Ze,Je)=>{if(delete this.fetching[ne],Ze||!Je)return K(Ze);K(null,o.e({rawTileData:be.slice(0)},Je,Ie,We))}),this.loaded=this.loaded||{},this.loaded[ne]=ge,this.fetching[ne]={rawTileData:be,cacheControl:Ie,resourceTiming:We}})}reloadTile(X,K){const ne=this.loaded,pe=X.uid;if(ne&&ne[pe]){const ge=ne[pe];ge.showCollisionBoxes=X.showCollisionBoxes,ge.status==="parsing"?ge.parse(ge.vectorTile,this.layerIndex,this.availableImages,this.actor,(ke,Ee)=>{if(ke||!Ee)return K(ke,Ee);let be;if(this.fetching[pe]){const{rawTileData:Ie,cacheControl:We,resourceTiming:Ze}=this.fetching[pe];delete this.fetching[pe],be=o.e({rawTileData:Ie.slice(0)},Ee,We,Ze)}else be=Ee;K(null,be)}):ge.status==="done"&&(ge.vectorTile?ge.parse(ge.vectorTile,this.layerIndex,this.availableImages,this.actor,K):K())}}abortTile(X,K){const ne=this.loading,pe=X.uid;ne&&ne[pe]&&ne[pe].abort&&(ne[pe].abort(),delete ne[pe]),K()}removeTile(X,K){const ne=this.loaded,pe=X.uid;ne&&ne[pe]&&delete ne[pe],K()}}class E{constructor(){this.loaded={}}loadTile(X,K){return o._(this,void 0,void 0,function*(){const{uid:ne,encoding:pe,rawImageData:ge,redFactor:ke,greenFactor:Ee,blueFactor:be,baseShift:Ie}=X,We=ge.width+2,Ze=ge.height+2,Je=o.a(ge)?new o.R({width:We,height:Ze},yield o.bx(ge,-1,-1,We,Ze)):ge,Vt=new o.by(ne,Je,pe,ke,Ee,be,Ie);this.loaded=this.loaded||{},this.loaded[ne]=Vt,K(null,Vt)})}removeTile(X){const K=this.loaded,ne=X.uid;K&&K[ne]&&delete K[ne]}}function M(he,X){if(he.length!==0){P(he[0],X);for(var K=1;K=Math.abs(Ee)?K-be+Ee:Ee-be+K,K=be}K+ne>=0!=!!X&&he.reverse()}var D=o.bz(function he(X,K){var ne,pe=X&&X.type;if(pe==="FeatureCollection")for(ne=0;ne>31}function Ue(he,X){for(var K=he.loadGeometry(),ne=he.type,pe=0,ge=0,ke=K.length,Ee=0;Eehe},er=Math.fround||(Dt=new Float32Array(1),he=>(Dt[0]=+he,Dt[0]));var Dt;const Wt=3,ur=5,Ar=6;class mr{constructor(X){this.options=Object.assign(Object.create(Pt),X),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(X){const{log:K,minZoom:ne,maxZoom:pe}=this.options;K&&console.time("total time");const ge=`prepare ${X.length} points`;K&&console.time(ge),this.points=X;const ke=[];for(let be=0;be=ne;be--){const Ie=+Date.now();Ee=this.trees[be]=this._createTree(this._cluster(Ee,be)),K&&console.log("z%d: %d clusters in %dms",be,Ee.numItems,+Date.now()-Ie)}return K&&console.timeEnd("total time"),this}getClusters(X,K){let ne=((X[0]+180)%360+360)%360-180;const pe=Math.max(-90,Math.min(90,X[1]));let ge=X[2]===180?180:((X[2]+180)%360+360)%360-180;const ke=Math.max(-90,Math.min(90,X[3]));if(X[2]-X[0]>=360)ne=-180,ge=180;else if(ne>ge){const Ze=this.getClusters([ne,pe,180,ke],K),Je=this.getClusters([-180,pe,ge,ke],K);return Ze.concat(Je)}const Ee=this.trees[this._limitZoom(K)],be=Ee.range(et(ne),dt(ke),et(ge),dt(pe)),Ie=Ee.data,We=[];for(const Ze of be){const Je=this.stride*Ze;We.push(Ie[Je+ur]>1?qe(Ie,Je,this.clusterProps):this.points[Ie[Je+Wt]])}return We}getChildren(X){const K=this._getOriginId(X),ne=this._getOriginZoom(X),pe="No cluster with the specified id.",ge=this.trees[ne];if(!ge)throw new Error(pe);const ke=ge.data;if(K*this.stride>=ke.length)throw new Error(pe);const Ee=this.options.radius/(this.options.extent*Math.pow(2,ne-1)),be=ge.within(ke[K*this.stride],ke[K*this.stride+1],Ee),Ie=[];for(const We of be){const Ze=We*this.stride;ke[Ze+4]===X&&Ie.push(ke[Ze+ur]>1?qe(ke,Ze,this.clusterProps):this.points[ke[Ze+Wt]])}if(Ie.length===0)throw new Error(pe);return Ie}getLeaves(X,K,ne){const pe=[];return this._appendLeaves(pe,X,K=K||10,ne=ne||0,0),pe}getTile(X,K,ne){const pe=this.trees[this._limitZoom(X)],ge=Math.pow(2,X),{extent:ke,radius:Ee}=this.options,be=Ee/ke,Ie=(ne-be)/ge,We=(ne+1+be)/ge,Ze={features:[]};return this._addTileFeatures(pe.range((K-be)/ge,Ie,(K+1+be)/ge,We),pe.data,K,ne,ge,Ze),K===0&&this._addTileFeatures(pe.range(1-be/ge,Ie,1,We),pe.data,ge,ne,ge,Ze),K===ge-1&&this._addTileFeatures(pe.range(0,Ie,be/ge,We),pe.data,-1,ne,ge,Ze),Ze.features.length?Ze:null}getClusterExpansionZoom(X){let K=this._getOriginZoom(X)-1;for(;K<=this.options.maxZoom;){const ne=this.getChildren(X);if(K++,ne.length!==1)break;X=ne[0].properties.cluster_id}return K}_appendLeaves(X,K,ne,pe,ge){const ke=this.getChildren(K);for(const Ee of ke){const be=Ee.properties;if(be&&be.cluster?ge+be.point_count<=pe?ge+=be.point_count:ge=this._appendLeaves(X,be.cluster_id,ne,pe,ge):ge1;let We,Ze,Je;if(Ie)We=lt(K,be,this.clusterProps),Ze=K[be],Je=K[be+1];else{const Lt=this.points[K[be+Wt]];We=Lt.properties;const[Ht,rr]=Lt.geometry.coordinates;Ze=et(Ht),Je=dt(rr)}const Vt={type:1,geometry:[[Math.round(this.options.extent*(Ze*ge-ne)),Math.round(this.options.extent*(Je*ge-pe))]],tags:We};let Yt;Yt=Ie||this.options.generateId?K[be+Wt]:this.points[K[be+Wt]].id,Yt!==void 0&&(Vt.id=Yt),ke.features.push(Vt)}}_limitZoom(X){return Math.max(this.options.minZoom,Math.min(Math.floor(+X),this.options.maxZoom+1))}_cluster(X,K){const{radius:ne,extent:pe,reduce:ge,minPoints:ke}=this.options,Ee=ne/(pe*Math.pow(2,K)),be=X.data,Ie=[],We=this.stride;for(let Ze=0;ZeK&&(Ht+=be[Rr+ur])}if(Ht>Lt&&Ht>=ke){let rr,Rr=Je*Lt,Gr=Vt*Lt,Sr=-1;const _r=((Ze/We|0)<<5)+(K+1)+this.points.length;for(const vi of Yt){const Xr=vi*We;if(be[Xr+2]<=K)continue;be[Xr+2]=K;const $n=be[Xr+ur];Rr+=be[Xr]*$n,Gr+=be[Xr+1]*$n,be[Xr+4]=_r,ge&&(rr||(rr=this._map(be,Ze,!0),Sr=this.clusterProps.length,this.clusterProps.push(rr)),ge(rr,this._map(be,Xr)))}be[Ze+4]=_r,Ie.push(Rr/Ht,Gr/Ht,1/0,_r,-1,Ht),ge&&Ie.push(Sr)}else{for(let rr=0;rr1)for(const rr of Yt){const Rr=rr*We;if(!(be[Rr+2]<=K)){be[Rr+2]=K;for(let Gr=0;Gr>5}_getOriginZoom(X){return(X-this.points.length)%32}_map(X,K,ne){if(X[K+ur]>1){const ke=this.clusterProps[X[K+Ar]];return ne?Object.assign({},ke):ke}const pe=this.points[X[K+Wt]].properties,ge=this.options.map(pe);return ne&&ge===pe?Object.assign({},ge):ge}}function qe(he,X,K){return{type:"Feature",id:he[X+Wt],properties:lt(he,X,K),geometry:{type:"Point",coordinates:[(ne=he[X],360*(ne-.5)),vt(he[X+1])]}};var ne}function lt(he,X,K){const ne=he[X+ur],pe=ne>=1e4?`${Math.round(ne/1e3)}k`:ne>=1e3?Math.round(ne/100)/10+"k":ne,ge=he[X+Ar],ke=ge===-1?{}:Object.assign({},K[ge]);return Object.assign(ke,{cluster:!0,cluster_id:he[X+Wt],point_count:ne,point_count_abbreviated:pe})}function et(he){return he/360+.5}function dt(he){const X=Math.sin(he*Math.PI/180),K=.5-.25*Math.log((1+X)/(1-X))/Math.PI;return K<0?0:K>1?1:K}function vt(he){const X=(180-360*he)*Math.PI/180;return 360*Math.atan(Math.exp(X))/Math.PI-90}function ue(he,X,K,ne){for(var pe,ge=ne,ke=K-X>>1,Ee=K-X,be=he[X],Ie=he[X+1],We=he[K],Ze=he[K+1],Je=X+3;Jege)pe=Je,ge=Vt;else if(Vt===ge){var Yt=Math.abs(Je-ke);Ytne&&(pe-X>3&&ue(he,X,pe,ne),he[pe+2]=ge,K-pe>3&&ue(he,pe,K,ne))}function xe(he,X,K,ne,pe,ge){var ke=pe-K,Ee=ge-ne;if(ke!==0||Ee!==0){var be=((he-K)*ke+(X-ne)*Ee)/(ke*ke+Ee*Ee);be>1?(K=pe,ne=ge):be>0&&(K+=ke*be,ne+=Ee*be)}return(ke=he-K)*ke+(Ee=X-ne)*Ee}function Le(he,X,K,ne){var pe={id:he===void 0?null:he,type:X,geometry:K,tags:ne,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(ge){var ke=ge.geometry,Ee=ge.type;if(Ee==="Point"||Ee==="MultiPoint"||Ee==="LineString")Ge(ge,ke);else if(Ee==="Polygon"||Ee==="MultiLineString")for(var be=0;be0&&(ke+=ne?(pe*Ie-be*ge)/2:Math.sqrt(Math.pow(be-pe,2)+Math.pow(Ie-ge,2))),pe=be,ge=Ie}var We=X.length-3;X[2]=1,ue(X,0,We,K),X[We+2]=1,X.size=Math.abs(ke),X.start=0,X.end=X.size}function ot(he,X,K,ne){for(var pe=0;pe1?1:K}function Ft(he,X,K,ne,pe,ge,ke,Ee){if(ne/=X,ge>=(K/=X)&&ke=ne)return null;for(var be=[],Ie=0;Ie=K&&Yt=ne)){var Lt=[];if(Je==="Point"||Je==="MultiPoint")mt(Ze,Lt,K,ne,pe);else if(Je==="LineString")gt(Ze,Lt,K,ne,pe,!1,Ee.lineMetrics);else if(Je==="MultiLineString")sr(Ze,Lt,K,ne,pe,!1);else if(Je==="Polygon")sr(Ze,Lt,K,ne,pe,!0);else if(Je==="MultiPolygon")for(var Ht=0;Ht=K&&ke<=ne&&(X.push(he[ge]),X.push(he[ge+1]),X.push(he[ge+2]))}}function gt(he,X,K,ne,pe,ge,ke){for(var Ee,be,Ie=Zt(he),We=pe===0?Ir:Zr,Ze=he.start,Je=0;JeK&&(be=We(Ie,Vt,Yt,Ht,rr,K),ke&&(Ie.start=Ze+Ee*be)):Rr>ne?Gr=K&&(be=We(Ie,Vt,Yt,Ht,rr,K),Sr=!0),Gr>ne&&Rr<=ne&&(be=We(Ie,Vt,Yt,Ht,rr,ne),Sr=!0),!ge&&Sr&&(ke&&(Ie.end=Ze+Ee*be),X.push(Ie),Ie=Zt(he)),ke&&(Ze+=Ee)}var _r=he.length-3;Vt=he[_r],Yt=he[_r+1],Lt=he[_r+2],(Rr=pe===0?Vt:Yt)>=K&&Rr<=ne&&wr(Ie,Vt,Yt,Lt),_r=Ie.length-3,ge&&_r>=3&&(Ie[_r]!==Ie[0]||Ie[_r+1]!==Ie[1])&&wr(Ie,Ie[0],Ie[1],Ie[2]),Ie.length&&X.push(Ie)}function Zt(he){var X=[];return X.size=he.size,X.start=he.start,X.end=he.end,X}function sr(he,X,K,ne,pe,ge){for(var ke=0;keke.maxX&&(ke.maxX=We),Ze>ke.maxY&&(ke.maxY=Ze)}return ke}function Ln(he,X,K,ne){var pe=X.geometry,ge=X.type,ke=[];if(ge==="Point"||ge==="MultiPoint")for(var Ee=0;Ee0&&X.size<(pe?ke:ne))K.numPoints+=X.length/3;else{for(var Ee=[],be=0;beke)&&(K.numSimplified++,Ee.push(X[be]),Ee.push(X[be+1])),K.numPoints++;pe&&function(Ie,We){for(var Ze=0,Je=0,Vt=Ie.length,Yt=Vt-2;Je0===We)for(Je=0,Vt=Ie.length;Je24)throw new Error("maxZoom should be in the 0-24 range");if(X.promoteId&&X.generateId)throw new Error("promoteId and generateId cannot be used together.");var ne=function(pe,ge){var ke=[];if(pe.type==="FeatureCollection")for(var Ee=0;Ee1&&console.time("creation"),Je=this.tiles[Ze]=tn(he,X,K,ne,be),this.tileCoords.push({z:X,x:K,y:ne}),Ie)){Ie>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",X,K,ne,Je.numFeatures,Je.numPoints,Je.numSimplified),console.timeEnd("creation"));var Vt="z"+X;this.stats[Vt]=(this.stats[Vt]||0)+1,this.total++}if(Je.source=he,pe){if(X===be.maxZoom||X===pe)continue;var Yt=1<1&&console.time("clipping");var Lt,Ht,rr,Rr,Gr,Sr,_r=.5*be.buffer/be.extent,vi=.5-_r,Xr=.5+_r,$n=1+_r;Lt=Ht=rr=Rr=null,Gr=Ft(he,We,K-_r,K+Xr,0,Je.minX,Je.maxX,be),Sr=Ft(he,We,K+vi,K+$n,0,Je.minX,Je.maxX,be),he=null,Gr&&(Lt=Ft(Gr,We,ne-_r,ne+Xr,1,Je.minY,Je.maxY,be),Ht=Ft(Gr,We,ne+vi,ne+$n,1,Je.minY,Je.maxY,be),Gr=null),Sr&&(rr=Ft(Sr,We,ne-_r,ne+Xr,1,Je.minY,Je.maxY,be),Rr=Ft(Sr,We,ne+vi,ne+$n,1,Je.minY,Je.maxY,be),Sr=null),Ie>1&&console.timeEnd("clipping"),Ee.push(Lt||[],X+1,2*K,2*ne),Ee.push(Ht||[],X+1,2*K,2*ne+1),Ee.push(rr||[],X+1,2*K+1,2*ne),Ee.push(Rr||[],X+1,2*K+1,2*ne+1)}}},ct.prototype.getTile=function(he,X,K){var ne=this.options,pe=ne.extent,ge=ne.debug;if(he<0||he>24)return null;var ke=1<1&&console.log("drilling down to z%d-%d-%d",he,X,K);for(var be,Ie=he,We=X,Ze=K;!be&&Ie>0;)Ie--,We=Math.floor(We/2),Ze=Math.floor(Ze/2),be=this.tiles[or(Ie,We,Ze)];return be&&be.source?(ge>1&&console.log("found parent tile z%d-%d-%d",Ie,We,Ze),ge>1&&console.time("drilling down"),this.splitTile(be.source,Ie,We,Ze,he,X,K),ge>1&&console.timeEnd("drilling down"),this.tiles[Ee]?ut(this.tiles[Ee],pe):null):null};class ir extends x{constructor(X,K,ne,pe){super(X,K,ne),this._dataUpdateable=new Map,this.loadGeoJSON=(ge,ke)=>{const{promoteId:Ee}=ge;if(ge.request)return o.f(ge.request,(be,Ie,We,Ze)=>{this._dataUpdateable=Si(Ie,Ee)?ro(Ie,Ee):void 0,ke(be,Ie,We,Ze)});if(typeof ge.data=="string")try{const be=JSON.parse(ge.data);this._dataUpdateable=Si(be,Ee)?ro(be,Ee):void 0,ke(null,be)}catch{ke(new Error(`Input data given to '${ge.source}' is not a valid GeoJSON object.`))}else ge.dataDiff?this._dataUpdateable?(function(be,Ie,We){var Ze,Je,Vt,Yt;if(Ie.removeAll&&be.clear(),Ie.remove)for(const Lt of Ie.remove)be.delete(Lt);if(Ie.add)for(const Lt of Ie.add){const Ht=tr(Lt,We);Ht!=null&&be.set(Ht,Lt)}if(Ie.update)for(const Lt of Ie.update){let Ht=be.get(Lt.id);if(Ht==null)continue;const rr=!Lt.removeAllProperties&&(((Ze=Lt.removeProperties)===null||Ze===void 0?void 0:Ze.length)>0||((Je=Lt.addOrUpdateProperties)===null||Je===void 0?void 0:Je.length)>0);if((Lt.newGeometry||Lt.removeAllProperties||rr)&&(Ht=Object.assign({},Ht),be.set(Lt.id,Ht),rr&&(Ht.properties=Object.assign({},Ht.properties))),Lt.newGeometry&&(Ht.geometry=Lt.newGeometry),Lt.removeAllProperties)Ht.properties={};else if(((Vt=Lt.removeProperties)===null||Vt===void 0?void 0:Vt.length)>0)for(const Rr of Lt.removeProperties)Object.prototype.hasOwnProperty.call(Ht.properties,Rr)&&delete Ht.properties[Rr];if(((Yt=Lt.addOrUpdateProperties)===null||Yt===void 0?void 0:Yt.length)>0)for(const{key:Rr,value:Gr}of Lt.addOrUpdateProperties)Ht.properties[Rr]=Gr}}(this._dataUpdateable,ge.dataDiff,Ee),ke(null,{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())})):ke(new Error(`Cannot update existing geojson data in ${ge.source}`)):ke(new Error(`Input data given to '${ge.source}' is not a valid GeoJSON object.`));return{cancel:()=>{}}},this.loadVectorData=this.loadGeoJSONTile,pe&&(this.loadGeoJSON=pe)}loadGeoJSONTile(X,K){const ne=X.tileID.canonical;if(!this._geoJSONIndex)return K(null,null);const pe=this._geoJSONIndex.getTile(ne.z,ne.x,ne.y);if(!pe)return K(null,null);const ge=new class{constructor(Ee){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=o.N,this.length=Ee.length,this._features=Ee}feature(Ee){return new class{constructor(be){this._feature=be,this.extent=o.N,this.type=be.type,this.properties=be.tags,"id"in be&&!isNaN(be.id)&&(this.id=parseInt(be.id,10))}loadGeometry(){if(this._feature.type===1){const be=[];for(const Ie of this._feature.geometry)be.push([new o.P(Ie[0],Ie[1])]);return be}{const be=[];for(const Ie of this._feature.geometry){const We=[];for(const Ze of Ie)We.push(new o.P(Ze[0],Ze[1]));be.push(We)}return be}}toGeoJSON(be,Ie,We){return k.call(this,be,Ie,We)}}(this._features[Ee])}}(pe.features);let ke=Mt(ge);ke.byteOffset===0&&ke.byteLength===ke.buffer.byteLength||(ke=new Uint8Array(ke)),K(null,{vectorTile:ge,rawData:ke.buffer})}loadData(X,K){var ne;(ne=this._pendingRequest)===null||ne===void 0||ne.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});const pe=!!(X&&X.request&&X.request.collectResourceTiming)&&new o.bu(X.request);this._pendingCallback=K,this._pendingRequest=this.loadGeoJSON(X,(ge,ke)=>{if(delete this._pendingCallback,delete this._pendingRequest,ge||!ke)return K(ge);if(typeof ke!="object")return K(new Error(`Input data given to '${X.source}' is not a valid GeoJSON object.`));{D(ke,!0);try{if(X.filter){const be=o.bC(X.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(be.result==="error")throw new Error(be.value.map(We=>`${We.key}: ${We.message}`).join(", "));ke={type:"FeatureCollection",features:ke.features.filter(We=>be.value.evaluate({zoom:0},We))}}this._geoJSONIndex=X.cluster?new mr(function({superclusterOptions:be,clusterProperties:Ie}){if(!Ie||!be)return be;const We={},Ze={},Je={accumulated:null,zoom:0},Vt={properties:null},Yt=Object.keys(Ie);for(const Lt of Yt){const[Ht,rr]=Ie[Lt],Rr=o.bC(rr),Gr=o.bC(typeof Ht=="string"?[Ht,["accumulated"],["get",Lt]]:Ht);We[Lt]=Rr.value,Ze[Lt]=Gr.value}return be.map=Lt=>{Vt.properties=Lt;const Ht={};for(const rr of Yt)Ht[rr]=We[rr].evaluate(Je,Vt);return Ht},be.reduce=(Lt,Ht)=>{Vt.properties=Ht;for(const rr of Yt)Je.accumulated=Lt[rr],Lt[rr]=Ze[rr].evaluate(Je,Vt)},be}(X)).load(ke.features):function(be,Ie){return new ct(be,Ie)}(ke,X.geojsonVtOptions)}catch(be){return K(be)}this.loaded={};const Ee={};if(pe){const be=pe.finish();be&&(Ee.resourceTiming={},Ee.resourceTiming[X.source]=JSON.parse(JSON.stringify(be)))}K(null,Ee)}})}reloadTile(X,K){const ne=this.loaded;return ne&&ne[X.uid]?super.reloadTile(X,K):this.loadTile(X,K)}removeSource(X,K){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),K()}getClusterExpansionZoom(X,K){try{K(null,this._geoJSONIndex.getClusterExpansionZoom(X.clusterId))}catch(ne){K(ne)}}getClusterChildren(X,K){try{K(null,this._geoJSONIndex.getChildren(X.clusterId))}catch(ne){K(ne)}}getClusterLeaves(X,K){try{K(null,this._geoJSONIndex.getLeaves(X.clusterId,X.limit,X.offset))}catch(ne){K(ne)}}}class Lo{constructor(X){this.self=X,this.actor=new o.C(X,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:x,geojson:ir},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(K,ne)=>{if(this.workerSourceTypes[K])throw new Error(`Worker source with name "${K}" already registered.`);this.workerSourceTypes[K]=ne},this.self.registerRTLTextPlugin=K=>{if(o.bD.isParsed())throw new Error("RTL text plugin already registered.");o.bD.applyArabicShaping=K.applyArabicShaping,o.bD.processBidirectionalText=K.processBidirectionalText,o.bD.processStyledBidirectionalText=K.processStyledBidirectionalText}}setReferrer(X,K){this.referrer=K}setImages(X,K,ne){this.availableImages[X]=K;for(const pe in this.workerSources[X]){const ge=this.workerSources[X][pe];for(const ke in ge)ge[ke].availableImages=K}ne()}setLayers(X,K,ne){this.getLayerIndex(X).replace(K),ne()}updateLayers(X,K,ne){this.getLayerIndex(X).update(K.layers,K.removedIds),ne()}loadTile(X,K,ne){this.getWorkerSource(X,K.type,K.source).loadTile(K,ne)}loadDEMTile(X,K,ne){this.getDEMWorkerSource(X,K.source).loadTile(K,ne)}reloadTile(X,K,ne){this.getWorkerSource(X,K.type,K.source).reloadTile(K,ne)}abortTile(X,K,ne){this.getWorkerSource(X,K.type,K.source).abortTile(K,ne)}removeTile(X,K,ne){this.getWorkerSource(X,K.type,K.source).removeTile(K,ne)}removeDEMTile(X,K){this.getDEMWorkerSource(X,K.source).removeTile(K)}removeSource(X,K,ne){if(!this.workerSources[X]||!this.workerSources[X][K.type]||!this.workerSources[X][K.type][K.source])return;const pe=this.workerSources[X][K.type][K.source];delete this.workerSources[X][K.type][K.source],pe.removeSource!==void 0?pe.removeSource(K,ne):ne()}loadWorkerSource(X,K,ne){try{this.self.importScripts(K.url),ne()}catch(pe){ne(pe.toString())}}syncRTLPluginState(X,K,ne){try{o.bD.setState(K);const pe=o.bD.getPluginURL();if(o.bD.isLoaded()&&!o.bD.isParsed()&&pe!=null){this.self.importScripts(pe);const ge=o.bD.isParsed();ne(ge?void 0:new Error(`RTL Text Plugin failed to import scripts from ${pe}`),ge)}}catch(pe){ne(pe.toString())}}getAvailableImages(X){let K=this.availableImages[X];return K||(K=[]),K}getLayerIndex(X){let K=this.layerIndexes[X];return K||(K=this.layerIndexes[X]=new h),K}getWorkerSource(X,K,ne){return this.workerSources[X]||(this.workerSources[X]={}),this.workerSources[X][K]||(this.workerSources[X][K]={}),this.workerSources[X][K][ne]||(this.workerSources[X][K][ne]=new this.workerSourceTypes[K]({send:(pe,ge,ke)=>{this.actor.send(pe,ge,ke,X)}},this.getLayerIndex(X),this.getAvailableImages(X))),this.workerSources[X][K][ne]}getDEMWorkerSource(X,K){return this.demWorkerSources[X]||(this.demWorkerSources[X]={}),this.demWorkerSources[X][K]||(this.demWorkerSources[X][K]=new E),this.demWorkerSources[X][K]}}return o.i()&&(self.worker=new Lo(self)),Lo}),a(["./shared"],function(o){var h="3.6.2";class d{static testProp(u){if(!d.docStyle)return u[0];for(let p=0;p{window.removeEventListener("click",d.suppressClickInternal,!0)},0)}static mousePos(u,p){const _=u.getBoundingClientRect();return new o.P(p.clientX-_.left-u.clientLeft,p.clientY-_.top-u.clientTop)}static touchPos(u,p){const _=u.getBoundingClientRect(),w=[];for(let C=0;C{u=[],p=0,_=0,w={}},S.addThrottleControl=N=>{const j=_++;return w[j]=N,j},S.removeThrottleControl=N=>{delete w[N],R()},S.getImage=(N,j,U=!0)=>{m.supported&&(N.headers||(N.headers={}),N.headers.accept="image/webp,*/*");const J={requestParameters:N,supportImageRefresh:U,callback:j,cancelled:!1,completed:!1,cancel:()=>{J.completed||J.cancelled||(J.cancelled=!0,J.innerRequest&&(J.innerRequest.cancel(),p--),R())}};return u.push(J),R(),J};const C=N=>{const{requestParameters:j,supportImageRefresh:U,callback:J}=N;return o.e(j,{type:"image"}),(U!==!1||o.i()||o.g(j.url)||j.headers&&!Object.keys(j.headers).reduce((se,oe)=>se&&oe==="accept",!0)?o.m:B)(j,(se,oe,fe,ie)=>{L(N,J,se,oe,fe,ie)})},L=(N,j,U,J,se,oe)=>{U?j(U):J instanceof HTMLImageElement||o.a(J)?j(null,J):J&&((fe,ie)=>{typeof createImageBitmap=="function"?o.b(fe,ie):o.d(fe,ie)})(J,(fe,ie)=>{fe!=null?j(fe):ie!=null&&j(null,ie,{cacheControl:se,expires:oe})}),N.cancelled||(N.completed=!0,p--,R())},R=()=>{const N=(()=>{const j=Object.keys(w);let U=!1;if(j.length>0){for(const J of j)if(U=w[J](),U)break}return U})()?o.c.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:o.c.MAX_PARALLEL_IMAGE_REQUESTS;for(let j=p;j0;j++){const U=u.shift();if(U.cancelled){j--;continue}const J=C(U);p++,U.innerRequest=J}},B=(N,j)=>{const U=new Image,J=N.url;let se=!1;const oe=N.credentials;return oe&&oe==="include"?U.crossOrigin="use-credentials":(oe&&oe==="same-origin"||!o.s(J))&&(U.crossOrigin="anonymous"),U.fetchPriority="high",U.onload=()=>{j(null,U),U.onerror=U.onload=null},U.onerror=()=>{se||j(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.")),U.onerror=U.onload=null},U.src=J,{cancel:()=>{se=!0,U.src=""}}}}(P||(P={})),P.resetRequestQueue(),function(S){S.Glyphs="Glyphs",S.Image="Image",S.Source="Source",S.SpriteImage="SpriteImage",S.SpriteJSON="SpriteJSON",S.Style="Style",S.Tile="Tile",S.Unknown="Unknown"}(D||(D={}));class k{constructor(u){this._transformRequestFn=u}transformRequest(u,p){return this._transformRequestFn&&this._transformRequestFn(u,p)||{url:u}}normalizeSpriteURL(u,p,_){const w=function(C){const L=C.match(O);if(!L)throw new Error(`Unable to parse URL "${C}"`);return{protocol:L[1],authority:L[2],path:L[3]||"/",params:L[4]?L[4].split("&"):[]}}(u);return w.path+=`${p}${_}`,function(C){const L=C.params.length?`?${C.params.join("&")}`:"";return`${C.protocol}://${C.authority}${C.path}${L}`}(w)}setTransformRequest(u){this._transformRequestFn=u}}const O=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function F(S){var u=new o.A(3);return u[0]=S[0],u[1]=S[1],u[2]=S[2],u}var q,H=function(S,u,p){return S[0]=u[0]-p[0],S[1]=u[1]-p[1],S[2]=u[2]-p[2],S};q=new o.A(3),o.A!=Float32Array&&(q[0]=0,q[1]=0,q[2]=0);var W=function(S){var u=S[0],p=S[1];return u*u+p*p};function Z(S){const u=[];if(typeof S=="string")u.push({id:"default",url:S});else if(S&&S.length>0){const p=[];for(const{id:_,url:w}of S){const C=`${_}${w}`;p.indexOf(C)===-1&&(p.push(C),u.push({id:_,url:w}))}}return u}function ee(S,u,p,_,w){if(_)return void S(_);if(w!==Object.values(u).length||w!==Object.values(p).length)return;const C={};for(const L in u){C[L]={};const R=o.h.getImageCanvasContext(p[L]),B=u[L];for(const N in B){const{width:j,height:U,x:J,y:se,sdf:oe,pixelRatio:fe,stretchX:ie,stretchY:Ae,content:Be}=B[N];C[L][N]={data:null,pixelRatio:fe,sdf:oe,stretchX:ie,stretchY:Ae,content:Be,spriteData:{width:j,height:U,x:J,y:se,context:R}}}}S(null,C)}(function(){var S=new o.A(2);o.A!=Float32Array&&(S[0]=0,S[1]=0)})();class re{constructor(u,p,_,w){this.context=u,this.format=_,this.texture=u.gl.createTexture(),this.update(p,w)}update(u,p,_){const{width:w,height:C}=u,L=!(this.size&&this.size[0]===w&&this.size[1]===C||_),{context:R}=this,{gl:B}=R;if(this.useMipmap=!!(p&&p.useMipmap),B.bindTexture(B.TEXTURE_2D,this.texture),R.pixelStoreUnpackFlipY.set(!1),R.pixelStoreUnpack.set(1),R.pixelStoreUnpackPremultiplyAlpha.set(this.format===B.RGBA&&(!p||p.premultiply!==!1)),L)this.size=[w,C],u instanceof HTMLImageElement||u instanceof HTMLCanvasElement||u instanceof HTMLVideoElement||u instanceof ImageData||o.a(u)?B.texImage2D(B.TEXTURE_2D,0,this.format,this.format,B.UNSIGNED_BYTE,u):B.texImage2D(B.TEXTURE_2D,0,this.format,w,C,0,this.format,B.UNSIGNED_BYTE,u.data);else{const{x:N,y:j}=_||{x:0,y:0};u instanceof HTMLImageElement||u instanceof HTMLCanvasElement||u instanceof HTMLVideoElement||u instanceof ImageData||o.a(u)?B.texSubImage2D(B.TEXTURE_2D,0,N,j,B.RGBA,B.UNSIGNED_BYTE,u):B.texSubImage2D(B.TEXTURE_2D,0,N,j,w,C,B.RGBA,B.UNSIGNED_BYTE,u.data)}this.useMipmap&&this.isSizePowerOfTwo()&&B.generateMipmap(B.TEXTURE_2D)}bind(u,p,_){const{context:w}=this,{gl:C}=w;C.bindTexture(C.TEXTURE_2D,this.texture),_!==C.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(_=C.LINEAR),u!==this.filter&&(C.texParameteri(C.TEXTURE_2D,C.TEXTURE_MAG_FILTER,u),C.texParameteri(C.TEXTURE_2D,C.TEXTURE_MIN_FILTER,_||u),this.filter=u),p!==this.wrap&&(C.texParameteri(C.TEXTURE_2D,C.TEXTURE_WRAP_S,p),C.texParameteri(C.TEXTURE_2D,C.TEXTURE_WRAP_T,p),this.wrap=p)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:u}=this.context;u.deleteTexture(this.texture),this.texture=null}}function ce(S){const{userImage:u}=S;return!!(u&&u.render&&u.render())&&(S.data.replace(new Uint8Array(u.data.buffer)),!0)}class le extends o.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new o.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(u){if(this.loaded!==u&&(this.loaded=u,u)){for(const{ids:p,callback:_}of this.requestors)this._notify(p,_);this.requestors=[]}}getImage(u){const p=this.images[u];if(p&&!p.data&&p.spriteData){const _=p.spriteData;p.data=new o.R({width:_.width,height:_.height},_.context.getImageData(_.x,_.y,_.width,_.height).data),p.spriteData=null}return p}addImage(u,p){if(this.images[u])throw new Error(`Image id ${u} already exist, use updateImage instead`);this._validate(u,p)&&(this.images[u]=p)}_validate(u,p){let _=!0;const w=p.data||p.spriteData;return this._validateStretch(p.stretchX,w&&w.width)||(this.fire(new o.j(new Error(`Image "${u}" has invalid "stretchX" value`))),_=!1),this._validateStretch(p.stretchY,w&&w.height)||(this.fire(new o.j(new Error(`Image "${u}" has invalid "stretchY" value`))),_=!1),this._validateContent(p.content,p)||(this.fire(new o.j(new Error(`Image "${u}" has invalid "content" value`))),_=!1),_}_validateStretch(u,p){if(!u)return!0;let _=0;for(const w of u){if(w[0]<_||w[1]-1);B++,C[B]=R,L[B]=N,L[B+1]=ve}for(let R=0,B=0;R<_;R++){for(;L[B+1]{let R=this.entries[w];R||(R=this.entries[w]={glyphs:{},requests:{},ranges:{}});let B=R.glyphs[C];if(B!==void 0)return void L(null,{stack:w,id:C,glyph:B});if(B=this._tinySDF(R,w,C),B)return R.glyphs[C]=B,void L(null,{stack:w,id:C,glyph:B});const N=Math.floor(C/256);if(256*N>65535)return void L(new Error("glyphs > 65535 not supported"));if(R.ranges[N])return void L(null,{stack:w,id:C,glyph:B});if(!this.url)return void L(new Error("glyphsUrl is not set"));let j=R.requests[N];j||(j=R.requests[N]=[],we.loadGlyphRange(w,N,this.url,this.requestManager,(U,J)=>{if(J){for(const se in J)this._doesCharSupportLocalGlyph(+se)||(R.glyphs[+se]=J[+se]);R.ranges[N]=!0}for(const se of j)se(U,J);delete R.requests[N]})),j.push((U,J)=>{U?L(U):J&&L(null,{stack:w,id:C,glyph:J[C]||null})})},(w,C)=>{if(w)p(w);else if(C){const L={};for(const{stack:R,id:B,glyph:N}of C)(L[R]||(L[R]={}))[B]=N&&{id:N.id,bitmap:N.bitmap.clone(),metrics:N.metrics};p(null,L)}})}_doesCharSupportLocalGlyph(u){return!!this.localIdeographFontFamily&&(o.u["CJK Unified Ideographs"](u)||o.u["Hangul Syllables"](u)||o.u.Hiragana(u)||o.u.Katakana(u))}_tinySDF(u,p,_){const w=this.localIdeographFontFamily;if(!w||!this._doesCharSupportLocalGlyph(_))return;let C=u.tinySDF;if(!C){let R="400";/bold/i.test(p)?R="900":/medium/i.test(p)?R="500":/light/i.test(p)&&(R="200"),C=u.tinySDF=new we.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:w,fontWeight:R})}const L=C.draw(String.fromCharCode(_));return{id:_,bitmap:new o.q({width:L.width||60,height:L.height||60},L.data),metrics:{width:L.glyphWidth/2||24,height:L.glyphHeight/2||24,left:L.glyphLeft/2+.5||0,top:L.glyphTop/2-27.5||-8,advance:L.glyphAdvance/2||24,isDoubleResolution:!0}}}}we.loadGlyphRange=function(S,u,p,_,w){const C=256*u,L=C+255,R=_.transformRequest(p.replace("{fontstack}",S).replace("{range}",`${C}-${L}`),D.Glyphs);o.l(R,(B,N)=>{if(B)w(B);else if(N){const j={};for(const U of o.n(N))j[U.id]=U;w(null,j)}})},we.TinySDF=class{constructor({fontSize:S=24,buffer:u=3,radius:p=8,cutoff:_=.25,fontFamily:w="sans-serif",fontWeight:C="normal",fontStyle:L="normal"}={}){this.buffer=u,this.cutoff=_,this.radius=p;const R=this.size=S+4*u,B=this._createCanvas(R),N=this.ctx=B.getContext("2d",{willReadFrequently:!0});N.font=`${L} ${C} ${S}px ${w}`,N.textBaseline="alphabetic",N.textAlign="left",N.fillStyle="black",this.gridOuter=new Float64Array(R*R),this.gridInner=new Float64Array(R*R),this.f=new Float64Array(R),this.z=new Float64Array(R+1),this.v=new Uint16Array(R)}_createCanvas(S){const u=document.createElement("canvas");return u.width=u.height=S,u}draw(S){const{width:u,actualBoundingBoxAscent:p,actualBoundingBoxDescent:_,actualBoundingBoxLeft:w,actualBoundingBoxRight:C}=this.ctx.measureText(S),L=Math.ceil(p),R=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(C-w))),B=Math.min(this.size-this.buffer,L+Math.ceil(_)),N=R+2*this.buffer,j=B+2*this.buffer,U=Math.max(N*j,0),J=new Uint8ClampedArray(U),se={data:J,width:N,height:j,glyphWidth:R,glyphHeight:B,glyphTop:L,glyphLeft:0,glyphAdvance:u};if(R===0||B===0)return se;const{ctx:oe,buffer:fe,gridInner:ie,gridOuter:Ae}=this;oe.clearRect(fe,fe,R,B),oe.fillText(S,fe,fe+L);const Be=oe.getImageData(fe,fe,R,B);Ae.fill(ve,0,U),ie.fill(0,0,U);for(let ye=0;ye0?Xe*Xe:0,ie[je]=Xe<0?Xe*Xe:0}}de(Ae,0,0,N,j,N,this.f,this.v,this.z),de(ie,fe,fe,R,B,N,this.f,this.v,this.z);for(let ye=0;ye1&&(B=u[++R]);const j=Math.abs(N-B.left),U=Math.abs(N-B.right),J=Math.min(j,U);let se;const oe=C/_*(w+1);if(B.isDash){const fe=w-Math.abs(oe);se=Math.sqrt(J*J+fe*fe)}else se=w-Math.sqrt(J*J+oe*oe);this.data[L+N]=Math.max(0,Math.min(255,se+128))}}}addRegularDash(u){for(let R=u.length-1;R>=0;--R){const B=u[R],N=u[R+1];B.zeroLength?u.splice(R,1):N&&N.isDash===B.isDash&&(N.left=B.left,u.splice(R,1))}const p=u[0],_=u[u.length-1];p.isDash===_.isDash&&(p.left=_.left-this.width,_.right=p.right+this.width);const w=this.width*this.nextRow;let C=0,L=u[C];for(let R=0;R1&&(L=u[++C]);const B=Math.abs(R-L.left),N=Math.abs(R-L.right),j=Math.min(B,N);this.data[w+R]=Math.max(0,Math.min(255,(L.isDash?j:-j)+128))}}addDash(u,p){const _=p?7:0,w=2*_+1;if(this.nextRow+w>this.height)return o.w("LineAtlas out of space"),null;let C=0;for(let R=0;R{w.send(u,p,C)},_=_||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(u=!0){this.actors.forEach(p=>{p.remove()}),this.actors=[],u&&this.workerPool.release(this.id)}}function Dt(S,u,p){const _=function(w,C){if(w)return p(w);if(C){const L=o.F(o.e(C,S),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);C.vector_layers&&(L.vectorLayers=C.vector_layers,L.vectorLayerIds=L.vectorLayers.map(R=>R.id)),p(null,L)}};return S.url?o.f(u.transformRequest(S.url,D.Source),_):o.h.frame(()=>_(null,S))}class Wt{constructor(u,p){u&&(p?this.setSouthWest(u).setNorthEast(p):Array.isArray(u)&&(u.length===4?this.setSouthWest([u[0],u[1]]).setNorthEast([u[2],u[3]]):this.setSouthWest(u[0]).setNorthEast(u[1])))}setNorthEast(u){return this._ne=u instanceof o.L?new o.L(u.lng,u.lat):o.L.convert(u),this}setSouthWest(u){return this._sw=u instanceof o.L?new o.L(u.lng,u.lat):o.L.convert(u),this}extend(u){const p=this._sw,_=this._ne;let w,C;if(u instanceof o.L)w=u,C=u;else{if(!(u instanceof Wt))return Array.isArray(u)?u.length===4||u.every(Array.isArray)?this.extend(Wt.convert(u)):this.extend(o.L.convert(u)):u&&("lng"in u||"lon"in u)&&"lat"in u?this.extend(o.L.convert(u)):this;if(w=u._sw,C=u._ne,!w||!C)return this}return p||_?(p.lng=Math.min(w.lng,p.lng),p.lat=Math.min(w.lat,p.lat),_.lng=Math.max(C.lng,_.lng),_.lat=Math.max(C.lat,_.lat)):(this._sw=new o.L(w.lng,w.lat),this._ne=new o.L(C.lng,C.lat)),this}getCenter(){return new o.L((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new o.L(this.getWest(),this.getNorth())}getSouthEast(){return new o.L(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(u){const{lng:p,lat:_}=o.L.convert(u);let w=this._sw.lng<=p&&p<=this._ne.lng;return this._sw.lng>this._ne.lng&&(w=this._sw.lng>=p&&p>=this._ne.lng),this._sw.lat<=_&&_<=this._ne.lat&&w}static convert(u){return u instanceof Wt?u:u&&new Wt(u)}static fromLngLat(u,p=0){const _=360*p/40075017,w=_/Math.cos(Math.PI/180*u.lat);return new Wt(new o.L(u.lng-w,u.lat-_),new o.L(u.lng+w,u.lat+_))}}class ur{constructor(u,p,_){this.bounds=Wt.convert(this.validateBounds(u)),this.minzoom=p||0,this.maxzoom=_||24}validateBounds(u){return Array.isArray(u)&&u.length===4?[Math.max(-180,u[0]),Math.max(-90,u[1]),Math.min(180,u[2]),Math.min(90,u[3])]:[-180,-90,180,90]}contains(u){const p=Math.pow(2,u.z),_=Math.floor(o.G(this.bounds.getWest())*p),w=Math.floor(o.H(this.bounds.getNorth())*p),C=Math.ceil(o.G(this.bounds.getEast())*p),L=Math.ceil(o.H(this.bounds.getSouth())*p);return u.x>=_&&u.x=w&&u.y{this._loaded=!1,this.fire(new o.k("dataloading",{dataType:"source"})),this._tileJSONRequest=Dt(this._options,this.map._requestManager,(C,L)=>{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),C?this.fire(new o.j(C)):L&&(o.e(this,L),L.bounds&&(this.tileBounds=new ur(L.bounds,this.minzoom,this.maxzoom)),this.fire(new o.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new o.k("data",{dataType:"source",sourceDataType:"content"})))})},this.serialize=()=>o.e({},this._options),this.id=u,this.dispatcher=_,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,o.e(this,o.F(p,["url","scheme","tileSize","promoteId"])),this._options=o.e({type:"vector"},p),this._collectResourceTiming=p.collectResourceTiming,this.tileSize!==512)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(w)}loaded(){return this._loaded}hasTile(u){return!this.tileBounds||this.tileBounds.contains(u.canonical)}onAdd(u){this.map=u,this.load()}setSourceProperty(u){this._tileJSONRequest&&this._tileJSONRequest.cancel(),u(),this.load()}setTiles(u){return this.setSourceProperty(()=>{this._options.tiles=u}),this}setUrl(u){return this.setSourceProperty(()=>{this.url=u,this._options.url=u}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}loadTile(u,p){const _=u.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),w={request:this.map._requestManager.transformRequest(_,D.Tile),uid:u.uid,tileID:u.tileID,zoom:u.tileID.overscaledZ,tileSize:this.tileSize*u.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function C(L,R){return delete u.request,u.aborted?p(null):L&&L.status!==404?p(L):(R&&R.resourceTiming&&(u.resourceTiming=R.resourceTiming),this.map._refreshExpiredTiles&&R&&u.setExpiryData(R),u.loadVectorData(R,this.map.painter),p(null),void(u.reloadCallback&&(this.loadTile(u,u.reloadCallback),u.reloadCallback=null)))}w.request.collectResourceTiming=this._collectResourceTiming,u.actor&&u.state!=="expired"?u.state==="loading"?u.reloadCallback=p:u.request=u.actor.send("reloadTile",w,C.bind(this)):(u.actor=this.dispatcher.getActor(),u.request=u.actor.send("loadTile",w,C.bind(this)))}abortTile(u){u.request&&(u.request.cancel(),delete u.request),u.actor&&u.actor.send("abortTile",{uid:u.uid,type:this.type,source:this.id},void 0)}unloadTile(u){u.unloadVectorData(),u.actor&&u.actor.send("removeTile",{uid:u.uid,type:this.type,source:this.id},void 0)}hasTransition(){return!1}}class mr extends o.E{constructor(u,p,_,w){super(),this.id=u,this.dispatcher=_,this.setEventedParent(w),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=o.e({type:"raster"},p),o.e(this,o.F(p,["url","scheme","tileSize"]))}load(){this._loaded=!1,this.fire(new o.k("dataloading",{dataType:"source"})),this._tileJSONRequest=Dt(this._options,this.map._requestManager,(u,p)=>{this._tileJSONRequest=null,this._loaded=!0,u?this.fire(new o.j(u)):p&&(o.e(this,p),p.bounds&&(this.tileBounds=new ur(p.bounds,this.minzoom,this.maxzoom)),this.fire(new o.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new o.k("data",{dataType:"source",sourceDataType:"content"})))})}loaded(){return this._loaded}onAdd(u){this.map=u,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}setSourceProperty(u){this._tileJSONRequest&&this._tileJSONRequest.cancel(),u(),this.load()}setTiles(u){return this.setSourceProperty(()=>{this._options.tiles=u}),this}serialize(){return o.e({},this._options)}hasTile(u){return!this.tileBounds||this.tileBounds.contains(u.canonical)}loadTile(u,p){const _=u.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);u.request=P.getImage(this.map._requestManager.transformRequest(_,D.Tile),(w,C,L)=>{if(delete u.request,u.aborted)u.state="unloaded",p(null);else if(w)u.state="errored",p(w);else if(C){this.map._refreshExpiredTiles&&L&&u.setExpiryData(L);const R=this.map.painter.context,B=R.gl;u.texture=this.map.painter.getTileTexture(C.width),u.texture?u.texture.update(C,{useMipmap:!0}):(u.texture=new re(R,C,B.RGBA,{useMipmap:!0}),u.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE,B.LINEAR_MIPMAP_NEAREST),R.extTextureFilterAnisotropic&&B.texParameterf(B.TEXTURE_2D,R.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,R.extTextureFilterAnisotropicMax)),u.state="loaded",p(null)}},this.map._refreshExpiredTiles)}abortTile(u,p){u.request&&(u.request.cancel(),delete u.request),p()}unloadTile(u,p){u.texture&&this.map.painter.saveTileTexture(u.texture),p()}hasTransition(){return!1}}class qe extends mr{constructor(u,p,_,w){super(u,p,_,w),this.type="raster-dem",this.maxzoom=22,this._options=o.e({type:"raster-dem"},p),this.encoding=p.encoding||"mapbox",this.redFactor=p.redFactor,this.greenFactor=p.greenFactor,this.blueFactor=p.blueFactor,this.baseShift=p.baseShift}loadTile(u,p){const _=u.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),w=this.map._requestManager.transformRequest(_,D.Tile);function C(L,R){L&&(u.state="errored",p(L)),R&&(u.dem=R,u.needsHillshadePrepare=!0,u.needsTerrainPrepare=!0,u.state="loaded",p(null))}u.neighboringTiles=this._getNeighboringTiles(u.tileID),u.request=P.getImage(w,(L,R,B)=>o._(this,void 0,void 0,function*(){if(delete u.request,u.aborted)u.state="unloaded",p(null);else if(L)u.state="errored",p(L);else if(R){this.map._refreshExpiredTiles&&u.setExpiryData(B);const N=o.a(R)&&o.J()?R:yield function(U){return o._(this,void 0,void 0,function*(){if(typeof VideoFrame<"u"&&o.K()){const J=U.width+2,se=U.height+2;try{return new o.R({width:J,height:se},yield o.M(U,-1,-1,J,se))}catch{}}return o.h.getImageData(U,1)})}(R),j={uid:u.uid,coord:u.tileID,source:this.id,rawImageData:N,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};u.actor&&u.state!=="expired"||(u.actor=this.dispatcher.getActor(),u.actor.send("loadDEMTile",j,C))}}),this.map._refreshExpiredTiles)}_getNeighboringTiles(u){const p=u.canonical,_=Math.pow(2,p.z),w=(p.x-1+_)%_,C=p.x===0?u.wrap-1:u.wrap,L=(p.x+1+_)%_,R=p.x+1===_?u.wrap+1:u.wrap,B={};return B[new o.O(u.overscaledZ,C,p.z,w,p.y).key]={backfilled:!1},B[new o.O(u.overscaledZ,R,p.z,L,p.y).key]={backfilled:!1},p.y>0&&(B[new o.O(u.overscaledZ,C,p.z,w,p.y-1).key]={backfilled:!1},B[new o.O(u.overscaledZ,u.wrap,p.z,p.x,p.y-1).key]={backfilled:!1},B[new o.O(u.overscaledZ,R,p.z,L,p.y-1).key]={backfilled:!1}),p.y+1<_&&(B[new o.O(u.overscaledZ,C,p.z,w,p.y+1).key]={backfilled:!1},B[new o.O(u.overscaledZ,u.wrap,p.z,p.x,p.y+1).key]={backfilled:!1},B[new o.O(u.overscaledZ,R,p.z,L,p.y+1).key]={backfilled:!1}),B}unloadTile(u){u.demTexture&&this.map.painter.saveTileTexture(u.demTexture),u.fbo&&(u.fbo.destroy(),delete u.fbo),u.dem&&delete u.dem,delete u.neighboringTiles,u.state="unloaded",u.actor&&u.actor.send("removeDEMTile",{uid:u.uid,source:this.id})}}class lt extends o.E{constructor(u,p,_,w){super(),this.load=()=>{this._updateWorkerData()},this.serialize=()=>o.e({},this._options,{type:this.type,data:this._data}),this.id=u,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=_.getActor(),this.setEventedParent(w),this._data=p.data,this._options=o.e({},p),this._collectResourceTiming=p.collectResourceTiming,p.maxzoom!==void 0&&(this.maxzoom=p.maxzoom),p.type&&(this.type=p.type),p.attribution&&(this.attribution=p.attribution),this.promoteId=p.promoteId;const C=o.N/this.tileSize;this.workerOptions=o.e({source:this.id,cluster:p.cluster||!1,geojsonVtOptions:{buffer:(p.buffer!==void 0?p.buffer:128)*C,tolerance:(p.tolerance!==void 0?p.tolerance:.375)*C,extent:o.N,maxZoom:this.maxzoom,lineMetrics:p.lineMetrics||!1,generateId:p.generateId||!1},superclusterOptions:{maxZoom:p.clusterMaxZoom!==void 0?p.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,p.clusterMinPoints||2),extent:o.N,radius:(p.clusterRadius||50)*C,log:!1,generateId:p.generateId||!1},clusterProperties:p.clusterProperties,filter:p.filter},p.workerOptions),typeof this.promoteId=="string"&&(this.workerOptions.promoteId=this.promoteId)}onAdd(u){this.map=u,this.load()}setData(u){return this._data=u,this._updateWorkerData(),this}updateData(u){return this._updateWorkerData(u),this}setClusterOptions(u){return this.workerOptions.cluster=u.cluster,u&&(u.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=u.clusterRadius),u.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=u.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(u,p){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:u,source:this.id},p),this}getClusterChildren(u,p){return this.actor.send("geojson.getClusterChildren",{clusterId:u,source:this.id},p),this}getClusterLeaves(u,p,_,w){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:u,limit:p,offset:_},w),this}_updateWorkerData(u){const p=o.e({},this.workerOptions);u?p.dataDiff=u:typeof this._data=="string"?(p.request=this.map._requestManager.transformRequest(o.h.resolveURL(this._data),D.Source),p.request.collectResourceTiming=this._collectResourceTiming):p.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new o.k("dataloading",{dataType:"source"})),this.actor.send(`${this.type}.loadData`,p,(_,w)=>{if(this._pendingLoads--,this._removed||w&&w.abandoned)return void this.fire(new o.k("dataabort",{dataType:"source"}));let C=null;if(w&&w.resourceTiming&&w.resourceTiming[this.id]&&(C=w.resourceTiming[this.id].slice(0)),_)return void this.fire(new o.j(_));const L={dataType:"source"};this._collectResourceTiming&&C&&C.length>0&&o.e(L,{resourceTiming:C}),this.fire(new o.k("data",Object.assign(Object.assign({},L),{sourceDataType:"metadata"}))),this.fire(new o.k("data",Object.assign(Object.assign({},L),{sourceDataType:"content"})))})}loaded(){return this._pendingLoads===0}loadTile(u,p){const _=u.actor?"reloadTile":"loadTile";u.actor=this.actor;const w={type:this.type,uid:u.uid,tileID:u.tileID,zoom:u.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};u.request=this.actor.send(_,w,(C,L)=>(delete u.request,u.unloadVectorData(),u.aborted?p(null):C?p(C):(u.loadVectorData(L,this.map.painter,_==="reloadTile"),p(null))))}abortTile(u){u.request&&(u.request.cancel(),delete u.request),u.aborted=!0}unloadTile(u){u.unloadVectorData(),this.actor.send("removeTile",{uid:u.uid,type:this.type,source:this.id})}onRemove(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})}hasTransition(){return!1}}var et=o.Q([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class dt extends o.E{constructor(u,p,_,w){super(),this.load=(C,L)=>{this._loaded=!1,this.fire(new o.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=P.getImage(this.map._requestManager.transformRequest(this.url,D.Image),(R,B)=>{this._request=null,this._loaded=!0,R?this.fire(new o.j(R)):B&&(this.image=B,C&&(this.coordinates=C),L&&L(),this._finishLoading())})},this.prepare=()=>{if(Object.keys(this.tiles).length===0||!this.image)return;const C=this.map.painter.context,L=C.gl;this.boundsBuffer||(this.boundsBuffer=C.createVertexBuffer(this._boundsArray,et.members)),this.boundsSegments||(this.boundsSegments=o.S.simpleSegment(0,0,4,2)),this.texture||(this.texture=new re(C,this.image,L.RGBA),this.texture.bind(L.LINEAR,L.CLAMP_TO_EDGE));let R=!1;for(const B in this.tiles){const N=this.tiles[B];N.state!=="loaded"&&(N.state="loaded",N.texture=this.texture,R=!0)}R&&this.fire(new o.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))},this.serialize=()=>({type:"image",url:this.options.url,coordinates:this.coordinates}),this.id=u,this.dispatcher=_,this.coordinates=p.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(w),this.options=p}loaded(){return this._loaded}updateImage(u){return u.url?(this._request&&(this._request.cancel(),this._request=null),this.options.url=u.url,this.load(u.coordinates,()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new o.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(u){this.map=u,this.load()}onRemove(){this._request&&(this._request.cancel(),this._request=null)}setCoordinates(u){this.coordinates=u;const p=u.map(o.U.fromLngLat);this.tileID=function(w){let C=1/0,L=1/0,R=-1/0,B=-1/0;for(const J of w)C=Math.min(C,J.x),L=Math.min(L,J.y),R=Math.max(R,J.x),B=Math.max(B,J.y);const N=Math.max(R-C,B-L),j=Math.max(0,Math.floor(-Math.log(N)/Math.LN2)),U=Math.pow(2,j);return new o.W(j,Math.floor((C+R)/2*U),Math.floor((L+B)/2*U))}(p),this.minzoom=this.maxzoom=this.tileID.z;const _=p.map(w=>this.tileID.getTilePoint(w)._round());return this._boundsArray=new o.V,this._boundsArray.emplaceBack(_[0].x,_[0].y,0,0),this._boundsArray.emplaceBack(_[1].x,_[1].y,o.N,0),this._boundsArray.emplaceBack(_[3].x,_[3].y,0,o.N),this._boundsArray.emplaceBack(_[2].x,_[2].y,o.N,o.N),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new o.k("data",{dataType:"source",sourceDataType:"content"})),this}loadTile(u,p){this.tileID&&this.tileID.equals(u.tileID.canonical)?(this.tiles[String(u.tileID.wrap)]=u,u.buckets={},p(null)):(u.state="errored",p(null))}hasTransition(){return!1}}class vt extends dt{constructor(u,p,_,w){super(u,p,_,w),this.load=()=>{this._loaded=!1;const C=this.options;this.urls=[];for(const L of C.urls)this.urls.push(this.map._requestManager.transformRequest(L,D.Source).url);o.X(this.urls,(L,R)=>{this._loaded=!0,L?this.fire(new o.j(L)):R&&(this.video=R,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading())})},this.prepare=()=>{if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;const C=this.map.painter.context,L=C.gl;this.boundsBuffer||(this.boundsBuffer=C.createVertexBuffer(this._boundsArray,et.members)),this.boundsSegments||(this.boundsSegments=o.S.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(L.LINEAR,L.CLAMP_TO_EDGE),L.texSubImage2D(L.TEXTURE_2D,0,0,0,L.RGBA,L.UNSIGNED_BYTE,this.video)):(this.texture=new re(C,this.video,L.RGBA),this.texture.bind(L.LINEAR,L.CLAMP_TO_EDGE));let R=!1;for(const B in this.tiles){const N=this.tiles[B];N.state!=="loaded"&&(N.state="loaded",N.texture=this.texture,R=!0)}R&&this.fire(new o.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))},this.serialize=()=>({type:"video",urls:this.urls,coordinates:this.coordinates}),this.roundZoom=!0,this.type="video",this.options=p}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(u){if(this.video){const p=this.video.seekable;up.end(0)?this.fire(new o.j(new o.Y(`sources.${this.id}`,null,`Playback for this video can be set only between the ${p.start(0)} and ${p.end(0)}-second mark.`))):this.video.currentTime=u}}getVideo(){return this.video}onAdd(u){this.map||(this.map=u,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}hasTransition(){return this.video&&!this.video.paused}}class ue extends dt{constructor(u,p,_,w){super(u,p,_,w),this.load=()=>{this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new o.j(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},this.prepare=()=>{let C=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,C=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,C=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;const L=this.map.painter.context,R=L.gl;this.boundsBuffer||(this.boundsBuffer=L.createVertexBuffer(this._boundsArray,et.members)),this.boundsSegments||(this.boundsSegments=o.S.simpleSegment(0,0,4,2)),this.texture?(C||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new re(L,this.canvas,R.RGBA,{premultiply:!0});let B=!1;for(const N in this.tiles){const j=this.tiles[N];j.state!=="loaded"&&(j.state="loaded",j.texture=this.texture,B=!0)}B&&this.fire(new o.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))},this.serialize=()=>({type:"canvas",coordinates:this.coordinates}),p.coordinates?Array.isArray(p.coordinates)&&p.coordinates.length===4&&!p.coordinates.some(C=>!Array.isArray(C)||C.length!==2||C.some(L=>typeof L!="number"))||this.fire(new o.j(new o.Y(`sources.${u}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new o.j(new o.Y(`sources.${u}`,null,'missing required property "coordinates"'))),p.animate&&typeof p.animate!="boolean"&&this.fire(new o.j(new o.Y(`sources.${u}`,null,'optional "animate" property must be a boolean value'))),p.canvas?typeof p.canvas=="string"||p.canvas instanceof HTMLCanvasElement||this.fire(new o.j(new o.Y(`sources.${u}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new o.j(new o.Y(`sources.${u}`,null,'missing required property "canvas"'))),this.options=p,this.animate=p.animate===void 0||p.animate}getCanvas(){return this.canvas}onAdd(u){this.map=u,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const u of[this.canvas.width,this.canvas.height])if(isNaN(u)||u<=0)return!0;return!1}}const xe={},Le=S=>{switch(S){case"geojson":return lt;case"image":return dt;case"raster":return mr;case"raster-dem":return qe;case"vector":return Ar;case"video":return vt;case"canvas":return ue}return xe[S]};function Ge(S,u){const p=o.Z();return o.$(p,p,[1,1,0]),o.a0(p,p,[.5*S.width,.5*S.height,1]),o.a1(p,p,S.calculatePosMatrix(u.toUnwrapped()))}function Ye(S,u,p,_,w,C){const L=function(U,J,se){if(U)for(const oe of U){const fe=J[oe];if(fe&&fe.source===se&&fe.type==="fill-extrusion")return!0}else for(const oe in J){const fe=J[oe];if(fe.source===se&&fe.type==="fill-extrusion")return!0}return!1}(w&&w.layers,u,S.id),R=C.maxPitchScaleFactor(),B=S.tilesIn(_,R,L);B.sort(tt);const N=[];for(const U of B)N.push({wrappedTileID:U.tileID.wrapped().key,queryResults:U.tile.queryRenderedFeatures(u,p,S._state,U.queryGeometry,U.cameraQueryGeometry,U.scale,w,C,R,Ge(S.transform,U.tileID))});const j=function(U){const J={},se={};for(const oe of U){const fe=oe.queryResults,ie=oe.wrappedTileID,Ae=se[ie]=se[ie]||{};for(const Be in fe){const ye=fe[Be],Me=Ae[Be]=Ae[Be]||{},Ne=J[Be]=J[Be]||[];for(const je of ye)Me[je.featureIndex]||(Me[je.featureIndex]=!0,Ne.push(je))}}return J}(N);for(const U in j)j[U].forEach(J=>{const se=J.feature,oe=S.getFeatureState(se.layer["source-layer"],se.id);se.source=se.layer.source,se.layer["source-layer"]&&(se.sourceLayer=se.layer["source-layer"]),se.state=oe});return j}function tt(S,u){const p=S.tileID,_=u.tileID;return p.overscaledZ-_.overscaledZ||p.canonical.y-_.canonical.y||p.wrap-_.wrap||p.canonical.x-_.canonical.x}class yt{constructor(u,p){this.timeAdded=0,this.fadeEndTime=0,this.tileID=u,this.uid=o.a2(),this.uses=0,this.tileSize=p,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(u){const p=u+this.timeAdded;pC.getLayer(N)).filter(Boolean);if(B.length!==0){R.layers=B,R.stateDependentLayerIds&&(R.stateDependentLayers=R.stateDependentLayerIds.map(N=>B.filter(j=>j.id===N)[0]));for(const N of B)L[N.id]=R}}return L}(u.buckets,p.style),this.hasSymbolBuckets=!1;for(const w in this.buckets){const C=this.buckets[w];if(C instanceof o.a4){if(this.hasSymbolBuckets=!0,!_)break;C.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const w in this.buckets){const C=this.buckets[w];if(C instanceof o.a4&&C.hasRTLText){this.hasRTLText=!0,o.a5();break}}this.queryPadding=0;for(const w in this.buckets){const C=this.buckets[w];this.queryPadding=Math.max(this.queryPadding,p.style.getLayer(w).queryRadius(C))}u.imageAtlas&&(this.imageAtlas=u.imageAtlas),u.glyphAtlasImage&&(this.glyphAtlasImage=u.glyphAtlasImage)}else this.collisionBoxArray=new o.a3}unloadVectorData(){for(const u in this.buckets)this.buckets[u].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(u){return this.buckets[u.id]}upload(u){for(const _ in this.buckets){const w=this.buckets[_];w.uploadPending()&&w.upload(u)}const p=u.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new re(u,this.imageAtlas.image,p.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new re(u,this.glyphAtlasImage,p.ALPHA),this.glyphAtlasImage=null)}prepare(u){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(u,this.imageAtlasTexture)}queryRenderedFeatures(u,p,_,w,C,L,R,B,N,j){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:w,cameraQueryGeometry:C,scale:L,tileSize:this.tileSize,pixelPosMatrix:j,transform:B,params:R,queryPadding:this.queryPadding*N},u,p,_):{}}querySourceFeatures(u,p){const _=this.latestFeatureIndex;if(!_||!_.rawTileData)return;const w=_.loadVTLayers(),C=p&&p.sourceLayer?p.sourceLayer:"",L=w._geojsonTileLayer||w[C];if(!L)return;const R=o.a6(p&&p.filter),{z:B,x:N,y:j}=this.tileID.canonical,U={z:B,x:N,y:j};for(let J=0;J_)w=!1;else if(p)if(this.expirationTime{this.remove(u,C)},_)),this.data[w].push(C),this.order.push(w),this.order.length>this.max){const L=this._getAndRemoveByKey(this.order[0]);L&&this.onRemove(L)}return this}has(u){return u.wrapped().key in this.data}getAndRemove(u){return this.has(u)?this._getAndRemoveByKey(u.wrapped().key):null}_getAndRemoveByKey(u){const p=this.data[u].shift();return p.timeout&&clearTimeout(p.timeout),this.data[u].length===0&&delete this.data[u],this.order.splice(this.order.indexOf(u),1),p.value}getByKey(u){const p=this.data[u];return p?p[0].value:null}get(u){return this.has(u)?this.data[u.wrapped().key][0].value:null}remove(u,p){if(!this.has(u))return this;const _=u.wrapped().key,w=p===void 0?0:this.data[_].indexOf(p),C=this.data[_][w];return this.data[_].splice(w,1),C.timeout&&clearTimeout(C.timeout),this.data[_].length===0&&delete this.data[_],this.onRemove(C.value),this.order.splice(this.order.indexOf(_),1),this}setMaxSize(u){for(this.max=u;this.order.length>this.max;){const p=this._getAndRemoveByKey(this.order[0]);p&&this.onRemove(p)}return this}filter(u){const p=[];for(const _ in this.data)for(const w of this.data[_])u(w.value)||p.push(w);for(const _ of p)this.remove(_.value.tileID,_)}}class Ce{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(u,p,_){const w=String(p);if(this.stateChanges[u]=this.stateChanges[u]||{},this.stateChanges[u][w]=this.stateChanges[u][w]||{},o.e(this.stateChanges[u][w],_),this.deletedStates[u]===null){this.deletedStates[u]={};for(const C in this.state[u])C!==w&&(this.deletedStates[u][C]=null)}else if(this.deletedStates[u]&&this.deletedStates[u][w]===null){this.deletedStates[u][w]={};for(const C in this.state[u][w])_[C]||(this.deletedStates[u][w][C]=null)}else for(const C in _)this.deletedStates[u]&&this.deletedStates[u][w]&&this.deletedStates[u][w][C]===null&&delete this.deletedStates[u][w][C]}removeFeatureState(u,p,_){if(this.deletedStates[u]===null)return;const w=String(p);if(this.deletedStates[u]=this.deletedStates[u]||{},_&&p!==void 0)this.deletedStates[u][w]!==null&&(this.deletedStates[u][w]=this.deletedStates[u][w]||{},this.deletedStates[u][w][_]=null);else if(p!==void 0)if(this.stateChanges[u]&&this.stateChanges[u][w])for(_ in this.deletedStates[u][w]={},this.stateChanges[u][w])this.deletedStates[u][w][_]=null;else this.deletedStates[u][w]=null;else this.deletedStates[u]=null}getState(u,p){const _=String(p),w=o.e({},(this.state[u]||{})[_],(this.stateChanges[u]||{})[_]);if(this.deletedStates[u]===null)return{};if(this.deletedStates[u]){const C=this.deletedStates[u][p];if(C===null)return{};for(const L in C)delete w[L]}return w}initializeTileState(u,p){u.setFeatureState(this.state,p)}coalesceChanges(u,p){const _={};for(const w in this.stateChanges){this.state[w]=this.state[w]||{};const C={};for(const L in this.stateChanges[w])this.state[w][L]||(this.state[w][L]={}),o.e(this.state[w][L],this.stateChanges[w][L]),C[L]=this.state[w][L];_[w]=C}for(const w in this.deletedStates){this.state[w]=this.state[w]||{};const C={};if(this.deletedStates[w]===null)for(const L in this.state[w])C[L]={},this.state[w][L]={};else for(const L in this.deletedStates[w]){if(this.deletedStates[w][L]===null)this.state[w][L]={};else for(const R of Object.keys(this.deletedStates[w][L]))delete this.state[w][L][R];C[L]=this.state[w][L]}_[w]=_[w]||{},o.e(_[w],C)}if(this.stateChanges={},this.deletedStates={},Object.keys(_).length!==0)for(const w in u)u[w].setFeatureState(_,p)}}class rt extends o.E{constructor(u,p,_){super(),this.id=u,this.dispatcher=_,this.on("data",w=>{w.dataType==="source"&&w.sourceDataType==="metadata"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&w.dataType==="source"&&w.sourceDataType==="content"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((w,C,L,R)=>{const B=new(Le(C.type))(w,C,L,R);if(B.id!==w)throw new Error(`Expected Source id to be ${w} instead of ${B.id}`);return B})(u,p,_,this),this._tiles={},this._cache=new ot(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Ce,this._didEmitContent=!1,this._updated=!1}onAdd(u){this.map=u,this._maxTileCacheSize=u?u._maxTileCacheSize:null,this._maxTileCacheZoomLevels=u?u._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(u)}onRemove(u){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(u)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(const u in this._tiles){const p=this._tiles[u];if(p.state!=="loaded"&&p.state!=="errored")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const u=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,u&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(u,p){return this._source.loadTile(u,p)}_unloadTile(u){if(this._source.unloadTile)return this._source.unloadTile(u,()=>{})}_abortTile(u){this._source.abortTile&&this._source.abortTile(u,()=>{}),this._source.fire(new o.k("dataabort",{tile:u,coord:u.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(u){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const p in this._tiles){const _=this._tiles[p];_.upload(u),_.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(u=>u.tileID).sort(Ft).map(u=>u.key)}getRenderableIds(u){const p=[];for(const _ in this._tiles)this._isIdRenderable(_,u)&&p.push(this._tiles[_]);return u?p.sort((_,w)=>{const C=_.tileID,L=w.tileID,R=new o.P(C.canonical.x,C.canonical.y)._rotate(this.transform.angle),B=new o.P(L.canonical.x,L.canonical.y)._rotate(this.transform.angle);return C.overscaledZ-L.overscaledZ||B.y-R.y||B.x-R.x}).map(_=>_.tileID.key):p.map(_=>_.tileID).sort(Ft).map(_=>_.key)}hasRenderableParent(u){const p=this.findLoadedParent(u,0);return!!p&&this._isIdRenderable(p.tileID.key)}_isIdRenderable(u,p){return this._tiles[u]&&this._tiles[u].hasData()&&!this._coveredTiles[u]&&(p||!this._tiles[u].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const u in this._tiles)this._tiles[u].state!=="errored"&&this._reloadTile(u,"reloading")}}_reloadTile(u,p){const _=this._tiles[u];_&&(_.state!=="loading"&&(_.state=p),this._loadTile(_,this._tileLoaded.bind(this,_,u,p)))}_tileLoaded(u,p,_,w){if(w)return u.state="errored",void(w.status!==404?this._source.fire(new o.j(w,{tile:u})):this.update(this.transform,this.terrain));u.timeAdded=o.h.now(),_==="expired"&&(u.refreshedUponExpiration=!0),this._setTileReloadTimer(p,u),this.getSource().type==="raster-dem"&&u.dem&&this._backfillDEM(u),this._state.initializeTileState(u,this.map?this.map.painter:null),u.aborted||this._source.fire(new o.k("data",{dataType:"source",tile:u,coord:u.tileID}))}_backfillDEM(u){const p=this.getRenderableIds();for(let w=0;w1||(Math.abs(L)>1&&(Math.abs(L+B)===1?L+=B:Math.abs(L-B)===1&&(L-=B)),C.dem&&w.dem&&(w.dem.backfillBorder(C.dem,L,R),w.neighboringTiles&&w.neighboringTiles[N]&&(w.neighboringTiles[N].backfilled=!0)))}}getTile(u){return this.getTileByID(u.key)}getTileByID(u){return this._tiles[u]}_retainLoadedChildren(u,p,_,w){for(const C in this._tiles){let L=this._tiles[C];if(w[C]||!L.hasData()||L.tileID.overscaledZ<=p||L.tileID.overscaledZ>_)continue;let R=L.tileID;for(;L&&L.tileID.overscaledZ>p+1;){const N=L.tileID.scaledTo(L.tileID.overscaledZ-1);L=this._tiles[N.key],L&&L.hasData()&&(R=N)}let B=R;for(;B.overscaledZ>p;)if(B=B.scaledTo(B.overscaledZ-1),u[B.key]){w[R.key]=R;break}}}findLoadedParent(u,p){if(u.key in this._loadedParentTiles){const _=this._loadedParentTiles[u.key];return _&&_.tileID.overscaledZ>=p?_:null}for(let _=u.overscaledZ-1;_>=p;_--){const w=u.scaledTo(_),C=this._getLoadedTile(w);if(C)return C}}_getLoadedTile(u){const p=this._tiles[u.key];return p&&p.hasData()?p:this._cache.getByKey(u.wrapped().key)}updateCacheSize(u){const p=Math.ceil(u.width/this._source.tileSize)+1,_=Math.ceil(u.height/this._source.tileSize)+1,w=Math.floor(p*_*(this._maxTileCacheZoomLevels===null?o.c.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),C=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,w):w;this._cache.setMaxSize(C)}handleWrapJump(u){const p=Math.round((u-(this._prevLng===void 0?u:this._prevLng))/360);if(this._prevLng=u,p){const _={};for(const w in this._tiles){const C=this._tiles[w];C.tileID=C.tileID.unwrapTo(C.tileID.wrap+p),_[C.tileID.key]=C}this._tiles=_;for(const w in this._timers)clearTimeout(this._timers[w]),delete this._timers[w];for(const w in this._tiles)this._setTileReloadTimer(w,this._tiles[w])}}update(u,p){if(this.transform=u,this.terrain=p,!this._sourceLoaded||this._paused)return;let _;this.updateCacheSize(u),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?_=u.getVisibleUnwrappedCoordinates(this._source.tileID).map(j=>new o.O(j.canonical.z,j.wrap,j.canonical.z,j.canonical.x,j.canonical.y)):(_=u.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:p}),this._source.hasTile&&(_=_.filter(j=>this._source.hasTile(j)))):_=[];const w=u.coveringZoomLevel(this._source),C=Math.max(w-rt.maxOverzooming,this._source.minzoom),L=Math.max(w+rt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const j={};for(const U of _)if(U.canonical.z>this._source.minzoom){const J=U.scaledTo(U.canonical.z-1);j[J.key]=J;const se=U.scaledTo(Math.max(this._source.minzoom,Math.min(U.canonical.z,5)));j[se.key]=se}_=_.concat(Object.values(j))}const R=_.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,R&&this.fire(new o.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));const B=this._updateRetainedTiles(_,w);if(mt(this._source.type)){const j={},U={},J=Object.keys(B),se=o.h.now();for(const oe of J){const fe=B[oe],ie=this._tiles[oe];if(!ie||ie.fadeEndTime!==0&&ie.fadeEndTime<=se)continue;const Ae=this.findLoadedParent(fe,C);Ae&&(this._addTile(Ae.tileID),j[Ae.tileID.key]=Ae.tileID),U[oe]=fe}this._retainLoadedChildren(U,w,L,B);for(const oe in j)B[oe]||(this._coveredTiles[oe]=!0,B[oe]=j[oe]);if(p){const oe={},fe={};for(const ie of _)this._tiles[ie.key].hasData()?oe[ie.key]=ie:fe[ie.key]=ie;for(const ie in fe){const Ae=fe[ie].children(this._source.maxzoom);this._tiles[Ae[0].key]&&this._tiles[Ae[1].key]&&this._tiles[Ae[2].key]&&this._tiles[Ae[3].key]&&(oe[Ae[0].key]=B[Ae[0].key]=Ae[0],oe[Ae[1].key]=B[Ae[1].key]=Ae[1],oe[Ae[2].key]=B[Ae[2].key]=Ae[2],oe[Ae[3].key]=B[Ae[3].key]=Ae[3],delete fe[ie])}for(const ie in fe){const Ae=this.findLoadedParent(fe[ie],this._source.minzoom);if(Ae){oe[Ae.tileID.key]=B[Ae.tileID.key]=Ae.tileID;for(const Be in oe)oe[Be].isChildOf(Ae.tileID)&&delete oe[Be]}}for(const ie in this._tiles)oe[ie]||(this._coveredTiles[ie]=!0)}}for(const j in B)this._tiles[j].clearFadeHold();const N=o.ab(this._tiles,B);for(const j of N){const U=this._tiles[j];U.hasSymbolBuckets&&!U.holdingForFade()?U.setHoldDuration(this.map._fadeDuration):U.hasSymbolBuckets&&!U.symbolFadeFinished()||this._removeTile(j)}this._updateLoadedParentTileCache()}releaseSymbolFadeTiles(){for(const u in this._tiles)this._tiles[u].holdingForFade()&&this._removeTile(u)}_updateRetainedTiles(u,p){const _={},w={},C=Math.max(p-rt.maxOverzooming,this._source.minzoom),L=Math.max(p+rt.maxUnderzooming,this._source.minzoom),R={};for(const B of u){const N=this._addTile(B);_[B.key]=B,N.hasData()||pthis._source.maxzoom){const U=B.children(this._source.maxzoom)[0],J=this.getTile(U);if(J&&J.hasData()){_[U.key]=U;continue}}else{const U=B.children(this._source.maxzoom);if(_[U[0].key]&&_[U[1].key]&&_[U[2].key]&&_[U[3].key])continue}let j=N.wasRequested();for(let U=B.overscaledZ-1;U>=C;--U){const J=B.scaledTo(U);if(w[J.key])break;if(w[J.key]=!0,N=this.getTile(J),!N&&j&&(N=this._addTile(J)),N){const se=N.hasData();if((j||se)&&(_[J.key]=J),j=N.wasRequested(),se)break}}}return _}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const u in this._tiles){const p=[];let _,w=this._tiles[u].tileID;for(;w.overscaledZ>0;){if(w.key in this._loadedParentTiles){_=this._loadedParentTiles[w.key];break}p.push(w.key);const C=w.scaledTo(w.overscaledZ-1);if(_=this._getLoadedTile(C),_)break;w=C}for(const C of p)this._loadedParentTiles[C]=_}}_addTile(u){let p=this._tiles[u.key];if(p)return p;p=this._cache.getAndRemove(u),p&&(this._setTileReloadTimer(u.key,p),p.tileID=u,this._state.initializeTileState(p,this.map?this.map.painter:null),this._cacheTimers[u.key]&&(clearTimeout(this._cacheTimers[u.key]),delete this._cacheTimers[u.key],this._setTileReloadTimer(u.key,p)));const _=p;return p||(p=new yt(u,this._source.tileSize*u.overscaleFactor()),this._loadTile(p,this._tileLoaded.bind(this,p,u.key,p.state))),p.uses++,this._tiles[u.key]=p,_||this._source.fire(new o.k("dataloading",{tile:p,coord:p.tileID,dataType:"source"})),p}_setTileReloadTimer(u,p){u in this._timers&&(clearTimeout(this._timers[u]),delete this._timers[u]);const _=p.getExpiryTimeout();_&&(this._timers[u]=setTimeout(()=>{this._reloadTile(u,"expired"),delete this._timers[u]},_))}_removeTile(u){const p=this._tiles[u];p&&(p.uses--,delete this._tiles[u],this._timers[u]&&(clearTimeout(this._timers[u]),delete this._timers[u]),p.uses>0||(p.hasData()&&p.state!=="reloading"?this._cache.add(p.tileID,p,p.getExpiryTimeout()):(p.aborted=!0,this._abortTile(p),this._unloadTile(p))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const u in this._tiles)this._removeTile(u);this._cache.reset()}tilesIn(u,p,_){const w=[],C=this.transform;if(!C)return w;const L=_?C.getCameraQueryGeometry(u):u,R=u.map(oe=>C.pointCoordinate(oe,this.terrain)),B=L.map(oe=>C.pointCoordinate(oe,this.terrain)),N=this.getIds();let j=1/0,U=1/0,J=-1/0,se=-1/0;for(const oe of B)j=Math.min(j,oe.x),U=Math.min(U,oe.y),J=Math.max(J,oe.x),se=Math.max(se,oe.y);for(let oe=0;oe=0&&ye[1].y+Be>=0){const Me=R.map(je=>ie.getTilePoint(je)),Ne=B.map(je=>ie.getTilePoint(je));w.push({tile:fe,tileID:ie,queryGeometry:Me,cameraQueryGeometry:Ne,scale:Ae})}}return w}getVisibleCoordinates(u){const p=this.getRenderableIds(u).map(_=>this._tiles[_].tileID);for(const _ of p)_.posMatrix=this.transform.calculatePosMatrix(_.toUnwrapped());return p}hasTransition(){if(this._source.hasTransition())return!0;if(mt(this._source.type)){const u=o.h.now();for(const p in this._tiles)if(this._tiles[p].fadeEndTime>=u)return!0}return!1}setFeatureState(u,p,_){this._state.updateState(u=u||"_geojsonTileLayer",p,_)}removeFeatureState(u,p,_){this._state.removeFeatureState(u=u||"_geojsonTileLayer",p,_)}getFeatureState(u,p){return this._state.getState(u=u||"_geojsonTileLayer",p)}setDependencies(u,p,_){const w=this._tiles[u];w&&w.setDependencies(p,_)}reloadTilesForDependencies(u,p){for(const _ in this._tiles)this._tiles[_].hasDependency(u,p)&&this._reloadTile(_,"reloading");this._cache.filter(_=>!_.hasDependency(u,p))}}function Ft(S,u){const p=Math.abs(2*S.wrap)-+(S.wrap<0),_=Math.abs(2*u.wrap)-+(u.wrap<0);return S.overscaledZ-u.overscaledZ||_-p||u.canonical.y-S.canonical.y||u.canonical.x-S.canonical.x}function mt(S){return S==="raster"||S==="image"||S==="video"}rt.maxOverzooming=10,rt.maxUnderzooming=3;const gt="mapboxgl_preloaded_worker_pool";class Zt{constructor(){this.active={}}acquire(u){if(!this.workers)for(this.workers=[];this.workers.length{p.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[gt]}numActive(){return Object.keys(this.active).length}}const sr=Math.floor(o.h.hardwareConcurrency/2);let wr;function Ir(){return wr||(wr=new Zt),wr}Zt.workerCount=o.ac(globalThis)?Math.max(Math.min(sr,3),1):1;class Zr{constructor(u,p){this.reset(u,p)}reset(u,p){this.points=u||[],this._distances=[0];for(let _=1;_0?(w-L)/R:0;return this.points[C].mult(1-B).add(this.points[p].mult(B))}}function Bn(S,u){let p=!0;return S==="always"||S!=="never"&&u!=="never"||(p=!1),p}class $i{constructor(u,p,_){const w=this.boxCells=[],C=this.circleCells=[];this.xCellCount=Math.ceil(u/_),this.yCellCount=Math.ceil(p/_);for(let L=0;Lthis.width||w<0||p>this.height)return[];const B=[];if(u<=0&&p<=0&&this.width<=_&&this.height<=w){if(C)return[{key:null,x1:u,y1:p,x2:_,y2:w}];for(let N=0;N0}hitTestCircle(u,p,_,w,C){const L=u-_,R=u+_,B=p-_,N=p+_;if(R<0||L>this.width||N<0||B>this.height)return!1;const j=[];return this._forEachCell(L,B,R,N,this._queryCellCircle,j,{hitTest:!0,overlapMode:w,circle:{x:u,y:p,radius:_},seenUids:{box:{},circle:{}}},C),j.length>0}_queryCell(u,p,_,w,C,L,R,B){const{seenUids:N,hitTest:j,overlapMode:U}=R,J=this.boxCells[C];if(J!==null){const oe=this.bboxes;for(const fe of J)if(!N.box[fe]){N.box[fe]=!0;const ie=4*fe,Ae=this.boxKeys[fe];if(u<=oe[ie+2]&&p<=oe[ie+3]&&_>=oe[ie+0]&&w>=oe[ie+1]&&(!B||B(Ae))&&(!j||!Bn(U,Ae.overlapMode))&&(L.push({key:Ae,x1:oe[ie],y1:oe[ie+1],x2:oe[ie+2],y2:oe[ie+3]}),j))return!0}}const se=this.circleCells[C];if(se!==null){const oe=this.circles;for(const fe of se)if(!N.circle[fe]){N.circle[fe]=!0;const ie=3*fe,Ae=this.circleKeys[fe];if(this._circleAndRectCollide(oe[ie],oe[ie+1],oe[ie+2],u,p,_,w)&&(!B||B(Ae))&&(!j||!Bn(U,Ae.overlapMode))){const Be=oe[ie],ye=oe[ie+1],Me=oe[ie+2];if(L.push({key:Ae,x1:Be-Me,y1:ye-Me,x2:Be+Me,y2:ye+Me}),j)return!0}}}return!1}_queryCellCircle(u,p,_,w,C,L,R,B){const{circle:N,seenUids:j,overlapMode:U}=R,J=this.boxCells[C];if(J!==null){const oe=this.bboxes;for(const fe of J)if(!j.box[fe]){j.box[fe]=!0;const ie=4*fe,Ae=this.boxKeys[fe];if(this._circleAndRectCollide(N.x,N.y,N.radius,oe[ie+0],oe[ie+1],oe[ie+2],oe[ie+3])&&(!B||B(Ae))&&!Bn(U,Ae.overlapMode))return L.push(!0),!0}}const se=this.circleCells[C];if(se!==null){const oe=this.circles;for(const fe of se)if(!j.circle[fe]){j.circle[fe]=!0;const ie=3*fe,Ae=this.circleKeys[fe];if(this._circlesCollide(oe[ie],oe[ie+1],oe[ie+2],N.x,N.y,N.radius)&&(!B||B(Ae))&&!Bn(U,Ae.overlapMode))return L.push(!0),!0}}}_forEachCell(u,p,_,w,C,L,R,B){const N=this._convertToXCellCoord(u),j=this._convertToYCellCoord(p),U=this._convertToXCellCoord(_),J=this._convertToYCellCoord(w);for(let se=N;se<=U;se++)for(let oe=j;oe<=J;oe++)if(C.call(this,u,p,_,w,this.xCellCount*oe+se,L,R,B))return}_convertToXCellCoord(u){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(u*this.xScale)))}_convertToYCellCoord(u){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(u*this.yScale)))}_circlesCollide(u,p,_,w,C,L){const R=w-u,B=C-p,N=_+L;return N*N>R*R+B*B}_circleAndRectCollide(u,p,_,w,C,L,R){const B=(L-w)/2,N=Math.abs(u-(w+B));if(N>B+_)return!1;const j=(R-C)/2,U=Math.abs(p-(C+j));if(U>j+_)return!1;if(N<=B||U<=j)return!0;const J=N-B,se=U-j;return J*J+se*se<=_*_}}function ut(S,u,p,_,w){const C=o.Z();return u?(o.a0(C,C,[1/w,1/w,1]),p||o.ae(C,C,_.angle)):o.a1(C,_.labelPlaneMatrix,S),C}function mi(S,u,p,_,w){if(u){const C=o.af(S);return o.a0(C,C,[w,w,1]),p||o.ae(C,C,-_.angle),C}return _.glCoordMatrix}function tn(S,u,p){let _;p?(_=[S.x,S.y,p(S.x,S.y),1],o.ag(_,_,u)):(_=[S.x,S.y,0,1],pe(_,_,u));const w=_[3];return{point:new o.P(_[0]/w,_[1]/w),signedDistanceFromCamera:w}}function Ln(S,u){return .5+S/u*.5}function Fn(S,u){const p=S[0]/S[3],_=S[1]/S[3];return p>=-u[0]&&p<=u[0]&&_>=-u[1]&&_<=u[1]}function ct(S,u,p,_,w,C,L,R,B,N){const j=_?S.textSizeData:S.iconSizeData,U=o.ah(j,p.transform.zoom),J=[256/p.width*2+1,256/p.height*2+1],se=_?S.text.dynamicLayoutVertexArray:S.icon.dynamicLayoutVertexArray;se.clear();const oe=S.lineVertexArray,fe=_?S.text.placedSymbolArray:S.icon.placedSymbolArray,ie=p.transform.width/p.transform.height;let Ae=!1;for(let Be=0;BeMath.abs(p.x-u.x)*_?{useVertical:!0}:(S===o.ai.vertical?u.yp.x)?{needsFlipping:!0}:null}function Si(S,u,p,_,w,C,L,R,B,N,j,U,J,se,oe,fe){const ie=u/24,Ae=S.lineOffsetX*ie,Be=S.lineOffsetY*ie;let ye;if(S.numGlyphs>1){const Me=S.glyphStartIndex+S.numGlyphs,Ne=S.lineStartIndex,je=S.lineStartIndex+S.lineLength,Xe=or(ie,R,Ae,Be,p,j,U,S,B,C,J,oe,fe);if(!Xe)return{notEnoughRoom:!0};const it=tn(Xe.first.point,L,fe).point,Qe=tn(Xe.last.point,L,fe).point;if(_&&!p){const st=tr(S.writingMode,it,Qe,se);if(st)return st}ye=[Xe.first];for(let st=S.glyphStartIndex+1;st0?it.point:ro(U,Xe,Ne,1,w,fe),st=tr(S.writingMode,Ne,Qe,se);if(st)return st}const Me=X(ie*R.getoffsetX(S.glyphStartIndex),Ae,Be,p,j,U,S.segment,S.lineStartIndex,S.lineStartIndex+S.lineLength,B,C,J,oe,fe);if(!Me)return{notEnoughRoom:!0};ye=[Me]}for(const Me of ye)o.ak(N,Me.point,Me.angle);return{}}function ro(S,u,p,_,w,C){const L=tn(S.add(S.sub(u)._unit()),w,C).point,R=p.sub(L);return p.add(R._mult(_/R.mag()))}function ir(S,u){const{projectionCache:p,lineVertexArray:_,labelPlaneMatrix:w,tileAnchorPoint:C,distanceFromAnchor:L,getElevation:R,previousVertex:B,direction:N,absOffsetX:j}=u;if(p.projections[S])return p.projections[S];const U=new o.P(_.getx(S),_.gety(S)),J=tn(U,w,R);if(J.signedDistanceFromCamera>0)return p.projections[S]=J.point,J.point;const se=S-N;return ro(L===0?C:new o.P(_.getx(se),_.gety(se)),U,B,j-L+1,w,R)}function Lo(S,u,p){return S._unit()._perp()._mult(u*p)}function he(S,u,p,_,w,C,L,R){const{projectionCache:B,direction:N}=R;if(B.offsets[S])return B.offsets[S];const j=p.add(u);if(S+N<_||S+N>=w)return B.offsets[S]=j,j;const U=ir(S+N,R),J=Lo(U.sub(p),L,N),se=p.add(J),oe=U.add(J);return B.offsets[S]=o.al(C,j,se,oe)||j,B.offsets[S]}function X(S,u,p,_,w,C,L,R,B,N,j,U,J,se){const oe=_?S-u:S+u;let fe=oe>0?1:-1,ie=0;_&&(fe*=-1,ie=Math.PI),fe<0&&(ie+=Math.PI);let Ae,Be,ye=fe>0?R+L:R+L+1,Me=w,Ne=w,je=0,Xe=0;const it=Math.abs(oe),Qe=[];let st;for(;je+Xe<=it;){if(ye+=fe,ye=B)return null;je+=Xe,Ne=Me,Be=Ae;const _t={projectionCache:U,lineVertexArray:N,labelPlaneMatrix:j,tileAnchorPoint:C,distanceFromAnchor:je,getElevation:se,previousVertex:Ne,direction:fe,absOffsetX:it};if(Me=ir(ye,_t),p===0)Qe.push(Ne),st=Me.sub(Ne);else{let qt;const Ot=Me.sub(Ne);qt=Ot.mag()===0?Lo(ir(ye+fe,_t).sub(Me),p,fe):Lo(Ot,p,fe),Be||(Be=Ne.add(qt)),Ae=he(ye,qt,Me,R,B,Be,p,_t),Qe.push(Be),st=Ae.sub(Be)}Xe=st.mag()}const kt=st._mult((it-je)/Xe)._add(Be||Ne),fr=ie+Math.atan2(Me.y-Ne.y,Me.x-Ne.x);return Qe.push(kt),{point:kt,angle:J?fr:0,path:Qe}}const K=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ne(S,u){for(let p=0;p=1;ar--)Ot.push(_t.path[ar]);for(let ar=1;artn(dr,B,oe));Ot=ar.some(dr=>dr.signedDistanceFromCamera<=0)?[]:ar.map(dr=>dr.point)}let hr=[];if(Ot.length>0){const ar=Ot[0].clone(),dr=Ot[0].clone();for(let Cn=1;Cn=st.x&&dr.x<=kt.x&&ar.y>=st.y&&dr.y<=kt.y?[Ot]:dr.xkt.x||dr.ykt.y?[]:o.am([Ot],st.x,st.y,kt.x,kt.y)}for(const ar of hr){fr.reset(ar,.25*Qe);let dr=0;dr=fr.length<=.5*Qe?1:Math.ceil(fr.paddedLength/Hr)+1;for(let Cn=0;Cn=this.screenRightBoundary||wthis.screenBottomBoundary}isInsideGrid(u,p,_,w){return _>=0&&u=0&&p_.collisionGroupID===p}}return this.collisionGroups[u]}}function Yt(S,u,p,_,w){const{horizontalAlign:C,verticalAlign:L}=o.au(S);return new o.P(-(C-.5)*u+_[0]*w,-(L-.5)*p+_[1]*w)}function Lt(S,u,p,_,w,C){const{x1:L,x2:R,y1:B,y2:N,anchorPointX:j,anchorPointY:U}=S,J=new o.P(u,p);return _&&J._rotate(w?C:-C),{x1:L+J.x,y1:B+J.y,x2:R+J.x,y2:N+J.y,anchorPointX:j,anchorPointY:U}}class Ht{constructor(u,p,_,w,C){this.transform=u.clone(),this.terrain=p,this.collisionIndex=new ke(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=_,this.retainedQueryData={},this.collisionGroups=new Vt(w),this.collisionCircleArrays={},this.prevPlacement=C,C&&(C.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(u,p,_,w){const C=_.getBucket(p),L=_.latestFeatureIndex;if(!C||!L||p.id!==C.layerIds[0])return;const R=_.collisionBoxArray,B=C.layers[0].layout,N=Math.pow(2,this.transform.zoom-_.tileID.overscaledZ),j=_.tileSize/o.N,U=this.transform.calculatePosMatrix(_.tileID.toUnwrapped()),J=B.get("text-pitch-alignment")==="map",se=B.get("text-rotation-alignment")==="map",oe=Ee(_,1,this.transform.zoom),fe=ut(U,J,se,this.transform,oe);let ie=null;if(J){const Be=mi(U,J,se,this.transform,oe);ie=o.a1([],this.transform.labelPlaneMatrix,Be)}this.retainedQueryData[C.bucketInstanceId]=new Je(C.bucketInstanceId,L,C.sourceLayerIndex,C.index,_.tileID);const Ae={bucket:C,layout:B,posMatrix:U,textLabelPlaneMatrix:fe,labelToScreenMatrix:ie,scale:N,textPixelRatio:j,holdingForFade:_.holdingForFade(),collisionBoxArray:R,partiallyEvaluatedTextSize:o.ah(C.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(C.sourceID)};if(w)for(const Be of C.sortKeyRanges){const{sortKey:ye,symbolInstanceStart:Me,symbolInstanceEnd:Ne}=Be;u.push({sortKey:ye,symbolInstanceStart:Me,symbolInstanceEnd:Ne,parameters:Ae})}else u.push({symbolInstanceStart:0,symbolInstanceEnd:C.symbolInstances.length,parameters:Ae})}attemptAnchorPlacement(u,p,_,w,C,L,R,B,N,j,U,J,se,oe,fe,ie){const Ae=o.aq[u.textAnchor],Be=[u.textOffset0,u.textOffset1],ye=Yt(Ae,_,w,Be,C),Me=this.collisionIndex.placeCollisionBox(Lt(p,ye.x,ye.y,L,R,this.transform.angle),U,B,N,j.predicate,ie);if((!fe||this.collisionIndex.placeCollisionBox(Lt(fe,ye.x,ye.y,L,R,this.transform.angle),U,B,N,j.predicate,ie).box.length!==0)&&Me.box.length>0){let Ne;if(this.prevPlacement&&this.prevPlacement.variableOffsets[J.crossTileID]&&this.prevPlacement.placements[J.crossTileID]&&this.prevPlacement.placements[J.crossTileID].text&&(Ne=this.prevPlacement.variableOffsets[J.crossTileID].anchor),J.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[J.crossTileID]={textOffset:Be,width:_,height:w,anchor:Ae,textBoxScale:C,prevAnchor:Ne},this.markUsedJustification(se,Ae,J,oe),se.allowVerticalPlacement&&(this.markUsedOrientation(se,oe,J),this.placedOrientations[J.crossTileID]=oe),{shift:ye,placedGlyphBoxes:Me}}}placeLayerBucketPart(u,p,_){const{bucket:w,layout:C,posMatrix:L,textLabelPlaneMatrix:R,labelToScreenMatrix:B,textPixelRatio:N,holdingForFade:j,collisionBoxArray:U,partiallyEvaluatedTextSize:J,collisionGroup:se}=u.parameters,oe=C.get("text-optional"),fe=C.get("icon-optional"),ie=o.ar(C,"text-overlap","text-allow-overlap"),Ae=ie==="always",Be=o.ar(C,"icon-overlap","icon-allow-overlap"),ye=Be==="always",Me=C.get("text-rotation-alignment")==="map",Ne=C.get("text-pitch-alignment")==="map",je=C.get("icon-text-fit")!=="none",Xe=C.get("symbol-z-order")==="viewport-y",it=Ae&&(ye||!w.hasIconData()||fe),Qe=ye&&(Ae||!w.hasTextData()||oe);!w.collisionArrays&&U&&w.deserializeCollisionBoxes(U);const st=this.retainedQueryData[w.bucketInstanceId].tileID,kt=this.terrain?(_t,qt)=>this.terrain.getElevation(st,_t,qt):null,fr=(_t,qt)=>{var Ot,Hr;if(p[_t.crossTileID])return;if(j)return void(this.placements[_t.crossTileID]=new We(!1,!1,!1));let hr=!1,ar=!1,dr=!0,Cn=null,Yr={box:null,offscreen:null},si={box:null,offscreen:null},qn=null,Rn=null,ua=null,nn=0,io=0,ao=0;qt.textFeatureIndex?nn=qt.textFeatureIndex:_t.useRuntimeCollisionCircles&&(nn=_t.featureIndex),qt.verticalTextFeatureIndex&&(io=qt.verticalTextFeatureIndex);const vs=qt.textBox;if(vs){const yi=En=>{let Wn=o.ai.horizontal;if(w.allowVerticalPlacement&&!En&&this.prevPlacement){const ji=this.prevPlacement.placedOrientations[_t.crossTileID];ji&&(this.placedOrientations[_t.crossTileID]=ji,Wn=ji,this.markUsedOrientation(w,Wn,_t))}return Wn},li=(En,Wn)=>{if(w.allowVerticalPlacement&&_t.numVerticalGlyphVertices>0&&qt.verticalTextBox){for(const ji of w.writingModes)if(ji===o.ai.vertical?(Yr=Wn(),si=Yr):Yr=En(),Yr&&Yr.box&&Yr.box.length)break}else Yr=En()},Ci=_t.textAnchorOffsetStartIndex,Ys=_t.textAnchorOffsetEndIndex;if(Ys===Ci){const En=(Wn,ji)=>{const An=this.collisionIndex.placeCollisionBox(Wn,ie,N,L,se.predicate,kt);return An&&An.box&&An.box.length&&(this.markUsedOrientation(w,ji,_t),this.placedOrientations[_t.crossTileID]=ji),An};li(()=>En(vs,o.ai.horizontal),()=>{const Wn=qt.verticalTextBox;return w.allowVerticalPlacement&&_t.numVerticalGlyphVertices>0&&Wn?En(Wn,o.ai.vertical):{box:null,offscreen:null}}),yi(Yr&&Yr.box&&Yr.box.length)}else{let En=o.aq[(Hr=(Ot=this.prevPlacement)===null||Ot===void 0?void 0:Ot.variableOffsets[_t.crossTileID])===null||Hr===void 0?void 0:Hr.anchor];const Wn=(An,Ks,Gh)=>{const Vg=An.x2-An.x1,jg=An.y2-An.y1,pb=_t.textBoxScale,dp=je&&Be==="never"?Ks:null;let oo={box:[],offscreen:!1},Js=ie==="never"?1:2,so="never";En&&Js++;for(let Pa=0;PaWn(vs,qt.iconBox,o.ai.horizontal),()=>{const An=qt.verticalTextBox;return w.allowVerticalPlacement&&!(Yr&&Yr.box&&Yr.box.length)&&_t.numVerticalGlyphVertices>0&&An?Wn(An,qt.verticalIconBox,o.ai.vertical):{box:null,offscreen:null}}),Yr&&(hr=Yr.box,dr=Yr.offscreen);const ji=yi(Yr&&Yr.box);if(!hr&&this.prevPlacement){const An=this.prevPlacement.variableOffsets[_t.crossTileID];An&&(this.variableOffsets[_t.crossTileID]=An,this.markUsedJustification(w,An.anchor,_t,ji))}}}if(qn=Yr,hr=qn&&qn.box&&qn.box.length>0,dr=qn&&qn.offscreen,_t.useRuntimeCollisionCircles){const yi=w.text.placedSymbolArray.get(_t.centerJustifiedTextSymbolIndex),li=o.aj(w.textSizeData,J,yi),Ci=C.get("text-padding");Rn=this.collisionIndex.placeCollisionCircles(ie,yi,w.lineVertexArray,w.glyphOffsetArray,li,L,R,B,_,Ne,se.predicate,_t.collisionCircleDiameter,Ci,kt),Rn.circles.length&&Rn.collisionDetected&&!_&&o.w("Collisions detected, but collision boxes are not shown"),hr=Ae||Rn.circles.length>0&&!Rn.collisionDetected,dr=dr&&Rn.offscreen}if(qt.iconFeatureIndex&&(ao=qt.iconFeatureIndex),qt.iconBox){const yi=li=>{const Ci=je&&Cn?Lt(li,Cn.x,Cn.y,Me,Ne,this.transform.angle):li;return this.collisionIndex.placeCollisionBox(Ci,Be,N,L,se.predicate,kt)};si&&si.box&&si.box.length&&qt.verticalIconBox?(ua=yi(qt.verticalIconBox),ar=ua.box.length>0):(ua=yi(qt.iconBox),ar=ua.box.length>0),dr=dr&&ua.offscreen}const Xs=oe||_t.numHorizontalGlyphVertices===0&&_t.numVerticalGlyphVertices===0,Yl=fe||_t.numIconVertices===0;if(Xs||Yl?Yl?Xs||(ar=ar&&hr):hr=ar&&hr:ar=hr=ar&&hr,hr&&qn&&qn.box&&this.collisionIndex.insertCollisionBox(qn.box,ie,C.get("text-ignore-placement"),w.bucketInstanceId,si&&si.box&&io?io:nn,se.ID),ar&&ua&&this.collisionIndex.insertCollisionBox(ua.box,Be,C.get("icon-ignore-placement"),w.bucketInstanceId,ao,se.ID),Rn&&(hr&&this.collisionIndex.insertCollisionCircles(Rn.circles,ie,C.get("text-ignore-placement"),w.bucketInstanceId,nn,se.ID),_)){const yi=w.bucketInstanceId;let li=this.collisionCircleArrays[yi];li===void 0&&(li=this.collisionCircleArrays[yi]=new Ze);for(let Ci=0;Ci=0;--qt){const Ot=_t[qt];fr(w.symbolInstances.get(Ot),w.collisionArrays[Ot])}}else for(let _t=u.symbolInstanceStart;_t=0&&(u.text.placedSymbolArray.get(R).crossTileID=C>=0&&R!==C?0:_.crossTileID)}markUsedOrientation(u,p,_){const w=p===o.ai.horizontal||p===o.ai.horizontalOnly?p:0,C=p===o.ai.vertical?p:0,L=[_.leftJustifiedTextSymbolIndex,_.centerJustifiedTextSymbolIndex,_.rightJustifiedTextSymbolIndex];for(const R of L)u.text.placedSymbolArray.get(R).placedOrientation=w;_.verticalPlacedTextSymbolIndex&&(u.text.placedSymbolArray.get(_.verticalPlacedTextSymbolIndex).placedOrientation=C)}commit(u){this.commitTime=u,this.zoomAtLastRecencyCheck=this.transform.zoom;const p=this.prevPlacement;let _=!1;this.prevZoomAdjustment=p?p.zoomAdjustment(this.transform.zoom):0;const w=p?p.symbolFadeChange(u):1,C=p?p.opacities:{},L=p?p.variableOffsets:{},R=p?p.placedOrientations:{};for(const B in this.placements){const N=this.placements[B],j=C[B];j?(this.opacities[B]=new Ie(j,w,N.text,N.icon),_=_||N.text!==j.text.placed||N.icon!==j.icon.placed):(this.opacities[B]=new Ie(null,w,N.text,N.icon,N.skipFade),_=_||N.text||N.icon)}for(const B in C){const N=C[B];if(!this.opacities[B]){const j=new Ie(N,w,!1,!1);j.isHidden()||(this.opacities[B]=j,_=_||N.text.placed||N.icon.placed)}}for(const B in L)this.variableOffsets[B]||!this.opacities[B]||this.opacities[B].isHidden()||(this.variableOffsets[B]=L[B]);for(const B in R)this.placedOrientations[B]||!this.opacities[B]||this.opacities[B].isHidden()||(this.placedOrientations[B]=R[B]);if(p&&p.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");_?this.lastPlacementChangeTime=u:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=p?p.lastPlacementChangeTime:u)}updateLayerOpacities(u,p){const _={};for(const w of p){const C=w.getBucket(u);C&&w.latestFeatureIndex&&u.id===C.layerIds[0]&&this.updateBucketOpacities(C,_,w.collisionBoxArray)}}updateBucketOpacities(u,p,_){u.hasTextData()&&(u.text.opacityVertexArray.clear(),u.text.hasVisibleVertices=!1),u.hasIconData()&&(u.icon.opacityVertexArray.clear(),u.icon.hasVisibleVertices=!1),u.hasIconCollisionBoxData()&&u.iconCollisionBox.collisionVertexArray.clear(),u.hasTextCollisionBoxData()&&u.textCollisionBox.collisionVertexArray.clear();const w=u.layers[0],C=w.layout,L=new Ie(null,0,!1,!1,!0),R=C.get("text-allow-overlap"),B=C.get("icon-allow-overlap"),N=w._unevaluatedLayout.hasValue("text-variable-anchor")||w._unevaluatedLayout.hasValue("text-variable-anchor-offset"),j=C.get("text-rotation-alignment")==="map",U=C.get("text-pitch-alignment")==="map",J=C.get("icon-text-fit")!=="none",se=new Ie(null,0,R&&(B||!u.hasIconData()||C.get("icon-optional")),B&&(R||!u.hasTextData()||C.get("text-optional")),!0);!u.collisionArrays&&_&&(u.hasIconCollisionBoxData()||u.hasTextCollisionBoxData())&&u.deserializeCollisionBoxes(_);const oe=(fe,ie,Ae)=>{for(let Be=0;Be0,je=this.placedOrientations[ie.crossTileID],Xe=je===o.ai.vertical,it=je===o.ai.horizontal||je===o.ai.horizontalOnly;if(Ae>0||Be>0){const Qe=ai(Me.text);oe(u.text,Ae,Xe?Sa:Qe),oe(u.text,Be,it?Sa:Qe);const st=Me.text.isHidden();[ie.rightJustifiedTextSymbolIndex,ie.centerJustifiedTextSymbolIndex,ie.leftJustifiedTextSymbolIndex].forEach(_t=>{_t>=0&&(u.text.placedSymbolArray.get(_t).hidden=st||Xe?1:0)}),ie.verticalPlacedTextSymbolIndex>=0&&(u.text.placedSymbolArray.get(ie.verticalPlacedTextSymbolIndex).hidden=st||it?1:0);const kt=this.variableOffsets[ie.crossTileID];kt&&this.markUsedJustification(u,kt.anchor,ie,je);const fr=this.placedOrientations[ie.crossTileID];fr&&(this.markUsedJustification(u,"left",ie,fr),this.markUsedOrientation(u,fr,ie))}if(Ne){const Qe=ai(Me.icon),st=!(J&&ie.verticalPlacedIconSymbolIndex&&Xe);ie.placedIconSymbolIndex>=0&&(oe(u.icon,ie.numIconVertices,st?Qe:Sa),u.icon.placedSymbolArray.get(ie.placedIconSymbolIndex).hidden=Me.icon.isHidden()),ie.verticalPlacedIconSymbolIndex>=0&&(oe(u.icon,ie.numVerticalIconVertices,st?Sa:Qe),u.icon.placedSymbolArray.get(ie.verticalPlacedIconSymbolIndex).hidden=Me.icon.isHidden())}if(u.hasIconCollisionBoxData()||u.hasTextCollisionBoxData()){const Qe=u.collisionArrays[fe];if(Qe){let st=new o.P(0,0);if(Qe.textBox||Qe.verticalTextBox){let fr=!0;if(N){const _t=this.variableOffsets[ye];_t?(st=Yt(_t.anchor,_t.width,_t.height,_t.textOffset,_t.textBoxScale),j&&st._rotate(U?this.transform.angle:-this.transform.angle)):fr=!1}Qe.textBox&&rr(u.textCollisionBox.collisionVertexArray,Me.text.placed,!fr||Xe,st.x,st.y),Qe.verticalTextBox&&rr(u.textCollisionBox.collisionVertexArray,Me.text.placed,!fr||it,st.x,st.y)}const kt=!!(!it&&Qe.verticalIconBox);Qe.iconBox&&rr(u.iconCollisionBox.collisionVertexArray,Me.icon.placed,kt,J?st.x:0,J?st.y:0),Qe.verticalIconBox&&rr(u.iconCollisionBox.collisionVertexArray,Me.icon.placed,!kt,J?st.x:0,J?st.y:0)}}}if(u.sortFeatures(this.transform.angle),this.retainedQueryData[u.bucketInstanceId]&&(this.retainedQueryData[u.bucketInstanceId].featureSortOrder=u.featureSortOrder),u.hasTextData()&&u.text.opacityVertexBuffer&&u.text.opacityVertexBuffer.updateData(u.text.opacityVertexArray),u.hasIconData()&&u.icon.opacityVertexBuffer&&u.icon.opacityVertexBuffer.updateData(u.icon.opacityVertexArray),u.hasIconCollisionBoxData()&&u.iconCollisionBox.collisionVertexBuffer&&u.iconCollisionBox.collisionVertexBuffer.updateData(u.iconCollisionBox.collisionVertexArray),u.hasTextCollisionBoxData()&&u.textCollisionBox.collisionVertexBuffer&&u.textCollisionBox.collisionVertexBuffer.updateData(u.textCollisionBox.collisionVertexArray),u.text.opacityVertexArray.length!==u.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${u.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${u.text.layoutVertexArray.length}) / 4`);if(u.icon.opacityVertexArray.length!==u.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${u.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${u.icon.layoutVertexArray.length}) / 4`);if(u.bucketInstanceId in this.collisionCircleArrays){const fe=this.collisionCircleArrays[u.bucketInstanceId];u.placementInvProjMatrix=fe.invProjMatrix,u.placementViewportMatrix=fe.viewportMatrix,u.collisionCircleArray=fe.circles,delete this.collisionCircleArrays[u.bucketInstanceId]}}symbolFadeChange(u){return this.fadeDuration===0?1:(u-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(u){return Math.max(0,(this.transform.zoom-u)/1.5)}hasTransitions(u){return this.stale||u-this.lastPlacementChangeTimeu}setStale(){this.stale=!0}}function rr(S,u,p,_,w){S.emplaceBack(u?1:0,p?1:0,_||0,w||0),S.emplaceBack(u?1:0,p?1:0,_||0,w||0),S.emplaceBack(u?1:0,p?1:0,_||0,w||0),S.emplaceBack(u?1:0,p?1:0,_||0,w||0)}const Rr=Math.pow(2,25),Gr=Math.pow(2,24),Sr=Math.pow(2,17),_r=Math.pow(2,16),vi=Math.pow(2,9),Xr=Math.pow(2,8),$n=Math.pow(2,1);function ai(S){if(S.opacity===0&&!S.placed)return 0;if(S.opacity===1&&S.placed)return 4294967295;const u=S.placed?1:0,p=Math.floor(127*S.opacity);return p*Rr+u*Gr+p*Sr+u*_r+p*vi+u*Xr+p*$n+u}const Sa=0;class ng{constructor(u){this._sortAcrossTiles=u.layout.get("symbol-z-order")!=="viewport-y"&&!u.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(u,p,_,w,C){const L=this._bucketParts;for(;this._currentTileIndexR.sortKey-B.sortKey));this._currentPartIndex!this._forceFullPlacement&&o.h.now()-w>2;for(;this._currentPlacementIndex>=0;){const L=p[u[this._currentPlacementIndex]],R=this.placement.collisionIndex.transform.zoom;if(L.type==="symbol"&&(!L.minzoom||L.minzoom<=R)&&(!L.maxzoom||L.maxzoom>R)){if(this._inProgressLayer||(this._inProgressLayer=new ng(L)),this._inProgressLayer.continuePlacement(_[L.source],this.placement,this._showCollisionBoxes,L,C))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(u){return this.placement.commit(u),this.placement}}const Fl=512/o.N/2;class K1{constructor(u,p,_){this.tileID=u,this.bucketInstanceId=_,this._symbolsByKey={};const w=new Map;for(let C=0;C({x:Math.floor(B.anchorX*Fl),y:Math.floor(B.anchorY*Fl)})),crossTileIDs:L.map(B=>B.crossTileID)};if(R.positions.length>128){const B=new o.av(R.positions.length,16,Uint16Array);for(const{x:N,y:j}of R.positions)B.add(N,j);B.finish(),delete R.positions,R.index=B}this._symbolsByKey[C]=R}}getScaledCoordinates(u,p){const{x:_,y:w,z:C}=this.tileID.canonical,{x:L,y:R,z:B}=p.canonical,N=Fl/Math.pow(2,B-C),j=(R*o.N+u.anchorY)*N,U=w*o.N*Fl;return{x:Math.floor((L*o.N+u.anchorX)*N-_*o.N*Fl),y:Math.floor(j-U)}}findMatches(u,p,_){const w=this.tileID.canonical.zu)}}class jr{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Ed{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(u){const p=Math.round((u-this.lng)/360);if(p!==0)for(const _ in this.indexes){const w=this.indexes[_],C={};for(const L in w){const R=w[L];R.tileID=R.tileID.unwrapTo(R.tileID.wrap+p),C[R.tileID.key]=R}this.indexes[_]=C}this.lng=u}addBucket(u,p,_){if(this.indexes[u.overscaledZ]&&this.indexes[u.overscaledZ][u.key]){if(this.indexes[u.overscaledZ][u.key].bucketInstanceId===p.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(u.overscaledZ,this.indexes[u.overscaledZ][u.key])}for(let C=0;Cu.overscaledZ)for(const R in L){const B=L[R];B.tileID.isChildOf(u)&&B.findMatches(p.symbolInstances,u,w)}else{const R=L[u.scaledTo(Number(C)).key];R&&R.findMatches(p.symbolInstances,u,w)}}for(let C=0;C{p[_]=!0});for(const _ in this.layerIndexes)p[_]||delete this.layerIndexes[_]}}const gi=(S,u)=>o.x(S,u&&u.filter(p=>p.identifier!=="source.canvas")),ia=o.F(o.ax,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData","setGlyphs","setSprite"]),J1=o.F(o.ax,["setCenter","setZoom","setBearing","setPitch"]),Ta=o.aw();class oi extends o.E{constructor(u,p={}){super(),this.map=u,this.dispatcher=new er(Ir(),this,u._getMapId()),this.imageManager=new le,this.imageManager.setEventedParent(this),this.glyphManager=new we(u._requestManager,p.localIdeographFontFamily),this.lineAtlas=new Pt(256,512),this.crossTileSymbolIndex=new gh,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new o.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("setReferrer",o.az());const _=this;this._rtlTextPluginCallback=oi.registerForPluginStateChange(w=>{_.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:w.pluginStatus,pluginURL:w.pluginURL},(C,L)=>{if(o.aA(C),L&&L.every(R=>R))for(const R in _.sourceCaches){const B=_.sourceCaches[R].getSource().type;B!=="vector"&&B!=="geojson"||_.sourceCaches[R].reload()}})}),this.on("data",w=>{if(w.dataType!=="source"||w.sourceDataType!=="metadata")return;const C=this.sourceCaches[w.sourceId];if(!C)return;const L=C.getSource();if(L&&L.vectorLayerIds)for(const R in this._layers){const B=this._layers[R];B.source===L.id&&this._validateLayer(B)}})}loadURL(u,p={},_){this.fire(new o.k("dataloading",{dataType:"style"})),p.validate=typeof p.validate!="boolean"||p.validate;const w=this.map._requestManager.transformRequest(u,D.Style);this._request=o.f(w,(C,L)=>{this._request=null,C?this.fire(new o.j(C)):L&&this._load(L,p,_)})}loadJSON(u,p={},_){this.fire(new o.k("dataloading",{dataType:"style"})),this._request=o.h.frame(()=>{this._request=null,p.validate=p.validate!==!1,this._load(u,p,_)})}loadEmpty(){this.fire(new o.k("dataloading",{dataType:"style"})),this._load(Ta,{validate:!1})}_load(u,p,_){var w;const C=p.transformStyle?p.transformStyle(_,u):u;if(!p.validate||!gi(this,o.y(C))){this._loaded=!0,this.stylesheet=C;for(const L in C.sources)this.addSource(L,C.sources[L],{validate:!1});C.sprite?this._loadSprite(C.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(C.glyphs),this._createLayers(),this.light=new Mt(this.stylesheet.light),this.map.setTerrain((w=this.stylesheet.terrain)!==null&&w!==void 0?w:null),this.fire(new o.k("data",{dataType:"style"})),this.fire(new o.k("style.load"))}}_createLayers(){const u=o.aB(this.stylesheet.layers);this.dispatcher.broadcast("setLayers",u),this._order=u.map(p=>p.id),this._layers={},this._serializedLayers=null;for(const p of u){const _=o.aC(p);_.setEventedParent(this,{layer:{id:p.id}}),this._layers[p.id]=_}}_loadSprite(u,p=!1,_=void 0){this.imageManager.setLoaded(!1),this._spriteRequest=function(w,C,L,R){const B=Z(w),N=B.length,j=L>1?"@2x":"",U={},J={},se={};for(const{id:oe,url:fe}of B){const ie=C.transformRequest(C.normalizeSpriteURL(fe,j,".json"),D.SpriteJSON),Ae=`${oe}_${ie.url}`;U[Ae]=o.f(ie,(Me,Ne)=>{delete U[Ae],J[oe]=Ne,ee(R,J,se,Me,N)});const Be=C.transformRequest(C.normalizeSpriteURL(fe,j,".png"),D.SpriteImage),ye=`${oe}_${Be.url}`;U[ye]=P.getImage(Be,(Me,Ne)=>{delete U[ye],se[oe]=Ne,ee(R,J,se,Me,N)})}return{cancel(){for(const oe of Object.values(U))oe.cancel()}}}(u,this.map._requestManager,this.map.getPixelRatio(),(w,C)=>{if(this._spriteRequest=null,w)this.fire(new o.j(w));else if(C)for(const L in C){this._spritesImagesIds[L]=[];const R=this._spritesImagesIds[L]?this._spritesImagesIds[L].filter(B=>!(B in C)):[];for(const B of R)this.imageManager.removeImage(B),this._changedImages[B]=!0;for(const B in C[L]){const N=L==="default"?B:`${L}:${B}`;this._spritesImagesIds[L].push(N),N in this.imageManager.images?this.imageManager.updateImage(N,C[L][B],!1):this.imageManager.addImage(N,C[L][B]),p&&(this._changedImages[N]=!0)}}this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),p&&(this._changed=!0),this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new o.k("data",{dataType:"style"})),_&&_(w)})}_unloadSprite(){for(const u of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(u),this._changedImages[u]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new o.k("data",{dataType:"style"}))}_validateLayer(u){const p=this.sourceCaches[u.source];if(!p)return;const _=u.sourceLayer;if(!_)return;const w=p.getSource();(w.type==="geojson"||w.vectorLayerIds&&w.vectorLayerIds.indexOf(_)===-1)&&this.fire(new o.j(new Error(`Source layer "${_}" does not exist on source "${w.id}" as specified by style layer "${u.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(const u in this.sourceCaches)if(!this.sourceCaches[u].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(u){const p=this._serializedAllLayers();if(!u||u.length===0)return Object.values(p);const _=[];for(const w of u)p[w]&&_.push(p[w]);return _}_serializedAllLayers(){let u=this._serializedLayers;if(u)return u;u=this._serializedLayers={};const p=Object.keys(this._layers);for(const _ of p){const w=this._layers[_];w.type!=="custom"&&(u[_]=w.serialize())}return u}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;for(const u in this.sourceCaches)if(this.sourceCaches[u].hasTransition())return!0;for(const u in this._layers)if(this._layers[u].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(u){if(!this._loaded)return;const p=this._changed;if(this._changed){const w=Object.keys(this._updatedLayers),C=Object.keys(this._removedLayers);(w.length||C.length)&&this._updateWorkerLayers(w,C);for(const L in this._updatedSources){const R=this._updatedSources[L];if(R==="reload")this._reloadSource(L);else{if(R!=="clear")throw new Error(`Invalid action ${R}`);this._clearSource(L)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const L in this._updatedPaintProps)this._layers[L].updateTransitions(u);this.light.updateTransitions(u),this._resetUpdates()}const _={};for(const w in this.sourceCaches){const C=this.sourceCaches[w];_[w]=C.used,C.used=!1}for(const w of this._order){const C=this._layers[w];C.recalculate(u,this._availableImages),!C.isHidden(u.zoom)&&C.source&&(this.sourceCaches[C.source].used=!0)}for(const w in _){const C=this.sourceCaches[w];_[w]!==C.used&&C.fire(new o.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:w}))}this.light.recalculate(u),this.z=u.zoom,p&&this.fire(new o.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){const u=Object.keys(this._changedImages);if(u.length){for(const p in this.sourceCaches)this.sourceCaches[p].reloadTilesForDependencies(["icons","patterns"],u);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const u in this.sourceCaches)this.sourceCaches[u].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(u,p){this.dispatcher.broadcast("updateLayers",{layers:this._serializeByIds(u),removedIds:p})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(u,p={}){this._checkLoaded();const _=this.serialize();if(u=p.transformStyle?p.transformStyle(_,u):u,gi(this,o.y(u)))return!1;(u=o.aD(u)).layers=o.aB(u.layers);const w=o.aE(_,u).filter(L=>!(L.command in J1));if(w.length===0)return!1;const C=w.filter(L=>!(L.command in ia));if(C.length>0)throw new Error(`Unimplemented: ${C.map(L=>L.command).join(", ")}.`);for(const L of w)L.command!=="setTransition"&&this[L.command].apply(this,L.args);return this.stylesheet=u,this._serializedLayers=null,!0}addImage(u,p){if(this.getImage(u))return this.fire(new o.j(new Error(`An image named "${u}" already exists.`)));this.imageManager.addImage(u,p),this._afterImageUpdated(u)}updateImage(u,p){this.imageManager.updateImage(u,p)}getImage(u){return this.imageManager.getImage(u)}removeImage(u){if(!this.getImage(u))return this.fire(new o.j(new Error(`An image named "${u}" does not exist.`)));this.imageManager.removeImage(u),this._afterImageUpdated(u)}_afterImageUpdated(u){this._availableImages=this.imageManager.listImages(),this._changedImages[u]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new o.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(u,p,_={}){if(this._checkLoaded(),this.sourceCaches[u]!==void 0)throw new Error(`Source "${u}" already exists.`);if(!p.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(p).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(p.type)>=0&&this._validate(o.y.source,`sources.${u}`,p,null,_))return;this.map&&this.map._collectResourceTiming&&(p.collectResourceTiming=!0);const w=this.sourceCaches[u]=new rt(u,p,this.dispatcher);w.style=this,w.setEventedParent(this,()=>({isSourceLoaded:w.loaded(),source:w.serialize(),sourceId:u})),w.onAdd(this.map),this._changed=!0}removeSource(u){if(this._checkLoaded(),this.sourceCaches[u]===void 0)throw new Error("There is no source with this ID");for(const _ in this._layers)if(this._layers[_].source===u)return this.fire(new o.j(new Error(`Source "${u}" cannot be removed while layer "${_}" is using it.`)));const p=this.sourceCaches[u];delete this.sourceCaches[u],delete this._updatedSources[u],p.fire(new o.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:u})),p.setEventedParent(null),p.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(u,p){if(this._checkLoaded(),this.sourceCaches[u]===void 0)throw new Error(`There is no source with this ID=${u}`);const _=this.sourceCaches[u].getSource();if(_.type!=="geojson")throw new Error(`geojsonSource.type is ${_.type}, which is !== 'geojson`);_.setData(p),this._changed=!0}getSource(u){return this.sourceCaches[u]&&this.sourceCaches[u].getSource()}addLayer(u,p,_={}){this._checkLoaded();const w=u.id;if(this.getLayer(w))return void this.fire(new o.j(new Error(`Layer "${w}" already exists on this map.`)));let C;if(u.type==="custom"){if(gi(this,o.aF(u)))return;C=o.aC(u)}else{if("source"in u&&typeof u.source=="object"&&(this.addSource(w,u.source),u=o.aD(u),u=o.e(u,{source:w})),this._validate(o.y.layer,`layers.${w}`,u,{arrayIndex:-1},_))return;C=o.aC(u),this._validateLayer(C),C.setEventedParent(this,{layer:{id:w}})}const L=p?this._order.indexOf(p):this._order.length;if(p&&L===-1)this.fire(new o.j(new Error(`Cannot add layer "${w}" before non-existing layer "${p}".`)));else{if(this._order.splice(L,0,w),this._layerOrderChanged=!0,this._layers[w]=C,this._removedLayers[w]&&C.source&&C.type!=="custom"){const R=this._removedLayers[w];delete this._removedLayers[w],R.type!==C.type?this._updatedSources[C.source]="clear":(this._updatedSources[C.source]="reload",this.sourceCaches[C.source].pause())}this._updateLayer(C),C.onAdd&&C.onAdd(this.map)}}moveLayer(u,p){if(this._checkLoaded(),this._changed=!0,!this._layers[u])return void this.fire(new o.j(new Error(`The layer '${u}' does not exist in the map's style and cannot be moved.`)));if(u===p)return;const _=this._order.indexOf(u);this._order.splice(_,1);const w=p?this._order.indexOf(p):this._order.length;p&&w===-1?this.fire(new o.j(new Error(`Cannot move layer "${u}" before non-existing layer "${p}".`))):(this._order.splice(w,0,u),this._layerOrderChanged=!0)}removeLayer(u){this._checkLoaded();const p=this._layers[u];if(!p)return void this.fire(new o.j(new Error(`Cannot remove non-existing layer "${u}".`)));p.setEventedParent(null);const _=this._order.indexOf(u);this._order.splice(_,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[u]=p,delete this._layers[u],this._serializedLayers&&delete this._serializedLayers[u],delete this._updatedLayers[u],delete this._updatedPaintProps[u],p.onRemove&&p.onRemove(this.map)}getLayer(u){return this._layers[u]}getLayersOrder(){return[...this._order]}hasLayer(u){return u in this._layers}setLayerZoomRange(u,p,_){this._checkLoaded();const w=this.getLayer(u);w?w.minzoom===p&&w.maxzoom===_||(p!=null&&(w.minzoom=p),_!=null&&(w.maxzoom=_),this._updateLayer(w)):this.fire(new o.j(new Error(`Cannot set the zoom range of non-existing layer "${u}".`)))}setFilter(u,p,_={}){this._checkLoaded();const w=this.getLayer(u);if(w){if(!o.aG(w.filter,p))return p==null?(w.filter=void 0,void this._updateLayer(w)):void(this._validate(o.y.filter,`layers.${w.id}.filter`,p,null,_)||(w.filter=o.aD(p),this._updateLayer(w)))}else this.fire(new o.j(new Error(`Cannot filter non-existing layer "${u}".`)))}getFilter(u){return o.aD(this.getLayer(u).filter)}setLayoutProperty(u,p,_,w={}){this._checkLoaded();const C=this.getLayer(u);C?o.aG(C.getLayoutProperty(p),_)||(C.setLayoutProperty(p,_,w),this._updateLayer(C)):this.fire(new o.j(new Error(`Cannot style non-existing layer "${u}".`)))}getLayoutProperty(u,p){const _=this.getLayer(u);if(_)return _.getLayoutProperty(p);this.fire(new o.j(new Error(`Cannot get style of non-existing layer "${u}".`)))}setPaintProperty(u,p,_,w={}){this._checkLoaded();const C=this.getLayer(u);C?o.aG(C.getPaintProperty(p),_)||(C.setPaintProperty(p,_,w)&&this._updateLayer(C),this._changed=!0,this._updatedPaintProps[u]=!0):this.fire(new o.j(new Error(`Cannot style non-existing layer "${u}".`)))}getPaintProperty(u,p){return this.getLayer(u).getPaintProperty(p)}setFeatureState(u,p){this._checkLoaded();const _=u.source,w=u.sourceLayer,C=this.sourceCaches[_];if(C===void 0)return void this.fire(new o.j(new Error(`The source '${_}' does not exist in the map's style.`)));const L=C.getSource().type;L==="geojson"&&w?this.fire(new o.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):L!=="vector"||w?(u.id===void 0&&this.fire(new o.j(new Error("The feature id parameter must be provided."))),C.setFeatureState(w,u.id,p)):this.fire(new o.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(u,p){this._checkLoaded();const _=u.source,w=this.sourceCaches[_];if(w===void 0)return void this.fire(new o.j(new Error(`The source '${_}' does not exist in the map's style.`)));const C=w.getSource().type,L=C==="vector"?u.sourceLayer:void 0;C!=="vector"||L?p&&typeof u.id!="string"&&typeof u.id!="number"?this.fire(new o.j(new Error("A feature id is required to remove its specific state property."))):w.removeFeatureState(L,u.id,p):this.fire(new o.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(u){this._checkLoaded();const p=u.source,_=u.sourceLayer,w=this.sourceCaches[p];if(w!==void 0)return w.getSource().type!=="vector"||_?(u.id===void 0&&this.fire(new o.j(new Error("The feature id parameter must be provided."))),w.getFeatureState(_,u.id)):void this.fire(new o.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new o.j(new Error(`The source '${p}' does not exist in the map's style.`)))}getTransition(){return o.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const u=o.aH(this.sourceCaches,C=>C.serialize()),p=this._serializeByIds(this._order),_=this.map.getTerrain()||void 0,w=this.stylesheet;return o.aI({version:w.version,name:w.name,metadata:w.metadata,light:w.light,center:w.center,zoom:w.zoom,bearing:w.bearing,pitch:w.pitch,sprite:w.sprite,glyphs:w.glyphs,transition:w.transition,sources:u,layers:p,terrain:_},C=>C!==void 0)}_updateLayer(u){this._updatedLayers[u.id]=!0,u.source&&!this._updatedSources[u.source]&&this.sourceCaches[u.source].getSource().type!=="raster"&&(this._updatedSources[u.source]="reload",this.sourceCaches[u.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(u){const p=L=>this._layers[L].type==="fill-extrusion",_={},w=[];for(let L=this._order.length-1;L>=0;L--){const R=this._order[L];if(p(R)){_[R]=L;for(const B of u){const N=B[R];if(N)for(const j of N)w.push(j)}}}w.sort((L,R)=>R.intersectionZ-L.intersectionZ);const C=[];for(let L=this._order.length-1;L>=0;L--){const R=this._order[L];if(p(R))for(let B=w.length-1;B>=0;B--){const N=w[B].feature;if(_[N.layer.id]{const it=Ae.featureSortOrder;if(it){const Qe=it.indexOf(je.featureIndex);return it.indexOf(Xe.featureIndex)-Qe}return Xe.featureIndex-je.featureIndex});for(const je of Ne)Me.push(je)}}for(const Ae in oe)oe[Ae].forEach(Be=>{const ye=Be.feature,Me=N[R[Ae].source].getFeatureState(ye.layer["source-layer"],ye.id);ye.source=ye.layer.source,ye.layer["source-layer"]&&(ye.sourceLayer=ye.layer["source-layer"]),ye.state=Me});return oe}(this._layers,L,this.sourceCaches,u,p,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(C)}querySourceFeatures(u,p){p&&p.filter&&this._validate(o.y.filter,"querySourceFeatures.filter",p.filter,null,p);const _=this.sourceCaches[u];return _?function(w,C){const L=w.getRenderableIds().map(N=>w.getTileByID(N)),R=[],B={};for(let N=0;N{xe[w]=C})(u,p),p.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:u,url:p.workerSourceURL},_):_(null,null))}getLight(){return this.light.getLight()}setLight(u,p={}){this._checkLoaded();const _=this.light.getLight();let w=!1;for(const L in u)if(!o.aG(u[L],_[L])){w=!0;break}if(!w)return;const C={now:o.h.now(),transition:o.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(u,p),this.light.updateTransitions(C)}_validate(u,p,_,w,C={}){return(!C||C.validate!==!1)&&gi(this,u.call(o.y,o.e({key:p,style:this.serialize(),value:_,styleSpec:o.v},w)))}_remove(u=!0){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),o.aJ.off("pluginStateChange",this._rtlTextPluginCallback);for(const p in this._layers)this._layers[p].setEventedParent(null);for(const p in this.sourceCaches){const _=this.sourceCaches[p];_.setEventedParent(null),_.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove(u)}_clearSource(u){this.sourceCaches[u].clearTiles()}_reloadSource(u){this.sourceCaches[u].resume(),this.sourceCaches[u].reload()}_updateSources(u){for(const p in this.sourceCaches)this.sourceCaches[p].update(u,this.map.terrain)}_generateCollisionBoxes(){for(const u in this.sourceCaches)this._reloadSource(u)}_updatePlacement(u,p,_,w,C=!1){let L=!1,R=!1;const B={};for(const N of this._order){const j=this._layers[N];if(j.type!=="symbol")continue;if(!B[j.source]){const J=this.sourceCaches[j.source];B[j.source]=J.getRenderableIds(!0).map(se=>J.getTileByID(se)).sort((se,oe)=>oe.tileID.overscaledZ-se.tileID.overscaledZ||(se.tileID.isLessThan(oe.tileID)?-1:1))}const U=this.crossTileSymbolIndex.addLayer(j,B[j.source],u.center.lng);L=L||U}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((C=C||this._layerOrderChanged||_===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(o.h.now(),u.zoom))&&(this.pauseablePlacement=new Bl(u,this.map.terrain,this._order,C,p,_,w,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,B),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(o.h.now()),R=!0),L&&this.pauseablePlacement.placement.setStale()),R||L)for(const N of this._order){const j=this._layers[N];j.type==="symbol"&&this.placement.updateLayerOpacities(j,B[j.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(o.h.now())}_releaseSymbolFadeTiles(){for(const u in this.sourceCaches)this.sourceCaches[u].releaseSymbolFadeTiles()}getImages(u,p,_){this.imageManager.getImages(p.icons,_),this._updateTilesForChangedImages();const w=this.sourceCaches[p.source];w&&w.setDependencies(p.tileID.key,p.type,p.icons)}getGlyphs(u,p,_){this.glyphManager.getGlyphs(p.stacks,_);const w=this.sourceCaches[p.source];w&&w.setDependencies(p.tileID.key,p.type,[""])}getResource(u,p,_){return o.m(p,_)}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(u,p={}){this._checkLoaded(),u&&this._validate(o.y.glyphs,"glyphs",u,null,p)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=u,this.glyphManager.entries={},this.glyphManager.setURL(u))}addSprite(u,p,_={},w){this._checkLoaded();const C=[{id:u,url:p}],L=[...Z(this.stylesheet.sprite),...C];this._validate(o.y.sprite,"sprite",L,null,_)||(this.stylesheet.sprite=L,this._loadSprite(C,!0,w))}removeSprite(u){this._checkLoaded();const p=Z(this.stylesheet.sprite);if(p.find(_=>_.id===u)){if(this._spritesImagesIds[u])for(const _ of this._spritesImagesIds[u])this.imageManager.removeImage(_),this._changedImages[_]=!0;p.splice(p.findIndex(_=>_.id===u),1),this.stylesheet.sprite=p.length>0?p:void 0,delete this._spritesImagesIds[u],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new o.k("data",{dataType:"style"}))}else this.fire(new o.j(new Error(`Sprite "${u}" doesn't exists on this map.`)))}getSprite(){return Z(this.stylesheet.sprite)}setSprite(u,p={},_){this._checkLoaded(),u&&this._validate(o.y.sprite,"sprite",u,null,p)||(this.stylesheet.sprite=u,u?this._loadSprite(u,!0,_):(this._unloadSprite(),_&&_(null)))}}oi.registerForPluginStateChange=o.aK;var yh=o.Q([{name:"a_pos",type:"Int16",components:2}]),$l="attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_depth;void main() {float extent=8192.0;float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/extent;gl_Position=u_matrix*vec4(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}";const pn={prelude:Dr(`#ifdef GL_ES +precision mediump float; +#else +#if !defined(lowp) +#define lowp +#endif +#if !defined(mediump) +#define mediump +#endif +#if !defined(highp) +#define highp +#endif +#endif +`,`#ifdef GL_ES +precision highp float; +#else +#if !defined(lowp) +#define lowp +#endif +#if !defined(mediump) +#define mediump +#endif +#if !defined(highp) +#define highp +#endif +#endif +vec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0 +);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;} +#ifdef TERRAIN3D +uniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth; +#endif +const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) { +#ifdef TERRAIN3D +highp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0)); +#else +return 1.0; +#endif +}float calculate_visibility(vec4 pos) { +#ifdef TERRAIN3D +vec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0; +#else +return 1.0; +#endif +}float ele(vec2 pos) { +#ifdef TERRAIN3D +vec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a; +#else +return 0.0; +#endif +}float get_elevation(vec2 pos) { +#ifdef TERRAIN3D +vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration; +#else +return 0.0; +#endif +}`),background:Dr(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:Dr(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:Dr(`varying vec3 v_data;varying float v_visibility; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define mediump float radius +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define highp vec4 stroke_color +#pragma mapbox: define mediump float stroke_width +#pragma mapbox: define lowp float stroke_opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize mediump float radius +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize highp vec4 stroke_color +#pragma mapbox: initialize mediump float stroke_width +#pragma mapbox: initialize lowp float stroke_opacity +vec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define mediump float radius +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define highp vec4 stroke_color +#pragma mapbox: define mediump float stroke_width +#pragma mapbox: define lowp float stroke_opacity +void main(void) { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize mediump float radius +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize highp vec4 stroke_color +#pragma mapbox: initialize mediump float stroke_width +#pragma mapbox: initialize lowp float stroke_opacity +vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:Dr("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:Dr(`uniform highp float u_intensity;varying vec2 v_extrude; +#pragma mapbox: define highp float weight +#define GAUSS_COEF 0.3989422804014327 +void main() { +#pragma mapbox: initialize highp float weight +float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude; +#pragma mapbox: define highp float weight +#pragma mapbox: define mediump float radius +const highp float ZERO=1.0/255.0/16.0; +#define GAUSS_COEF 0.3989422804014327 +void main(void) { +#pragma mapbox: initialize highp float weight +#pragma mapbox: initialize mediump float radius +vec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}`),heatmapTexture:Dr(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(0.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:Dr("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:Dr("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:Dr("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:Dr(`#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float opacity +gl_FragColor=color*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec2 a_pos;uniform mat4 u_matrix; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float opacity +gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:Dr(`varying vec2 v_pos; +#pragma mapbox: define highp vec4 outline_color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 outline_color +#pragma mapbox: initialize lowp float opacity +float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos; +#pragma mapbox: define highp vec4 outline_color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 outline_color +#pragma mapbox: initialize lowp float opacity +gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:Dr(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:Dr(`#ifdef GL_ES +precision highp float; +#endif +uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:Dr(`varying vec4 v_color;void main() {gl_FragColor=v_color; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed; +#ifdef TERRAIN3D +attribute vec2 a_centroid; +#endif +varying vec4 v_color; +#pragma mapbox: define highp float base +#pragma mapbox: define highp float height +#pragma mapbox: define highp vec4 color +void main() { +#pragma mapbox: initialize highp float base +#pragma mapbox: initialize highp float height +#pragma mapbox: initialize highp vec4 color +vec3 normal=a_normal_ed.xyz; +#ifdef TERRAIN3D +float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); +#else +float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; +#endif +base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:Dr(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed; +#ifdef TERRAIN3D +attribute vec2 a_centroid; +#endif +varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to; +#ifdef TERRAIN3D +float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); +#else +float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; +#endif +base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 +? a_pos +: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:Dr(`#ifdef GL_ES +precision highp float; +#endif +uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:Dr(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent; +#define PI 3.141592653589793 +void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:Dr(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_width2=vec2(outset,inset);}`),lineGradient:Dr(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_width2=vec2(outset,inset);}`),linePattern:Dr(`#ifdef GL_ES +precision highp float; +#endif +uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:Dr(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:Dr(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:Dr(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity; +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:Dr(`#define SDF_PX 8.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:Dr(`#define SDF_PX 8.0 +#define SDF 1.0 +#define ICON 0.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:Dr("uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}",$l),terrainDepth:Dr("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}",$l),terrainCoords:Dr("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}",$l)};function Dr(S,u){const p=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,_=u.match(/attribute ([\w]+) ([\w]+)/g),w=S.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),C=u.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),L=C?C.concat(w):w,R={};return{fragmentSource:S=S.replace(p,(B,N,j,U,J)=>(R[J]=!0,N==="define"?` +#ifndef HAS_UNIFORM_u_${J} +varying ${j} ${U} ${J}; +#else +uniform ${j} ${U} u_${J}; +#endif +`:` +#ifdef HAS_UNIFORM_u_${J} + ${j} ${U} ${J} = u_${J}; +#endif +`)),vertexSource:u=u.replace(p,(B,N,j,U,J)=>{const se=U==="float"?"vec2":"vec4",oe=J.match(/color/)?"color":se;return R[J]?N==="define"?` +#ifndef HAS_UNIFORM_u_${J} +uniform lowp float u_${J}_t; +attribute ${j} ${se} a_${J}; +varying ${j} ${U} ${J}; +#else +uniform ${j} ${U} u_${J}; +#endif +`:oe==="vec4"?` +#ifndef HAS_UNIFORM_u_${J} + ${J} = a_${J}; +#else + ${j} ${U} ${J} = u_${J}; +#endif +`:` +#ifndef HAS_UNIFORM_u_${J} + ${J} = unpack_mix_${oe}(a_${J}, u_${J}_t); +#else + ${j} ${U} ${J} = u_${J}; +#endif +`:N==="define"?` +#ifndef HAS_UNIFORM_u_${J} +uniform lowp float u_${J}_t; +attribute ${j} ${se} a_${J}; +#else +uniform ${j} ${U} u_${J}; +#endif +`:oe==="vec4"?` +#ifndef HAS_UNIFORM_u_${J} + ${j} ${U} ${J} = a_${J}; +#else + ${j} ${U} ${J} = u_${J}; +#endif +`:` +#ifndef HAS_UNIFORM_u_${J} + ${j} ${U} ${J} = unpack_mix_${oe}(a_${J}, u_${J}_t); +#else + ${j} ${U} ${J} = u_${J}; +#endif +`}),staticAttributes:_,staticUniforms:L}}class Vs{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(u,p,_,w,C,L,R,B,N){this.context=u;let j=this.boundPaintVertexBuffers.length!==w.length;for(let U=0;!j&&U({u_depth:new o.aL(je,Xe.u_depth),u_terrain:new o.aL(je,Xe.u_terrain),u_terrain_dim:new o.aM(je,Xe.u_terrain_dim),u_terrain_matrix:new o.aN(je,Xe.u_terrain_matrix),u_terrain_unpack:new o.aO(je,Xe.u_terrain_unpack),u_terrain_exaggeration:new o.aM(je,Xe.u_terrain_exaggeration)}))(u,Ne),this.binderUniforms=_?_.getUniforms(u,Ne):[]}draw(u,p,_,w,C,L,R,B,N,j,U,J,se,oe,fe,ie,Ae,Be){const ye=u.gl;if(this.failedToCreate)return;if(u.program.set(this.program),u.setDepthMode(_),u.setStencilMode(w),u.setColorMode(C),u.setCullFace(L),B){u.activeTexture.set(ye.TEXTURE2),ye.bindTexture(ye.TEXTURE_2D,B.depthTexture),u.activeTexture.set(ye.TEXTURE3),ye.bindTexture(ye.TEXTURE_2D,B.texture);for(const Ne in this.terrainUniforms)this.terrainUniforms[Ne].set(B[Ne])}for(const Ne in this.fixedUniforms)this.fixedUniforms[Ne].set(R[Ne]);fe&&fe.setUniforms(u,this.binderUniforms,se,{zoom:oe});let Me=0;switch(p){case ye.LINES:Me=2;break;case ye.TRIANGLES:Me=3;break;case ye.LINE_STRIP:Me=1}for(const Ne of J.get()){const je=Ne.vaos||(Ne.vaos={});(je[N]||(je[N]=new Vs)).bind(u,this,j,fe?fe.getPaintVertexBuffers():[],U,Ne.vertexOffset,ie,Ae,Be),ye.drawElements(p,Ne.primitiveLength*Me,ye.UNSIGNED_SHORT,Ne.primitiveOffset*Me*2)}}}function Ca(S,u,p){const _=1/Ee(p,1,u.transform.tileZoom),w=Math.pow(2,p.tileID.overscaledZ),C=p.tileSize*Math.pow(2,u.transform.tileZoom)/w,L=C*(p.tileID.canonical.x+p.tileID.wrap*w),R=C*p.tileID.canonical.y;return{u_image:0,u_texsize:p.imageAtlasTexture.size,u_scale:[_,S.fromScale,S.toScale],u_fade:S.t,u_pixel_coord_upper:[L>>16,R>>16],u_pixel_coord_lower:[65535&L,65535&R]}}const Ad=(S,u,p,_)=>{const w=u.style.light,C=w.properties.get("position"),L=[C.x,C.y,C.z],R=function(){var N=new o.A(9);return o.A!=Float32Array&&(N[1]=0,N[2]=0,N[3]=0,N[5]=0,N[6]=0,N[7]=0),N[0]=1,N[4]=1,N[8]=1,N}();w.properties.get("anchor")==="viewport"&&function(N,j){var U=Math.sin(j),J=Math.cos(j);N[0]=J,N[1]=U,N[2]=0,N[3]=-U,N[4]=J,N[5]=0,N[6]=0,N[7]=0,N[8]=1}(R,-u.transform.angle),function(N,j,U){var J=j[0],se=j[1],oe=j[2];N[0]=J*U[0]+se*U[3]+oe*U[6],N[1]=J*U[1]+se*U[4]+oe*U[7],N[2]=J*U[2]+se*U[5]+oe*U[8]}(L,L,R);const B=w.properties.get("color");return{u_matrix:S,u_lightpos:L,u_lightintensity:w.properties.get("intensity"),u_lightcolor:[B.r,B.g,B.b],u_vertical_gradient:+p,u_opacity:_}},cs=(S,u,p,_,w,C,L)=>o.e(Ad(S,u,p,_),Ca(C,u,L),{u_height_factor:-Math.pow(2,w.overscaledZ)/L.tileSize/8}),ig=S=>({u_matrix:S}),Md=(S,u,p,_)=>o.e(ig(S),Ca(p,u,_)),bh=(S,u)=>({u_matrix:S,u_world:u}),xh=(S,u,p,_,w)=>o.e(Md(S,u,p,_),{u_world:w}),hs=(S,u,p,_)=>{const w=S.transform;let C,L;if(_.paint.get("circle-pitch-alignment")==="map"){const R=Ee(p,1,w.zoom);C=!0,L=[R,R]}else C=!1,L=w.pixelsToGLUnits;return{u_camera_to_center_distance:w.cameraToCenterDistance,u_scale_with_map:+(_.paint.get("circle-pitch-scale")==="map"),u_matrix:S.translatePosMatrix(u.posMatrix,p,_.paint.get("circle-translate"),_.paint.get("circle-translate-anchor")),u_pitch_with_map:+C,u_device_pixel_ratio:S.pixelRatio,u_extrude_scale:L}},Pd=(S,u,p)=>{const _=Ee(p,1,u.zoom),w=Math.pow(2,u.zoom-p.tileID.overscaledZ),C=p.tileID.overscaleFactor();return{u_matrix:S,u_camera_to_center_distance:u.cameraToCenterDistance,u_pixels_to_tile_units:_,u_extrude_scale:[u.pixelsToGLUnits[0]/(_*w),u.pixelsToGLUnits[1]/(_*w)],u_overscale_factor:C}},$u=(S,u,p=1)=>({u_matrix:S,u_color:u,u_overlay:0,u_overlay_scale:p}),ag=S=>({u_matrix:S}),Q1=(S,u,p,_)=>({u_matrix:S,u_extrude_scale:Ee(u,1,p),u_intensity:_});function Id(S,u){const p=Math.pow(2,u.canonical.z),_=u.canonical.y;return[new o.U(0,_/p).toLngLat().lat,new o.U(0,(_+1)/p).toLngLat().lat]}const Dd=(S,u,p,_)=>{const w=S.transform;return{u_matrix:wh(S,u,p,_),u_ratio:1/Ee(u,1,w.zoom),u_device_pixel_ratio:S.pixelRatio,u_units_to_pixels:[1/w.pixelsToGLUnits[0],1/w.pixelsToGLUnits[1]]}},og=(S,u,p,_,w)=>o.e(Dd(S,u,p,w),{u_image:0,u_image_height:_}),eb=(S,u,p,_,w)=>{const C=S.transform,L=lg(u,C);return{u_matrix:wh(S,u,p,w),u_texsize:u.imageAtlasTexture.size,u_ratio:1/Ee(u,1,C.zoom),u_device_pixel_ratio:S.pixelRatio,u_image:0,u_scale:[L,_.fromScale,_.toScale],u_fade:_.t,u_units_to_pixels:[1/C.pixelsToGLUnits[0],1/C.pixelsToGLUnits[1]]}},sg=(S,u,p,_,w,C)=>{const L=S.lineAtlas,R=lg(u,S.transform),B=p.layout.get("line-cap")==="round",N=L.getDash(_.from,B),j=L.getDash(_.to,B),U=N.width*w.fromScale,J=j.width*w.toScale;return o.e(Dd(S,u,p,C),{u_patternscale_a:[R/U,-N.height/2],u_patternscale_b:[R/J,-j.height/2],u_sdfgamma:L.width/(256*Math.min(U,J)*S.pixelRatio)/2,u_image:0,u_tex_y_a:N.y,u_tex_y_b:j.y,u_mix:w.t})};function lg(S,u){return 1/Ee(S,1,u.tileZoom)}function wh(S,u,p,_){return S.translatePosMatrix(_?_.posMatrix:u.tileID.posMatrix,u,p.paint.get("line-translate"),p.paint.get("line-translate-anchor"))}const ug=(S,u,p,_,w)=>{return{u_matrix:S,u_tl_parent:u,u_scale_parent:p,u_buffer_scale:1,u_fade_t:_.mix,u_opacity:_.opacity*w.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:w.paint.get("raster-brightness-min"),u_brightness_high:w.paint.get("raster-brightness-max"),u_saturation_factor:(L=w.paint.get("raster-saturation"),L>0?1-1/(1.001-L):-L),u_contrast_factor:(C=w.paint.get("raster-contrast"),C>0?1/(1-C):1+C),u_spin_weights:cg(w.paint.get("raster-hue-rotate"))};var C,L};function cg(S){S*=Math.PI/180;const u=Math.sin(S),p=Math.cos(S);return[(2*p+1)/3,(-Math.sqrt(3)*u-p+1)/3,(Math.sqrt(3)*u-p+1)/3]}const Ld=(S,u,p,_,w,C,L,R,B,N)=>{const j=w.transform;return{u_is_size_zoom_constant:+(S==="constant"||S==="source"),u_is_size_feature_constant:+(S==="constant"||S==="camera"),u_size_t:u?u.uSizeT:0,u_size:u?u.uSize:0,u_camera_to_center_distance:j.cameraToCenterDistance,u_pitch:j.pitch/360*2*Math.PI,u_rotate_symbol:+p,u_aspect_ratio:j.width/j.height,u_fade_change:w.options.fadeDuration?w.symbolFadeChange:1,u_matrix:C,u_label_plane_matrix:L,u_coord_matrix:R,u_is_text:+B,u_pitch_with_map:+_,u_texsize:N,u_texture:0}},kd=(S,u,p,_,w,C,L,R,B,N,j)=>{const U=w.transform;return o.e(Ld(S,u,p,_,w,C,L,R,B,N),{u_gamma_scale:_?Math.cos(U._pitch)*U.cameraToCenterDistance:1,u_device_pixel_ratio:w.pixelRatio,u_is_halo:+j})},js=(S,u,p,_,w,C,L,R,B,N)=>o.e(kd(S,u,p,_,w,C,L,R,!0,B,!0),{u_texsize_icon:N,u_texture_icon:1}),Sh=(S,u,p)=>({u_matrix:S,u_opacity:u,u_color:p}),Ea=(S,u,p,_,w,C)=>o.e(function(L,R,B,N){const j=B.imageManager.getPattern(L.from.toString()),U=B.imageManager.getPattern(L.to.toString()),{width:J,height:se}=B.imageManager.getPixelSize(),oe=Math.pow(2,N.tileID.overscaledZ),fe=N.tileSize*Math.pow(2,B.transform.tileZoom)/oe,ie=fe*(N.tileID.canonical.x+N.tileID.wrap*oe),Ae=fe*N.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:j.tl,u_pattern_br_a:j.br,u_pattern_tl_b:U.tl,u_pattern_br_b:U.br,u_texsize:[J,se],u_mix:R.t,u_pattern_size_a:j.displaySize,u_pattern_size_b:U.displaySize,u_scale_a:R.fromScale,u_scale_b:R.toScale,u_tile_units_to_pixels:1/Ee(N,1,B.transform.tileZoom),u_pixel_coord_upper:[ie>>16,Ae>>16],u_pixel_coord_lower:[65535&ie,65535&Ae]}}(_,C,p,w),{u_matrix:S,u_opacity:u}),Th={fillExtrusion:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_lightpos:new o.aP(S,u.u_lightpos),u_lightintensity:new o.aM(S,u.u_lightintensity),u_lightcolor:new o.aP(S,u.u_lightcolor),u_vertical_gradient:new o.aM(S,u.u_vertical_gradient),u_opacity:new o.aM(S,u.u_opacity)}),fillExtrusionPattern:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_lightpos:new o.aP(S,u.u_lightpos),u_lightintensity:new o.aM(S,u.u_lightintensity),u_lightcolor:new o.aP(S,u.u_lightcolor),u_vertical_gradient:new o.aM(S,u.u_vertical_gradient),u_height_factor:new o.aM(S,u.u_height_factor),u_image:new o.aL(S,u.u_image),u_texsize:new o.aQ(S,u.u_texsize),u_pixel_coord_upper:new o.aQ(S,u.u_pixel_coord_upper),u_pixel_coord_lower:new o.aQ(S,u.u_pixel_coord_lower),u_scale:new o.aP(S,u.u_scale),u_fade:new o.aM(S,u.u_fade),u_opacity:new o.aM(S,u.u_opacity)}),fill:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix)}),fillPattern:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_image:new o.aL(S,u.u_image),u_texsize:new o.aQ(S,u.u_texsize),u_pixel_coord_upper:new o.aQ(S,u.u_pixel_coord_upper),u_pixel_coord_lower:new o.aQ(S,u.u_pixel_coord_lower),u_scale:new o.aP(S,u.u_scale),u_fade:new o.aM(S,u.u_fade)}),fillOutline:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_world:new o.aQ(S,u.u_world)}),fillOutlinePattern:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_world:new o.aQ(S,u.u_world),u_image:new o.aL(S,u.u_image),u_texsize:new o.aQ(S,u.u_texsize),u_pixel_coord_upper:new o.aQ(S,u.u_pixel_coord_upper),u_pixel_coord_lower:new o.aQ(S,u.u_pixel_coord_lower),u_scale:new o.aP(S,u.u_scale),u_fade:new o.aM(S,u.u_fade)}),circle:(S,u)=>({u_camera_to_center_distance:new o.aM(S,u.u_camera_to_center_distance),u_scale_with_map:new o.aL(S,u.u_scale_with_map),u_pitch_with_map:new o.aL(S,u.u_pitch_with_map),u_extrude_scale:new o.aQ(S,u.u_extrude_scale),u_device_pixel_ratio:new o.aM(S,u.u_device_pixel_ratio),u_matrix:new o.aN(S,u.u_matrix)}),collisionBox:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_camera_to_center_distance:new o.aM(S,u.u_camera_to_center_distance),u_pixels_to_tile_units:new o.aM(S,u.u_pixels_to_tile_units),u_extrude_scale:new o.aQ(S,u.u_extrude_scale),u_overscale_factor:new o.aM(S,u.u_overscale_factor)}),collisionCircle:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_inv_matrix:new o.aN(S,u.u_inv_matrix),u_camera_to_center_distance:new o.aM(S,u.u_camera_to_center_distance),u_viewport_size:new o.aQ(S,u.u_viewport_size)}),debug:(S,u)=>({u_color:new o.aR(S,u.u_color),u_matrix:new o.aN(S,u.u_matrix),u_overlay:new o.aL(S,u.u_overlay),u_overlay_scale:new o.aM(S,u.u_overlay_scale)}),clippingMask:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix)}),heatmap:(S,u)=>({u_extrude_scale:new o.aM(S,u.u_extrude_scale),u_intensity:new o.aM(S,u.u_intensity),u_matrix:new o.aN(S,u.u_matrix)}),heatmapTexture:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_world:new o.aQ(S,u.u_world),u_image:new o.aL(S,u.u_image),u_color_ramp:new o.aL(S,u.u_color_ramp),u_opacity:new o.aM(S,u.u_opacity)}),hillshade:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_image:new o.aL(S,u.u_image),u_latrange:new o.aQ(S,u.u_latrange),u_light:new o.aQ(S,u.u_light),u_shadow:new o.aR(S,u.u_shadow),u_highlight:new o.aR(S,u.u_highlight),u_accent:new o.aR(S,u.u_accent)}),hillshadePrepare:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_image:new o.aL(S,u.u_image),u_dimension:new o.aQ(S,u.u_dimension),u_zoom:new o.aM(S,u.u_zoom),u_unpack:new o.aO(S,u.u_unpack)}),line:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_ratio:new o.aM(S,u.u_ratio),u_device_pixel_ratio:new o.aM(S,u.u_device_pixel_ratio),u_units_to_pixels:new o.aQ(S,u.u_units_to_pixels)}),lineGradient:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_ratio:new o.aM(S,u.u_ratio),u_device_pixel_ratio:new o.aM(S,u.u_device_pixel_ratio),u_units_to_pixels:new o.aQ(S,u.u_units_to_pixels),u_image:new o.aL(S,u.u_image),u_image_height:new o.aM(S,u.u_image_height)}),linePattern:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_texsize:new o.aQ(S,u.u_texsize),u_ratio:new o.aM(S,u.u_ratio),u_device_pixel_ratio:new o.aM(S,u.u_device_pixel_ratio),u_image:new o.aL(S,u.u_image),u_units_to_pixels:new o.aQ(S,u.u_units_to_pixels),u_scale:new o.aP(S,u.u_scale),u_fade:new o.aM(S,u.u_fade)}),lineSDF:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_ratio:new o.aM(S,u.u_ratio),u_device_pixel_ratio:new o.aM(S,u.u_device_pixel_ratio),u_units_to_pixels:new o.aQ(S,u.u_units_to_pixels),u_patternscale_a:new o.aQ(S,u.u_patternscale_a),u_patternscale_b:new o.aQ(S,u.u_patternscale_b),u_sdfgamma:new o.aM(S,u.u_sdfgamma),u_image:new o.aL(S,u.u_image),u_tex_y_a:new o.aM(S,u.u_tex_y_a),u_tex_y_b:new o.aM(S,u.u_tex_y_b),u_mix:new o.aM(S,u.u_mix)}),raster:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_tl_parent:new o.aQ(S,u.u_tl_parent),u_scale_parent:new o.aM(S,u.u_scale_parent),u_buffer_scale:new o.aM(S,u.u_buffer_scale),u_fade_t:new o.aM(S,u.u_fade_t),u_opacity:new o.aM(S,u.u_opacity),u_image0:new o.aL(S,u.u_image0),u_image1:new o.aL(S,u.u_image1),u_brightness_low:new o.aM(S,u.u_brightness_low),u_brightness_high:new o.aM(S,u.u_brightness_high),u_saturation_factor:new o.aM(S,u.u_saturation_factor),u_contrast_factor:new o.aM(S,u.u_contrast_factor),u_spin_weights:new o.aP(S,u.u_spin_weights)}),symbolIcon:(S,u)=>({u_is_size_zoom_constant:new o.aL(S,u.u_is_size_zoom_constant),u_is_size_feature_constant:new o.aL(S,u.u_is_size_feature_constant),u_size_t:new o.aM(S,u.u_size_t),u_size:new o.aM(S,u.u_size),u_camera_to_center_distance:new o.aM(S,u.u_camera_to_center_distance),u_pitch:new o.aM(S,u.u_pitch),u_rotate_symbol:new o.aL(S,u.u_rotate_symbol),u_aspect_ratio:new o.aM(S,u.u_aspect_ratio),u_fade_change:new o.aM(S,u.u_fade_change),u_matrix:new o.aN(S,u.u_matrix),u_label_plane_matrix:new o.aN(S,u.u_label_plane_matrix),u_coord_matrix:new o.aN(S,u.u_coord_matrix),u_is_text:new o.aL(S,u.u_is_text),u_pitch_with_map:new o.aL(S,u.u_pitch_with_map),u_texsize:new o.aQ(S,u.u_texsize),u_texture:new o.aL(S,u.u_texture)}),symbolSDF:(S,u)=>({u_is_size_zoom_constant:new o.aL(S,u.u_is_size_zoom_constant),u_is_size_feature_constant:new o.aL(S,u.u_is_size_feature_constant),u_size_t:new o.aM(S,u.u_size_t),u_size:new o.aM(S,u.u_size),u_camera_to_center_distance:new o.aM(S,u.u_camera_to_center_distance),u_pitch:new o.aM(S,u.u_pitch),u_rotate_symbol:new o.aL(S,u.u_rotate_symbol),u_aspect_ratio:new o.aM(S,u.u_aspect_ratio),u_fade_change:new o.aM(S,u.u_fade_change),u_matrix:new o.aN(S,u.u_matrix),u_label_plane_matrix:new o.aN(S,u.u_label_plane_matrix),u_coord_matrix:new o.aN(S,u.u_coord_matrix),u_is_text:new o.aL(S,u.u_is_text),u_pitch_with_map:new o.aL(S,u.u_pitch_with_map),u_texsize:new o.aQ(S,u.u_texsize),u_texture:new o.aL(S,u.u_texture),u_gamma_scale:new o.aM(S,u.u_gamma_scale),u_device_pixel_ratio:new o.aM(S,u.u_device_pixel_ratio),u_is_halo:new o.aL(S,u.u_is_halo)}),symbolTextAndIcon:(S,u)=>({u_is_size_zoom_constant:new o.aL(S,u.u_is_size_zoom_constant),u_is_size_feature_constant:new o.aL(S,u.u_is_size_feature_constant),u_size_t:new o.aM(S,u.u_size_t),u_size:new o.aM(S,u.u_size),u_camera_to_center_distance:new o.aM(S,u.u_camera_to_center_distance),u_pitch:new o.aM(S,u.u_pitch),u_rotate_symbol:new o.aL(S,u.u_rotate_symbol),u_aspect_ratio:new o.aM(S,u.u_aspect_ratio),u_fade_change:new o.aM(S,u.u_fade_change),u_matrix:new o.aN(S,u.u_matrix),u_label_plane_matrix:new o.aN(S,u.u_label_plane_matrix),u_coord_matrix:new o.aN(S,u.u_coord_matrix),u_is_text:new o.aL(S,u.u_is_text),u_pitch_with_map:new o.aL(S,u.u_pitch_with_map),u_texsize:new o.aQ(S,u.u_texsize),u_texsize_icon:new o.aQ(S,u.u_texsize_icon),u_texture:new o.aL(S,u.u_texture),u_texture_icon:new o.aL(S,u.u_texture_icon),u_gamma_scale:new o.aM(S,u.u_gamma_scale),u_device_pixel_ratio:new o.aM(S,u.u_device_pixel_ratio),u_is_halo:new o.aL(S,u.u_is_halo)}),background:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_opacity:new o.aM(S,u.u_opacity),u_color:new o.aR(S,u.u_color)}),backgroundPattern:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_opacity:new o.aM(S,u.u_opacity),u_image:new o.aL(S,u.u_image),u_pattern_tl_a:new o.aQ(S,u.u_pattern_tl_a),u_pattern_br_a:new o.aQ(S,u.u_pattern_br_a),u_pattern_tl_b:new o.aQ(S,u.u_pattern_tl_b),u_pattern_br_b:new o.aQ(S,u.u_pattern_br_b),u_texsize:new o.aQ(S,u.u_texsize),u_mix:new o.aM(S,u.u_mix),u_pattern_size_a:new o.aQ(S,u.u_pattern_size_a),u_pattern_size_b:new o.aQ(S,u.u_pattern_size_b),u_scale_a:new o.aM(S,u.u_scale_a),u_scale_b:new o.aM(S,u.u_scale_b),u_pixel_coord_upper:new o.aQ(S,u.u_pixel_coord_upper),u_pixel_coord_lower:new o.aQ(S,u.u_pixel_coord_lower),u_tile_units_to_pixels:new o.aM(S,u.u_tile_units_to_pixels)}),terrain:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_texture:new o.aL(S,u.u_texture),u_ele_delta:new o.aM(S,u.u_ele_delta)}),terrainDepth:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_ele_delta:new o.aM(S,u.u_ele_delta)}),terrainCoords:(S,u)=>({u_matrix:new o.aN(S,u.u_matrix),u_texture:new o.aL(S,u.u_texture),u_terrain_coords_id:new o.aM(S,u.u_terrain_coords_id),u_ele_delta:new o.aM(S,u.u_ele_delta)})};class Ch{constructor(u,p,_){this.context=u;const w=u.gl;this.buffer=w.createBuffer(),this.dynamicDraw=!!_,this.context.unbindVAO(),u.bindElementBuffer.set(this.buffer),w.bufferData(w.ELEMENT_ARRAY_BUFFER,p.arrayBuffer,this.dynamicDraw?w.DYNAMIC_DRAW:w.STATIC_DRAW),this.dynamicDraw||delete p.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(u){const p=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),p.bufferSubData(p.ELEMENT_ARRAY_BUFFER,0,u.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const Nu={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Eh{constructor(u,p,_,w){this.length=p.length,this.attributes=_,this.itemSize=p.bytesPerElement,this.dynamicDraw=w,this.context=u;const C=u.gl;this.buffer=C.createBuffer(),u.bindVertexBuffer.set(this.buffer),C.bufferData(C.ARRAY_BUFFER,p.arrayBuffer,this.dynamicDraw?C.DYNAMIC_DRAW:C.STATIC_DRAW),this.dynamicDraw||delete p.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(u){if(u.length!==this.length)throw new Error(`Length of new data is ${u.length}, which doesn't match current length of ${this.length}`);const p=this.context.gl;this.bind(),p.bufferSubData(p.ARRAY_BUFFER,0,u.arrayBuffer)}enableAttributes(u,p){for(let _=0;_0){const st=o.Z(),kt=Xe;o.aU(st,je.placementInvProjMatrix,S.transform.glCoordMatrix),o.aU(st,st,je.placementViewportMatrix),j.push({circleArray:Qe,circleOffset:J,transform:kt,invTransform:st,coord:Me}),U+=Qe.length/4,J=U}it&&N.draw(R,B.LINES,gr.disabled,vn.disabled,S.colorModeForRenderPass(),cn.disabled,Pd(Xe,S.transform,Ne),S.style.map.terrain&&S.style.map.terrain.getTerrainData(Me),p.id,it.layoutVertexBuffer,it.indexBuffer,it.segments,null,S.transform.zoom,null,null,it.collisionVertexBuffer)}if(!L||!j.length)return;const se=S.useProgram("collisionCircle"),oe=new o.aV;oe.resize(4*U),oe._trim();let fe=0;for(const ye of j)for(let Me=0;Me=0&&(oe[ie.associatedIconIndex]={shiftedAnchor:fr,angle:_t})}else ne(ie.numGlyphs,J)}if(N){se.clear();const fe=S.icon.placedSymbolArray;for(let ie=0;ieS.style.map.terrain.getElevation(it,ji,An):null,Wn=p.layout.get("text-rotation-alignment")==="map";ct(st,it.posMatrix,S,w,nn,io,ie,N,Wn,En)}const Xs=S.translatePosMatrix(it.posMatrix,Qe,C,L),Yl=Ae||w&&je||vs?Ud:nn,yi=S.translatePosMatrix(io,Qe,C,L,!0),li=_t&&p.paint.get(w?"text-halo-width":"icon-halo-width").constantOr(1)!==0;let Ci;Ci=_t?st.iconsInText?js(qt.kind,hr,Be,ie,S,Xs,Yl,yi,dr,qn):kd(qt.kind,hr,Be,ie,S,Xs,Yl,yi,w,dr,!0):Ld(qt.kind,hr,Be,ie,S,Xs,Yl,yi,w,dr);const Ys={program:Hr,buffers:kt,uniformValues:Ci,atlasTexture:Cn,atlasTextureIcon:Rn,atlasInterpolation:Yr,atlasInterpolationIcon:si,isSDF:_t,hasHalo:li};if(ye&&st.canOverlap){Me=!0;const En=kt.segments.get();for(const Wn of En)Xe.push({segments:new o.S([Wn]),sortKey:Wn.sortKey,state:Ys,terrainData:ar})}else Xe.push({segments:kt.segments,sortKey:0,state:Ys,terrainData:ar})}Me&&Xe.sort((it,Qe)=>it.sortKey-Qe.sortKey);for(const it of Xe){const Qe=it.state;if(J.activeTexture.set(se.TEXTURE0),Qe.atlasTexture.bind(Qe.atlasInterpolation,se.CLAMP_TO_EDGE),Qe.atlasTextureIcon&&(J.activeTexture.set(se.TEXTURE1),Qe.atlasTextureIcon&&Qe.atlasTextureIcon.bind(Qe.atlasInterpolationIcon,se.CLAMP_TO_EDGE)),Qe.isSDF){const st=Qe.uniformValues;Qe.hasHalo&&(st.u_is_halo=1,qd(Qe.buffers,it.segments,p,S,Qe.program,Ne,j,U,st,it.terrainData)),st.u_is_halo=0}qd(Qe.buffers,it.segments,p,S,Qe.program,Ne,j,U,Qe.uniformValues,it.terrainData)}}function qd(S,u,p,_,w,C,L,R,B,N){const j=_.context;w.draw(j,j.gl.TRIANGLES,C,L,R,cn.disabled,B,N,p.id,S.layoutVertexBuffer,S.indexBuffer,u,p.paint,_.transform.zoom,S.programConfigurations.get(p.id),S.dynamicLayoutVertexBuffer,S.opacityVertexBuffer)}function ju(S,u,p,_,w){if(!p||!_||!_.imageAtlas)return;const C=_.imageAtlas.patternPositions;let L=C[p.to.toString()],R=C[p.from.toString()];if(!L&&R&&(L=R),!R&&L&&(R=L),!L||!R){const B=w.getPaintProperty(u);L=C[B],R=C[B]}L&&R&&S.setConstantPatternPositions(L,R)}function Hu(S,u,p,_,w,C,L){const R=S.context.gl,B="fill-pattern",N=p.paint.get(B),j=N&&N.constantOr(1),U=p.getCrossfadeParameters();let J,se,oe,fe,ie;L?(se=j&&!p.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",J=R.LINES):(se=j?"fillPattern":"fill",J=R.TRIANGLES);const Ae=N.constantOr(null);for(const Be of _){const ye=u.getTile(Be);if(j&&!ye.patternsLoaded())continue;const Me=ye.getBucket(p);if(!Me)continue;const Ne=Me.programConfigurations.get(p.id),je=S.useProgram(se,Ne),Xe=S.style.map.terrain&&S.style.map.terrain.getTerrainData(Be);j&&(S.context.activeTexture.set(R.TEXTURE0),ye.imageAtlasTexture.bind(R.LINEAR,R.CLAMP_TO_EDGE),Ne.updatePaintBuffers(U)),ju(Ne,B,Ae,ye,p);const it=Xe?Be:null,Qe=S.translatePosMatrix(it?it.posMatrix:Be.posMatrix,ye,p.paint.get("fill-translate"),p.paint.get("fill-translate-anchor"));if(L){fe=Me.indexBuffer2,ie=Me.segments2;const st=[R.drawingBufferWidth,R.drawingBufferHeight];oe=se==="fillOutlinePattern"&&j?xh(Qe,S,U,ye,st):bh(Qe,st)}else fe=Me.indexBuffer,ie=Me.segments,oe=j?Md(Qe,S,U,ye):ig(Qe);je.draw(S.context,J,w,S.stencilModeForClipping(Be),C,cn.disabled,oe,Xe,p.id,Me.layoutVertexBuffer,fe,ie,p.paint,S.transform.zoom,Ne)}}function Uu(S,u,p,_,w,C,L){const R=S.context,B=R.gl,N="fill-extrusion-pattern",j=p.paint.get(N),U=j.constantOr(1),J=p.getCrossfadeParameters(),se=p.paint.get("fill-extrusion-opacity"),oe=j.constantOr(null);for(const fe of _){const ie=u.getTile(fe),Ae=ie.getBucket(p);if(!Ae)continue;const Be=S.style.map.terrain&&S.style.map.terrain.getTerrainData(fe),ye=Ae.programConfigurations.get(p.id),Me=S.useProgram(U?"fillExtrusionPattern":"fillExtrusion",ye);U&&(S.context.activeTexture.set(B.TEXTURE0),ie.imageAtlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE),ye.updatePaintBuffers(J)),ju(ye,N,oe,ie,p);const Ne=S.translatePosMatrix(fe.posMatrix,ie,p.paint.get("fill-extrusion-translate"),p.paint.get("fill-extrusion-translate-anchor")),je=p.paint.get("fill-extrusion-vertical-gradient"),Xe=U?cs(Ne,S,je,se,fe,J,ie):Ad(Ne,S,je,se);Me.draw(R,R.gl.TRIANGLES,w,C,L,cn.backCCW,Xe,Be,p.id,Ae.layoutVertexBuffer,Ae.indexBuffer,Ae.segments,p.paint,S.transform.zoom,ye,S.style.map.terrain&&Ae.centroidVertexBuffer)}}function lb(S,u,p,_,w,C,L){const R=S.context,B=R.gl,N=p.fbo;if(!N)return;const j=S.useProgram("hillshade"),U=S.style.map.terrain&&S.style.map.terrain.getTerrainData(u);R.activeTexture.set(B.TEXTURE0),B.bindTexture(B.TEXTURE_2D,N.colorAttachment.get()),j.draw(R,B.TRIANGLES,w,C,L,cn.disabled,((J,se,oe,fe)=>{const ie=oe.paint.get("hillshade-shadow-color"),Ae=oe.paint.get("hillshade-highlight-color"),Be=oe.paint.get("hillshade-accent-color");let ye=oe.paint.get("hillshade-illumination-direction")*(Math.PI/180);oe.paint.get("hillshade-illumination-anchor")==="viewport"&&(ye-=J.transform.angle);const Me=!J.options.moving;return{u_matrix:fe?fe.posMatrix:J.transform.calculatePosMatrix(se.tileID.toUnwrapped(),Me),u_image:0,u_latrange:Id(0,se.tileID),u_light:[oe.paint.get("hillshade-exaggeration"),ye],u_shadow:ie,u_highlight:Ae,u_accent:Be}})(S,p,_,U?u:null),U,_.id,S.rasterBoundsBuffer,S.quadTriangleIndexBuffer,S.rasterBoundsSegments)}function Wd(S,u,p,_,w,C){const L=S.context,R=L.gl,B=u.dem;if(B&&B.data){const N=B.dim,j=B.stride,U=B.getPixels();if(L.activeTexture.set(R.TEXTURE1),L.pixelStoreUnpackPremultiplyAlpha.set(!1),u.demTexture=u.demTexture||S.getTileTexture(j),u.demTexture){const se=u.demTexture;se.update(U,{premultiply:!1}),se.bind(R.NEAREST,R.CLAMP_TO_EDGE)}else u.demTexture=new re(L,U,R.RGBA,{premultiply:!1}),u.demTexture.bind(R.NEAREST,R.CLAMP_TO_EDGE);L.activeTexture.set(R.TEXTURE0);let J=u.fbo;if(!J){const se=new re(L,{width:N,height:N,data:null},R.RGBA);se.bind(R.LINEAR,R.CLAMP_TO_EDGE),J=u.fbo=L.createFramebuffer(N,N,!0,!1),J.colorAttachment.set(se.texture)}L.bindFramebuffer.set(J.framebuffer),L.viewport.set([0,0,N,N]),S.useProgram("hillshadePrepare").draw(L,R.TRIANGLES,_,w,C,cn.disabled,((se,oe)=>{const fe=oe.stride,ie=o.Z();return o.aS(ie,0,o.N,-o.N,0,0,1),o.$(ie,ie,[0,-o.N,0]),{u_matrix:ie,u_image:1,u_dimension:[fe,fe],u_zoom:se.overscaledZ,u_unpack:oe.getUnpackVector()}})(u.tileID,B),null,p.id,S.rasterBoundsBuffer,S.quadTriangleIndexBuffer,S.rasterBoundsSegments),u.needsHillshadePrepare=!1}}function ub(S,u,p,_,w,C){const L=_.paint.get("raster-fade-duration");if(!C&&L>0){const R=o.h.now(),B=(R-S.timeAdded)/L,N=u?(R-u.timeAdded)/L:-1,j=p.getSource(),U=w.coveringZoomLevel({tileSize:j.tileSize,roundZoom:j.roundZoom}),J=!u||Math.abs(u.tileID.overscaledZ-U)>Math.abs(S.tileID.overscaledZ-U),se=J&&S.refreshedUponExpiration?1:o.ad(J?B:1-N,0,1);return S.refreshedUponExpiration&&B>=1&&(S.refreshedUponExpiration=!1),u?{opacity:1,mix:1-se}:{opacity:se,mix:0}}return{opacity:1,mix:0}}const yg=new o.aT(1,0,0,1),zh=new o.aT(0,1,0,1),Zd=new o.aT(0,0,1,1),_g=new o.aT(1,0,1,1),bg=new o.aT(0,1,1,1);function Gu(S,u,p,_){Fh(S,0,u+p/2,S.transform.width,p,_)}function Bh(S,u,p,_){Fh(S,u-p/2,0,p,S.transform.height,_)}function Fh(S,u,p,_,w,C){const L=S.context,R=L.gl;R.enable(R.SCISSOR_TEST),R.scissor(u*S.pixelRatio,p*S.pixelRatio,_*S.pixelRatio,w*S.pixelRatio),L.clear({color:C}),R.disable(R.SCISSOR_TEST)}function xg(S,u,p){const _=S.context,w=_.gl,C=p.posMatrix,L=S.useProgram("debug"),R=gr.disabled,B=vn.disabled,N=S.colorModeForRenderPass(),j="$debug",U=S.style.map.terrain&&S.style.map.terrain.getTerrainData(p);_.activeTexture.set(w.TEXTURE0);const J=u.getTileByID(p.key).latestRawTileData,se=Math.floor((J&&J.byteLength||0)/1024),oe=u.getTile(p).tileSize,fe=512/Math.min(oe,512)*(p.overscaledZ/S.transform.zoom)*.5;let ie=p.canonical.toString();p.overscaledZ!==p.canonical.z&&(ie+=` => ${p.overscaledZ}`),function(Ae,Be){Ae.initDebugOverlayCanvas();const ye=Ae.debugOverlayCanvas,Me=Ae.context.gl,Ne=Ae.debugOverlayCanvas.getContext("2d");Ne.clearRect(0,0,ye.width,ye.height),Ne.shadowColor="white",Ne.shadowBlur=2,Ne.lineWidth=1.5,Ne.strokeStyle="white",Ne.textBaseline="top",Ne.font="bold 36px Open Sans, sans-serif",Ne.fillText(Be,5,5),Ne.strokeText(Be,5,5),Ae.debugOverlayTexture.update(ye),Ae.debugOverlayTexture.bind(Me.LINEAR,Me.CLAMP_TO_EDGE)}(S,`${ie} ${se}kB`),L.draw(_,w.TRIANGLES,R,B,mn.alphaBlended,cn.disabled,$u(C,o.aT.transparent,fe),null,j,S.debugBuffer,S.quadTriangleIndexBuffer,S.debugSegments),L.draw(_,w.LINE_STRIP,R,B,N,cn.disabled,$u(C,o.aT.red),U,j,S.debugBuffer,S.tileBorderIndexBuffer,S.debugSegments)}function xn(S,u,p){const _=S.context,w=_.gl,C=S.colorModeForRenderPass(),L=new gr(w.LEQUAL,gr.ReadWrite,S.depthRangeFor3D),R=S.useProgram("terrain"),B=u.getTerrainMesh();_.bindFramebuffer.set(null),_.viewport.set([0,0,S.width,S.height]);for(const N of p){const j=S.renderToTexture.getTexture(N),U=u.getTerrainData(N.tileID);_.activeTexture.set(w.TEXTURE0),w.bindTexture(w.TEXTURE_2D,j.texture);const J={u_matrix:S.transform.calculatePosMatrix(N.tileID.toUnwrapped()),u_texture:0,u_ele_delta:u.getMeshFrameDelta(S.transform.zoom)};R.draw(_,w.TRIANGLES,L,vn.disabled,C,cn.backCCW,J,U,"terrain",B.vertexBuffer,B.indexBuffer,B.segments)}}class Gs{constructor(u,p){this.context=new sb(u),this.transform=p,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:o.Z(),renderTime:0},this.setup(),this.numSublayers=rt.maxUnderzooming+rt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new gh}resize(u,p,_){if(this.width=Math.floor(u*_),this.height=Math.floor(p*_),this.pixelRatio=_,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const w of this.style._order)this.style._layers[w].resize()}setup(){const u=this.context,p=new o.a_;p.emplaceBack(0,0),p.emplaceBack(o.N,0),p.emplaceBack(0,o.N),p.emplaceBack(o.N,o.N),this.tileExtentBuffer=u.createVertexBuffer(p,yh.members),this.tileExtentSegments=o.S.simpleSegment(0,0,4,2);const _=new o.a_;_.emplaceBack(0,0),_.emplaceBack(o.N,0),_.emplaceBack(0,o.N),_.emplaceBack(o.N,o.N),this.debugBuffer=u.createVertexBuffer(_,yh.members),this.debugSegments=o.S.simpleSegment(0,0,4,5);const w=new o.V;w.emplaceBack(0,0,0,0),w.emplaceBack(o.N,0,o.N,0),w.emplaceBack(0,o.N,0,o.N),w.emplaceBack(o.N,o.N,o.N,o.N),this.rasterBoundsBuffer=u.createVertexBuffer(w,et.members),this.rasterBoundsSegments=o.S.simpleSegment(0,0,4,2);const C=new o.a_;C.emplaceBack(0,0),C.emplaceBack(1,0),C.emplaceBack(0,1),C.emplaceBack(1,1),this.viewportBuffer=u.createVertexBuffer(C,yh.members),this.viewportSegments=o.S.simpleSegment(0,0,4,2);const L=new o.a$;L.emplaceBack(0),L.emplaceBack(1),L.emplaceBack(3),L.emplaceBack(2),L.emplaceBack(0),this.tileBorderIndexBuffer=u.createIndexBuffer(L);const R=new o.b0;R.emplaceBack(0,1,2),R.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=u.createIndexBuffer(R);const B=this.context.gl;this.stencilClearMode=new vn({func:B.ALWAYS,mask:0},0,255,B.ZERO,B.ZERO,B.ZERO)}clearStencil(){const u=this.context,p=u.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const _=o.Z();o.aS(_,0,this.width,this.height,0,0,1),o.a0(_,_,[p.drawingBufferWidth,p.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(u,p.TRIANGLES,gr.disabled,this.stencilClearMode,mn.disabled,cn.disabled,ag(_),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(u,p){if(this.currentStencilSource===u.source||!u.isTileClipped()||!p||!p.length)return;this.currentStencilSource=u.source;const _=this.context,w=_.gl;this.nextStencilID+p.length>256&&this.clearStencil(),_.setColorMode(mn.disabled),_.setDepthMode(gr.disabled);const C=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const L of p){const R=this._tileClippingMaskIDs[L.key]=this.nextStencilID++,B=this.style.map.terrain&&this.style.map.terrain.getTerrainData(L);C.draw(_,w.TRIANGLES,gr.disabled,new vn({func:w.ALWAYS,mask:0},R,255,w.KEEP,w.KEEP,w.REPLACE),mn.disabled,cn.disabled,ag(L.posMatrix),B,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const u=this.nextStencilID++,p=this.context.gl;return new vn({func:p.NOTEQUAL,mask:255},u,255,p.KEEP,p.KEEP,p.REPLACE)}stencilModeForClipping(u){const p=this.context.gl;return new vn({func:p.EQUAL,mask:255},this._tileClippingMaskIDs[u.key],0,p.KEEP,p.KEEP,p.REPLACE)}stencilConfigForOverlap(u){const p=this.context.gl,_=u.sort((L,R)=>R.overscaledZ-L.overscaledZ),w=_[_.length-1].overscaledZ,C=_[0].overscaledZ-w+1;if(C>1){this.currentStencilSource=void 0,this.nextStencilID+C>256&&this.clearStencil();const L={};for(let R=0;R=0;this.currentLayer--){const B=this.style._layers[_[this.currentLayer]],N=w[B.source],j=C[B.source];this._renderTileClippingMasks(B,j),this.renderLayer(this,N,B,j)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<_.length;this.currentLayer++){const B=this.style._layers[_[this.currentLayer]],N=w[B.source];if(this.renderToTexture&&this.renderToTexture.renderLayer(B))continue;const j=(B.type==="symbol"?R:L)[B.source];this._renderTileClippingMasks(B,C[B.source]),this.renderLayer(this,N,B,j)}if(this.options.showTileBoundaries){const B=function(N,j){let U=null;const J=Object.values(N._layers).flatMap(ie=>ie.source&&!ie.isHidden(j)?[N.sourceCaches[ie.source]]:[]),se=J.filter(ie=>ie.getSource().type==="vector"),oe=J.filter(ie=>ie.getSource().type!=="vector"),fe=ie=>{(!U||U.getSource().maxzoomfe(ie)),U||oe.forEach(ie=>fe(ie)),U}(this.style,this.transform.zoom);B&&function(N,j,U){for(let J=0;Jse.style.map.terrain.getElevation(je,qt,Ot):null)}}}(B,C,R,L,R.layout.get("text-rotation-alignment"),R.layout.get("text-pitch-alignment"),N),R.paint.get("icon-opacity").constantOr(1)!==0&&Oh(C,L,R,B,!1,R.paint.get("icon-translate"),R.paint.get("icon-translate-anchor"),R.layout.get("icon-rotation-alignment"),R.layout.get("icon-pitch-alignment"),R.layout.get("icon-keep-upright"),j,U),R.paint.get("text-opacity").constantOr(1)!==0&&Oh(C,L,R,B,!0,R.paint.get("text-translate"),R.paint.get("text-translate-anchor"),R.layout.get("text-rotation-alignment"),R.layout.get("text-pitch-alignment"),R.layout.get("text-keep-upright"),j,U),L.map.showCollisionBoxes&&(gg(C,L,R,B,R.paint.get("text-translate"),R.paint.get("text-translate-anchor"),!0),gg(C,L,R,B,R.paint.get("icon-translate"),R.paint.get("icon-translate-anchor"),!1))})(u,p,_,w,this.style.placement.variableOffsets);break;case"circle":(function(C,L,R,B){if(C.renderPass!=="translucent")return;const N=R.paint.get("circle-opacity"),j=R.paint.get("circle-stroke-width"),U=R.paint.get("circle-stroke-opacity"),J=!R.layout.get("circle-sort-key").isConstant();if(N.constantOr(1)===0&&(j.constantOr(1)===0||U.constantOr(1)===0))return;const se=C.context,oe=se.gl,fe=C.depthModeForSublayer(0,gr.ReadOnly),ie=vn.disabled,Ae=C.colorModeForRenderPass(),Be=[];for(let ye=0;yeye.sortKey-Me.sortKey);for(const ye of Be){const{programConfiguration:Me,program:Ne,layoutVertexBuffer:je,indexBuffer:Xe,uniformValues:it,terrainData:Qe}=ye.state;Ne.draw(se,oe.TRIANGLES,fe,ie,Ae,cn.disabled,it,Qe,R.id,je,Xe,ye.segments,R.paint,C.transform.zoom,Me)}})(u,p,_,w);break;case"heatmap":(function(C,L,R,B){if(R.paint.get("heatmap-opacity")!==0)if(C.renderPass==="offscreen"){const N=C.context,j=N.gl,U=vn.disabled,J=new mn([j.ONE,j.ONE],o.aT.transparent,[!0,!0,!0,!0]);(function(se,oe,fe){const ie=se.gl;se.activeTexture.set(ie.TEXTURE1),se.viewport.set([0,0,oe.width/4,oe.height/4]);let Ae=fe.heatmapFbo;if(Ae)ie.bindTexture(ie.TEXTURE_2D,Ae.colorAttachment.get()),se.bindFramebuffer.set(Ae.framebuffer);else{const Be=ie.createTexture();ie.bindTexture(ie.TEXTURE_2D,Be),ie.texParameteri(ie.TEXTURE_2D,ie.TEXTURE_WRAP_S,ie.CLAMP_TO_EDGE),ie.texParameteri(ie.TEXTURE_2D,ie.TEXTURE_WRAP_T,ie.CLAMP_TO_EDGE),ie.texParameteri(ie.TEXTURE_2D,ie.TEXTURE_MIN_FILTER,ie.LINEAR),ie.texParameteri(ie.TEXTURE_2D,ie.TEXTURE_MAG_FILTER,ie.LINEAR),Ae=fe.heatmapFbo=se.createFramebuffer(oe.width/4,oe.height/4,!1,!1),function(ye,Me,Ne,je){var Xe,it;const Qe=ye.gl,st=(Xe=ye.HALF_FLOAT)!==null&&Xe!==void 0?Xe:Qe.UNSIGNED_BYTE,kt=(it=ye.RGBA16F)!==null&&it!==void 0?it:Qe.RGBA;Qe.texImage2D(Qe.TEXTURE_2D,0,kt,Me.width/4,Me.height/4,0,Qe.RGBA,st,null),je.colorAttachment.set(Ne)}(se,oe,Be,Ae)}})(N,C,R),N.clear({color:o.aT.transparent});for(let se=0;se{const ye=o.Z();o.aS(ye,0,fe.width,fe.height,0,0,1);const Me=fe.context.gl;return{u_matrix:ye,u_world:[Me.drawingBufferWidth,Me.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:ie.paint.get("heatmap-opacity")}})(N,j),null,j.id,N.viewportBuffer,N.quadTriangleIndexBuffer,N.viewportSegments,j.paint,N.transform.zoom)}(C,R))})(u,p,_,w);break;case"line":(function(C,L,R,B){if(C.renderPass!=="translucent")return;const N=R.paint.get("line-opacity"),j=R.paint.get("line-width");if(N.constantOr(1)===0||j.constantOr(1)===0)return;const U=C.depthModeForSublayer(0,gr.ReadOnly),J=C.colorModeForRenderPass(),se=R.paint.get("line-dasharray"),oe=R.paint.get("line-pattern"),fe=oe.constantOr(1),ie=R.paint.get("line-gradient"),Ae=R.getCrossfadeParameters(),Be=fe?"linePattern":se?"lineSDF":ie?"lineGradient":"line",ye=C.context,Me=ye.gl;let Ne=!0;for(const je of B){const Xe=L.getTile(je);if(fe&&!Xe.patternsLoaded())continue;const it=Xe.getBucket(R);if(!it)continue;const Qe=it.programConfigurations.get(R.id),st=C.context.program.get(),kt=C.useProgram(Be,Qe),fr=Ne||kt.program!==st,_t=C.style.map.terrain&&C.style.map.terrain.getTerrainData(je),qt=oe.constantOr(null);if(qt&&Xe.imageAtlas){const hr=Xe.imageAtlas,ar=hr.patternPositions[qt.to.toString()],dr=hr.patternPositions[qt.from.toString()];ar&&dr&&Qe.setConstantPatternPositions(ar,dr)}const Ot=_t?je:null,Hr=fe?eb(C,Xe,R,Ae,Ot):se?sg(C,Xe,R,se,Ae,Ot):ie?og(C,Xe,R,it.lineClipsArray.length,Ot):Dd(C,Xe,R,Ot);if(fe)ye.activeTexture.set(Me.TEXTURE0),Xe.imageAtlasTexture.bind(Me.LINEAR,Me.CLAMP_TO_EDGE),Qe.updatePaintBuffers(Ae);else if(se&&(fr||C.lineAtlas.dirty))ye.activeTexture.set(Me.TEXTURE0),C.lineAtlas.bind(ye);else if(ie){const hr=it.gradients[R.id];let ar=hr.texture;if(R.gradientVersion!==hr.version){let dr=256;if(R.stepInterpolant){const Cn=L.getSource().maxzoom,Yr=je.canonical.z===Cn?Math.ceil(1<0?p.pop():null}isPatternMissing(u){if(!u)return!1;if(!u.from||!u.to)return!0;const p=this.imageManager.getPattern(u.from.toString()),_=this.imageManager.getPattern(u.to.toString());return!p||!_}useProgram(u,p){this.cache=this.cache||{};const _=u+(p?p.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[_]||(this.cache[_]=new _h(this.context,pn[u],p,Th[u],this._showOverdrawInspector,this.style.map.terrain)),this.cache[_]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const u=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(u.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new re(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){const{drawingBufferWidth:u,drawingBufferHeight:p}=this.context.gl;return this.width!==u||this.height!==p}}class Ni{constructor(u,p){this.points=u,this.planes=p}static fromInvProjectionMatrix(u,p,_){const w=Math.pow(2,_),C=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(R=>{const B=1/(R=o.ag([],R,u))[3]/p*w;return o.b3(R,R,[B,B,1/R[3],B])}),L=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(R=>{const B=function(J,se){var oe=se[0],fe=se[1],ie=se[2],Ae=oe*oe+fe*fe+ie*ie;return Ae>0&&(Ae=1/Math.sqrt(Ae)),J[0]=se[0]*Ae,J[1]=se[1]*Ae,J[2]=se[2]*Ae,J}([],function(J,se,oe){var fe=se[0],ie=se[1],Ae=se[2],Be=oe[0],ye=oe[1],Me=oe[2];return J[0]=ie*Me-Ae*ye,J[1]=Ae*Be-fe*Me,J[2]=fe*ye-ie*Be,J}([],H([],C[R[0]],C[R[1]]),H([],C[R[2]],C[R[1]]))),N=-((j=B)[0]*(U=C[R[1]])[0]+j[1]*U[1]+j[2]*U[2]);var j,U;return B.concat(N)});return new Ni(C,L)}}class Ul{constructor(u,p){this.min=u,this.max=p,this.center=function(_,w,C){return _[0]=.5*w[0],_[1]=.5*w[1],_[2]=.5*w[2],_}([],function(_,w,C){return _[0]=w[0]+C[0],_[1]=w[1]+C[1],_[2]=w[2]+C[2],_}([],this.min,this.max))}quadrant(u){const p=[u%2==0,u<2],_=F(this.min),w=F(this.max);for(let C=0;C=0&&L++;if(L===0)return 0;L!==p.length&&(_=!1)}if(_)return 2;for(let w=0;w<3;w++){let C=Number.MAX_VALUE,L=-Number.MAX_VALUE;for(let R=0;Rthis.max[w]-this.min[w])return 0}return 1}}class qu{constructor(u=0,p=0,_=0,w=0){if(isNaN(u)||u<0||isNaN(p)||p<0||isNaN(_)||_<0||isNaN(w)||w<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=u,this.bottom=p,this.left=_,this.right=w}interpolate(u,p,_){return p.top!=null&&u.top!=null&&(this.top=o.B.number(u.top,p.top,_)),p.bottom!=null&&u.bottom!=null&&(this.bottom=o.B.number(u.bottom,p.bottom,_)),p.left!=null&&u.left!=null&&(this.left=o.B.number(u.left,p.left,_)),p.right!=null&&u.right!=null&&(this.right=o.B.number(u.right,p.right,_)),this}getCenter(u,p){const _=o.ad((this.left+u-this.right)/2,0,u),w=o.ad((this.top+p-this.bottom)/2,0,p);return new o.P(_,w)}equals(u){return this.top===u.top&&this.bottom===u.bottom&&this.left===u.left&&this.right===u.right}clone(){return new qu(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class $h{constructor(u,p,_,w,C){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=C===void 0||!!C,this._minZoom=u||0,this._maxZoom=p||22,this._minPitch=_??0,this._maxPitch=w??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new o.L(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new qu,this._posMatrixCache={},this._alignedPosMatrixCache={},this._minEleveationForCurrentTile=0}clone(){const u=new $h(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return u.apply(this),u}apply(u){this.tileSize=u.tileSize,this.latRange=u.latRange,this.width=u.width,this.height=u.height,this._center=u._center,this._elevation=u._elevation,this._minEleveationForCurrentTile=u._minEleveationForCurrentTile,this.zoom=u.zoom,this.angle=u.angle,this._fov=u._fov,this._pitch=u._pitch,this._unmodified=u._unmodified,this._edgeInsets=u._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(u){this._minZoom!==u&&(this._minZoom=u,this.zoom=Math.max(this.zoom,u))}get maxZoom(){return this._maxZoom}set maxZoom(u){this._maxZoom!==u&&(this._maxZoom=u,this.zoom=Math.min(this.zoom,u))}get minPitch(){return this._minPitch}set minPitch(u){this._minPitch!==u&&(this._minPitch=u,this.pitch=Math.max(this.pitch,u))}get maxPitch(){return this._maxPitch}set maxPitch(u){this._maxPitch!==u&&(this._maxPitch=u,this.pitch=Math.min(this.pitch,u))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(u){u===void 0?u=!0:u===null&&(u=!1),this._renderWorldCopies=u}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new o.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(u){const p=-o.b5(u,-180,180)*Math.PI/180;this.angle!==p&&(this._unmodified=!1,this.angle=p,this._calcMatrices(),this.rotationMatrix=function(){var _=new o.A(4);return o.A!=Float32Array&&(_[1]=0,_[2]=0),_[0]=1,_[3]=1,_}(),function(_,w,C){var L=w[0],R=w[1],B=w[2],N=w[3],j=Math.sin(C),U=Math.cos(C);_[0]=L*U+B*j,_[1]=R*U+N*j,_[2]=L*-j+B*U,_[3]=R*-j+N*U}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(u){const p=o.ad(u,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==p&&(this._unmodified=!1,this._pitch=p,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(u){u=Math.max(.01,Math.min(60,u)),this._fov!==u&&(this._unmodified=!1,this._fov=u/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(u){const p=Math.min(Math.max(u,this.minZoom),this.maxZoom);this._zoom!==p&&(this._unmodified=!1,this._zoom=p,this.tileZoom=Math.max(0,Math.floor(p)),this.scale=this.zoomScale(p),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(u){u.lat===this._center.lat&&u.lng===this._center.lng||(this._unmodified=!1,this._center=u,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(u){u!==this._elevation&&(this._elevation=u,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(u){this._edgeInsets.equals(u)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,u,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(u){return this._edgeInsets.equals(u)}interpolatePadding(u,p,_){this._unmodified=!1,this._edgeInsets.interpolate(u,p,_),this._constrain(),this._calcMatrices()}coveringZoomLevel(u){const p=(u.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/u.tileSize));return Math.max(0,p)}getVisibleUnwrappedCoordinates(u){const p=[new o.b6(0,u)];if(this._renderWorldCopies){const _=this.pointCoordinate(new o.P(0,0)),w=this.pointCoordinate(new o.P(this.width,0)),C=this.pointCoordinate(new o.P(this.width,this.height)),L=this.pointCoordinate(new o.P(0,this.height)),R=Math.floor(Math.min(_.x,w.x,C.x,L.x)),B=Math.floor(Math.max(_.x,w.x,C.x,L.x)),N=1;for(let j=R-N;j<=B+N;j++)j!==0&&p.push(new o.b6(j,u))}return p}coveringTiles(u){var p,_;let w=this.coveringZoomLevel(u);const C=w;if(u.minzoom!==void 0&&wu.maxzoom&&(w=u.maxzoom);const L=this.pointCoordinate(this.getCameraPoint()),R=o.U.fromLngLat(this.center),B=Math.pow(2,w),N=[B*L.x,B*L.y,0],j=[B*R.x,B*R.y,0],U=Ni.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,w);let J=u.minzoom||0;!u.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(J=w);const se=u.terrain?2/Math.min(this.tileSize,u.tileSize)*this.tileSize:3,oe=ye=>({aabb:new Ul([ye*B,0,0],[(ye+1)*B,B,0]),zoom:0,x:0,y:0,wrap:ye,fullyVisible:!1}),fe=[],ie=[],Ae=w,Be=u.reparseOverscaled?C:w;if(this._renderWorldCopies)for(let ye=1;ye<=3;ye++)fe.push(oe(-ye)),fe.push(oe(ye));for(fe.push(oe(0));fe.length>0;){const ye=fe.pop(),Me=ye.x,Ne=ye.y;let je=ye.fullyVisible;if(!je){const kt=ye.aabb.intersects(U);if(kt===0)continue;je=kt===2}const Xe=u.terrain?N:j,it=ye.aabb.distanceX(Xe),Qe=ye.aabb.distanceY(Xe),st=Math.max(Math.abs(it),Math.abs(Qe));if(ye.zoom===Ae||st>se+(1<=J){const kt=Ae-ye.zoom,fr=N[0]-.5-(Me<>1),qt=ye.zoom+1;let Ot=ye.aabb.quadrant(kt);if(u.terrain){const Hr=new o.O(qt,ye.wrap,qt,fr,_t),hr=u.terrain.getMinMaxElevation(Hr),ar=(p=hr.minElevation)!==null&&p!==void 0?p:this.elevation,dr=(_=hr.maxElevation)!==null&&_!==void 0?_:this.elevation;Ot=new Ul([Ot.min[0],Ot.min[1],ar],[Ot.max[0],Ot.max[1],dr])}fe.push({aabb:Ot,zoom:qt,x:fr,y:_t,wrap:ye.wrap,fullyVisible:je})}}return ie.sort((ye,Me)=>ye.distanceSq-Me.distanceSq).map(ye=>ye.tileID)}resize(u,p){this.width=u,this.height=p,this.pixelsToGLUnits=[2/u,-2/p],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(u){return Math.pow(2,u)}scaleZoom(u){return Math.log(u)/Math.LN2}project(u){const p=o.ad(u.lat,-this.maxValidLatitude,this.maxValidLatitude);return new o.P(o.G(u.lng)*this.worldSize,o.H(p)*this.worldSize)}unproject(u){return new o.U(u.x/this.worldSize,u.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(u){const p=this.pointLocation(this.centerPoint,u),_=u.getElevationForLngLatZoom(p,this.tileZoom);if(!(this.elevation-_))return;const w=this.getCameraPosition(),C=o.U.fromLngLat(w.lngLat,w.altitude),L=o.U.fromLngLat(p,_),R=C.x-L.x,B=C.y-L.y,N=C.z-L.z,j=Math.sqrt(R*R+B*B+N*N),U=this.scaleZoom(this.cameraToCenterDistance/j/this.tileSize);this._elevation=_,this._center=p,this.zoom=U}setLocationAtPoint(u,p){const _=this.pointCoordinate(p),w=this.pointCoordinate(this.centerPoint),C=this.locationCoordinate(u),L=new o.U(C.x-(_.x-w.x),C.y-(_.y-w.y));this.center=this.coordinateLocation(L),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(u,p){return p?this.coordinatePoint(this.locationCoordinate(u),p.getElevationForLngLatZoom(u,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(u))}pointLocation(u,p){return this.coordinateLocation(this.pointCoordinate(u,p))}locationCoordinate(u){return o.U.fromLngLat(u)}coordinateLocation(u){return u&&u.toLngLat()}pointCoordinate(u,p){if(p){const J=p.pointCoordinate(u);if(J!=null)return J}const _=[u.x,u.y,0,1],w=[u.x,u.y,1,1];o.ag(_,_,this.pixelMatrixInverse),o.ag(w,w,this.pixelMatrixInverse);const C=_[3],L=w[3],R=_[1]/C,B=w[1]/L,N=_[2]/C,j=w[2]/L,U=N===j?0:(0-N)/(j-N);return new o.U(o.B.number(_[0]/C,w[0]/L,U)/this.worldSize,o.B.number(R,B,U)/this.worldSize)}coordinatePoint(u,p=0,_=this.pixelMatrix){const w=[u.x*this.worldSize,u.y*this.worldSize,p,1];return o.ag(w,w,_),new o.P(w[0]/w[3],w[1]/w[3])}getBounds(){const u=Math.max(0,this.height/2-this.getHorizon());return new Wt().extend(this.pointLocation(new o.P(0,u))).extend(this.pointLocation(new o.P(this.width,u))).extend(this.pointLocation(new o.P(this.width,this.height))).extend(this.pointLocation(new o.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new Wt([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(u){u?(this.lngRange=[u.getWest(),u.getEast()],this.latRange=[u.getSouth(),u.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])}calculatePosMatrix(u,p=!1){const _=u.key,w=p?this._alignedPosMatrixCache:this._posMatrixCache;if(w[_])return w[_];const C=u.canonical,L=this.worldSize/this.zoomScale(C.z),R=C.x+Math.pow(2,C.z)*u.wrap,B=o.ao(new Float64Array(16));return o.$(B,B,[R*L,C.y*L,0]),o.a0(B,B,[L/o.N,L/o.N,1]),o.a1(B,p?this.alignedProjMatrix:this.projMatrix,B),w[_]=new Float32Array(B),w[_]}customLayerMatrix(){return this.mercatorMatrix.slice()}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let u,p,_,w,C=-90,L=90,R=-180,B=180;const N=this.size,j=this._unmodified;if(this.latRange){const se=this.latRange;C=o.H(se[1])*this.worldSize,L=o.H(se[0])*this.worldSize,u=L-CL&&(w=L-oe)}if(this.lngRange){const se=(R+B)/2,oe=o.b5(U.x,se-this.worldSize/2,se+this.worldSize/2),fe=N.x/2;oe-feB&&(_=B-fe)}_===void 0&&w===void 0||(this.center=this.unproject(new o.P(_!==void 0?_:U.x,w!==void 0?w:U.y)).wrap()),this._unmodified=j,this._constraining=!1}_calcMatrices(){if(!this.height)return;const u=this.centerOffset,p=this.point.x,_=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=o.b7(1,this.center.lat)*this.worldSize;let w=o.ao(new Float64Array(16));o.a0(w,w,[this.width/2,-this.height/2,1]),o.$(w,w,[1,-1,0]),this.labelPlaneMatrix=w,w=o.ao(new Float64Array(16)),o.a0(w,w,[1,-1,1]),o.$(w,w,[-1,-1,0]),o.a0(w,w,[2/this.width,2/this.height,1]),this.glCoordMatrix=w;const C=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),L=Math.min(this.elevation,this._minEleveationForCurrentTile),R=C-L*this._pixelPerMeter/Math.cos(this._pitch),B=L<0?R:C,N=Math.PI/2+this._pitch,j=this._fov*(.5+u.y/this.height),U=Math.sin(j)*B/Math.sin(o.ad(Math.PI-N-j,.01,Math.PI-.01)),J=this.getHorizon(),se=2*Math.atan(J/this.cameraToCenterDistance)*(.5+u.y/(2*J)),oe=Math.sin(se)*B/Math.sin(o.ad(Math.PI-N-se,.01,Math.PI-.01)),fe=Math.min(U,oe),ie=1.01*(Math.cos(Math.PI/2-this._pitch)*fe+B),Ae=this.height/50;w=new Float64Array(16),o.b8(w,this._fov,this.width/this.height,Ae,ie),w[8]=2*-u.x/this.width,w[9]=2*u.y/this.height,o.a0(w,w,[1,-1,1]),o.$(w,w,[0,0,-this.cameraToCenterDistance]),o.b9(w,w,this._pitch),o.ae(w,w,this.angle),o.$(w,w,[-p,-_,0]),this.mercatorMatrix=o.a0([],w,[this.worldSize,this.worldSize,this.worldSize]),o.a0(w,w,[1,1,this._pixelPerMeter]),this.pixelMatrix=o.a1(new Float64Array(16),this.labelPlaneMatrix,w),o.$(w,w,[0,0,-this.elevation]),this.projMatrix=w,this.invProjMatrix=o.as([],w),this.pixelMatrix3D=o.a1(new Float64Array(16),this.labelPlaneMatrix,w);const Be=this.width%2/2,ye=this.height%2/2,Me=Math.cos(this.angle),Ne=Math.sin(this.angle),je=p-Math.round(p)+Me*Be+Ne*ye,Xe=_-Math.round(_)+Me*ye+Ne*Be,it=new Float64Array(w);if(o.$(it,it,[je>.5?je-1:je,Xe>.5?Xe-1:Xe,0]),this.alignedProjMatrix=it,w=o.as(new Float64Array(16),this.pixelMatrix),!w)throw new Error("failed to invert matrix");this.pixelMatrixInverse=w,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const u=this.pointCoordinate(new o.P(0,0)),p=[u.x*this.worldSize,u.y*this.worldSize,0,1];return o.ag(p,p,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const u=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new o.P(0,u))}getCameraQueryGeometry(u){const p=this.getCameraPoint();if(u.length===1)return[u[0],p];{let _=p.x,w=p.y,C=p.x,L=p.y;for(const R of u)_=Math.min(_,R.x),w=Math.min(w,R.y),C=Math.max(C,R.x),L=Math.max(L,R.y);return[new o.P(_,w),new o.P(C,w),new o.P(C,L),new o.P(_,L),new o.P(_,w)]}}}function qs(S,u){let p,_=!1,w=null,C=null;const L=()=>{w=null,_&&(S.apply(C,p),w=setTimeout(L,u),_=!1)};return(...R)=>(_=!0,C=this,p=R,w||L(),w)}class Wu{constructor(u){this._getCurrentHash=()=>{const p=window.location.hash.replace("#","");if(this._hashName){let _;return p.split("&").map(w=>w.split("=")).forEach(w=>{w[0]===this._hashName&&(_=w)}),(_&&_[1]||"").split("/")}return p.split("/")},this._onHashChange=()=>{const p=this._getCurrentHash();if(p.length>=3&&!p.some(_=>isNaN(_))){const _=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(p[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+p[2],+p[1]],zoom:+p[0],bearing:_,pitch:+(p[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{const p=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,p)}catch{}},this._updateHash=qs(this._updateHashUnthrottled,300),this._hashName=u&&encodeURIComponent(u)}addTo(u){return this._map=u,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(u){const p=this._map.getCenter(),_=Math.round(100*this._map.getZoom())/100,w=Math.ceil((_*Math.LN2+Math.log(512/360/.5))/Math.LN10),C=Math.pow(10,w),L=Math.round(p.lng*C)/C,R=Math.round(p.lat*C)/C,B=this._map.getBearing(),N=this._map.getPitch();let j="";if(j+=u?`/${L}/${R}/${_}`:`${_}/${R}/${L}`,(B||N)&&(j+="/"+Math.round(10*B)/10),N&&(j+=`/${Math.round(N)}`),this._hashName){const U=this._hashName;let J=!1;const se=window.location.hash.slice(1).split("&").map(oe=>{const fe=oe.split("=")[0];return fe===U?(J=!0,`${fe}=${j}`):oe}).filter(oe=>oe);return J||se.push(`${U}=${j}`),`#${se.join("&")}`}return`#${j}`}}const Gl={linearity:.3,easing:o.ba(0,0,.3,1)},wg=o.e({deceleration:2500,maxSpeed:1400},Gl),Sg=o.e({deceleration:20,maxSpeed:1400},Gl),Tg=o.e({deceleration:1e3,maxSpeed:360},Gl),Cg=o.e({deceleration:1e3,maxSpeed:90},Gl);class Eg{constructor(u){this._map=u,this.clear()}clear(){this._inertiaBuffer=[]}record(u){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:o.h.now(),settings:u})}_drainInertiaBuffer(){const u=this._inertiaBuffer,p=o.h.now();for(;u.length>0&&p-u[0].time>160;)u.shift()}_onMoveEnd(u){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const p={zoom:0,bearing:0,pitch:0,pan:new o.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:C}of this._inertiaBuffer)p.zoom+=C.zoomDelta||0,p.bearing+=C.bearingDelta||0,p.pitch+=C.pitchDelta||0,C.panDelta&&p.pan._add(C.panDelta),C.around&&(p.around=C.around),C.pinchAround&&(p.pinchAround=C.pinchAround);const _=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,w={};if(p.pan.mag()){const C=Zu(p.pan.mag(),_,o.e({},wg,u||{}));w.offset=p.pan.mult(C.amount/p.pan.mag()),w.center=this._map.transform.center,no(w,C)}if(p.zoom){const C=Zu(p.zoom,_,Sg);w.zoom=this._map.transform.zoom+C.amount,no(w,C)}if(p.bearing){const C=Zu(p.bearing,_,Tg);w.bearing=this._map.transform.bearing+o.ad(C.amount,-179,179),no(w,C)}if(p.pitch){const C=Zu(p.pitch,_,Cg);w.pitch=this._map.transform.pitch+C.amount,no(w,C)}if(w.zoom||w.bearing){const C=p.pinchAround===void 0?p.around:p.pinchAround;w.around=C?this._map.unproject(C):this._map.getCenter()}return this.clear(),o.e(w,{noMoveStart:!0})}}function no(S,u){(!S.duration||S.durationp.unproject(B)),R=C.reduce((B,N,j,U)=>B.add(N.div(U.length)),new o.P(0,0));super(u,{points:C,point:R,lngLats:L,lngLat:p.unproject(R),originalEvent:_}),this._defaultPrevented=!1}}class Ag extends o.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(u,p,_){super(u,{originalEvent:_}),this._defaultPrevented=!1}}class Mg{constructor(u,p){this._map=u,this._clickTolerance=p.clickTolerance}reset(){delete this._mousedownPos}wheel(u){return this._firePreventable(new Ag(u.type,this._map,u))}mousedown(u,p){return this._mousedownPos=p,this._firePreventable(new sa(u.type,this._map,u))}mouseup(u){this._map.fire(new sa(u.type,this._map,u))}click(u,p){this._mousedownPos&&this._mousedownPos.dist(p)>=this._clickTolerance||this._map.fire(new sa(u.type,this._map,u))}dblclick(u){return this._firePreventable(new sa(u.type,this._map,u))}mouseover(u){this._map.fire(new sa(u.type,this._map,u))}mouseout(u){this._map.fire(new sa(u.type,this._map,u))}touchstart(u){return this._firePreventable(new Xu(u.type,this._map,u))}touchmove(u){this._map.fire(new Xu(u.type,this._map,u))}touchend(u){this._map.fire(new Xu(u.type,this._map,u))}touchcancel(u){this._map.fire(new Xu(u.type,this._map,u))}_firePreventable(u){if(this._map.fire(u),u.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Pg{constructor(u){this._map=u}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(u){this._map.fire(new sa(u.type,this._map,u))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new sa("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(u){this._delayContextMenu?this._contextMenuEvent=u:this._ignoreContextMenu||this._map.fire(new sa(u.type,this._map,u)),this._map.listens("contextmenu")&&u.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class ko{constructor(u){this._map=u}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(u){return this.transform.pointLocation(o.P.convert(u),this._map.terrain)}}class Ig{constructor(u,p){this._map=u,this._tr=new ko(u),this._el=u.getCanvasContainer(),this._container=u.getContainer(),this._clickTolerance=p.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(u,p){this.isEnabled()&&u.shiftKey&&u.button===0&&(d.disableDrag(),this._startPos=this._lastPos=p,this._active=!0)}mousemoveWindow(u,p){if(!this._active)return;const _=p;if(this._lastPos.equals(_)||!this._box&&_.dist(this._startPos)C.fitScreenCoordinates(_,w,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",u)}keydown(u){this._active&&u.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",u))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(d.remove(this._box),this._box=null),d.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(u,p){return this._map.fire(new o.k(u,{originalEvent:p}))}}function Aa(S,u){if(S.length!==u.length)throw new Error(`The number of touches and points are not equal - touches ${S.length}, points ${u.length}`);const p={};for(let _=0;_this.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=u.timeStamp),_.length===this.numTouches&&(this.centroid=function(w){const C=new o.P(0,0);for(const L of w)C._add(L);return C.div(w.length)}(p),this.touches=Aa(_,p)))}touchmove(u,p,_){if(this.aborted||!this.centroid)return;const w=Aa(_,p);for(const C in this.touches){const L=w[C];(!L||L.dist(this.touches[C])>30)&&(this.aborted=!0)}}touchend(u,p,_){if((!this.centroid||u.timeStamp-this.startTime>500)&&(this.aborted=!0),_.length===0){const w=!this.aborted&&this.centroid;if(this.reset(),w)return w}}}class Nh{constructor(u){this.singleTap=new Ro(u),this.numTaps=u.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(u,p,_){this.singleTap.touchstart(u,p,_)}touchmove(u,p,_){this.singleTap.touchmove(u,p,_)}touchend(u,p,_){const w=this.singleTap.touchend(u,p,_);if(w){const C=u.timeStamp-this.lastTime<500,L=!this.lastTap||this.lastTap.dist(w)<30;if(C&&L||this.reset(),this.count++,this.lastTime=u.timeStamp,this.lastTap=w,this.count===this.numTaps)return this.reset(),w}}}class Oo{constructor(u){this._tr=new ko(u),this._zoomIn=new Nh({numTouches:1,numTaps:2}),this._zoomOut=new Nh({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(u,p,_){this._zoomIn.touchstart(u,p,_),this._zoomOut.touchstart(u,p,_)}touchmove(u,p,_){this._zoomIn.touchmove(u,p,_),this._zoomOut.touchmove(u,p,_)}touchend(u,p,_){const w=this._zoomIn.touchend(u,p,_),C=this._zoomOut.touchend(u,p,_),L=this._tr;return w?(this._active=!0,u.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:R=>R.easeTo({duration:300,zoom:L.zoom+1,around:L.unproject(w)},{originalEvent:u})}):C?(this._active=!0,u.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:R=>R.easeTo({duration:300,zoom:L.zoom-1,around:L.unproject(C)},{originalEvent:u})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class zo{constructor(u){this._enabled=!!u.enable,this._moveStateManager=u.moveStateManager,this._clickTolerance=u.clickTolerance||1,this._moveFunction=u.move,this._activateOnStart=!!u.activateOnStart,u.assignEvents(this),this.reset()}reset(u){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(u)}_move(...u){const p=this._moveFunction(...u);if(p.bearingDelta||p.pitchDelta||p.around||p.panDelta)return this._active=!0,p}dragStart(u,p){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(u)&&(this._moveStateManager.startMove(u),this._lastPoint=p.length?p[0]:p,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(u,p){if(!this.isEnabled())return;const _=this._lastPoint;if(!_)return;if(u.preventDefault(),!this._moveStateManager.isValidMoveEvent(u))return void this.reset(u);const w=p.length?p[0]:p;return!this._moved&&w.dist(_){S.mousedown=S.dragStart,S.mousemoveWindow=S.dragMove,S.mouseup=S.dragEnd,S.contextmenu=function(u){u.preventDefault()}},ql=({enable:S,clickTolerance:u,bearingDegreesPerPixelMoved:p=.8})=>{const _=new Xd({checkCorrectEvent:w=>d.mouseButton(w)===0&&w.ctrlKey||d.mouseButton(w)===2});return new zo({clickTolerance:u,move:(w,C)=>({bearingDelta:(C.x-w.x)*p}),moveStateManager:_,enable:S,assignEvents:Vh})},Bo=({enable:S,clickTolerance:u,pitchDegreesPerPixelMoved:p=-.5})=>{const _=new Xd({checkCorrectEvent:w=>d.mouseButton(w)===0&&w.ctrlKey||d.mouseButton(w)===2});return new zo({clickTolerance:u,move:(w,C)=>({pitchDelta:(C.y-w.y)*p}),moveStateManager:_,enable:S,assignEvents:Vh})};class Ct{constructor(u,p){this._minTouches=u.cooperativeGestures?2:1,this._clickTolerance=u.clickTolerance||1,this._map=p,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new o.P(0,0),setTimeout(()=>{this._cancelCooperativeMessage=!1},200)}touchstart(u,p,_){return this._calculateTransform(u,p,_)}touchmove(u,p,_){if(this._map._cooperativeGestures&&(this._minTouches===2&&_.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(u,!1,_.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(_.length0&&(this._active=!0);const w=Aa(_,p),C=new o.P(0,0),L=new o.P(0,0);let R=0;for(const N in w){const j=w[N],U=this._touches[N];U&&(C._add(j),L._add(j.sub(U)),R++,w[N]=j)}if(this._touches=w,RMath.abs(S.x)}class hb extends jh{constructor(u){super(),this._map=u}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(u,p,_){super.touchstart(u,p,_),this._currentTouchCount=_.length}_start(u){this._lastPoints=u,Kd(u[0].sub(u[1]))&&(this._valid=!1)}_move(u,p,_){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;const w=u[0].sub(this._lastPoints[0]),C=u[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(w,C,_.timeStamp),this._valid?(this._lastPoints=u,this._active=!0,{pitchDelta:(w.y+C.y)/2*-.5}):void 0}gestureBeginsVertically(u,p,_){if(this._valid!==void 0)return this._valid;const w=u.mag()>=2,C=p.mag()>=2;if(!w&&!C)return;if(!w||!C)return this._firstMove===void 0&&(this._firstMove=_),_-this._firstMove<100&&void 0;const L=u.y>0==p.y>0;return Kd(u)&&Kd(p)&&L}}const Jd={panStep:100,bearingStep:15,pitchStep:10};class kg{constructor(u){this._tr=new ko(u);const p=Jd;this._panStep=p.panStep,this._bearingStep=p.bearingStep,this._pitchStep=p.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(u){if(u.altKey||u.ctrlKey||u.metaKey)return;let p=0,_=0,w=0,C=0,L=0;switch(u.keyCode){case 61:case 107:case 171:case 187:p=1;break;case 189:case 109:case 173:p=-1;break;case 37:u.shiftKey?_=-1:(u.preventDefault(),C=-1);break;case 39:u.shiftKey?_=1:(u.preventDefault(),C=1);break;case 38:u.shiftKey?w=1:(u.preventDefault(),L=-1);break;case 40:u.shiftKey?w=-1:(u.preventDefault(),L=1);break;default:return}return this._rotationDisabled&&(_=0,w=0),{cameraAnimation:R=>{const B=this._tr;R.easeTo({duration:300,easeId:"keyboardHandler",easing:Rg,zoom:p?Math.round(B.zoom)+p*(u.shiftKey?2:1):B.zoom,bearing:B.bearing+_*this._bearingStep,pitch:B.pitch+w*this._pitchStep,offset:[-C*this._panStep,-L*this._panStep],center:B.center},{originalEvent:u})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function Rg(S){return S*(2-S)}const Og=4.000244140625;class fb{constructor(u,p){this._onTimeout=_=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(_)},this._map=u,this._tr=new ko(u),this._el=u.getCanvasContainer(),this._triggerRenderFrame=p,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(u){this._defaultZoomRate=u}setWheelZoomRate(u){this._wheelZoomRate=u}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(u){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!u&&u.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(u){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!u[this._map._metaKey])return;u.preventDefault()}let p=u.deltaMode===WheelEvent.DOM_DELTA_LINE?40*u.deltaY:u.deltaY;const _=o.h.now(),w=_-(this._lastWheelEventTime||0);this._lastWheelEventTime=_,p!==0&&p%Og==0?this._type="wheel":p!==0&&Math.abs(p)<4?this._type="trackpad":w>400?(this._type=null,this._lastValue=p,this._timeout=setTimeout(this._onTimeout,40,u)):this._type||(this._type=Math.abs(w*p)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,p+=this._lastValue)),u.shiftKey&&p&&(p/=4),this._type&&(this._lastWheelEvent=u,this._delta-=p,this._active||this._start(u)),u.preventDefault()}_start(u){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const p=d.mousePos(this._el,u),_=this._tr;this._around=o.L.convert(this._aroundCenter?_.center:_.unproject(p)),this._aroundPoint=_.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;const u=this._tr.transform;if(this._delta!==0){const R=this._type==="wheel"&&Math.abs(this._delta)>Og?this._wheelZoomRate:this._defaultZoomRate;let B=2/(1+Math.exp(-Math.abs(this._delta*R)));this._delta<0&&B!==0&&(B=1/B);const N=typeof this._targetZoom=="number"?u.zoomScale(this._targetZoom):u.scale;this._targetZoom=Math.min(u.maxZoom,Math.max(u.minZoom,u.scaleZoom(N*B))),this._type==="wheel"&&(this._startZoom=u.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const p=typeof this._targetZoom=="number"?this._targetZoom:u.zoom,_=this._startZoom,w=this._easing;let C,L=!1;if(this._type==="wheel"&&_&&w){const R=Math.min((o.h.now()-this._lastWheelEventTime)/200,1),B=w(R);C=o.B.number(_,p,B),R<1?this._frameId||(this._frameId=!0):L=!0}else C=p,L=!0;return this._active=!0,L&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!L,zoomDelta:C-u.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(u){let p=o.bb;if(this._prevEase){const _=this._prevEase,w=(o.h.now()-_.start)/_.duration,C=_.easing(w+.01)-_.easing(w),L=.27/Math.sqrt(C*C+1e-4)*.01,R=Math.sqrt(.0729-L*L);p=o.ba(L,R,.25,1)}return this._prevEase={start:o.h.now(),duration:u,easing:p},p}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Qd{constructor(u,p){this._clickZoom=u,this._tapZoom=p}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class ep{constructor(u){this._tr=new ko(u),this.reset()}reset(){this._active=!1}dblclick(u,p){return u.preventDefault(),{cameraAnimation:_=>{_.easeTo({duration:300,zoom:this._tr.zoom+(u.shiftKey?-1:1),around:this._tr.unproject(p)},{originalEvent:u})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class tp{constructor(){this._tap=new Nh({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(u,p,_){if(!this._swipePoint)if(this._tapTime){const w=p[0],C=u.timeStamp-this._tapTime<500,L=this._tapPoint.dist(w)<30;C&&L?_.length>0&&(this._swipePoint=w,this._swipeTouch=_[0].identifier):this.reset()}else this._tap.touchstart(u,p,_)}touchmove(u,p,_){if(this._tapTime){if(this._swipePoint){if(_[0].identifier!==this._swipeTouch)return;const w=p[0],C=w.y-this._swipePoint.y;return this._swipePoint=w,u.preventDefault(),this._active=!0,{zoomDelta:C/128}}}else this._tap.touchmove(u,p,_)}touchend(u,p,_){if(this._tapTime)this._swipePoint&&_.length===0&&this.reset();else{const w=this._tap.touchend(u,p,_);w&&(this._tapTime=u.timeStamp,this._tapPoint=w)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class rp{constructor(u,p,_){this._el=u,this._mousePan=p,this._touchPan=_}enable(u){this._inertiaOptions=u||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Vi{constructor(u,p,_){this._pitchWithRotate=u.pitchWithRotate,this._mouseRotate=p,this._mousePitch=_}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class ms{constructor(u,p,_,w){this._el=u,this._touchZoom=p,this._touchRotate=_,this._tapDragZoom=w,this._rotationDisabled=!1,this._enabled=!0}enable(u){this._touchZoom.enable(u),this._rotationDisabled||this._touchRotate.enable(u),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}const Yu=S=>S.zoom||S.drag||S.pitch||S.rotate;class np extends o.k{}function Ku(S){return S.panDelta&&S.panDelta.mag()||S.zoomDelta||S.bearingDelta||S.pitchDelta}class ip{constructor(u,p){this.handleWindowEvent=w=>{this.handleEvent(w,`${w.type}Window`)},this.handleEvent=(w,C)=>{if(w.type==="blur")return void this.stop(!0);this._updatingCamera=!0;const L=w.type==="renderFrame"?void 0:w,R={needsRenderFrame:!1},B={},N={},j=w.touches,U=j?this._getMapTouches(j):void 0,J=U?d.touchPos(this._el,U):d.mousePos(this._el,w);for(const{handlerName:fe,handler:ie,allowed:Ae}of this._handlers){if(!ie.isEnabled())continue;let Be;this._blockedByActive(N,Ae,fe)?ie.reset():ie[C||w.type]&&(Be=ie[C||w.type](w,J,U),this.mergeHandlerResult(R,B,Be,fe,L),Be&&Be.needsRenderFrame&&this._triggerRenderFrame()),(Be||ie.isActive())&&(N[fe]=ie)}const se={};for(const fe in this._previousActiveHandlers)N[fe]||(se[fe]=L);this._previousActiveHandlers=N,(Object.keys(se).length||Ku(R))&&(this._changes.push([R,B,se]),this._triggerRenderFrame()),(Object.keys(N).length||Ku(R))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:oe}=R;oe&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],oe(this._map))},this._map=u,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Eg(u),this._bearingSnap=p.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(p);const _=this._el;this._listeners=[[_,"touchstart",{passive:!0}],[_,"touchmove",{passive:!1}],[_,"touchend",void 0],[_,"touchcancel",void 0],[_,"mousedown",void 0],[_,"mousemove",void 0],[_,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[_,"mouseover",void 0],[_,"mouseout",void 0],[_,"dblclick",void 0],[_,"click",void 0],[_,"keydown",{capture:!1}],[_,"keyup",void 0],[_,"wheel",{passive:!1}],[_,"contextmenu",void 0],[window,"blur",void 0]];for(const[w,C,L]of this._listeners)d.addEventListener(w,C,w===document?this.handleWindowEvent:this.handleEvent,L)}destroy(){for(const[u,p,_]of this._listeners)d.removeEventListener(u,p,u===document?this.handleWindowEvent:this.handleEvent,_)}_addDefaultHandlers(u){const p=this._map,_=p.getCanvasContainer();this._add("mapEvent",new Mg(p,u));const w=p.boxZoom=new Ig(p,u);this._add("boxZoom",w),u.interactive&&u.boxZoom&&w.enable();const C=new Oo(p),L=new ep(p);p.doubleClickZoom=new Qd(L,C),this._add("tapZoom",C),this._add("clickZoom",L),u.interactive&&u.doubleClickZoom&&p.doubleClickZoom.enable();const R=new tp;this._add("tapDragZoom",R);const B=p.touchPitch=new hb(p);this._add("touchPitch",B),u.interactive&&u.touchPitch&&p.touchPitch.enable(u.touchPitch);const N=ql(u),j=Bo(u);p.dragRotate=new Vi(u,N,j),this._add("mouseRotate",N,["mousePitch"]),this._add("mousePitch",j,["mouseRotate"]),u.interactive&&u.dragRotate&&p.dragRotate.enable();const U=(({enable:Ae,clickTolerance:Be})=>{const ye=new Xd({checkCorrectEvent:Me=>d.mouseButton(Me)===0&&!Me.ctrlKey});return new zo({clickTolerance:Be,move:(Me,Ne)=>({around:Ne,panDelta:Ne.sub(Me)}),activateOnStart:!0,moveStateManager:ye,enable:Ae,assignEvents:Vh})})(u),J=new Ct(u,p);p.dragPan=new rp(_,U,J),this._add("mousePan",U),this._add("touchPan",J,["touchZoom","touchRotate"]),u.interactive&&u.dragPan&&p.dragPan.enable(u.dragPan);const se=new Yd,oe=new Lg;p.touchZoomRotate=new ms(_,oe,se,R),this._add("touchRotate",se,["touchPan","touchZoom"]),this._add("touchZoom",oe,["touchPan","touchRotate"]),u.interactive&&u.touchZoomRotate&&p.touchZoomRotate.enable(u.touchZoomRotate);const fe=p.scrollZoom=new fb(p,()=>this._triggerRenderFrame());this._add("scrollZoom",fe,["mousePan"]),u.interactive&&u.scrollZoom&&p.scrollZoom.enable(u.scrollZoom);const ie=p.keyboard=new kg(p);this._add("keyboard",ie),u.interactive&&u.keyboard&&p.keyboard.enable(),this._add("blockableMapEvent",new Pg(p))}_add(u,p,_){this._handlers.push({handlerName:u,handler:p,allowed:_}),this._handlersById[u]=p}stop(u){if(!this._updatingCamera){for(const{handler:p}of this._handlers)p.reset();this._inertia.clear(),this._fireEvents({},{},u),this._changes=[]}}isActive(){for(const{handler:u}of this._handlers)if(u.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Yu(this._eventsInProgress)||this.isZooming()}_blockedByActive(u,p,_){for(const w in u)if(w!==_&&(!p||p.indexOf(w)<0))return!0;return!1}_getMapTouches(u){const p=[];for(const _ of u)this._el.contains(_.target)&&p.push(_);return p}mergeHandlerResult(u,p,_,w,C){if(!_)return;o.e(u,_);const L={handlerName:w,originalEvent:_.originalEvent||C};_.zoomDelta!==void 0&&(p.zoom=L),_.panDelta!==void 0&&(p.drag=L),_.pitchDelta!==void 0&&(p.pitch=L),_.bearingDelta!==void 0&&(p.rotate=L)}_applyChanges(){const u={},p={},_={};for(const[w,C,L]of this._changes)w.panDelta&&(u.panDelta=(u.panDelta||new o.P(0,0))._add(w.panDelta)),w.zoomDelta&&(u.zoomDelta=(u.zoomDelta||0)+w.zoomDelta),w.bearingDelta&&(u.bearingDelta=(u.bearingDelta||0)+w.bearingDelta),w.pitchDelta&&(u.pitchDelta=(u.pitchDelta||0)+w.pitchDelta),w.around!==void 0&&(u.around=w.around),w.pinchAround!==void 0&&(u.pinchAround=w.pinchAround),w.noInertia&&(u.noInertia=w.noInertia),o.e(p,C),o.e(_,L);this._updateMapTransform(u,p,_),this._changes=[]}_updateMapTransform(u,p,_){const w=this._map,C=w._getTransformForUpdate(),L=w.terrain;if(!(Ku(u)||L&&this._terrainMovement))return this._fireEvents(p,_,!0);let{panDelta:R,zoomDelta:B,bearingDelta:N,pitchDelta:j,around:U,pinchAround:J}=u;J!==void 0&&(U=J),w._stop(!0),U=U||w.transform.centerPoint;const se=C.pointLocation(R?U.sub(R):U);N&&(C.bearing+=N),j&&(C.pitch+=j),B&&(C.zoom+=B),L?this._terrainMovement||!p.drag&&!p.zoom?p.drag&&this._terrainMovement?C.center=C.pointLocation(C.centerPoint.sub(R)):C.setLocationAtPoint(se,U):(this._terrainMovement=!0,this._map._elevationFreeze=!0,C.setLocationAtPoint(se,U),this._map.once("moveend",()=>{this._map._elevationFreeze=!1,this._terrainMovement=!1,C.recalculateZoom(w.terrain)})):C.setLocationAtPoint(se,U),w._applyUpdatedTransform(C),this._map._update(),u.noInertia||this._inertia.record(u),this._fireEvents(p,_,!0)}_fireEvents(u,p,_){const w=Yu(this._eventsInProgress),C=Yu(u),L={};for(const j in u){const{originalEvent:U}=u[j];this._eventsInProgress[j]||(L[`${j}start`]=U),this._eventsInProgress[j]=u[j]}!w&&C&&this._fireEvent("movestart",C.originalEvent);for(const j in L)this._fireEvent(j,L[j]);C&&this._fireEvent("move",C.originalEvent);for(const j in u){const{originalEvent:U}=u[j];this._fireEvent(j,U)}const R={};let B;for(const j in this._eventsInProgress){const{handlerName:U,originalEvent:J}=this._eventsInProgress[j];this._handlersById[U].isActive()||(delete this._eventsInProgress[j],B=p[U]||J,R[`${j}end`]=B)}for(const j in R)this._fireEvent(j,R[j]);const N=Yu(this._eventsInProgress);if(_&&(w||C)&&!N){this._updatingCamera=!0;const j=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),U=J=>J!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new np("renderFrame",{timeStamp:u})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class zg extends o.E{constructor(u,p){super(),this._renderFrameCallback=()=>{const _=Math.min((o.h.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(_)),_<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=u,this._bearingSnap=p.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new o.L(this.transform.center.lng,this.transform.center.lat)}setCenter(u,p){return this.jumpTo({center:u},p)}panBy(u,p,_){return u=o.P.convert(u).mult(-1),this.panTo(this.transform.center,o.e({offset:u},p),_)}panTo(u,p,_){return this.easeTo(o.e({center:u},p),_)}getZoom(){return this.transform.zoom}setZoom(u,p){return this.jumpTo({zoom:u},p),this}zoomTo(u,p,_){return this.easeTo(o.e({zoom:u},p),_)}zoomIn(u,p){return this.zoomTo(this.getZoom()+1,u,p),this}zoomOut(u,p){return this.zoomTo(this.getZoom()-1,u,p),this}getBearing(){return this.transform.bearing}setBearing(u,p){return this.jumpTo({bearing:u},p),this}getPadding(){return this.transform.padding}setPadding(u,p){return this.jumpTo({padding:u},p),this}rotateTo(u,p,_){return this.easeTo(o.e({bearing:u},p),_)}resetNorth(u,p){return this.rotateTo(0,o.e({duration:1e3},u),p),this}resetNorthPitch(u,p){return this.easeTo(o.e({bearing:0,pitch:0,duration:1e3},u),p),this}snapToNorth(u,p){return Math.abs(this.getBearing()){if(this._zooming&&(_.zoom=o.B.number(w,B,je)),this._rotating&&(_.bearing=o.B.number(C,N,je)),this._pitching&&(_.pitch=o.B.number(L,j,je)),this._padding&&(_.interpolatePadding(R,U,je),se=_.centerPoint.add(J)),this.terrain&&!u.freezeElevation&&this._updateElevation(je),ye)_.setLocationAtPoint(ye,Me);else{const Xe=_.zoomScale(_.zoom-w),it=B>w?Math.min(2,Be):Math.max(.5,Be),Qe=Math.pow(it,1-je),st=_.unproject(ie.add(Ae.mult(je*Qe)).mult(Xe));_.setLocationAtPoint(_.renderWorldCopies?st.wrap():st,se)}this._applyUpdatedTransform(_),this._fireMoveEvents(p)},je=>{this.terrain&&this._finalizeElevation(),this._afterEase(p,je)},u),this}_prepareEase(u,p,_={}){this._moving=!0,p||_.moving||this.fire(new o.k("movestart",u)),this._zooming&&!_.zooming&&this.fire(new o.k("zoomstart",u)),this._rotating&&!_.rotating&&this.fire(new o.k("rotatestart",u)),this._pitching&&!_.pitching&&this.fire(new o.k("pitchstart",u))}_prepareElevation(u){this._elevationCenter=u,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(u,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(u){this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const p=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(u<1&&p!==this._elevationTarget){const _=this._elevationTarget-this._elevationStart;this._elevationStart+=u*(_-(p-(_*u+this._elevationStart))/(1-u)),this._elevationTarget=p}this.transform.elevation=o.B.number(this._elevationStart,this._elevationTarget,u)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(u){if(!this.transformCameraUpdate)return;const p=u.clone(),{center:_,zoom:w,pitch:C,bearing:L,elevation:R}=this.transformCameraUpdate(p);_&&(p.center=_),w!==void 0&&(p.zoom=w),C!==void 0&&(p.pitch=C),L!==void 0&&(p.bearing=L),R!==void 0&&(p.elevation=R),this.transform.apply(p)}_fireMoveEvents(u){this.fire(new o.k("move",u)),this._zooming&&this.fire(new o.k("zoom",u)),this._rotating&&this.fire(new o.k("rotate",u)),this._pitching&&this.fire(new o.k("pitch",u))}_afterEase(u,p){if(this._easeId&&p&&this._easeId===p)return;delete this._easeId;const _=this._zooming,w=this._rotating,C=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,_&&this.fire(new o.k("zoomend",u)),w&&this.fire(new o.k("rotateend",u)),C&&this.fire(new o.k("pitchend",u)),this.fire(new o.k("moveend",u))}flyTo(u,p){if(!u.essential&&o.h.prefersReducedMotion){const Ot=o.F(u,["center","zoom","bearing","pitch","around"]);return this.jumpTo(Ot,p)}this.stop(),u=o.e({offset:[0,0],speed:1.2,curve:1.42,easing:o.bb},u);const _=this._getTransformForUpdate(),w=this.getZoom(),C=this.getBearing(),L=this.getPitch(),R=this.getPadding(),B="zoom"in u?o.ad(+u.zoom,_.minZoom,_.maxZoom):w,N="bearing"in u?this._normalizeBearing(u.bearing,C):C,j="pitch"in u?+u.pitch:L,U="padding"in u?u.padding:_.padding,J=_.zoomScale(B-w),se=o.P.convert(u.offset);let oe=_.centerPoint.add(se);const fe=_.pointLocation(oe),ie=o.L.convert(u.center||fe);this._normalizeCenter(ie);const Ae=_.project(fe),Be=_.project(ie).sub(Ae);let ye=u.curve;const Me=Math.max(_.width,_.height),Ne=Me/J,je=Be.mag();if("minZoom"in u){const Ot=o.ad(Math.min(u.minZoom,w,B),_.minZoom,_.maxZoom),Hr=Me/_.zoomScale(Ot-w);ye=Math.sqrt(Hr/je*2)}const Xe=ye*ye;function it(Ot){const Hr=(Ne*Ne-Me*Me+(Ot?-1:1)*Xe*Xe*je*je)/(2*(Ot?Ne:Me)*Xe*je);return Math.log(Math.sqrt(Hr*Hr+1)-Hr)}function Qe(Ot){return(Math.exp(Ot)-Math.exp(-Ot))/2}function st(Ot){return(Math.exp(Ot)+Math.exp(-Ot))/2}const kt=it(!1);let fr=function(Ot){return st(kt)/st(kt+ye*Ot)},_t=function(Ot){return Me*((st(kt)*(Qe(Hr=kt+ye*Ot)/st(Hr))-Qe(kt))/Xe)/je;var Hr},qt=(it(!0)-kt)/ye;if(Math.abs(je)<1e-6||!isFinite(qt)){if(Math.abs(Me-Ne)<1e-6)return this.easeTo(u,p);const Ot=Neu.maxDuration&&(u.duration=0),this._zooming=!0,this._rotating=C!==N,this._pitching=j!==L,this._padding=!_.isPaddingEqual(U),this._prepareEase(p,!1),this.terrain&&this._prepareElevation(ie),this._ease(Ot=>{const Hr=Ot*qt,hr=1/fr(Hr);_.zoom=Ot===1?B:w+_.scaleZoom(hr),this._rotating&&(_.bearing=o.B.number(C,N,Ot)),this._pitching&&(_.pitch=o.B.number(L,j,Ot)),this._padding&&(_.interpolatePadding(R,U,Ot),oe=_.centerPoint.add(se)),this.terrain&&!u.freezeElevation&&this._updateElevation(Ot);const ar=Ot===1?ie:_.unproject(Ae.add(Be.mult(_t(Hr))).mult(hr));_.setLocationAtPoint(_.renderWorldCopies?ar.wrap():ar,oe),this._applyUpdatedTransform(_),this._fireMoveEvents(p)},()=>{this.terrain&&this._finalizeElevation(),this._afterEase(p)},u),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(u,p){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const _=this._onEaseEnd;delete this._onEaseEnd,_.call(this,p)}if(!u){const _=this.handlers;_&&_.stop(!1)}return this}_ease(u,p,_){_.animate===!1||_.duration===0?(u(1),p()):(this._easeStart=o.h.now(),this._easeOptions=_,this._onEaseFrame=u,this._onEaseEnd=p,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(u,p){u=o.b5(u,-180,180);const _=Math.abs(u-p);return Math.abs(u-360-p)<_&&(u-=360),Math.abs(u+360-p)<_&&(u+=360),u}_normalizeCenter(u){const p=this.transform;if(!p.renderWorldCopies||p.lngRange)return;const _=u.lng-p.center.lng;u.lng+=_>180?-360:_<-180?360:0}queryTerrainElevation(u){return this.terrain?this.terrain.getElevationForLngLatZoom(o.L.convert(u),this.transform.tileZoom)-this.transform.elevation:null}}class la{constructor(u={}){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=p=>{!p||p.sourceDataType!=="metadata"&&p.sourceDataType!=="visibility"&&p.dataType!=="style"&&p.type!=="terrain"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=u}getDefaultPosition(){return"bottom-right"}onAdd(u){return this._map=u,this._compact=this.options&&this.options.compact,this._container=d.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=d.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=d.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){d.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(u,p){const _=this._map._getUIString(`AttributionControl.${p}`);u.title=_,u.setAttribute("aria-label",_)}_updateAttributions(){if(!this._map.style)return;let u=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?u=u.concat(this.options.customAttribution.map(w=>typeof w!="string"?"":w)):typeof this.options.customAttribution=="string"&&u.push(this.options.customAttribution)),this._map.style.stylesheet){const w=this._map.style.stylesheet;this.styleOwner=w.owner,this.styleId=w.id}const p=this._map.style.sourceCaches;for(const w in p){const C=p[w];if(C.used||C.usedForTerrain){const L=C.getSource();L.attribution&&u.indexOf(L.attribution)<0&&u.push(L.attribution)}}u=u.filter(w=>String(w).trim()),u.sort((w,C)=>w.length-C.length),u=u.filter((w,C)=>{for(let L=C+1;L=0)return!1;return!0});const _=u.join(" | ");_!==this._attribHTML&&(this._attribHTML=_,u.length?(this._innerContainer.innerHTML=_,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class rn{constructor(u={}){this._updateCompact=()=>{const p=this._container.children;if(p.length){const _=p[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&_.classList.add("maplibregl-compact"):_.classList.remove("maplibregl-compact")}},this.options=u}getDefaultPosition(){return"bottom-left"}onAdd(u){this._map=u,this._compact=this.options&&this.options.compact,this._container=d.create("div","maplibregl-ctrl");const p=d.create("a","maplibregl-ctrl-logo");return p.target="_blank",p.rel="noopener nofollow",p.href="https://maplibre.org/",p.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),p.setAttribute("rel","noopener nofollow"),this._container.appendChild(p),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){d.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Hh{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(u){const p=++this._id;return this._queue.push({callback:u,id:p,cancelled:!1}),p}remove(u){const p=this._currentlyRunning,_=p?this._queue.concat(p):this._queue;for(const w of _)if(w.id===u)return void(w.cancelled=!0)}run(u=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const p=this._currentlyRunning=this._queue;this._queue=[];for(const _ of p)if(!_.cancelled&&(_.callback(u),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}const ap={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm","TerrainControl.enableTerrain":"Enable terrain","TerrainControl.disableTerrain":"Disable terrain"};var Bg=o.Q([{name:"a_pos3d",type:"Int16",components:3}]);class Fg extends o.E{constructor(u){super(),this.sourceCache=u,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,u.usedForTerrain=!0,u.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(u,p){this.sourceCache.update(u,p),this._renderableTilesKeys=[];const _={};for(const w of u.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:p}))_[w.key]=!0,this._renderableTilesKeys.push(w.key),this._tiles[w.key]||(w.posMatrix=new Float64Array(16),o.aS(w.posMatrix,0,o.N,0,o.N,0,1),this._tiles[w.key]=new yt(w,this.tileSize));for(const w in this._tiles)_[w]||delete this._tiles[w]}freeRtt(u){for(const p in this._tiles){const _=this._tiles[p];(!u||_.tileID.equals(u)||_.tileID.isChildOf(u)||u.isChildOf(_.tileID))&&(_.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(u=>this.getTileByID(u))}getTileByID(u){return this._tiles[u]}getTerrainCoords(u){const p={};for(const _ of this._renderableTilesKeys){const w=this._tiles[_].tileID;if(w.canonical.equals(u.canonical)){const C=u.clone();C.posMatrix=new Float64Array(16),o.aS(C.posMatrix,0,o.N,0,o.N,0,1),p[_]=C}else if(w.canonical.isChildOf(u.canonical)){const C=u.clone();C.posMatrix=new Float64Array(16);const L=w.canonical.z-u.canonical.z,R=w.canonical.x-(w.canonical.x>>L<>L<>L;o.aS(C.posMatrix,0,N,0,N,0,1),o.$(C.posMatrix,C.posMatrix,[-R*N,-B*N,0]),p[_]=C}else if(u.canonical.isChildOf(w.canonical)){const C=u.clone();C.posMatrix=new Float64Array(16);const L=u.canonical.z-w.canonical.z,R=u.canonical.x-(u.canonical.x>>L<>L<>L;o.aS(C.posMatrix,0,o.N,0,o.N,0,1),o.$(C.posMatrix,C.posMatrix,[R*N,B*N,0]),o.a0(C.posMatrix,C.posMatrix,[1/2**L,1/2**L,0]),p[_]=C}}return p}getSourceTile(u,p){const _=this.sourceCache._source;let w=u.overscaledZ-this.deltaZoom;if(w>_.maxzoom&&(w=_.maxzoom),w<_.minzoom)return null;this._sourceTileCache[u.key]||(this._sourceTileCache[u.key]=u.scaledTo(w).key);let C=this.sourceCache.getTileByID(this._sourceTileCache[u.key]);if((!C||!C.dem)&&p)for(;w>=_.minzoom&&(!C||!C.dem);)C=this.sourceCache.getTileByID(u.scaledTo(w--).key);return C}tilesAfterTime(u=Date.now()){return Object.values(this._tiles).filter(p=>p.timeAdded>=u)}}class $g{constructor(u,p,_){this.painter=u,this.sourceCache=new Fg(p),this.options=_,this.exaggeration=typeof _.exaggeration=="number"?_.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(u,p,_,w=o.N){var C;if(!(p>=0&&p=0&&_u.canonical.z&&(u.canonical.z>=w?C=u.canonical.z-w:o.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const L=u.canonical.x-(u.canonical.x>>C<>C<>8<<4|C>>8,p[L+3]=0;const _=new o.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(p.buffer)),w=new re(u,_,u.gl.RGBA,{premultiply:!1});return w.bind(u.gl.NEAREST,u.gl.CLAMP_TO_EDGE),this._coordsTexture=w,w}pointCoordinate(u){const p=new Uint8Array(4),_=this.painter.context,w=_.gl;_.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),w.readPixels(u.x,this.painter.height/devicePixelRatio-u.y-1,1,1,w.RGBA,w.UNSIGNED_BYTE,p),_.bindFramebuffer.set(null);const C=p[0]+(p[2]>>4<<8),L=p[1]+((15&p[2])<<8),R=this.coordsIndex[255-p[3]],B=R&&this.sourceCache.getTileByID(R);if(!B)return null;const N=this._coordsTextureSize,j=(1<0&&Math.sign(C)<0||!_&&Math.sign(w)<0&&Math.sign(C)>0?(w=360*Math.sign(C)+w,o.G(w)):p}}class db{constructor(u,p,_){this._context=u,this._size=p,this._tileSize=_,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(const u of this._objects)u.texture.destroy(),u.fbo.destroy()}_createObject(u){const p=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),_=new re(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return _.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),p.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),p.colorAttachment.set(_.texture),{id:u,fbo:p,texture:_,stamp:-1,inUse:!1}}getObjectForId(u){return this._objects[u]}useObject(u){u.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(p=>u.id!==p),this._recentlyUsed.push(u.id)}stampObject(u){u.stamp=++this._stamp}getOrCreateFreeObject(){for(const p of this._recentlyUsed)if(!this._objects[p].inUse)return this._objects[p];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");const u=this._createObject(this._objects.length);return this._objects.push(u),u}freeObject(u){u.inUse=!1}freeAllObjects(){for(const u of this._objects)this.freeObject(u)}isFull(){return!(this._objects.length!u.inUse)===!1}}const Ti={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Uh{constructor(u,p){this.painter=u,this.terrain=p,this.pool=new db(u.context,30,p.sourceCache.tileSize*p.qualityFactor)}destruct(){this.pool.destruct()}getTexture(u){return this.pool.getObjectForId(u.rtt[this._stacks.length-1].id).texture}prepareForRender(u,p){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=u._order.filter(_=>!u._layers[_].isHidden(p)),this._coordsDescendingInv={};for(const _ in u.sourceCaches){this._coordsDescendingInv[_]={};const w=u.sourceCaches[_].getVisibleCoordinates();for(const C of w){const L=this.terrain.sourceCache.getTerrainCoords(C);for(const R in L)this._coordsDescendingInv[_][R]||(this._coordsDescendingInv[_][R]=[]),this._coordsDescendingInv[_][R].push(L[R])}}this._coordsDescendingInvStr={};for(const _ of u._order){const w=u._layers[_],C=w.source;if(Ti[w.type]&&!this._coordsDescendingInvStr[C]){this._coordsDescendingInvStr[C]={};for(const L in this._coordsDescendingInv[C])this._coordsDescendingInvStr[C][L]=this._coordsDescendingInv[C][L].map(R=>R.key).sort().join()}}for(const _ of this._renderableTiles)for(const w in this._coordsDescendingInvStr){const C=this._coordsDescendingInvStr[w][_.tileID.key];C&&C!==_.rttCoords[w]&&(_.rtt=[])}}renderLayer(u){if(u.isHidden(this.painter.transform.zoom))return!1;const p=u.type,_=this.painter,w=this._renderableLayerIds[this._renderableLayerIds.length-1]===u.id;if(Ti[p]&&(this._prevType&&Ti[this._prevType]||this._stacks.push([]),this._prevType=p,this._stacks[this._stacks.length-1].push(u.id),!w))return!0;if(Ti[this._prevType]||Ti[p]&&w){this._prevType=p;const C=this._stacks.length-1,L=this._stacks[C]||[];for(const R of this._renderableTiles){if(this.pool.isFull()&&(xn(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(R),R.rtt[C]){const N=this.pool.getObjectForId(R.rtt[C].id);if(N.stamp===R.rtt[C].stamp){this.pool.useObject(N);continue}}const B=this.pool.getOrCreateFreeObject();this.pool.useObject(B),this.pool.stampObject(B),R.rtt[C]={id:B.id,stamp:B.stamp},_.context.bindFramebuffer.set(B.fbo.framebuffer),_.context.clear({color:o.aT.transparent,stencil:0}),_.currentStencilSource=void 0;for(let N=0;N{S.touchstart=S.dragStart,S.touchmoveWindow=S.dragMove,S.touchend=S.dragEnd},op={showCompass:!0,showZoom:!0,visualizePitch:!1};class sp{constructor(u,p,_=!1){this.mousedown=L=>{this.startMouse(o.e({},L,{ctrlKey:!0,preventDefault:()=>L.preventDefault()}),d.mousePos(this.element,L)),d.addEventListener(window,"mousemove",this.mousemove),d.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=L=>{this.moveMouse(L,d.mousePos(this.element,L))},this.mouseup=L=>{this.mouseRotate.dragEnd(L),this.mousePitch&&this.mousePitch.dragEnd(L),this.offTemp()},this.touchstart=L=>{L.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=d.touchPos(this.element,L.targetTouches)[0],this.startTouch(L,this._startPos),d.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),d.addEventListener(window,"touchend",this.touchend))},this.touchmove=L=>{L.targetTouches.length!==1?this.reset():(this._lastPos=d.touchPos(this.element,L.targetTouches)[0],this.moveTouch(L,this._lastPos))},this.touchend=L=>{L.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;const w=u.dragRotate._mouseRotate.getClickTolerance(),C=u.dragRotate._mousePitch.getClickTolerance();this.element=p,this.mouseRotate=ql({clickTolerance:w,enable:!0}),this.touchRotate=(({enable:L,clickTolerance:R,bearingDegreesPerPixelMoved:B=.8})=>{const N=new Dg;return new zo({clickTolerance:R,move:(j,U)=>({bearingDelta:(U.x-j.x)*B}),moveStateManager:N,enable:L,assignEvents:Ju})})({clickTolerance:w,enable:!0}),this.map=u,_&&(this.mousePitch=Bo({clickTolerance:C,enable:!0}),this.touchPitch=(({enable:L,clickTolerance:R,pitchDegreesPerPixelMoved:B=-.5})=>{const N=new Dg;return new zo({clickTolerance:R,move:(j,U)=>({pitchDelta:(U.y-j.y)*B}),moveStateManager:N,enable:L,assignEvents:Ju})})({clickTolerance:C,enable:!0})),d.addEventListener(p,"mousedown",this.mousedown),d.addEventListener(p,"touchstart",this.touchstart,{passive:!1}),d.addEventListener(p,"touchcancel",this.reset)}startMouse(u,p){this.mouseRotate.dragStart(u,p),this.mousePitch&&this.mousePitch.dragStart(u,p),d.disableDrag()}startTouch(u,p){this.touchRotate.dragStart(u,p),this.touchPitch&&this.touchPitch.dragStart(u,p),d.disableDrag()}moveMouse(u,p){const _=this.map,{bearingDelta:w}=this.mouseRotate.dragMove(u,p)||{};if(w&&_.setBearing(_.getBearing()+w),this.mousePitch){const{pitchDelta:C}=this.mousePitch.dragMove(u,p)||{};C&&_.setPitch(_.getPitch()+C)}}moveTouch(u,p){const _=this.map,{bearingDelta:w}=this.touchRotate.dragMove(u,p)||{};if(w&&_.setBearing(_.getBearing()+w),this.touchPitch){const{pitchDelta:C}=this.touchPitch.dragMove(u,p)||{};C&&_.setPitch(_.getPitch()+C)}}off(){const u=this.element;d.removeEventListener(u,"mousedown",this.mousedown),d.removeEventListener(u,"touchstart",this.touchstart,{passive:!1}),d.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),d.removeEventListener(window,"touchend",this.touchend),d.removeEventListener(u,"touchcancel",this.reset),this.offTemp()}offTemp(){d.enableDrag(),d.removeEventListener(window,"mousemove",this.mousemove),d.removeEventListener(window,"mouseup",this.mouseup),d.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),d.removeEventListener(window,"touchend",this.touchend)}}let kn;function lp(S,u,p){if(S=new o.L(S.lng,S.lat),u){const _=new o.L(S.lng-360,S.lat),w=new o.L(S.lng+360,S.lat),C=p.locationPoint(S).distSqr(u);p.locationPoint(_).distSqr(u)180;){const _=p.locationPoint(S);if(_.x>=0&&_.y>=0&&_.x<=p.width&&_.y<=p.height)break;S.lng>p.center.lng?S.lng-=360:S.lng+=360}return S}const Ma={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Ng(S,u,p){const _=S.classList;for(const w in Ma)_.remove(`maplibregl-${p}-anchor-${w}`);_.add(`maplibregl-${p}-anchor-${u}`)}class Ws extends o.E{constructor(u){if(super(),this._onKeyPress=p=>{const _=p.code,w=p.charCode||p.keyCode;_!=="Space"&&_!=="Enter"&&w!==32&&w!==13||this.togglePopup()},this._onMapClick=p=>{const _=p.originalEvent.target,w=this._element;this._popup&&(_===w||w.contains(_))&&this.togglePopup()},this._update=p=>{if(!this._map)return;const _=this._map.loaded()&&!this._map.isMoving();((p==null?void 0:p.type)==="terrain"||(p==null?void 0:p.type)==="render"&&!_)&&this._map.once("render",this._update),this._map.transform.renderWorldCopies&&(this._lngLat=lp(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let w="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?w=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(w=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let C="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?C="rotateX(0deg)":this._pitchAlignment==="map"&&(C=`rotateX(${this._map.getPitch()}deg)`),p&&p.type!=="moveend"||(this._pos=this._pos.round()),d.setTransform(this._element,`${Ma[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${C} ${w}`),this._map.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout(()=>{const L=this._map.unproject(this._pos),R=40075016686e-3*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=L.distanceTo(this._lngLat)>20*R?"0.2":"1.0",this._opacityTimeout=null},100))},this._onMove=p=>{if(!this._isDragging){const _=this._clickTolerance||this._map._clickTolerance;this._isDragging=p.point.dist(this._pointerdownPos)>=_}this._isDragging&&(this._pos=p.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new o.k("dragstart"))),this.fire(new o.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),this._state==="active"&&this.fire(new o.k("dragend")),this._state="inactive"},this._addDragHandler=p=>{this._element.contains(p.originalEvent.target)&&(p.preventDefault(),this._positionDelta=p.point.sub(this._pos).add(this._offset),this._pointerdownPos=p.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=u&&u.anchor||"center",this._color=u&&u.color||"#3FB1CE",this._scale=u&&u.scale||1,this._draggable=u&&u.draggable||!1,this._clickTolerance=u&&u.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=u&&u.rotation||0,this._rotationAlignment=u&&u.rotationAlignment||"auto",this._pitchAlignment=u&&u.pitchAlignment&&u.pitchAlignment!=="auto"?u.pitchAlignment:this._rotationAlignment,u&&u.element)this._element=u.element,this._offset=o.P.convert(u&&u.offset||[0,0]);else{this._defaultMarker=!0,this._element=d.create("div"),this._element.setAttribute("aria-label","Map marker");const p=d.createNS("http://www.w3.org/2000/svg","svg"),_=41,w=27;p.setAttributeNS(null,"display","block"),p.setAttributeNS(null,"height",`${_}px`),p.setAttributeNS(null,"width",`${w}px`),p.setAttributeNS(null,"viewBox",`0 0 ${w} ${_}`);const C=d.createNS("http://www.w3.org/2000/svg","g");C.setAttributeNS(null,"stroke","none"),C.setAttributeNS(null,"stroke-width","1"),C.setAttributeNS(null,"fill","none"),C.setAttributeNS(null,"fill-rule","evenodd");const L=d.createNS("http://www.w3.org/2000/svg","g");L.setAttributeNS(null,"fill-rule","nonzero");const R=d.createNS("http://www.w3.org/2000/svg","g");R.setAttributeNS(null,"transform","translate(3.0, 29.0)"),R.setAttributeNS(null,"fill","#000000");const B=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const Ae of B){const Be=d.createNS("http://www.w3.org/2000/svg","ellipse");Be.setAttributeNS(null,"opacity","0.04"),Be.setAttributeNS(null,"cx","10.5"),Be.setAttributeNS(null,"cy","5.80029008"),Be.setAttributeNS(null,"rx",Ae.rx),Be.setAttributeNS(null,"ry",Ae.ry),R.appendChild(Be)}const N=d.createNS("http://www.w3.org/2000/svg","g");N.setAttributeNS(null,"fill",this._color);const j=d.createNS("http://www.w3.org/2000/svg","path");j.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),N.appendChild(j);const U=d.createNS("http://www.w3.org/2000/svg","g");U.setAttributeNS(null,"opacity","0.25"),U.setAttributeNS(null,"fill","#000000");const J=d.createNS("http://www.w3.org/2000/svg","path");J.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),U.appendChild(J);const se=d.createNS("http://www.w3.org/2000/svg","g");se.setAttributeNS(null,"transform","translate(6.0, 7.0)"),se.setAttributeNS(null,"fill","#FFFFFF");const oe=d.createNS("http://www.w3.org/2000/svg","g");oe.setAttributeNS(null,"transform","translate(8.0, 8.0)");const fe=d.createNS("http://www.w3.org/2000/svg","circle");fe.setAttributeNS(null,"fill","#000000"),fe.setAttributeNS(null,"opacity","0.25"),fe.setAttributeNS(null,"cx","5.5"),fe.setAttributeNS(null,"cy","5.5"),fe.setAttributeNS(null,"r","5.4999962");const ie=d.createNS("http://www.w3.org/2000/svg","circle");ie.setAttributeNS(null,"fill","#FFFFFF"),ie.setAttributeNS(null,"cx","5.5"),ie.setAttributeNS(null,"cy","5.5"),ie.setAttributeNS(null,"r","5.4999962"),oe.appendChild(fe),oe.appendChild(ie),L.appendChild(R),L.appendChild(N),L.appendChild(U),L.appendChild(se),L.appendChild(oe),p.appendChild(L),p.setAttributeNS(null,"height",_*this._scale+"px"),p.setAttributeNS(null,"width",w*this._scale+"px"),this._element.appendChild(p),this._offset=o.P.convert(u&&u.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",p=>{p.preventDefault()}),this._element.addEventListener("mousedown",p=>{p.preventDefault()}),Ng(this._element,this._anchor,"marker"),u&&u.className)for(const p of u.className.split(" "))this._element.classList.add(p);this._popup=null}addTo(u){return this.remove(),this._map=u,u.getCanvasContainer().appendChild(this._element),u.on("move",this._update),u.on("moveend",this._update),u.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),d.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(u){return this._lngLat=o.L.convert(u),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(u){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),u){if(!("offset"in u.options)){const w=Math.abs(13.5)/Math.SQRT2;u.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[w,-1*(38.1-13.5+w)],"bottom-right":[-w,-1*(38.1-13.5+w)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=u,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){const u=this._popup;return u?(u.isOpen()?u.remove():u.addTo(this._map),this):this}getOffset(){return this._offset}setOffset(u){return this._offset=o.P.convert(u),this._update(),this}addClassName(u){this._element.classList.add(u)}removeClassName(u){this._element.classList.remove(u)}toggleClassName(u){return this._element.classList.toggle(u)}setDraggable(u){return this._draggable=!!u,this._map&&(u?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(u){return this._rotation=u||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(u){return this._rotationAlignment=u||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(u){return this._pitchAlignment=u&&u!=="auto"?u:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}}const wn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let gn=0,Zl=!1;const Qu={maxWidth:100,unit:"metric"};function ec(S,u,p){const _=p&&p.maxWidth||100,w=S._container.clientHeight/2,C=S.unproject([0,w]),L=S.unproject([_,w]),R=C.distanceTo(L);if(p&&p.unit==="imperial"){const B=3.2808*R;B>5280?Zs(u,_,B/5280,S._getUIString("ScaleControl.Miles")):Zs(u,_,B,S._getUIString("ScaleControl.Feet"))}else p&&p.unit==="nautical"?Zs(u,_,R/1852,S._getUIString("ScaleControl.NauticalMiles")):R>=1e3?Zs(u,_,R/1e3,S._getUIString("ScaleControl.Kilometers")):Zs(u,_,R,S._getUIString("ScaleControl.Meters"))}function Zs(S,u,p,_){const w=function(C){const L=Math.pow(10,`${Math.floor(C)}`.length-1);let R=C/L;return R=R>=10?10:R>=5?5:R>=3?3:R>=2?2:R>=1?1:function(B){const N=Math.pow(10,Math.ceil(-Math.log(B)/Math.LN10));return Math.round(B*N)/N}(R),L*R}(p);S.style.width=u*(w/p)+"px",S.innerHTML=`${w} ${_}`}const up={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},cp=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function Xl(S){if(S){if(typeof S=="number"){const u=Math.round(Math.abs(S)/Math.SQRT2);return{center:new o.P(0,0),top:new o.P(0,S),"top-left":new o.P(u,u),"top-right":new o.P(-u,u),bottom:new o.P(0,-S),"bottom-left":new o.P(u,-u),"bottom-right":new o.P(-u,-u),left:new o.P(S,0),right:new o.P(-S,0)}}if(S instanceof o.P||Array.isArray(S)){const u=o.P.convert(S);return{center:u,top:u,"top-left":u,"top-right":u,bottom:u,"bottom-left":u,"bottom-right":u,left:u,right:u}}return{center:o.P.convert(S.center||[0,0]),top:o.P.convert(S.top||[0,0]),"top-left":o.P.convert(S["top-left"]||[0,0]),"top-right":o.P.convert(S["top-right"]||[0,0]),bottom:o.P.convert(S.bottom||[0,0]),"bottom-left":o.P.convert(S["bottom-left"]||[0,0]),"bottom-right":o.P.convert(S["bottom-right"]||[0,0]),left:o.P.convert(S.left||[0,0]),right:o.P.convert(S.right||[0,0])}}return Xl(new o.P(0,0))}const hp={extend:(S,...u)=>o.e(S,...u),run(S){S()},logToElement(S,u=!1,p="log"){const _=window.document.getElementById(p);_&&(u&&(_.innerHTML=""),_.innerHTML+=`
${S}`)}},fp=h;class kr{static get version(){return fp}static get workerCount(){return Zt.workerCount}static set workerCount(u){Zt.workerCount=u}static get maxParallelImageRequests(){return o.c.MAX_PARALLEL_IMAGE_REQUESTS}static set maxParallelImageRequests(u){o.c.MAX_PARALLEL_IMAGE_REQUESTS=u}static get workerUrl(){return o.c.WORKER_URL}static set workerUrl(u){o.c.WORKER_URL=u}static addProtocol(u,p){o.c.REGISTERED_PROTOCOLS[u]=p}static removeProtocol(u){delete o.c.REGISTERED_PROTOCOLS[u]}}return kr.Map=class extends zg{constructor(S){if(o.bg.mark(o.bh.create),(S=o.e({},Gt,S)).minZoom!=null&&S.maxZoom!=null&&S.minZoom>S.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(S.minPitch!=null&&S.maxPitch!=null&&S.minPitch>S.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(S.minPitch!=null&&S.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(S.maxPitch!=null&&S.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new $h(S.minZoom,S.maxZoom,S.minPitch,S.maxPitch,S.renderWorldCopies),{bearingSnap:S.bearingSnap}),this._cooperativeGesturesOnWheel=u=>{this._onCooperativeGesture(u,u[this._metaKey],1)},this._contextLost=u=>{u.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new o.k("webglcontextlost",{originalEvent:u}))},this._contextRestored=u=>{this._setupPainter(),this.resize(),this._update(),this.fire(new o.k("webglcontextrestored",{originalEvent:u}))},this._onMapScroll=u=>{if(u.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=S.interactive,this._cooperativeGestures=S.cooperativeGestures,this._metaKey=navigator.platform.indexOf("Mac")===0?"metaKey":"ctrlKey",this._maxTileCacheSize=S.maxTileCacheSize,this._maxTileCacheZoomLevels=S.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=S.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=S.preserveDrawingBuffer,this._antialias=S.antialias,this._trackResize=S.trackResize,this._bearingSnap=S.bearingSnap,this._refreshExpiredTiles=S.refreshExpiredTiles,this._fadeDuration=S.fadeDuration,this._crossSourceCollisions=S.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=S.collectResourceTiming,this._renderTaskQueue=new Hh,this._controls=[],this._mapId=o.a2(),this._locale=o.e({},ap,S.locale),this._clickTolerance=S.clickTolerance,this._overridePixelRatio=S.pixelRatio,this._maxCanvasSize=S.maxCanvasSize,this.transformCameraUpdate=S.transformCameraUpdate,this._imageQueueHandle=P.addThrottleControl(()=>this.isMoving()),this._requestManager=new k(S.transformRequest),typeof S.container=="string"){if(this._container=document.getElementById(S.container),!this._container)throw new Error(`Container '${S.container}' not found.`)}else{if(!(S.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=S.container}if(S.maxBounds&&this.setMaxBounds(S.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)),this.on("moveend",()=>this._update(!1)),this.on("zoom",()=>this._update(!0)),this.on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}),this.once("idle",()=>{this._idleTriggered=!0}),typeof window<"u"){addEventListener("online",this._onWindowOnline,!1);let u=!1;const p=qs(_=>{this._trackResize&&!this._removed&&this.resize(_)._update()},50);this._resizeObserver=new ResizeObserver(_=>{u?p(_):u=!0}),this._resizeObserver.observe(this._container)}this.handlers=new ip(this,S),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=S.hash&&new Wu(typeof S.hash=="string"&&S.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:S.center,zoom:S.zoom,bearing:S.bearing,pitch:S.pitch}),S.bounds&&(this.resize(),this.fitBounds(S.bounds,o.e({},S.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=S.localIdeographFontFamily,this._validateStyle=S.validateStyle,S.style&&this.setStyle(S.style,{localIdeographFontFamily:S.localIdeographFontFamily}),S.attributionControl&&this.addControl(new la({customAttribution:S.customAttribution})),S.maplibreLogo&&this.addControl(new rn,S.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",u=>{this._update(u.dataType==="style"),this.fire(new o.k(`${u.dataType}data`,u))}),this.on("dataloading",u=>{this.fire(new o.k(`${u.dataType}dataloading`,u))}),this.on("dataabort",u=>{this.fire(new o.k("sourcedataabort",u))})}_getMapId(){return this._mapId}addControl(S,u){if(u===void 0&&(u=S.getDefaultPosition?S.getDefaultPosition():"top-right"),!S||!S.onAdd)return this.fire(new o.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const p=S.onAdd(this);this._controls.push(S);const _=this._controlPositions[u];return u.indexOf("bottom")!==-1?_.insertBefore(p,_.firstChild):_.appendChild(p),this}removeControl(S){if(!S||!S.onRemove)return this.fire(new o.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const u=this._controls.indexOf(S);return u>-1&&this._controls.splice(u,1),S.onRemove(this),this}hasControl(S){return this._controls.indexOf(S)>-1}calculateCameraOptionsFromTo(S,u,p,_){return _==null&&this.terrain&&(_=this.terrain.getElevationForLngLatZoom(p,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(S,u,p,_)}resize(S){var u;const p=this._containerDimensions(),_=p[0],w=p[1],C=this._getClampedPixelRatio(_,w);if(this._resizeCanvas(_,w,C),this.painter.resize(_,w,C),this.painter.overLimit()){const R=this.painter.context.gl;this._maxCanvasSize=[R.drawingBufferWidth,R.drawingBufferHeight];const B=this._getClampedPixelRatio(_,w);this._resizeCanvas(_,w,B),this.painter.resize(_,w,B)}this.transform.resize(_,w),(u=this._requestedCameraState)===null||u===void 0||u.resize(_,w);const L=!this._moving;return L&&(this.stop(),this.fire(new o.k("movestart",S)).fire(new o.k("move",S))),this.fire(new o.k("resize",S)),L&&this.fire(new o.k("moveend",S)),this}_getClampedPixelRatio(S,u){const{0:p,1:_}=this._maxCanvasSize,w=this.getPixelRatio(),C=S*w,L=u*w;return Math.min(C>p?p/C:1,L>_?_/L:1)*w}getPixelRatio(){var S;return(S=this._overridePixelRatio)!==null&&S!==void 0?S:devicePixelRatio}setPixelRatio(S){this._overridePixelRatio=S,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(S){return this.transform.setMaxBounds(Wt.convert(S)),this._update()}setMinZoom(S){if((S=S??-2)>=-2&&S<=this.transform.maxZoom)return this.transform.minZoom=S,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=S,this._update(),this.getZoom()>S&&this.setZoom(S),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(S){if((S=S??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(S>=0&&S<=this.transform.maxPitch)return this.transform.minPitch=S,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(S>=this.transform.minPitch)return this.transform.maxPitch=S,this._update(),this.getPitch()>S&&this.setPitch(S),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(S){return this.transform.renderWorldCopies=S,this._update()}getCooperativeGestures(){return this._cooperativeGestures}setCooperativeGestures(S){return this._cooperativeGestures=S,this._cooperativeGestures?this._setupCooperativeGestures():this._destroyCooperativeGestures(),this}project(S){return this.transform.locationPoint(o.L.convert(S),this.style&&this.terrain)}unproject(S){return this.transform.pointLocation(o.P.convert(S),this.terrain)}isMoving(){var S;return this._moving||((S=this.handlers)===null||S===void 0?void 0:S.isMoving())}isZooming(){var S;return this._zooming||((S=this.handlers)===null||S===void 0?void 0:S.isZooming())}isRotating(){var S;return this._rotating||((S=this.handlers)===null||S===void 0?void 0:S.isRotating())}_createDelegatedListener(S,u,p){if(S==="mouseenter"||S==="mouseover"){let _=!1;return{layer:u,listener:p,delegates:{mousemove:C=>{const L=this.getLayer(u)?this.queryRenderedFeatures(C.point,{layers:[u]}):[];L.length?_||(_=!0,p.call(this,new sa(S,this,C.originalEvent,{features:L}))):_=!1},mouseout:()=>{_=!1}}}}if(S==="mouseleave"||S==="mouseout"){let _=!1;return{layer:u,listener:p,delegates:{mousemove:L=>{(this.getLayer(u)?this.queryRenderedFeatures(L.point,{layers:[u]}):[]).length?_=!0:_&&(_=!1,p.call(this,new sa(S,this,L.originalEvent)))},mouseout:L=>{_&&(_=!1,p.call(this,new sa(S,this,L.originalEvent)))}}}}{const _=w=>{const C=this.getLayer(u)?this.queryRenderedFeatures(w.point,{layers:[u]}):[];C.length&&(w.features=C,p.call(this,w),delete w.features)};return{layer:u,listener:p,delegates:{[S]:_}}}}on(S,u,p){if(p===void 0)return super.on(S,u);const _=this._createDelegatedListener(S,u,p);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[S]=this._delegatedListeners[S]||[],this._delegatedListeners[S].push(_);for(const w in _.delegates)this.on(w,_.delegates[w]);return this}once(S,u,p){if(p===void 0)return super.once(S,u);const _=this._createDelegatedListener(S,u,p);for(const w in _.delegates)this.once(w,_.delegates[w]);return this}off(S,u,p){return p===void 0?super.off(S,u):(this._delegatedListeners&&this._delegatedListeners[S]&&(_=>{const w=this._delegatedListeners[S];for(let C=0;Cthis._updateStyle(S,u));const p=this.style&&u.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!S)),S?(this.style=new oi(this,u||{}),this.style.setEventedParent(this,{style:this.style}),typeof S=="string"?this.style.loadURL(S,u,p):this.style.loadJSON(S,u,p),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new oi(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(S,u){if(typeof S=="string"){const p=this._requestManager.transformRequest(S,D.Style);o.f(p,(_,w)=>{_?this.fire(new o.j(_)):w&&this._updateDiff(w,u)})}else typeof S=="object"&&this._updateDiff(S,u)}_updateDiff(S,u){try{this.style.setState(S,u)&&this._update(!0)}catch(p){o.w(`Unable to perform style diff: ${p.message||p.error||p}. Rebuilding the style from scratch.`),this._updateStyle(S,u)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():o.w("There is no style added to the map.")}addSource(S,u){return this._lazyInitEmptyStyle(),this.style.addSource(S,u),this._update(!0)}isSourceLoaded(S){const u=this.style&&this.style.sourceCaches[S];if(u!==void 0)return u.loaded();this.fire(new o.j(new Error(`There is no source with ID '${S}'`)))}setTerrain(S){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),S){const u=this.style.sourceCaches[S.source];if(!u)throw new Error(`cannot load terrain, because there exists no source with ID: ${S.source}`);for(const p in this.style._layers){const _=this.style._layers[p];_.type==="hillshade"&&_.source===S.source&&o.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new $g(this.painter,u,S),this.painter.renderToTexture=new Uh(this.painter,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=p=>{p.dataType==="style"?this.terrain.sourceCache.freeRtt():p.dataType==="source"&&p.tile&&(p.sourceId!==S.source||this._elevationFreeze||(this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(p.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform._minEleveationForCurrentTile=0,this.transform.elevation=0;return this.fire(new o.k("terrain",{terrain:S})),this}getTerrain(){var S,u;return(u=(S=this.terrain)===null||S===void 0?void 0:S.options)!==null&&u!==void 0?u:null}areTilesLoaded(){const S=this.style&&this.style.sourceCaches;for(const u in S){const p=S[u]._tiles;for(const _ in p){const w=p[_];if(w.state!=="loaded"&&w.state!=="errored")return!1}}return!0}addSourceType(S,u,p){return this._lazyInitEmptyStyle(),this.style.addSourceType(S,u,p)}removeSource(S){return this.style.removeSource(S),this._update(!0)}getSource(S){return this.style.getSource(S)}addImage(S,u,p={}){const{pixelRatio:_=1,sdf:w=!1,stretchX:C,stretchY:L,content:R}=p;if(this._lazyInitEmptyStyle(),!(u instanceof HTMLImageElement||o.a(u))){if(u.width===void 0||u.height===void 0)return this.fire(new o.j(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{const{width:B,height:N,data:j}=u,U=u;return this.style.addImage(S,{data:new o.R({width:B,height:N},new Uint8Array(j)),pixelRatio:_,stretchX:C,stretchY:L,content:R,sdf:w,version:0,userImage:U}),U.onAdd&&U.onAdd(this,S),this}}{const{width:B,height:N,data:j}=o.h.getImageData(u);this.style.addImage(S,{data:new o.R({width:B,height:N},j),pixelRatio:_,stretchX:C,stretchY:L,content:R,sdf:w,version:0})}}updateImage(S,u){const p=this.style.getImage(S);if(!p)return this.fire(new o.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const _=u instanceof HTMLImageElement||o.a(u)?o.h.getImageData(u):u,{width:w,height:C,data:L}=_;if(w===void 0||C===void 0)return this.fire(new o.j(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(w!==p.data.width||C!==p.data.height)return this.fire(new o.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));const R=!(u instanceof HTMLImageElement||o.a(u));return p.data.replace(L,R),this.style.updateImage(S,p),this}getImage(S){return this.style.getImage(S)}hasImage(S){return S?!!this.style.getImage(S):(this.fire(new o.j(new Error("Missing required image id"))),!1)}removeImage(S){this.style.removeImage(S)}loadImage(S,u){P.getImage(this._requestManager.transformRequest(S,D.Image),u)}listImages(){return this.style.listImages()}addLayer(S,u){return this._lazyInitEmptyStyle(),this.style.addLayer(S,u),this._update(!0)}moveLayer(S,u){return this.style.moveLayer(S,u),this._update(!0)}removeLayer(S){return this.style.removeLayer(S),this._update(!0)}getLayer(S){return this.style.getLayer(S)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(S,u,p){return this.style.setLayerZoomRange(S,u,p),this._update(!0)}setFilter(S,u,p={}){return this.style.setFilter(S,u,p),this._update(!0)}getFilter(S){return this.style.getFilter(S)}setPaintProperty(S,u,p,_={}){return this.style.setPaintProperty(S,u,p,_),this._update(!0)}getPaintProperty(S,u){return this.style.getPaintProperty(S,u)}setLayoutProperty(S,u,p,_={}){return this.style.setLayoutProperty(S,u,p,_),this._update(!0)}getLayoutProperty(S,u){return this.style.getLayoutProperty(S,u)}setGlyphs(S,u={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(S,u),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(S,u,p={}){return this._lazyInitEmptyStyle(),this.style.addSprite(S,u,p,_=>{_||this._update(!0)}),this}removeSprite(S){return this._lazyInitEmptyStyle(),this.style.removeSprite(S),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(S,u={}){return this._lazyInitEmptyStyle(),this.style.setSprite(S,u,p=>{p||this._update(!0)}),this}setLight(S,u={}){return this._lazyInitEmptyStyle(),this.style.setLight(S,u),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(S,u){return this.style.setFeatureState(S,u),this._update()}removeFeatureState(S,u){return this.style.removeFeatureState(S,u),this._update()}getFeatureState(S){return this.style.getFeatureState(S)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let S=0,u=0;return this._container&&(S=this._container.clientWidth||400,u=this._container.clientHeight||300),[S,u]}_setupContainer(){const S=this._container;S.classList.add("maplibregl-map");const u=this._canvasContainer=d.create("div","maplibregl-canvas-container",S);this._interactive&&u.classList.add("maplibregl-interactive"),this._canvas=d.create("canvas","maplibregl-canvas",u),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map"),this._canvas.setAttribute("role","region");const p=this._containerDimensions(),_=this._getClampedPixelRatio(p[0],p[1]);this._resizeCanvas(p[0],p[1],_);const w=this._controlContainer=d.create("div","maplibregl-control-container",S),C=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(L=>{C[L]=d.create("div",`maplibregl-ctrl-${L} `,w)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_setupCooperativeGestures(){this._cooperativeGesturesScreen=d.create("div","maplibregl-cooperative-gesture-screen",this._container);let S=typeof this._cooperativeGestures!="boolean"&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:"Use Ctrl + scroll to zoom the map";navigator.platform.indexOf("Mac")===0&&(S=typeof this._cooperativeGestures!="boolean"&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:"Use ⌘ + scroll to zoom the map"),this._cooperativeGesturesScreen.innerHTML=` +
${S}
+
${typeof this._cooperativeGestures!="boolean"&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:"Use two fingers to move the map"}
+ `,this._cooperativeGesturesScreen.setAttribute("aria-hidden","true"),this._canvasContainer.addEventListener("wheel",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.add("maplibregl-cooperative-gestures")}_destroyCooperativeGestures(){d.remove(this._cooperativeGesturesScreen),this._canvasContainer.removeEventListener("wheel",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.remove("maplibregl-cooperative-gestures")}_resizeCanvas(S,u,p){this._canvas.width=Math.floor(p*S),this._canvas.height=Math.floor(p*u),this._canvas.style.width=`${S}px`,this._canvas.style.height=`${u}px`}_setupPainter(){const S={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let u=null;this._canvas.addEventListener("webglcontextcreationerror",_=>{u={requestedAttributes:S},_&&(u.statusMessage=_.statusMessage,u.type=_.type)},{once:!0});const p=this._canvas.getContext("webgl2",S)||this._canvas.getContext("webgl",S);if(!p){const _="Failed to initialize WebGL";throw u?(u.message=_,new Error(JSON.stringify(u))):new Error(_)}this.painter=new Gs(p,this.transform),m.testSupport(p)}_onCooperativeGesture(S,u,p){return!u&&p<2&&(this._cooperativeGesturesScreen.classList.add("maplibregl-show"),setTimeout(()=>{this._cooperativeGesturesScreen.classList.remove("maplibregl-show")},100)),!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(S){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||S,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(S){return this._update(),this._renderTaskQueue.add(S)}_cancelRenderFrame(S){this._renderTaskQueue.remove(S)}_render(S){const u=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(S),this._removed)return;let p=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const w=this.transform.zoom,C=o.h.now();this.style.zoomHistory.update(w,C);const L=new o.a8(w,{now:C,fadeDuration:u,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),R=L.crossFadingFactor();R===1&&R===this._crossFadingFactor||(p=!0,this._crossFadingFactor=R),this.style.update(L)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform._minEleveationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,u,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:u,showPadding:this.showPadding}),this.fire(new o.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,o.bg.mark(o.bh.load),this.fire(new o.k("load"))),this.style&&(this.style.hasTransitions()||p)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const _=this._sourcesDirty||this._styleDirty||this._placementDirty;return _||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new o.k("idle")),!this._loaded||this._fullyLoaded||_||(this._fullyLoaded=!0,o.bg.mark(o.bh.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){var S;this._hash&&this._hash.remove();for(const p of this._controls)p.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<"u"&&removeEventListener("online",this._onWindowOnline,!1),P.removeThrottleControl(this._imageQueueHandle),(S=this._resizeObserver)===null||S===void 0||S.disconnect();const u=this.painter.context.gl.getExtension("WEBGL_lose_context");u&&u.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),d.remove(this._canvasContainer),d.remove(this._controlContainer),this._cooperativeGestures&&this._destroyCooperativeGestures(),this._container.classList.remove("maplibregl-map"),o.bg.clearMetrics(),this._removed=!0,this.fire(new o.k("remove"))}triggerRepaint(){this.style&&!this._frame&&(this._frame=o.h.frame(S=>{o.bg.frame(S),this._frame=null,this._render(S)}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(S){this._showTileBoundaries!==S&&(this._showTileBoundaries=S,this._update())}get showPadding(){return!!this._showPadding}set showPadding(S){this._showPadding!==S&&(this._showPadding=S,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(S){this._showCollisionBoxes!==S&&(this._showCollisionBoxes=S,S?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(S){this._showOverdrawInspector!==S&&(this._showOverdrawInspector=S,this._update())}get repaint(){return!!this._repaint}set repaint(S){this._repaint!==S&&(this._repaint=S,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(S){this._vertices=S,this._update()}get version(){return $t}getCameraTargetElevation(){return this.transform.elevation}},kr.NavigationControl=class{constructor(S){this._updateZoomButtons=()=>{const u=this._map.getZoom(),p=u===this._map.getMaxZoom(),_=u===this._map.getMinZoom();this._zoomInButton.disabled=p,this._zoomOutButton.disabled=_,this._zoomInButton.setAttribute("aria-disabled",p.toString()),this._zoomOutButton.setAttribute("aria-disabled",_.toString())},this._rotateCompassArrow=()=>{const u=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=u},this._setButtonTitle=(u,p)=>{const _=this._map._getUIString(`NavigationControl.${p}`);u.title=_,u.setAttribute("aria-label",_)},this.options=o.e({},op,S),this._container=d.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",u=>u.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",u=>this._map.zoomIn({},{originalEvent:u})),d.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",u=>this._map.zoomOut({},{originalEvent:u})),d.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",u=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:u}):this._map.resetNorth({},{originalEvent:u})}),this._compassIcon=d.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(S){return this._map=S,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new sp(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){d.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(S,u){const p=d.create("button",S,this._container);return p.type="button",p.addEventListener("click",u),p}},kr.GeolocateControl=class extends o.E{constructor(S){super(),this._onSuccess=u=>{if(this._map){if(this._isOutOfMapMaxBounds(u))return this._setErrorState(),this.fire(new o.k("outofmaxbounds",u)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=u,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(u),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(u),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new o.k("geolocate",u)),this._finish()}},this._updateCamera=u=>{const p=new o.L(u.coords.longitude,u.coords.latitude),_=u.coords.accuracy,w=this._map.getBearing(),C=o.e({bearing:w},this.options.fitBoundsOptions),L=Wt.fromLngLat(p,_);this._map.fitBounds(L,C,{geolocateSource:!0})},this._updateMarker=u=>{if(u){const p=new o.L(u.coords.longitude,u.coords.latitude);this._accuracyCircleMarker.setLngLat(p).addTo(this._map),this._userLocationDotMarker.setLngLat(p).addTo(this._map),this._accuracy=u.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=u=>{if(this._map){if(this.options.trackUserLocation)if(u.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const p=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=p,this._geolocateButton.setAttribute("aria-label",p),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(u.code===3&&Zl)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new o.k("error",u)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=u=>{if(this._map){if(this._container.addEventListener("contextmenu",p=>p.preventDefault()),this._geolocateButton=d.create("button","maplibregl-ctrl-geolocate",this._container),d.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",u===!1){o.w("Geolocation support is not available so the GeolocateControl will be disabled.");const p=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=p,this._geolocateButton.setAttribute("aria-label",p)}else{const p=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=p,this._geolocateButton.setAttribute("aria-label",p)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=d.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new Ws({element:this._dotElement}),this._circleElement=d.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Ws({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",p=>{p.geolocateSource||this._watchState!=="ACTIVE_LOCK"||p.originalEvent&&p.originalEvent.type==="resize"||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new o.k("trackuserlocationend")))})}},this.options=o.e({},wn,S)}onAdd(S){return this._map=S,this._container=d.create("div","maplibregl-ctrl maplibregl-ctrl-group"),function(u,p=!1){kn===void 0||p?window.navigator.permissions!==void 0?window.navigator.permissions.query({name:"geolocation"}).then(_=>{kn=_.state!=="denied",u(kn)}).catch(()=>{kn=!!window.navigator.geolocation,u(kn)}):(kn=!!window.navigator.geolocation,u(kn)):u(kn)}(this._setupUI),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),d.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,gn=0,Zl=!1}_isOutOfMapMaxBounds(S){const u=this._map.getMaxBounds(),p=S.coords;return u&&(p.longitudeu.getEast()||p.latitudeu.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const S=this._map.getBounds(),u=S.getSouthEast(),p=S.getNorthEast(),_=u.distanceTo(p),w=Math.ceil(this._accuracy/(_/this._map._container.clientHeight)*2);this._circleElement.style.width=`${w}px`,this._circleElement.style.height=`${w}px`}trigger(){if(!this._setup)return o.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new o.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":gn--,Zl=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new o.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new o.k("trackuserlocationstart"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let S;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),gn++,gn>1?(S={maximumAge:6e5,timeout:0},Zl=!0):(S=this.options.positionOptions,Zl=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,S)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},kr.AttributionControl=la,kr.LogoControl=rn,kr.ScaleControl=class{constructor(S){this._onMove=()=>{ec(this._map,this._container,this.options)},this.setUnit=u=>{this.options.unit=u,ec(this._map,this._container,this.options)},this.options=o.e({},Qu,S)}getDefaultPosition(){return"bottom-left"}onAdd(S){return this._map=S,this._container=d.create("div","maplibregl-ctrl maplibregl-ctrl-scale",S.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){d.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},kr.FullscreenControl=class extends o.E{constructor(S={}){super(),this._onFullscreenChange=()=>{(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,S&&S.container&&(S.container instanceof HTMLElement?this._container=S.container:o.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(S){return this._map=S,this._container||(this._container=this._map.getContainer()),this._controlContainer=d.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){d.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const S=this._fullscreenButton=d.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);d.create("span","maplibregl-ctrl-icon",S).setAttribute("aria-hidden","true"),S.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){const S=this._getTitle();this._fullscreenButton.setAttribute("aria-label",S),this._fullscreenButton.title=S}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new o.k("fullscreenstart")),this._map._cooperativeGestures&&(this._prevCooperativeGestures=this._map._cooperativeGestures,this._map.setCooperativeGestures())):(this.fire(new o.k("fullscreenend")),this._prevCooperativeGestures&&(this._map.setCooperativeGestures(this._prevCooperativeGestures),delete this._prevCooperativeGestures))}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},kr.TerrainControl=class{constructor(S){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.disableTerrain")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.enableTerrain"))},this.options=S}onAdd(S){return this._map=S,this._container=d.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=d.create("button","maplibregl-ctrl-terrain",this._container),d.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){d.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},kr.Popup=class extends o.E{constructor(S){super(),this.remove=()=>(this._content&&d.remove(this._content),this._container&&(d.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new o.k("close")),this),this._onMouseUp=u=>{this._update(u.point)},this._onMouseMove=u=>{this._update(u.point)},this._onDrag=u=>{this._update(u.point)},this._update=u=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=d.create("div","maplibregl-popup",this._map.getContainer()),this._tip=d.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(const L of this.options.className.split(" "))this._container.classList.add(L);this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=lp(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!u)return;const p=this._pos=this._trackPointer&&u?u:this._map.project(this._lngLat);let _=this.options.anchor;const w=Xl(this.options.offset);if(!_){const L=this._container.offsetWidth,R=this._container.offsetHeight;let B;B=p.y+w.bottom.ythis._map.transform.height-R?["bottom"]:[],p.xthis._map.transform.width-L/2&&B.push("right"),_=B.length===0?"bottom":B.join("-")}const C=p.add(w[_]).round();d.setTransform(this._container,`${Ma[_]} translate(${C.x}px,${C.y}px)`),Ng(this._container,_,"popup")},this._onClose=()=>{this.remove()},this.options=o.e(Object.create(up),S)}addTo(S){return this._map&&this.remove(),this._map=S,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new o.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(S){return this._lngLat=o.L.convert(S),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(S){return this.setDOMContent(document.createTextNode(S))}setHTML(S){const u=document.createDocumentFragment(),p=document.createElement("body");let _;for(p.innerHTML=S;_=p.firstChild,_;)u.appendChild(_);return this.setDOMContent(u)}getMaxWidth(){var S;return(S=this._container)===null||S===void 0?void 0:S.style.maxWidth}setMaxWidth(S){return this.options.maxWidth=S,this._update(),this}setDOMContent(S){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=d.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(S),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(S){this._container&&this._container.classList.add(S)}removeClassName(S){this._container&&this._container.classList.remove(S)}setOffset(S){return this.options.offset=S,this._update(),this}toggleClassName(S){if(this._container)return this._container.classList.toggle(S)}_createCloseButton(){this.options.closeButton&&(this._closeButton=d.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const S=this._container.querySelector(cp);S&&S.focus()}},kr.Marker=Ws,kr.Style=oi,kr.LngLat=o.L,kr.LngLatBounds=Wt,kr.Point=o.P,kr.MercatorCoordinate=o.U,kr.Evented=o.E,kr.AJAXError=o.bi,kr.config=o.c,kr.CanvasSource=ue,kr.GeoJSONSource=lt,kr.ImageSource=dt,kr.RasterDEMTileSource=qe,kr.RasterTileSource=mr,kr.VectorTileSource=Ar,kr.VideoSource=vt,kr.setRTLTextPlugin=o.bj,kr.getRTLTextPluginStatus=o.bk,kr.prewarm=function(){Ir().acquire(gt)},kr.clearPrewarmedResources=function(){const S=wr;S&&(S.isPreloaded()&&S.numActive()===1?(S.release(gt),wr=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},hp.extend(kr,{isSafari:o.ac,getPerformanceMetrics:o.bg.getPerformanceMetrics}),kr});var s=i;return s})})(M6);var Ore=M6.exports;const su=r6(Ore),zre={name:"MyMap",data:()=>({map_style_url:"https://mirrors.sustech.edu.cn/osm-tile/styles/osm-bright/style.json",map_text_colour:"#000000",bus_location_data_api:[],bus_location_data_display:[],bus_plate_hash:{298:{plate:"粤BDF298"},363:{plate:"粤BDF363"},8040:{plate:"粤BDF040"},8147:{plate:"粤BDF147"},8267:{plate:"粤BDF267"},8330:{plate:"粤BDF330"},8335:{plate:"粤BDF335"},8338:{plate:"粤BDF338"},8345:{plate:"粤BDF345"},8365:{plate:"粤BDF365"},8371:{plate:"粤BDF371"},8411:{plate:"粤BDF411"},8421:{plate:"粤BDF421"},8430:{plate:"粤BDF430"},8447:{plate:"粤BDE447"},8458:{plate:"粤BDF458"},8470:{plate:"粤BDF470"},8471:{plate:"粤BDF471"},18447:{plate:"粤BDF447"}},geojson_line_1:[[113.99739584160139,22.610765716856296],[113.99770244929088,22.610602750604695],[113.99771094950285,22.61059767778233],[113.99771890653385,22.610591789421974],[113.99772624241524,22.61058514322198],[113.99773288526481,22.610577804306548],[113.99773876999119,22.610569844587616],[113.99824514560808,22.609808813574297],[113.998249208217,22.609802159245984],[113.99825274007058,22.60979520864264],[113.99898879543889,22.60819510708253],[113.99899240486543,22.608186143427105],[113.99899513228698,22.608176873246407],[113.99899695223624,22.60816738310082],[113.9989978477194,22.608157761604655],[113.99899781037489,22.60814809859871],[113.99899684055141,22.608138484311375],[113.99876376465981,22.606584405046835],[113.99876186005746,22.60657488398115],[113.99875904105679,22.60656559250995],[113.9987553342348,22.606556618231554],[113.99875077453878,22.606548045753847],[113.9987454049567,22.606539955896604],[113.99840124581259,22.606072409367975],[113.99839530892635,22.606065092796133],[113.9983887097732,22.60605836746942],[113.99838150693964,22.606052293094507],[113.9983737643716,22.606046923598996],[113.99836555080671,22.606042306652647],[113.99835693916405,22.60603848324417],[113.99834800589677,22.606035487317342],[113.99774294809698,22.605863822610463],[113.99773312637,22.605861563911226],[113.99772312717697,22.605860305268262],[113.99771305207776,22.60586005946536],[113.99770300340316,22.605860828999095],[113.99769308321561,22.605862606053456],[113.9976833922725,22.605865372579256],[113.996462081496,22.60628164325351],[113.99540699384544,22.60655007340282],[113.99537688636465,22.60638436471066],[113.99537457846512,22.606374521317747],[113.99537128843397,22.606364961271755],[113.99536704990152,22.60635578229431],[113.99536190619351,22.606347078211808],[113.99535590988829,22.606338937996323],[113.99534912227939,22.606331444856142],[113.99534161274892,22.60632467538524],[113.99533345805837,22.60631869878032],[113.995324741564,22.606313576133513],[113.99531555236477,22.60630935980789],[113.99491868014185,22.60615102642152],[113.99446803578164,22.605922922486105],[113.993628105381,22.605432281601264],[113.99361436378835,22.60541624974317],[113.99361283376653,22.605399929510398],[113.99403523011212,22.604697356220907],[113.99427914343141,22.604297776694622],[113.99454570612934,22.60407119840138],[113.99455101208882,22.604066349285663],[113.99481121659123,22.60381079129223],[113.99481565952753,22.603806137576637],[113.99515576701069,22.603426136652367],[113.99549648383878,22.60304833084697],[113.99570726599393,22.60298417975627],[113.99623267681147,22.60298349183956],[113.99686127008054,22.603078201644227],[113.99770971150042,22.60339811537432],[113.9977201426685,22.603401409146592],[113.99773087118898,22.603403543871796],[113.99774176868631,22.603404494006192],[113.99787229266123,22.603408704456996],[113.99788215074415,22.603408536156227],[113.9978919443383,22.60340739789566],[113.99790157824009,22.603405300740327],[113.99791095879819,22.603402265076713],[113.9979199948241,22.603398320414538],[113.9979285984785,22.60339350509991],[113.99793668612513,22.60338786594256],[113.99794417914393,22.60338145776082],[113.9980199672584,22.603309880097154],[113.99802683618526,22.603302715227613],[113.99803296099675,22.603294904709315],[113.99803828135273,22.603286525489548],[113.99804274483841,22.603277660118295],[113.9980463074806,22.603268395934986],[113.99804893418107,22.603258824208055],[113.99810024403767,22.60302739683338],[113.99810134953593,22.603021608404344],[113.99816665521513,22.602614977726315],[113.99835030416712,22.60216721735362],[113.99856193554633,22.601842951121434],[113.99880470491176,22.601545730488308],[113.99881031760918,22.601538156502247],[113.99881519216395,22.60153008765145],[113.99881928525701,22.6015215956419],[113.99882256051407,22.601512755940064],[113.99882498882864,22.601503647102295],[113.9988265486209,22.601494350076678],[113.99882722602932,22.60148494748368],[113.9988344317295,22.601194082723367],[113.99895072783376,22.600790214181995],[113.9990602569799,22.600602634774226],[113.99921879840926,22.600476730796977],[113.99919877407567,22.60043325336671],[113.99912215529531,22.600408139732792],[113.99802751236375,22.600038565633355],[113.99775839514615,22.599792681543633],[113.99730187808832,22.598960946075003],[113.99590977592047,22.5977773063799],[113.99576459924215,22.59751983095157],[113.99543299558397,22.59717440812865],[113.9951938686417,22.5966914370548],[113.99501583215859,22.59639577584673],[113.99463229185628,22.596104860560743],[113.99420385593578,22.595969591352997],[113.99382768199821,22.59595993652297],[113.9938169603822,22.59596023674876],[113.99380633259398,22.59596168357378],[113.99379592089899,22.59596426035329],[113.99378584507669,22.595967937443213],[113.99321594303598,22.596211295714554],[113.99320787618828,22.59621517605677],[113.99320018866534,22.59621976224022],[113.99319294206812,22.596225017515316],[113.9931861944644,22.596230899770962],[113.99265363550316,22.596738860232236],[113.99200633643709,22.59716671060916],[113.99157366427197,22.5971462468509],[113.99090478252046,22.5969456920235],[113.99089489978897,22.59694326928491],[113.99088482201618,22.596941863390235],[113.9908746535454,22.596941488895837],[113.99086449965898,22.596942149679155],[113.99039476525739,22.596996829390125],[113.99038484213679,22.596998494112995],[113.99037513653565,22.597001147588333],[113.99036574671312,22.59700476295245],[113.99035676773141,22.597009303603546],[113.99034829049342,22.59701472357223],[113.99034040082233,22.597020967986946],[113.99033317859293,22.597027973629473],[113.99032669692278,22.59703566957495],[113.99032102143205,22.597043977909916],[113.99031620957922,22.597052814521092],[113.9903123100793,22.597062089946967],[113.99030936241067,22.59707171028347],[113.99020088374516,22.59750194984639],[113.99019873660492,22.597513104722935],[113.99019786842672,22.597524431141103],[113.99019829041364,22.59753578294312],[113.99030139387085,22.59862956838946],[113.99030286538937,22.59863964935582],[113.9903053549666,22.598649528285655],[113.99030883676294,22.59865910264432],[113.99048378356784,22.59907317753902],[113.99048795907763,22.599081866470787],[113.99049295183752,22.59909011297101],[113.99049871544861,22.599097840402962],[113.99050519634824,22.599104976953754],[113.99051233430787,22.599111456301692],[113.99052006299269,22.59911721823263],[113.99075599101839,22.599276010611053],[113.99076619844251,22.59928203412041],[113.99126127611241,22.599535900836155],[113.9917686585336,22.6000105337692],[113.99191211157755,22.60053218120178],[113.99183362959826,22.601016496848214],[113.99144872111891,22.60153952301182],[113.99077751816642,22.602118998056795],[113.99045237812743,22.602377905865616],[113.9904454049912,22.602384007276413],[113.99043902651476,22.60239072790739],[113.99010219314502,22.60332391993846]],geojson_line_2:[[113.9914596783045,22.59960492109923],[113.9918969233072,22.59993661748595],[113.9920105698998,22.6005318195689],[113.9919172423369,22.60102266627295],[113.9917196221943,22.601431625928],[113.9915262747645,22.601612498395962],[113.99204584987558,22.60262745159568],[113.99233952276445,22.60296808489611],[113.99279885728298,22.603280910653833],[113.99298710913483,22.60350336409337],[113.99385306765333,22.603677155592816],[113.99419945106074,22.60426804504929],[113.99386414857948,22.604784676421257],[113.9934784038899,22.60548092977822],[113.995278497141,22.60640224097063],[113.9953277666447,22.60667341560261],[113.9964905851169,22.6063775771138],[113.9977156537446,22.60596002561628],[113.9983207115444,22.60613169032316],[113.9986648706885,22.60659923685179],[113.9988979465801,22.60815331611633],[113.9981618912118,22.60975341767644],[113.9976555155949,22.61051444868976],[113.9973489079054,22.61067741494136]],bldg_geojson:{},gate_geojson:{},stations_geojson:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[113.9902,22.60336]},properties:{name:"工学院 COE"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.99153,22.599643]},properties:{name:"科研楼 Research Building"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.990399,22.597132]},properties:{name:"七号门 Gate7"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.992403,22.597011]},properties:{name:"行政楼 Administration Building"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.9944,22.59618]},properties:{name:"1号门 Gate1 (下行DN)"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.99381,22.59604]},properties:{name:"1号门 Gate1 (上行UP)"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.99585,22.59788]},properties:{name:"商学院 Business School"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.99878,22.60041]},properties:{name:"3号门 Gate3"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.998329,22.601975]},properties:{name:"专家公寓 Guest Houses"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.997811,22.603325]},properties:{name:"教工餐厅 Faculty Cafteria"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.995981,22.60293]},properties:{name:"社康中心 C.Health.Center"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.993824,22.604854]},properties:{name:"学生宿舍 Stu. Dormitories"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.995238,22.606518]},properties:{name:"荔园 Lychee Hill"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.996732,22.606278]},properties:{name:"创园 Chuang Yuan"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.998372,22.606102]},properties:{name:"慧园 Hui Yuan"}},{type:"Feature",geometry:{type:"Point",coordinates:[113.997473,22.610667]},properties:{name:"欣园 Joy Highland"}}]},bus_marker_arr:[],map:[],time_difference:0,timer:{}}),async created(){const e=await Ka.get("https://bus.sustcra.com/geojson/sustech_bldg.json");this.bldg_geojson=e.data;const t=await Ka.get("https://bus.sustcra.com/geojson/sustech_gate.json");this.gate_geojson=t.data,console.log("Fetch geojson of sustech complete")},methods:{async fetch_bus(){const e=await Ka.get("https://bus.sustcra.com/api/v2/monitor_osm/");this.bus_location_data_api=e.data;const t=new Date;console.log("bus location data fetched at "+parseInt(t.getTime()/1e3)),typeof this.bus_location_data_api[0].time_mt<"u"&&(this.time_difference=parseInt(t.getTime()/1e3-this.bus_location_data_api[0].time_mt),console.log("The clock drift is "+this.time_difference+" seconds")),this.update_location()},update_location:function(){this.display_data=[],this.bus_marker_arr.forEach(a=>a.remove());let e;for(e=0;ePlate: '+this.bus_location_data_api[e].id+"

Speed: "+this.bus_location_data_api[e].speed+"km/h

Line: "+this.bus_location_data_api[e].route_code+"

")).addTo(this.map);else var i=new su.Marker({element:r}).setLngLat([this.bus_location_data_api[e].lng,this.bus_location_data_api[e].lat]).setPopup(new su.Popup({offset:20}).setHTML('

Plate: '+this.bus_location_data_api[e].id+"

Speed: "+this.bus_location_data_api[e].speed+"km/h

Line: "+this.bus_location_data_api[e].route_code+"

")).addTo(this.map);this.bus_marker_arr.push(i)}},async refresh(){await this.fetch_bus()}},async mounted(){const e={lng:113.99373,lat:22.60308,zoom:14},t={bus_location_data:this.bus_location_data,geojson_line_1:this.geojson_line_1,geojson_line_2:this.geojson_line_2},r=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches;window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches,await r&&(console.log("dark mode enabled."),this.map_text_colour="#FFFFFF",this.map_style_url="https://mirrors.sustech.edu.cn/osm-tile/styles/osm-blue/style.json"),this.map=new su.Map({container:this.$refs.myMap,style:this.map_style_url,center:[e.lng,e.lat],zoom:e.zoom});var n=new su.NavigationControl;this.map.addControl(n,"top-left"),this.map.addControl(new su.FullscreenControl,"top-left");class i{onAdd(o){this._map=o,this._container=document.createElement("div"),this._container.className="maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group";const h=this._createButton("interaction-lock");return this._container.appendChild(h),h.click(),this._container}onRemove(){this._container.parentNode.removeChild(this._container),this._map=void 0}_createButton(o){const h=window.document.createElement("button");return h.className=o,h.isInteractionEnabled=!0,h.addEventListener("click",d=>{h.isInteractionEnabled=!h.isInteractionEnabled,h.isInteractionEnabled?(this._map.dragPan.enable(),this._map.boxZoom.enable(),this._map.doubleClickZoom.enable(),this._map.touchZoomRotate.enable(),this._map.scrollZoom.enable(),h.innerHTML=''):(this._map.dragPan.disable(),this._map.boxZoom.disable(),this._map.doubleClickZoom.disable(),this._map.touchZoomRotate.disable(),this._map.scrollZoom.disable(),h.innerHTML=''),d.preventDefault(),d.stopPropagation()},!1),h}}const a=new i;this.map.addControl(a,"top-left"),this.map.addControl(new su.GeolocateControl({positionOptions:{enableHighAccuracy:!0},trackUserLocation:!0,showUserHeading:!0})),this.map.on("load",()=>{this.map.addSource("line1",{type:"geojson",data:{type:"Feature",properties:{},geometry:{type:"LineString",coordinates:t.geojson_line_1}}}),this.map.addSource("line2",{type:"geojson",data:{type:"Feature",properties:{},geometry:{type:"LineString",coordinates:t.geojson_line_2}}}),this.map.addLayer({id:"line1",type:"line",source:"line1",layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":"#f7911d","line-width":3}}),this.map.addLayer({id:"line2",type:"line",source:"line2",layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":"#29abe2","line-width":3}}),this.map.loadImage("https://bus.sustcra.com/station_icon.png",(s,o)=>{if(s)throw s;this.map.addImage("bus-station",o),this.map.loadImage("https://bus.sustcra.com/bldg_icon.png",(h,d)=>{this.map.addImage("bldg-icon",d)}),this.map.loadImage("https://bus.sustcra.com/gate_icon.png",(h,d)=>{this.map.addImage("gate-icon",d)}),this.map.addSource("stations",{type:"geojson",data:this.stations_geojson}),this.map.addSource("bldgs",{type:"geojson",data:this.bldg_geojson}),this.map.addSource("gates",{type:"geojson",data:this.gate_geojson}),this.map.addLayer({id:"bus-station",type:"symbol",source:"stations",layout:{"icon-size":.075,"icon-image":"bus-station","text-field":["get","name"],"text-size":10,"text-offset":[0,1.25],"text-anchor":"top"},paint:{"text-color":this.map_text_colour},filter:["==","$type","Point"]}),this.map.addLayer({id:"bldgs",type:"symbol",source:"bldgs",layout:{"icon-size":.02,"icon-image":"bldg-icon","text-field":["get","name"],"text-size":9,"text-offset":[0,.3],"text-anchor":"top"},paint:{"text-color":this.map_text_colour},filter:["==","$type","Point"]}),this.map.addLayer({id:"gates",type:"symbol",source:"gates",layout:{"icon-size":.05,"icon-image":"gate-icon","text-field":["get","name"],"text-size":10,"text-offset":[0,.6],"text-anchor":"top"},paint:{"text-color":this.map_text_colour},filter:["==","$type","Point"]})})}),await this.fetch_bus(),this.timer=setInterval(()=>{this.refresh()},5e3)},async unmounted(){clearInterval(this.timer)}},Bre={class:"map-container",ref:"myMap"};function Fre(e,t,r,n,i,a){return ft(),zt(Mr,null,[Qt("div",Bre,null,512),Qt("span",null,"Time drift: "+zr(e.time_difference)+" sec.",1)],64)}const $re=Vr(zre,[["render",Fre],["__scopeId","data-v-b4cb2a49"],["__file","RealtimeMap.vue"]]),Nre={name:"weather-span",data:()=>({text:""}),mounted(){this.load_weather()},methods:{load_weather(){Ka.get("https://api.sustech.online/weather").then(e=>{this.text=e.data.msg})}}},Vre={id:"weather-container"},jre={id:"weather"};function Hre(e,t,r,n,i,a){return ft(),zt("div",Vre,[Qt("span",jre,zr(e.text),1)])}const Ure=Vr(Nre,[["render",Hre],["__file","weather-span.vue"]]);var Yi=63710088e-1,AC={centimeters:Yi*100,centimetres:Yi*100,degrees:Yi/111325,feet:Yi*3.28084,inches:Yi*39.37,kilometers:Yi/1e3,kilometres:Yi/1e3,meters:Yi,metres:Yi,miles:Yi/1609.344,millimeters:Yi*1e3,millimetres:Yi*1e3,nauticalmiles:Yi/1852,radians:1,yards:Yi*1.0936},Gre={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/Yi,yards:1.0936133},rS={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function Io(e,t,r){r===void 0&&(r={});var n={type:"Feature"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function qre(e,t,r){switch(e){case"Point":return Qi(t).geometry;case"LineString":return To(t).geometry;case"Polygon":return MC(t).geometry;case"MultiPoint":return D6(t).geometry;case"MultiLineString":return I6(t).geometry;case"MultiPolygon":return L6(t).geometry;default:throw new Error(e+" is invalid")}}function Qi(e,t,r){if(r===void 0&&(r={}),!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!g0(e[0])||!g0(e[1]))throw new Error("coordinates must contain numbers");var n={type:"Point",coordinates:e};return Io(n,t,r)}function Wre(e,t,r){return r===void 0&&(r={}),oh(e.map(function(n){return Qi(n,t)}),r)}function MC(e,t,r){r===void 0&&(r={});for(var n=0,i=e;n=0))throw new Error("precision must be a positive number");var r=Math.pow(10,t||0);return Math.round(e*r)/r}function PC(e,t){t===void 0&&(t="kilometers");var r=AC[t];if(!r)throw new Error(t+" units is invalid");return e*r}function C1(e,t){t===void 0&&(t="kilometers");var r=AC[t];if(!r)throw new Error(t+" units is invalid");return e/r}function Jre(e,t){return hv(C1(e,t))}function Qre(e){var t=e%360;return t<0&&(t+=360),t}function hv(e){var t=e%(2*Math.PI);return t*180/Math.PI}function Co(e){var t=e%360;return t*Math.PI/180}function ene(e,t,r){if(t===void 0&&(t="kilometers"),r===void 0&&(r="kilometers"),!(e>=0))throw new Error("length must be a positive number");return PC(C1(e,t),r)}function tne(e,t,r){if(t===void 0&&(t="meters"),r===void 0&&(r="kilometers"),!(e>=0))throw new Error("area must be a positive number");var n=rS[t];if(!n)throw new Error("invalid original units");var i=rS[r];if(!i)throw new Error("invalid final units");return e/n*i}function g0(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}function IC(e){return!!e&&e.constructor===Object}function rne(e){if(!e)throw new Error("bbox is required");if(!Array.isArray(e))throw new Error("bbox must be an Array");if(e.length!==4&&e.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");e.forEach(function(t){if(!g0(t))throw new Error("bbox must only contain numbers")})}function nne(e){if(!e)throw new Error("id is required");if(["string","number"].indexOf(typeof e)===-1)throw new Error("id must be a number or a string")}const ine=Object.freeze(Object.defineProperty({__proto__:null,areaFactors:rS,bearingToAzimuth:Qre,convertArea:tne,convertLength:ene,degreesToRadians:Co,earthRadius:Yi,factors:AC,feature:Io,featureCollection:oh,geometry:qre,geometryCollection:Yre,isNumber:g0,isObject:IC,lengthToDegrees:Jre,lengthToRadians:C1,lineString:To,lineStrings:Xre,multiLineString:I6,multiPoint:D6,multiPolygon:L6,point:Qi,points:Wre,polygon:MC,polygons:Zre,radiansToDegrees:hv,radiansToLength:PC,round:Kre,unitsFactors:Gre,validateBBox:rne,validateId:nne},Symbol.toStringTag,{value:"Module"}));function yd(e,t,r){if(e!==null)for(var n,i,a,s,o,h,d,m=0,g=0,y,x=e.type,E=x==="FeatureCollection",M=x==="Feature",P=E?e.features.length:1,D=0;Dh||E>d||M>m){o=g,h=n,d=E,m=M,a=0;return}var P=To([o,g],r.properties);if(t(P,n,i,M,a)===!1)return!1;a++,o=g})===!1)return!1}}})}function O6(e,t,r){var n=r,i=!1;return R6(e,function(a,s,o,h,d){i===!1&&r===void 0?n=a:n=t(n,a,s,o,h,d),i=!0}),n}function z6(e,t){if(!e)throw new Error("geojson is required");_d(e,function(r,n,i){if(r.geometry!==null){var a=r.geometry.type,s=r.geometry.coordinates;switch(a){case"LineString":if(t(r,n,i,0,0)===!1)return!1;break;case"Polygon":for(var o=0;or[0]&&(t[0]=r[0]),t[1]>r[1]&&(t[1]=r[1]),t[2]=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return e;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function rd(e){if(Array.isArray(e))return e;if(e.type==="Feature"){if(e.geometry!==null)return e.geometry.coordinates}else if(e.coordinates)return e.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function Vc(e,t,r){r===void 0&&(r={});var n=dv(e),i=dv(t),a=Co(i[1]-n[1]),s=Co(i[0]-n[0]),o=Co(n[1]),h=Co(i[1]),d=Math.pow(Math.sin(a/2),2)+Math.pow(Math.sin(s/2),2)*Math.cos(o)*Math.cos(h);return PC(2*Math.atan2(Math.sqrt(d),Math.sqrt(1-d)),r.units)}function vne(e){if(!e)throw new Error("geojson is required");switch(e.type){case"Feature":return B6(e);case"FeatureCollection":return gne(e);case"Point":case"LineString":case"Polygon":case"MultiPoint":case"MultiLineString":case"MultiPolygon":case"GeometryCollection":return LC(e);default:throw new Error("unknown GeoJSON type")}}function B6(e){var t={type:"Feature"};return Object.keys(e).forEach(function(r){switch(r){case"type":case"properties":case"geometry":return;default:t[r]=e[r]}}),t.properties=F6(e.properties),t.geometry=LC(e.geometry),t}function F6(e){var t={};return e&&Object.keys(e).forEach(function(r){var n=e[r];typeof n=="object"?n===null?t[r]=null:Array.isArray(n)?t[r]=n.map(function(i){return i}):t[r]=F6(n):t[r]=n}),t}function gne(e){var t={type:"FeatureCollection"};return Object.keys(e).forEach(function(r){switch(r){case"type":case"features":return;default:t[r]=e[r]}}),t.features=e.features.map(function(r){return B6(r)}),t}function LC(e){var t={type:e.type};return e.bbox&&(t.bbox=e.bbox),e.type==="GeometryCollection"?(t.geometries=e.geometries.map(function(r){return LC(r)}),t):(t.coordinates=$6(e.coordinates),t)}function $6(e){var t=e;return typeof t[0]!="object"?t.slice():t.map(function(r){return $6(r)})}function SD(e,t,r,n){n===void 0&&(n={});var i=dv(e),a=Co(i[0]),s=Co(i[1]),o=Co(r),h=C1(t,n.units),d=Math.asin(Math.sin(s)*Math.cos(h)+Math.cos(s)*Math.sin(h)*Math.cos(o)),m=a+Math.atan2(Math.sin(o)*Math.sin(h)*Math.cos(s),Math.cos(h)-Math.sin(s)*Math.sin(d)),g=hv(m),y=hv(d);return Qi([g,y],n.properties)}function N6(e,t,r){if(r===void 0&&(r={}),r.final===!0)return yne(e,t);var n=dv(e),i=dv(t),a=Co(n[0]),s=Co(i[0]),o=Co(n[1]),h=Co(i[1]),d=Math.sin(s-a)*Math.cos(h),m=Math.cos(o)*Math.sin(h)-Math.sin(o)*Math.cos(h)*Math.cos(s-a);return hv(Math.atan2(d,m))}function yne(e,t){var r=N6(t,e);return r=(r+180)%360,r}function TD(e,t){if(!e)throw new Error("targetPoint is required");if(!t)throw new Error("points is required");var r,n=1/0,i=0;return fv(t,function(a,s){var o=Vc(e,a);oi?r:i,d=n>a?n:a;return[s,o,h,d]}var kC={exports:{}},V6={exports:{}};(function(e,t){(function(r,n){e.exports=n()})(t6,function(){function r(k,O,F,q,H){(function W(Z,ee,re,ce,le){for(;ce>re;){if(ce-re>600){var ve=ce-re+1,de=ee-re+1,Te=Math.log(ve),we=.5*Math.exp(2*Te/3),Ue=.5*Math.sqrt(Te*we*(ve-we)/ve)*(de-ve/2<0?-1:1),He=Math.max(re,Math.floor(ee-de*we/ve+Ue)),Mt=Math.min(ce,Math.floor(ee+(ve-de)*we/ve+Ue));W(Z,ee,He,Mt,le)}var Pt=Z[ee],er=re,Dt=ce;for(n(Z,re,ee),le(Z[ce],Pt)>0&&n(Z,re,ce);er0;)Dt--}le(Z[re],Pt)===0?n(Z,re,Dt):n(Z,++Dt,ce),Dt<=ee&&(re=Dt+1),ee<=Dt&&(ce=Dt-1)}})(k,O,F||0,q||k.length-1,H||i)}function n(k,O,F){var q=k[O];k[O]=k[F],k[F]=q}function i(k,O){return kO?1:0}var a=function(k){k===void 0&&(k=9),this._maxEntries=Math.max(4,k),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function s(k,O,F){if(!F)return O.indexOf(k);for(var q=0;q=k.minX&&O.maxY>=k.minY}function P(k){return{children:k,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function D(k,O,F,q,H){for(var W=[O,F];W.length;)if(!((F=W.pop())-(O=W.pop())<=q)){var Z=O+Math.ceil((F-O)/q/2)*q;r(k,Z,O,F,H),W.push(O,Z,Z,F)}}return a.prototype.all=function(){return this._all(this.data,[])},a.prototype.search=function(k){var O=this.data,F=[];if(!M(k,O))return F;for(var q=this.toBBox,H=[];O;){for(var W=0;W=0&&H[O].children.length>this._maxEntries;)this._split(H,O),O--;this._adjustParentBBoxes(q,H,O)},a.prototype._split=function(k,O){var F=k[O],q=F.children.length,H=this._minEntries;this._chooseSplitAxis(F,H,q);var W=this._chooseSplitIndex(F,H,q),Z=P(F.children.splice(W,F.children.length-W));Z.height=F.height,Z.leaf=F.leaf,o(F,this.toBBox),o(Z,this.toBBox),O?k[O-1].children.push(Z):this._splitRoot(F,Z)},a.prototype._splitRoot=function(k,O){this.data=P([k,O]),this.data.height=k.height+1,this.data.leaf=!1,o(this.data,this.toBBox)},a.prototype._chooseSplitIndex=function(k,O,F){for(var q,H,W,Z,ee,re,ce,le=1/0,ve=1/0,de=O;de<=F-O;de++){var Te=h(k,0,de,this.toBBox),we=h(k,de,F,this.toBBox),Ue=(H=Te,W=we,Z=void 0,ee=void 0,re=void 0,ce=void 0,Z=Math.max(H.minX,W.minX),ee=Math.max(H.minY,W.minY),re=Math.min(H.maxX,W.maxX),ce=Math.min(H.maxY,W.maxY),Math.max(0,re-Z)*Math.max(0,ce-ee)),He=y(Te)+y(we);Ue=O;le--){var ve=k.children[le];d(Z,k.leaf?H(ve):ve),ee+=x(Z)}return ee},a.prototype._adjustParentBBoxes=function(k,O,F){for(var q=F;q>=0;q--)d(O[q],k)},a.prototype._condense=function(k){for(var O=k.length-1,F=void 0;O>=0;O--)k[O].children.length===0?O>0?(F=k[O-1].children).splice(F.indexOf(k[O]),1):this.clear():o(k[O],this.toBBox)},a})})(V6);var wne=V6.exports;const Sne=TC(ine),Tne=TC(pne),Cne=TC(mne);var _s=wne,j6=Sne,H6=Tne,of=Cne.default,Ene=H6.featureEach;H6.coordEach;j6.polygon;var ED=j6.featureCollection;function U6(e){var t=new _s(e);return t.insert=function(r){if(r.type!=="Feature")throw new Error("invalid feature");return r.bbox=r.bbox?r.bbox:of(r),_s.prototype.insert.call(this,r)},t.load=function(r){var n=[];return Array.isArray(r)?r.forEach(function(i){if(i.type!=="Feature")throw new Error("invalid features");i.bbox=i.bbox?i.bbox:of(i),n.push(i)}):Ene(r,function(i){if(i.type!=="Feature")throw new Error("invalid features");i.bbox=i.bbox?i.bbox:of(i),n.push(i)}),_s.prototype.load.call(this,n)},t.remove=function(r,n){if(r.type!=="Feature")throw new Error("invalid feature");return r.bbox=r.bbox?r.bbox:of(r),_s.prototype.remove.call(this,r,n)},t.clear=function(){return _s.prototype.clear.call(this)},t.search=function(r){var n=_s.prototype.search.call(this,this.toBBox(r));return ED(n)},t.collides=function(r){return _s.prototype.collides.call(this,this.toBBox(r))},t.all=function(){var r=_s.prototype.all.call(this);return ED(r)},t.toJSON=function(){return _s.prototype.toJSON.call(this)},t.fromJSON=function(r){return _s.prototype.fromJSON.call(this,r)},t.toBBox=function(r){var n;if(r.bbox)n=r.bbox;else if(Array.isArray(r)&&r.length===4)n=r;else if(Array.isArray(r)&&r.length===6)n=[r[0],r[1],r[3],r[4]];else if(r.type==="Feature")n=of(r);else if(r.type==="FeatureCollection")n=of(r);else throw new Error("invalid geojson");return{minX:n[0],minY:n[1],maxX:n[2],maxY:n[3]}},t}kC.exports=U6;kC.exports.default=U6;var Ane=kC.exports;const Mne=r6(Ane);function Pne(e,t){var r={},n=[];if(e.type==="LineString"&&(e=Io(e)),t.type==="LineString"&&(t=Io(t)),e.type==="Feature"&&t.type==="Feature"&&e.geometry!==null&&t.geometry!==null&&e.geometry.type==="LineString"&&t.geometry.type==="LineString"&&e.geometry.coordinates.length===2&&t.geometry.coordinates.length===2){var i=AD(e,t);return i&&n.push(i),oh(n)}var a=Mne();return a.load(CD(t)),fv(CD(e),function(s){fv(a.search(s),function(o){var h=AD(s,o);if(h){var d=rd(h).join(",");r[d]||(r[d]=!0,n.push(h))}})}),oh(n)}function AD(e,t){var r=rd(e),n=rd(t);if(r.length!==2)throw new Error(" line1 must only contain 2 coordinates");if(n.length!==2)throw new Error(" line2 must only contain 2 coordinates");var i=r[0][0],a=r[0][1],s=r[1][0],o=r[1][1],h=n[0][0],d=n[0][1],m=n[1][0],g=n[1][1],y=(g-d)*(s-i)-(m-h)*(o-a),x=(m-h)*(a-d)-(g-d)*(i-h),E=(s-i)*(a-d)-(o-a)*(i-h);if(y===0)return null;var M=x/y,P=E/y;if(M>=0&&M<=1&&P>=0&&P<=1){var D=i+M*(s-i),k=a+M*(o-a);return Qi([D,k])}return null}function ol(e,t,r){r===void 0&&(r={});var n=Qi([1/0,1/0],{dist:1/0}),i=0;return _d(e,function(a){for(var s=rd(a),o=0;o0&&(P=M.features[0],P.properties.dist=Vc(t,P,r),P.properties.location=i+Vc(h,P,r)),h.properties.dist"u"&&typeof self<"u"?Rc.worker=!0:typeof navigator>"u"?(Rc.node=!0,Rc.svgSupported=!0):Lne(navigator.userAgent,Rc);function Lne(e,t){var r=t.browser,n=e.match(/Firefox\/([\d.]+)/),i=e.match(/MSIE\s([\d.]+)/)||e.match(/Trident\/.+?rv:(([\d.]+))/),a=e.match(/Edge?\/([\d.]+)/),s=/micromessenger/i.test(e);n&&(r.firefox=!0,r.version=n[1]),i&&(r.ie=!0,r.version=i[1]),a&&(r.edge=!0,r.version=a[1],r.newEdge=+a[1].split(".")[0]>18),s&&(r.weChat=!0),t.svgSupported=typeof SVGRect<"u",t.touchEventsSupported="ontouchstart"in window&&!r.ie&&!r.edge,t.pointerEventsSupported="onpointerdown"in window&&(r.edge||r.ie&&+r.version>=11),t.domSupported=typeof document<"u";var o=document.documentElement.style;t.transform3dSupported=(r.ie&&"transition"in o||r.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in o)&&!("OTransition"in o),t.transformSupported=t.transform3dSupported||r.ie&&+r.version>=9}const Tr=Rc;var RC=12,G6="sans-serif",Lu=RC+"px "+G6,kne=20,Rne=100,One="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function zne(e){var t={};if(typeof JSON>"u")return t;for(var r=0;r=0)o=s*r.length;else for(var h=0;h>1)%2;o.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",n[h]+":0",i[d]+":0",n[1-h]+":auto",i[1-d]+":auto",""].join("!important;"),e.appendChild(s),r.push(s)}return r}function iie(e,t,r){for(var n=r?"invTrans":"trans",i=t[n],a=t.srcCoords,s=[],o=[],h=!0,d=0;d<4;d++){var m=e[d].getBoundingClientRect(),g=2*d,y=m.left,x=m.top;s.push(y,x),h=h&&a&&y===a[g]&&x===a[g+1],o.push(e[d].offsetLeft,e[d].offsetTop)}return h&&i?i:(t.srcCoords=s,t[n]=r?DD(o,s):DD(s,o))}function ez(e){return e.nodeName.toUpperCase()==="CANVAS"}var aie=/([&<>"'])/g,oie={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ja(e){return e==null?"":(e+"").replace(aie,function(t,r){return oie[r]})}var sie=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Vx=[],lie=Tr.browser.firefox&&+Tr.browser.version.split(".")[0]<39;function hS(e,t,r,n){return r=r||{},n?kD(e,t,r):lie&&t.layerX!=null&&t.layerX!==t.offsetX?(r.zrX=t.layerX,r.zrY=t.layerY):t.offsetX!=null?(r.zrX=t.offsetX,r.zrY=t.offsetY):kD(e,t,r),r}function kD(e,t,r){if(Tr.domSupported&&e.getBoundingClientRect){var n=t.clientX,i=t.clientY;if(ez(e)){var a=e.getBoundingClientRect();r.zrX=n-a.left,r.zrY=i-a.top;return}else if(cS(Vx,e,n,i)){r.zrX=Vx[0],r.zrY=Vx[1];return}}r.zrX=r.zrY=0}function NC(e){return e||window.event}function go(e,t,r){if(t=NC(t),t.zrX!=null)return t;var n=t.type,i=n&&n.indexOf("touch")>=0;if(i){var s=n!=="touchend"?t.targetTouches[0]:t.changedTouches[0];s&&hS(e,s,t,r)}else{hS(e,t,t,r);var a=uie(t);t.zrDelta=a?a/120:-(t.detail||0)/3}var o=t.button;return t.which==null&&o!==void 0&&sie.test(t.type)&&(t.which=o&1?1:o&2?3:o&4?2:0),t}function uie(e){var t=e.wheelDelta;if(t)return t;var r=e.deltaX,n=e.deltaY;if(r==null||n==null)return t;var i=Math.abs(n!==0?n:r),a=n>0?-1:n<0?1:r>0?-1:1;return 3*i*a}function cie(e,t,r,n){e.addEventListener(t,r,n)}function hie(e,t,r,n){e.removeEventListener(t,r,n)}var tz=function(e){e.preventDefault(),e.stopPropagation(),e.cancelBubble=!0},fie=function(){function e(){this._track=[]}return e.prototype.recognize=function(t,r,n){return this._doTrack(t,r,n),this._recognize(t)},e.prototype.clear=function(){return this._track.length=0,this},e.prototype._doTrack=function(t,r,n){var i=t.touches;if(i){for(var a={points:[],touches:[],target:r,event:t},s=0,o=i.length;s1&&n&&n.length>1){var a=RD(n)/RD(i);!isFinite(a)&&(a=1),t.pinchScale=a;var s=die(n);return t.pinchX=s[0],t.pinchY=s[1],{type:"pinch",target:e[0].target,event:t}}}}};function pv(){return[1,0,0,1,0,0]}function VC(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e}function pie(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function Ff(e,t,r){var n=t[0]*r[0]+t[2]*r[1],i=t[1]*r[0]+t[3]*r[1],a=t[0]*r[2]+t[2]*r[3],s=t[1]*r[2]+t[3]*r[3],o=t[0]*r[4]+t[2]*r[5]+t[4],h=t[1]*r[4]+t[3]*r[5]+t[5];return e[0]=n,e[1]=i,e[2]=a,e[3]=s,e[4]=o,e[5]=h,e}function fS(e,t,r){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4]+r[0],e[5]=t[5]+r[1],e}function jC(e,t,r){var n=t[0],i=t[2],a=t[4],s=t[1],o=t[3],h=t[5],d=Math.sin(r),m=Math.cos(r);return e[0]=n*m+s*d,e[1]=-n*d+s*m,e[2]=i*m+o*d,e[3]=-i*d+m*o,e[4]=m*a+d*h,e[5]=m*h-d*a,e}function mie(e,t,r){var n=r[0],i=r[1];return e[0]=t[0]*n,e[1]=t[1]*i,e[2]=t[2]*n,e[3]=t[3]*i,e[4]=t[4]*n,e[5]=t[5]*i,e}function HC(e,t){var r=t[0],n=t[2],i=t[4],a=t[1],s=t[3],o=t[5],h=r*s-a*n;return h?(h=1/h,e[0]=s*h,e[1]=-a*h,e[2]=-n*h,e[3]=r*h,e[4]=(n*o-s*i)*h,e[5]=(a*i-r*o)*h,e):null}var vie=function(){function e(t,r){this.x=t||0,this.y=r||0}return e.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this},e.prototype.clone=function(){return new e(this.x,this.y)},e.prototype.set=function(t,r){return this.x=t,this.y=r,this},e.prototype.equal=function(t){return t.x===this.x&&t.y===this.y},e.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},e.prototype.scale=function(t){this.x*=t,this.y*=t},e.prototype.scaleAndAdd=function(t,r){this.x+=t.x*r,this.y+=t.y*r},e.prototype.sub=function(t){return this.x-=t.x,this.y-=t.y,this},e.prototype.dot=function(t){return this.x*t.x+this.y*t.y},e.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},e.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},e.prototype.normalize=function(){var t=this.len();return this.x/=t,this.y/=t,this},e.prototype.distance=function(t){var r=this.x-t.x,n=this.y-t.y;return Math.sqrt(r*r+n*n)},e.prototype.distanceSquare=function(t){var r=this.x-t.x,n=this.y-t.y;return r*r+n*n},e.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},e.prototype.transform=function(t){if(t){var r=this.x,n=this.y;return this.x=t[0]*r+t[2]*n+t[4],this.y=t[1]*r+t[3]*n+t[5],this}},e.prototype.toArray=function(t){return t[0]=this.x,t[1]=this.y,t},e.prototype.fromArray=function(t){this.x=t[0],this.y=t[1]},e.set=function(t,r,n){t.x=r,t.y=n},e.copy=function(t,r){t.x=r.x,t.y=r.y},e.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},e.lenSquare=function(t){return t.x*t.x+t.y*t.y},e.dot=function(t,r){return t.x*r.x+t.y*r.y},e.add=function(t,r,n){t.x=r.x+n.x,t.y=r.y+n.y},e.sub=function(t,r,n){t.x=r.x-n.x,t.y=r.y-n.y},e.scale=function(t,r,n){t.x=r.x*n,t.y=r.y*n},e.scaleAndAdd=function(t,r,n,i){t.x=r.x+n.x*i,t.y=r.y+n.y*i},e.lerp=function(t,r,n,i){var a=1-i;t.x=a*r.x+i*n.x,t.y=a*r.y+i*n.y},e}();const fn=vie;var ky=Math.min,Ry=Math.max,uc=new fn,cc=new fn,hc=new fn,fc=new fn,Vp=new fn,jp=new fn,gie=function(){function e(t,r,n,i){n<0&&(t=t+n,n=-n),i<0&&(r=r+i,i=-i),this.x=t,this.y=r,this.width=n,this.height=i}return e.prototype.union=function(t){var r=ky(t.x,this.x),n=ky(t.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Ry(t.x+t.width,this.x+this.width)-r:this.width=t.width,isFinite(this.y)&&isFinite(this.height)?this.height=Ry(t.y+t.height,this.y+this.height)-n:this.height=t.height,this.x=r,this.y=n},e.prototype.applyTransform=function(t){e.applyTransform(this,this,t)},e.prototype.calculateTransform=function(t){var r=this,n=t.width/r.width,i=t.height/r.height,a=pv();return fS(a,a,[-r.x,-r.y]),mie(a,a,[n,i]),fS(a,a,[t.x,t.y]),a},e.prototype.intersect=function(t,r){if(!t)return!1;t instanceof e||(t=e.create(t));var n=this,i=n.x,a=n.x+n.width,s=n.y,o=n.y+n.height,h=t.x,d=t.x+t.width,m=t.y,g=t.y+t.height,y=!(aE&&(E=O,ME&&(E=F,D=n.x&&t<=n.x+n.width&&r>=n.y&&r<=n.y+n.height},e.prototype.clone=function(){return new e(this.x,this.y,this.width,this.height)},e.prototype.copy=function(t){e.copy(this,t)},e.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},e.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},e.prototype.isZero=function(){return this.width===0||this.height===0},e.create=function(t){return new e(t.x,t.y,t.width,t.height)},e.copy=function(t,r){t.x=r.x,t.y=r.y,t.width=r.width,t.height=r.height},e.applyTransform=function(t,r,n){if(!n){t!==r&&e.copy(t,r);return}if(n[1]<1e-5&&n[1]>-1e-5&&n[2]<1e-5&&n[2]>-1e-5){var i=n[0],a=n[3],s=n[4],o=n[5];t.x=r.x*i+s,t.y=r.y*a+o,t.width=r.width*i,t.height=r.height*a,t.width<0&&(t.x+=t.width,t.width=-t.width),t.height<0&&(t.y+=t.height,t.height=-t.height);return}uc.x=hc.x=r.x,uc.y=fc.y=r.y,cc.x=fc.x=r.x+r.width,cc.y=hc.y=r.y+r.height,uc.transform(n),fc.transform(n),cc.transform(n),hc.transform(n),t.x=ky(uc.x,cc.x,hc.x,fc.x),t.y=ky(uc.y,cc.y,hc.y,fc.y);var h=Ry(uc.x,cc.x,hc.x,fc.x),d=Ry(uc.y,cc.y,hc.y,fc.y);t.width=h-t.x,t.height=d-t.y},e}();const un=gie;var rz="silent";function yie(e,t,r){return{type:e,event:r,target:t.target,topTarget:t.topTarget,cancelBubble:!1,offsetX:r.zrX,offsetY:r.zrY,gestureEvent:r.gestureEvent,pinchX:r.pinchX,pinchY:r.pinchY,pinchScale:r.pinchScale,wheelDelta:r.zrDelta,zrByTouch:r.zrByTouch,which:r.which,stop:_ie}}function _ie(){tz(this.event)}var bie=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.handler=null,r}return t.prototype.dispose=function(){},t.prototype.setCursor=function(){},t}(Ll),Hp=function(){function e(t,r){this.x=t,this.y=r}return e}(),xie=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],Hx=new un(0,0,0,0),nz=function(e){It(t,e);function t(r,n,i,a,s){var o=e.call(this)||this;return o._hovered=new Hp(0,0),o.storage=r,o.painter=n,o.painterRoot=a,o._pointerSize=s,i=i||new bie,o.proxy=null,o.setHandlerProxy(i),o._draggingMgr=new Qne(o),o}return t.prototype.setHandlerProxy=function(r){this.proxy&&this.proxy.dispose(),r&&(Pe(xie,function(n){r.on&&r.on(n,this[n],this)},this),r.handler=this),this.proxy=r},t.prototype.mousemove=function(r){var n=r.zrX,i=r.zrY,a=iz(this,n,i),s=this._hovered,o=s.target;o&&!o.__zr&&(s=this.findHover(s.x,s.y),o=s.target);var h=this._hovered=a?new Hp(n,i):this.findHover(n,i),d=h.target,m=this.proxy;m.setCursor&&m.setCursor(d?d.cursor:"default"),o&&d!==o&&this.dispatchToElement(s,"mouseout",r),this.dispatchToElement(h,"mousemove",r),d&&d!==o&&this.dispatchToElement(h,"mouseover",r)},t.prototype.mouseout=function(r){var n=r.zrEventControl;n!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",r),n!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:r})},t.prototype.resize=function(){this._hovered=new Hp(0,0)},t.prototype.dispatch=function(r,n){var i=this[r];i&&i.call(this,n)},t.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},t.prototype.setCursorStyle=function(r){var n=this.proxy;n.setCursor&&n.setCursor(r)},t.prototype.dispatchToElement=function(r,n,i){r=r||{};var a=r.target;if(!(a&&a.silent)){for(var s="on"+n,o=yie(n,r,i);a&&(a[s]&&(o.cancelBubble=!!a[s].call(a,o)),a.trigger(n,o),a=a.__hostTarget?a.__hostTarget:a.parent,!o.cancelBubble););o.cancelBubble||(this.trigger(n,o),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(h){typeof h[s]=="function"&&h[s].call(h,o),h.trigger&&h.trigger(n,o)}))}},t.prototype.findHover=function(r,n,i){var a=this.storage.getDisplayList(),s=new Hp(r,n);if(OD(a,s,r,n,i),this._pointerSize&&!s.target){for(var o=[],h=this._pointerSize,d=h/2,m=new un(r-d,n-d,h,h),g=a.length-1;g>=0;g--){var y=a[g];y!==i&&!y.ignore&&!y.ignoreCoarsePointer&&(!y.parent||!y.parent.ignoreCoarsePointer)&&(Hx.copy(y.getBoundingRect()),y.transform&&Hx.applyTransform(y.transform),Hx.intersect(m)&&o.push(y))}if(o.length)for(var x=4,E=Math.PI/12,M=Math.PI*2,P=0;P4)return;this._downPoint=null}this.dispatchToElement(a,e,t)}});function wie(e,t,r){if(e[e.rectHover?"rectContain":"contain"](t,r)){for(var n=e,i=void 0,a=!1;n;){if(n.ignoreClip&&(a=!0),!a){var s=n.getClipPath();if(s&&!s.contain(t,r))return!1;n.silent&&(i=!0)}var o=n.__hostTarget;n=o||n.parent}return i?rz:!0}return!1}function OD(e,t,r,n,i){for(var a=e.length-1;a>=0;a--){var s=e[a],o=void 0;if(s!==i&&!s.ignore&&(o=wie(s,r,n))&&(!t.topTarget&&(t.topTarget=s),o!==rz)){t.target=s;break}}}function iz(e,t,r){var n=e.painter;return t<0||t>n.getWidth()||r<0||r>n.getHeight()}const Sie=nz;var az=32,Up=7;function Tie(e){for(var t=0;e>=az;)t|=e&1,e>>=1;return e+t}function zD(e,t,r,n){var i=t+1;if(i===r)return 1;if(n(e[i++],e[t])<0){for(;i=0;)i++;return i-t}function Cie(e,t,r){for(r--;t>>1,i(a,e[h])<0?o=h:s=h+1;var d=n-s;switch(d){case 3:e[s+3]=e[s+2];case 2:e[s+2]=e[s+1];case 1:e[s+1]=e[s];break;default:for(;d>0;)e[s+d]=e[s+d-1],d--}e[s]=a}}function Ux(e,t,r,n,i,a){var s=0,o=0,h=1;if(a(e,t[r+i])>0){for(o=n-i;h0;)s=h,h=(h<<1)+1,h<=0&&(h=o);h>o&&(h=o),s+=i,h+=i}else{for(o=i+1;ho&&(h=o);var d=s;s=i-h,h=i-d}for(s++;s>>1);a(e,t[r+m])>0?s=m+1:h=m}return h}function Gx(e,t,r,n,i,a){var s=0,o=0,h=1;if(a(e,t[r+i])<0){for(o=i+1;ho&&(h=o);var d=s;s=i-h,h=i-d}else{for(o=n-i;h=0;)s=h,h=(h<<1)+1,h<=0&&(h=o);h>o&&(h=o),s+=i,h+=i}for(s++;s>>1);a(e,t[r+m])<0?h=m:s=m+1}return h}function Eie(e,t){var r=Up,n,i,a=0;e.length;var s=[];n=[],i=[];function o(x,E){n[a]=x,i[a]=E,a+=1}function h(){for(;a>1;){var x=a-2;if(x>=1&&i[x-1]<=i[x]+i[x+1]||x>=2&&i[x-2]<=i[x]+i[x-1])i[x-1]i[x+1])break;m(x)}}function d(){for(;a>1;){var x=a-2;x>0&&i[x-1]=Up||W>=Up);if(Z)break;q<0&&(q=0),q+=2}if(r=q,r<1&&(r=1),E===1){for(D=0;D=0;D--)e[H+D]=e[q+D];e[F]=s[O];return}for(var W=r;;){var Z=0,ee=0,re=!1;do if(t(s[O],e[k])<0){if(e[F--]=e[k--],Z++,ee=0,--E===0){re=!0;break}}else if(e[F--]=s[O--],ee++,Z=0,--P===1){re=!0;break}while((Z|ee)=0;D--)e[H+D]=e[q+D];if(E===0){re=!0;break}}if(e[F--]=s[O--],--P===1){re=!0;break}if(ee=P-Ux(e[k],s,0,P,P-1,t),ee!==0){for(F-=ee,O-=ee,P-=ee,H=F+1,q=O+1,D=0;D=Up||ee>=Up);if(re)break;W<0&&(W=0),W+=2}if(r=W,r<1&&(r=1),P===1){for(F-=E,k-=E,H=F+1,q=k+1,D=E-1;D>=0;D--)e[H+D]=e[q+D];e[F]=s[O]}else{if(P===0)throw new Error;for(q=F-(P-1),D=0;Do&&(h=o),BD(e,r,r+h,r+a,t),a=h}s.pushRun(r,a),s.mergeRuns(),i-=a,r+=a}while(i!==0);s.forceMergeRuns()}}var Ms=1,um=2,xf=4,FD=!1;function qx(){FD||(FD=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function $D(e,t){return e.zlevel===t.zlevel?e.z===t.z?e.z2-t.z2:e.z-t.z:e.zlevel-t.zlevel}var Aie=function(){function e(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=$D}return e.prototype.traverse=function(t,r){for(var n=0;n0&&(m.__clipPaths=[]),isNaN(m.z)&&(qx(),m.z=0),isNaN(m.z2)&&(qx(),m.z2=0),isNaN(m.zlevel)&&(qx(),m.zlevel=0),this._displayList[this._displayListLen++]=m}var g=t.getDecalElement&&t.getDecalElement();g&&this._updateAndAddDisplayable(g,r,n);var y=t.getTextGuideLine();y&&this._updateAndAddDisplayable(y,r,n);var x=t.getTextContent();x&&this._updateAndAddDisplayable(x,r,n)}},e.prototype.addRoot=function(t){t.__zr&&t.__zr.storage===this||this._roots.push(t)},e.prototype.delRoot=function(t){if(t instanceof Array){for(var r=0,n=t.length;r=0&&this._roots.splice(i,1)},e.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},e.prototype.getRoots=function(){return this._roots},e.prototype.dispose=function(){this._displayList=null,this._roots=null},e}();const Mie=Aie;var oz;oz=Tr.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(e){return setTimeout(e,16)};const ND=oz;var R_={linear:function(e){return e},quadraticIn:function(e){return e*e},quadraticOut:function(e){return e*(2-e)},quadraticInOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)},cubicIn:function(e){return e*e*e},cubicOut:function(e){return--e*e*e+1},cubicInOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)},quarticIn:function(e){return e*e*e*e},quarticOut:function(e){return 1- --e*e*e*e},quarticInOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)},quinticIn:function(e){return e*e*e*e*e},quinticOut:function(e){return--e*e*e*e*e+1},quinticInOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)},sinusoidalIn:function(e){return 1-Math.cos(e*Math.PI/2)},sinusoidalOut:function(e){return Math.sin(e*Math.PI/2)},sinusoidalInOut:function(e){return .5*(1-Math.cos(Math.PI*e))},exponentialIn:function(e){return e===0?0:Math.pow(1024,e-1)},exponentialOut:function(e){return e===1?1:1-Math.pow(2,-10*e)},exponentialInOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)},circularIn:function(e){return 1-Math.sqrt(1-e*e)},circularOut:function(e){return Math.sqrt(1- --e*e)},circularInOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},elasticIn:function(e){var t,r=.1,n=.4;return e===0?0:e===1?1:(!r||r<1?(r=1,t=n/4):t=n*Math.asin(1/r)/(2*Math.PI),-(r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)))},elasticOut:function(e){var t,r=.1,n=.4;return e===0?0:e===1?1:(!r||r<1?(r=1,t=n/4):t=n*Math.asin(1/r)/(2*Math.PI),r*Math.pow(2,-10*e)*Math.sin((e-t)*(2*Math.PI)/n)+1)},elasticInOut:function(e){var t,r=.1,n=.4;return e===0?0:e===1?1:(!r||r<1?(r=1,t=n/4):t=n*Math.asin(1/r)/(2*Math.PI),(e*=2)<1?-.5*(r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)):r*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*.5+1)},backIn:function(e){var t=1.70158;return e*e*((t+1)*e-t)},backOut:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},backInOut:function(e){var t=2.5949095;return(e*=2)<1?.5*(e*e*((t+1)*e-t)):.5*((e-=2)*e*((t+1)*e+t)+2)},bounceIn:function(e){return 1-R_.bounceOut(1-e)},bounceOut:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},bounceInOut:function(e){return e<.5?R_.bounceIn(e*2)*.5:R_.bounceOut(e*2-1)*.5+.5}};const sz=R_;var Oy=Math.pow,Au=Math.sqrt,b0=1e-8,lz=1e-4,VD=Au(3),zy=1/3,Ps=xd(),bo=xd(),$f=xd();function xu(e){return e>-b0&&eb0||e<-b0}function Ii(e,t,r,n,i){var a=1-i;return a*a*(a*e+3*i*t)+i*i*(i*n+3*a*r)}function jD(e,t,r,n,i){var a=1-i;return 3*(((t-e)*a+2*(r-t)*i)*a+(n-r)*i*i)}function cz(e,t,r,n,i,a){var s=n+3*(t-r)-e,o=3*(r-t*2+e),h=3*(t-e),d=e-i,m=o*o-3*s*h,g=o*h-9*s*d,y=h*h-3*o*d,x=0;if(xu(m)&&xu(g))if(xu(o))a[0]=0;else{var E=-h/o;E>=0&&E<=1&&(a[x++]=E)}else{var M=g*g-4*m*y;if(xu(M)){var P=g/m,E=-o/s+P,D=-P/2;E>=0&&E<=1&&(a[x++]=E),D>=0&&D<=1&&(a[x++]=D)}else if(M>0){var k=Au(M),O=m*o+1.5*s*(-g+k),F=m*o+1.5*s*(-g-k);O<0?O=-Oy(-O,zy):O=Oy(O,zy),F<0?F=-Oy(-F,zy):F=Oy(F,zy);var E=(-o-(O+F))/(3*s);E>=0&&E<=1&&(a[x++]=E)}else{var q=(2*m*o-3*s*g)/(2*Au(m*m*m)),H=Math.acos(q)/3,W=Au(m),Z=Math.cos(H),E=(-o-2*W*Z)/(3*s),D=(-o+W*(Z+VD*Math.sin(H)))/(3*s),ee=(-o+W*(Z-VD*Math.sin(H)))/(3*s);E>=0&&E<=1&&(a[x++]=E),D>=0&&D<=1&&(a[x++]=D),ee>=0&&ee<=1&&(a[x++]=ee)}}return x}function hz(e,t,r,n,i){var a=6*r-12*t+6*e,s=9*t+3*n-3*e-9*r,o=3*t-3*e,h=0;if(xu(s)){if(uz(a)){var d=-o/a;d>=0&&d<=1&&(i[h++]=d)}}else{var m=a*a-4*s*o;if(xu(m))i[0]=-a/(2*s);else if(m>0){var g=Au(m),d=(-a+g)/(2*s),y=(-a-g)/(2*s);d>=0&&d<=1&&(i[h++]=d),y>=0&&y<=1&&(i[h++]=y)}}return h}function x0(e,t,r,n,i,a){var s=(t-e)*i+e,o=(r-t)*i+t,h=(n-r)*i+r,d=(o-s)*i+s,m=(h-o)*i+o,g=(m-d)*i+d;a[0]=e,a[1]=s,a[2]=d,a[3]=g,a[4]=g,a[5]=m,a[6]=h,a[7]=n}function Pie(e,t,r,n,i,a,s,o,h,d,m){var g,y=.005,x=1/0,E,M,P,D;Ps[0]=h,Ps[1]=d;for(var k=0;k<1;k+=.05)bo[0]=Ii(e,r,i,s,k),bo[1]=Ii(t,n,a,o,k),P=Bf(Ps,bo),P=0&&P=0&&d<=1&&(i[h++]=d)}}else{var m=s*s-4*a*o;if(xu(m)){var d=-s/(2*a);d>=0&&d<=1&&(i[h++]=d)}else if(m>0){var g=Au(m),d=(-s+g)/(2*a),y=(-s-g)/(2*a);d>=0&&d<=1&&(i[h++]=d),y>=0&&y<=1&&(i[h++]=y)}}return h}function fz(e,t,r){var n=e+r-2*t;return n===0?.5:(e-t)/n}function w0(e,t,r,n,i){var a=(t-e)*n+e,s=(r-t)*n+t,o=(s-a)*n+a;i[0]=e,i[1]=a,i[2]=o,i[3]=o,i[4]=s,i[5]=r}function Lie(e,t,r,n,i,a,s,o,h){var d,m=.005,g=1/0;Ps[0]=s,Ps[1]=o;for(var y=0;y<1;y+=.05){bo[0]=Di(e,r,i,y),bo[1]=Di(t,n,a,y);var x=Bf(Ps,bo);x=0&&x=1?1:cz(0,n,a,1,h,o)&&Ii(0,i,s,1,o[0])}}}var Oie=function(){function e(t){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=t.life||1e3,this._delay=t.delay||0,this.loop=t.loop||!1,this.onframe=t.onframe||xa,this.ondestroy=t.ondestroy||xa,this.onrestart=t.onrestart||xa,t.easing&&this.setEasing(t.easing)}return e.prototype.step=function(t,r){if(this._inited||(this._startTime=t+this._delay,this._inited=!0),this._paused){this._pausedTime+=r;return}var n=this._life,i=t-this._startTime-this._pausedTime,a=i/n;a<0&&(a=0),a=Math.min(a,1);var s=this.easingFunc,o=s?s(a):a;if(this.onframe(o),a===1)if(this.loop){var h=i%n;this._startTime=t-h,this._pausedTime=0,this.onrestart()}else return!0;return!1},e.prototype.pause=function(){this._paused=!0},e.prototype.resume=function(){this._paused=!1},e.prototype.setEasing=function(t){this.easing=t,this.easingFunc=lr(t)?t:sz[t]||UC(t)},e}();const zie=Oie;var dz=function(){function e(t){this.value=t}return e}(),Bie=function(){function e(){this._len=0}return e.prototype.insert=function(t){var r=new dz(t);return this.insertEntry(r),r},e.prototype.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},e.prototype.remove=function(t){var r=t.prev,n=t.next;r?r.next=n:this.head=n,n?n.prev=r:this.tail=r,t.next=t.prev=null,this._len--},e.prototype.len=function(){return this._len},e.prototype.clear=function(){this.head=this.tail=null,this._len=0},e}(),Fie=function(){function e(t){this._list=new Bie,this._maxSize=10,this._map={},this._maxSize=t}return e.prototype.put=function(t,r){var n=this._list,i=this._map,a=null;if(i[t]==null){var s=n.len(),o=this._lastRemovedEntry;if(s>=this._maxSize&&s>0){var h=n.head;n.remove(h),delete i[h.key],a=h.value,this._lastRemovedEntry=h}o?o.value=r:o=new dz(r),o.key=t,n.insertEntry(o),i[t]=o}return a},e.prototype.get=function(t){var r=this._map[t],n=this._list;if(r!=null)return r!==n.tail&&(n.remove(r),n.insertEntry(r)),r.value},e.prototype.clear=function(){this._list.clear(),this._map={}},e.prototype.len=function(){return this._list.len()},e}();const Xv=Fie;var HD={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Lm(e){return e=Math.round(e),e<0?0:e>255?255:e}function UD(e){return e<0?0:e>1?1:e}function Wx(e){var t=e;return t.length&&t.charAt(t.length-1)==="%"?Lm(parseFloat(t)/100*255):Lm(parseInt(t,10))}function km(e){var t=e;return t.length&&t.charAt(t.length-1)==="%"?UD(parseFloat(t)/100):UD(parseFloat(t))}function Zx(e,t,r){return r<0?r+=1:r>1&&(r-=1),r*6<1?e+(t-e)*r*6:r*2<1?t:r*3<2?e+(t-e)*(2/3-r)*6:e}function mo(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e}function pS(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}var pz=new Xv(20),By=null;function lf(e,t){By&&pS(By,t),By=pz.put(e,By||t.slice())}function Qc(e,t){if(e){t=t||[];var r=pz.get(e);if(r)return pS(t,r);e=e+"";var n=e.replace(/ /g,"").toLowerCase();if(n in HD)return pS(t,HD[n]),lf(e,t),t;var i=n.length;if(n.charAt(0)==="#"){if(i===4||i===5){var a=parseInt(n.slice(1,4),16);if(!(a>=0&&a<=4095)){mo(t,0,0,0,1);return}return mo(t,(a&3840)>>4|(a&3840)>>8,a&240|(a&240)>>4,a&15|(a&15)<<4,i===5?parseInt(n.slice(4),16)/15:1),lf(e,t),t}else if(i===7||i===9){var a=parseInt(n.slice(1,7),16);if(!(a>=0&&a<=16777215)){mo(t,0,0,0,1);return}return mo(t,(a&16711680)>>16,(a&65280)>>8,a&255,i===9?parseInt(n.slice(7),16)/255:1),lf(e,t),t}return}var s=n.indexOf("("),o=n.indexOf(")");if(s!==-1&&o+1===i){var h=n.substr(0,s),d=n.substr(s+1,o-(s+1)).split(","),m=1;switch(h){case"rgba":if(d.length!==4)return d.length===3?mo(t,+d[0],+d[1],+d[2],1):mo(t,0,0,0,1);m=km(d.pop());case"rgb":if(d.length>=3)return mo(t,Wx(d[0]),Wx(d[1]),Wx(d[2]),d.length===3?m:km(d[3])),lf(e,t),t;mo(t,0,0,0,1);return;case"hsla":if(d.length!==4){mo(t,0,0,0,1);return}return d[3]=km(d[3]),GD(d,t),lf(e,t),t;case"hsl":if(d.length!==3){mo(t,0,0,0,1);return}return GD(d,t),lf(e,t),t;default:return}}mo(t,0,0,0,1)}}function GD(e,t){var r=(parseFloat(e[0])%360+360)%360/360,n=km(e[1]),i=km(e[2]),a=i<=.5?i*(n+1):i+n-i*n,s=i*2-a;return t=t||[],mo(t,Lm(Zx(s,a,r+1/3)*255),Lm(Zx(s,a,r)*255),Lm(Zx(s,a,r-1/3)*255),1),e.length===4&&(t[3]=e[3]),t}function qD(e,t){var r=Qc(e);if(r){for(var n=0;n<3;n++)t<0?r[n]=r[n]*(1-t)|0:r[n]=(255-r[n])*t+r[n]|0,r[n]>255?r[n]=255:r[n]<0&&(r[n]=0);return mz(r,r.length===4?"rgba":"rgb")}}function mz(e,t){if(!(!e||!e.length)){var r=e[0]+","+e[1]+","+e[2];return(t==="rgba"||t==="hsva"||t==="hsla")&&(r+=","+e[3]),t+"("+r+")"}}function S0(e,t){var r=Qc(e);return r?(.299*r[0]+.587*r[1]+.114*r[2])*r[3]/255+(1-r[3])*t:0}var T0=Math.round;function mv(e){var t;if(!e||e==="transparent")e="none";else if(typeof e=="string"&&e.indexOf("rgba")>-1){var r=Qc(e);r&&(e="rgb("+r[0]+","+r[1]+","+r[2]+")",t=r[3])}return{color:e,opacity:t??1}}var WD=1e-4;function wu(e){return e-WD}function Fy(e){return T0(e*1e3)/1e3}function mS(e){return T0(e*1e4)/1e4}function $ie(e){return"matrix("+Fy(e[0])+","+Fy(e[1])+","+Fy(e[2])+","+Fy(e[3])+","+mS(e[4])+","+mS(e[5])+")"}var Nie={left:"start",right:"end",center:"middle",middle:"middle"};function Vie(e,t,r){return r==="top"?e+=t/2:r==="bottom"&&(e-=t/2),e}function jie(e){return e&&(e.shadowBlur||e.shadowOffsetX||e.shadowOffsetY)}function Hie(e){var t=e.style,r=e.getGlobalScale();return[t.shadowColor,(t.shadowBlur||0).toFixed(2),(t.shadowOffsetX||0).toFixed(2),(t.shadowOffsetY||0).toFixed(2),r[0],r[1]].join(",")}function vz(e){return e&&!!e.image}function Uie(e){return e&&!!e.svgElement}function GC(e){return vz(e)||Uie(e)}function gz(e){return e.type==="linear"}function yz(e){return e.type==="radial"}function _z(e){return e&&(e.type==="linear"||e.type==="radial")}function M1(e){return"url(#"+e+")"}function bz(e){var t=e.getGlobalScale(),r=Math.max(t[0],t[1]);return Math.max(Math.ceil(Math.log(r)/Math.log(10)),1)}function xz(e){var t=e.x||0,r=e.y||0,n=(e.rotation||0)*L_,i=Cr(e.scaleX,1),a=Cr(e.scaleY,1),s=e.skewX||0,o=e.skewY||0,h=[];return(t||r)&&h.push("translate("+t+"px,"+r+"px)"),n&&h.push("rotate("+n+")"),(i!==1||a!==1)&&h.push("scale("+i+","+a+")"),(s||o)&&h.push("skew("+T0(s*L_)+"deg, "+T0(o*L_)+"deg)"),h.join(" ")}var Gie=function(){return Tr.hasGlobalWindow&&lr(window.btoa)?function(e){return window.btoa(unescape(encodeURIComponent(e)))}:typeof Buffer<"u"?function(e){return Buffer.from(e).toString("base64")}:function(e){return null}}(),vS=Array.prototype.slice;function pl(e,t,r){return(t-e)*r+e}function Xx(e,t,r,n){for(var i=t.length,a=0;an?t:e,a=Math.min(r,n),s=i[a-1]||{color:[0,0,0,0],offset:0},o=a;os;if(o)n.length=s;else for(var h=a;h=1},e.prototype.getAdditiveTrack=function(){return this._additiveTrack},e.prototype.addKeyframe=function(t,r,n){this._needsSort=!0;var i=this.keyframes,a=i.length,s=!1,o=XD,h=r;if(Na(r)){var d=Xie(r);o=d,(d===1&&!Un(r[0])||d===2&&!Un(r[0][0]))&&(s=!0)}else if(Un(r)&&!_0(r))o=Ny;else if(Kt(r))if(!isNaN(+r))o=Ny;else{var m=Qc(r);m&&(h=m,o=cm)}else if(BC(r)){var g=Tt({},h);g.colorStops=Jt(r.colorStops,function(x){return{offset:x.offset,color:Qc(x.color)}}),gz(r)?o=gS:yz(r)&&(o=yS),h=g}a===0?this.valType=o:(o!==this.valType||o===XD)&&(s=!0),this.discrete=this.discrete||s;var y={time:t,value:h,rawValue:r,percent:0};return n&&(y.easing=n,y.easingFunc=lr(n)?n:sz[n]||UC(n)),i.push(y),y},e.prototype.prepare=function(t,r){var n=this.keyframes;this._needsSort&&n.sort(function(M,P){return M.time-P.time});for(var i=this.valType,a=n.length,s=n[a-1],o=this.discrete,h=Vy(i),d=YD(i),m=0;m=0&&!(s[m].percent<=r);m--);m=y(m,o-2)}else{for(m=g;mr);m++);m=y(m-1,o-2)}E=s[m+1],x=s[m]}if(x&&E){this._lastFr=m,this._lastFrP=r;var P=E.percent-x.percent,D=P===0?1:y((r-x.percent)/P,1);E.easingFunc&&(D=E.easingFunc(D));var k=n?this._additiveValue:d?Gp:t[h];if((Vy(a)||d)&&!k&&(k=this._additiveValue=[]),this.discrete)t[h]=D<1?x.rawValue:E.rawValue;else if(Vy(a))a===B_?Xx(k,x[i],E[i],D):qie(k,x[i],E[i],D);else if(YD(a)){var O=x[i],F=E[i],q=a===gS;t[h]={type:q?"linear":"radial",x:pl(O.x,F.x,D),y:pl(O.y,F.y,D),colorStops:Jt(O.colorStops,function(W,Z){var ee=F.colorStops[Z];return{offset:pl(W.offset,ee.offset,D),color:z_(Xx([],W.color,ee.color,D))}}),global:F.global},q?(t[h].x2=pl(O.x2,F.x2,D),t[h].y2=pl(O.y2,F.y2,D)):t[h].r=pl(O.r,F.r,D)}else if(d)Xx(k,x[i],E[i],D),n||(t[h]=z_(k));else{var H=pl(x[i],E[i],D);n?this._additiveValue=H:t[h]=H}n&&this._addToTarget(t)}}},e.prototype._addToTarget=function(t){var r=this.valType,n=this.propName,i=this._additiveValue;r===Ny?t[n]=t[n]+i:r===cm?(Qc(t[n],Gp),$y(Gp,Gp,i,1),t[n]=z_(Gp)):r===B_?$y(t[n],t[n],i,1):r===wz&&ZD(t[n],t[n],i,1)},e}(),Kie=function(){function e(t,r,n,i){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=t,this._loop=r,r&&i){X6("Can' use additive animation on looped animation.");return}this._additiveAnimators=i,this._allowDiscrete=n}return e.prototype.getMaxTime=function(){return this._maxTime},e.prototype.getDelay=function(){return this._delay},e.prototype.getLoop=function(){return this._loop},e.prototype.getTarget=function(){return this._target},e.prototype.changeTarget=function(t){this._target=t},e.prototype.when=function(t,r,n){return this.whenWithKeys(t,r,Ur(r),n)},e.prototype.whenWithKeys=function(t,r,n,i){for(var a=this._tracks,s=0;s0&&h.addKeyframe(0,O_(d),i),this._trackKeys.push(o)}h.addKeyframe(t,O_(r[o]),i)}return this._maxTime=Math.max(this._maxTime,t),this},e.prototype.pause=function(){this._clip.pause(),this._paused=!0},e.prototype.resume=function(){this._clip.resume(),this._paused=!1},e.prototype.isPaused=function(){return!!this._paused},e.prototype.duration=function(t){return this._maxTime=t,this._force=!0,this},e.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var t=this._doneCbs;if(t)for(var r=t.length,n=0;n0)){this._started=1;for(var r=this,n=[],i=this._maxTime||0,a=0;a1){var o=s.pop();a.addKeyframe(o.time,t[i]),a.prepare(this._maxTime,a.getAdditiveTrack())}}}},e}();const qC=Kie;function Pf(){return new Date().getTime()}var Jie=function(e){It(t,e);function t(r){var n=e.call(this)||this;return n._running=!1,n._time=0,n._pausedTime=0,n._pauseStart=0,n._paused=!1,r=r||{},n.stage=r.stage||{},n}return t.prototype.addClip=function(r){r.animation&&this.removeClip(r),this._head?(this._tail.next=r,r.prev=this._tail,r.next=null,this._tail=r):this._head=this._tail=r,r.animation=this},t.prototype.addAnimator=function(r){r.animation=this;var n=r.getClip();n&&this.addClip(n)},t.prototype.removeClip=function(r){if(r.animation){var n=r.prev,i=r.next;n?n.next=i:this._head=i,i?i.prev=n:this._tail=n,r.next=r.prev=r.animation=null}},t.prototype.removeAnimator=function(r){var n=r.getClip();n&&this.removeClip(n),r.animation=null},t.prototype.update=function(r){for(var n=Pf()-this._pausedTime,i=n-this._time,a=this._head;a;){var s=a.next,o=a.step(n,i);o&&(a.ondestroy(),this.removeClip(a)),a=s}this._time=n,r||(this.trigger("frame",i),this.stage.update&&this.stage.update())},t.prototype._startLoop=function(){var r=this;this._running=!0;function n(){r._running&&(ND(n),!r._paused&&r.update())}ND(n)},t.prototype.start=function(){this._running||(this._time=Pf(),this._pausedTime=0,this._startLoop())},t.prototype.stop=function(){this._running=!1},t.prototype.pause=function(){this._paused||(this._pauseStart=Pf(),this._paused=!0)},t.prototype.resume=function(){this._paused&&(this._pausedTime+=Pf()-this._pauseStart,this._paused=!1)},t.prototype.clear=function(){for(var r=this._head;r;){var n=r.next;r.prev=r.next=r.animation=null,r=n}this._head=this._tail=null},t.prototype.isFinished=function(){return this._head==null},t.prototype.animate=function(r,n){n=n||{},this.start();var i=new qC(r,n.loop);return this.addAnimator(i),i},t}(Ll);const Qie=Jie;var eae=300,Yx=Tr.domSupported,Kx=function(){var e=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],t=["touchstart","touchend","touchmove"],r={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},n=Jt(e,function(i){var a=i.replace("mouse","pointer");return r.hasOwnProperty(a)?a:i});return{mouse:e,touch:t,pointer:n}}(),KD={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},JD=!1;function _S(e){var t=e.pointerType;return t==="pen"||t==="touch"}function tae(e){e.touching=!0,e.touchTimer!=null&&(clearTimeout(e.touchTimer),e.touchTimer=null),e.touchTimer=setTimeout(function(){e.touching=!1,e.touchTimer=null},700)}function Jx(e){e&&(e.zrByTouch=!0)}function rae(e,t){return go(e.dom,new nae(e,t),!0)}function Sz(e,t){for(var r=t,n=!1;r&&r.nodeType!==9&&!(n=r.domBelongToZr||r!==t&&r===e.painterRoot);)r=r.parentNode;return n}var nae=function(){function e(t,r){this.stopPropagation=xa,this.stopImmediatePropagation=xa,this.preventDefault=xa,this.type=r.type,this.target=this.currentTarget=t.dom,this.pointerType=r.pointerType,this.clientX=r.clientX,this.clientY=r.clientY}return e}(),Wo={mousedown:function(e){e=go(this.dom,e),this.__mayPointerCapture=[e.zrX,e.zrY],this.trigger("mousedown",e)},mousemove:function(e){e=go(this.dom,e);var t=this.__mayPointerCapture;t&&(e.zrX!==t[0]||e.zrY!==t[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",e)},mouseup:function(e){e=go(this.dom,e),this.__togglePointerCapture(!1),this.trigger("mouseup",e)},mouseout:function(e){e=go(this.dom,e);var t=e.toElement||e.relatedTarget;Sz(this,t)||(this.__pointerCapturing&&(e.zrEventControl="no_globalout"),this.trigger("mouseout",e))},wheel:function(e){JD=!0,e=go(this.dom,e),this.trigger("mousewheel",e)},mousewheel:function(e){JD||(e=go(this.dom,e),this.trigger("mousewheel",e))},touchstart:function(e){e=go(this.dom,e),Jx(e),this.__lastTouchMoment=new Date,this.handler.processGesture(e,"start"),Wo.mousemove.call(this,e),Wo.mousedown.call(this,e)},touchmove:function(e){e=go(this.dom,e),Jx(e),this.handler.processGesture(e,"change"),Wo.mousemove.call(this,e)},touchend:function(e){e=go(this.dom,e),Jx(e),this.handler.processGesture(e,"end"),Wo.mouseup.call(this,e),+new Date-+this.__lastTouchMomentrL||e<-rL}var pc=[],uf=[],ew=pv(),tw=Math.abs,uae=function(){function e(){}return e.prototype.getLocalTransform=function(t){return e.getLocalTransform(this,t)},e.prototype.setPosition=function(t){this.x=t[0],this.y=t[1]},e.prototype.setScale=function(t){this.scaleX=t[0],this.scaleY=t[1]},e.prototype.setSkew=function(t){this.skewX=t[0],this.skewY=t[1]},e.prototype.setOrigin=function(t){this.originX=t[0],this.originY=t[1]},e.prototype.needLocalTransform=function(){return dc(this.rotation)||dc(this.x)||dc(this.y)||dc(this.scaleX-1)||dc(this.scaleY-1)||dc(this.skewX)||dc(this.skewY)},e.prototype.updateTransform=function(){var t=this.parent&&this.parent.transform,r=this.needLocalTransform(),n=this.transform;if(!(r||t)){n&&tL(n);return}n=n||pv(),r?this.getLocalTransform(n):tL(n),t&&(r?Ff(n,t,n):pie(n,t)),this.transform=n,this._resolveGlobalScaleRatio(n)},e.prototype._resolveGlobalScaleRatio=function(t){var r=this.globalScaleRatio;if(r!=null&&r!==1){this.getGlobalScale(pc);var n=pc[0]<0?-1:1,i=pc[1]<0?-1:1,a=((pc[0]-n)*r+n)/pc[0]||0,s=((pc[1]-i)*r+i)/pc[1]||0;t[0]*=a,t[1]*=a,t[2]*=s,t[3]*=s}this.invTransform=this.invTransform||pv(),HC(this.invTransform,t)},e.prototype.getComputedTransform=function(){for(var t=this,r=[];t;)r.push(t),t=t.parent;for(;t=r.pop();)t.updateTransform();return this.transform},e.prototype.setLocalTransform=function(t){if(t){var r=t[0]*t[0]+t[1]*t[1],n=t[2]*t[2]+t[3]*t[3],i=Math.atan2(t[1],t[0]),a=Math.PI/2+i-Math.atan2(t[3],t[2]);n=Math.sqrt(n)*Math.cos(a),r=Math.sqrt(r),this.skewX=a,this.skewY=0,this.rotation=-i,this.x=+t[4],this.y=+t[5],this.scaleX=r,this.scaleY=n,this.originX=0,this.originY=0}},e.prototype.decomposeTransform=function(){if(this.transform){var t=this.parent,r=this.transform;t&&t.transform&&(Ff(uf,t.invTransform,r),r=uf);var n=this.originX,i=this.originY;(n||i)&&(ew[4]=n,ew[5]=i,Ff(uf,r,ew),uf[4]-=n,uf[5]-=i,r=uf),this.setLocalTransform(r)}},e.prototype.getGlobalScale=function(t){var r=this.transform;return t=t||[],r?(t[0]=Math.sqrt(r[0]*r[0]+r[1]*r[1]),t[1]=Math.sqrt(r[2]*r[2]+r[3]*r[3]),r[0]<0&&(t[0]=-t[0]),r[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},e.prototype.transformCoordToLocal=function(t,r){var n=[t,r],i=this.invTransform;return i&&Mo(n,n,i),n},e.prototype.transformCoordToGlobal=function(t,r){var n=[t,r],i=this.transform;return i&&Mo(n,n,i),n},e.prototype.getLineScale=function(){var t=this.transform;return t&&tw(t[0]-1)>1e-10&&tw(t[3]-1)>1e-10?Math.sqrt(tw(t[0]*t[3]-t[2]*t[1])):1},e.prototype.copyTransform=function(t){Cz(this,t)},e.getLocalTransform=function(t,r){r=r||[];var n=t.originX||0,i=t.originY||0,a=t.scaleX,s=t.scaleY,o=t.anchorX,h=t.anchorY,d=t.rotation||0,m=t.x,g=t.y,y=t.skewX?Math.tan(t.skewX):0,x=t.skewY?Math.tan(-t.skewY):0;if(n||i||o||h){var E=n+o,M=i+h;r[4]=-E*a-y*M*s,r[5]=-M*s-x*E*a}else r[4]=r[5]=0;return r[0]=a,r[3]=s,r[1]=x*a,r[2]=y*s,d&&jC(r,r,d),r[4]+=n+m,r[5]+=i+g,r},e.initDefaultProps=function(){var t=e.prototype;t.scaleX=t.scaleY=t.globalScaleRatio=1,t.x=t.y=t.originX=t.originY=t.skewX=t.skewY=t.rotation=t.anchorX=t.anchorY=0}(),e}(),vv=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function Cz(e,t){for(var r=0;r=0?parseFloat(e)/100*t:parseFloat(e):e}function Ez(e,t,r){var n=t.position||"inside",i=t.distance!=null?t.distance:5,a=r.height,s=r.width,o=a/2,h=r.x,d=r.y,m="left",g="top";if(n instanceof Array)h+=sh(n[0],r.width),d+=sh(n[1],r.height),m=null,g=null;else switch(n){case"left":h-=i,d+=o,m="right",g="middle";break;case"right":h+=i+s,d+=o,g="middle";break;case"top":h+=s/2,d-=i,m="center",g="bottom";break;case"bottom":h+=s/2,d+=a+i,m="center";break;case"inside":h+=s/2,d+=o,m="center",g="middle";break;case"insideLeft":h+=i,d+=o,g="middle";break;case"insideRight":h+=s-i,d+=o,m="right",g="middle";break;case"insideTop":h+=s/2,d+=i,m="center";break;case"insideBottom":h+=s/2,d+=a-i,m="center",g="bottom";break;case"insideTopLeft":h+=i,d+=i;break;case"insideTopRight":h+=s-i,d+=i,m="right";break;case"insideBottomLeft":h+=i,d+=a-i,g="bottom";break;case"insideBottomRight":h+=s-i,d+=a-i,m="right",g="bottom";break}return e=e||{},e.x=h,e.y=d,e.align=m,e.verticalAlign=g,e}var rw="__zr_normal__",nw=vv.concat(["ignore"]),cae=bd(vv,function(e,t){return e[t]=!0,e},{ignore:!1}),cf={},hae=new un(0,0,0,0),XC=function(){function e(t){this.id=Z6(),this.animators=[],this.currentStates=[],this.states={},this._init(t)}return e.prototype._init=function(t){this.attr(t)},e.prototype.drift=function(t,r,n){switch(this.draggable){case"horizontal":r=0;break;case"vertical":t=0;break}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=r,this.decomposeTransform(),this.markRedraw()},e.prototype.beforeUpdate=function(){},e.prototype.afterUpdate=function(){},e.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},e.prototype.updateInnerText=function(t){var r=this._textContent;if(r&&(!r.ignore||t)){this.textConfig||(this.textConfig={});var n=this.textConfig,i=n.local,a=r.innerTransformable,s=void 0,o=void 0,h=!1;a.parent=i?this:null;var d=!1;if(a.copyTransform(r),n.position!=null){var m=hae;n.layoutRect?m.copy(n.layoutRect):m.copy(this.getBoundingRect()),i||m.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(cf,n,m):Ez(cf,n,m),a.x=cf.x,a.y=cf.y,s=cf.align,o=cf.verticalAlign;var g=n.origin;if(g&&n.rotation!=null){var y=void 0,x=void 0;g==="center"?(y=m.width*.5,x=m.height*.5):(y=sh(g[0],m.width),x=sh(g[1],m.height)),d=!0,a.originX=-a.x+y+(i?0:m.x),a.originY=-a.y+x+(i?0:m.y)}}n.rotation!=null&&(a.rotation=n.rotation);var E=n.offset;E&&(a.x+=E[0],a.y+=E[1],d||(a.originX=-E[0],a.originY=-E[1]));var M=n.inside==null?typeof n.position=="string"&&n.position.indexOf("inside")>=0:n.inside,P=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),D=void 0,k=void 0,O=void 0;M&&this.canBeInsideText()?(D=n.insideFill,k=n.insideStroke,(D==null||D==="auto")&&(D=this.getInsideTextFill()),(k==null||k==="auto")&&(k=this.getInsideTextStroke(D),O=!0)):(D=n.outsideFill,k=n.outsideStroke,(D==null||D==="auto")&&(D=this.getOutsideFill()),(k==null||k==="auto")&&(k=this.getOutsideStroke(D),O=!0)),D=D||"#000",(D!==P.fill||k!==P.stroke||O!==P.autoStroke||s!==P.align||o!==P.verticalAlign)&&(h=!0,P.fill=D,P.stroke=k,P.autoStroke=O,P.align=s,P.verticalAlign=o,r.setDefaultTextStyle(P)),r.__dirty|=Ms,h&&r.dirtyStyle(!0)}},e.prototype.canBeInsideText=function(){return!0},e.prototype.getInsideTextFill=function(){return"#fff"},e.prototype.getInsideTextStroke=function(t){return"#000"},e.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?SS:wS},e.prototype.getOutsideStroke=function(t){var r=this.__zr&&this.__zr.getBackgroundColor(),n=typeof r=="string"&&Qc(r);n||(n=[255,255,255,1]);for(var i=n[3],a=this.__zr.isDarkMode(),s=0;s<3;s++)n[s]=n[s]*i+(a?0:255)*(1-i);return n[3]=1,mz(n,"rgba")},e.prototype.traverse=function(t,r){},e.prototype.attrKV=function(t,r){t==="textConfig"?this.setTextConfig(r):t==="textContent"?this.setTextContent(r):t==="clipPath"?this.setClipPath(r):t==="extra"?(this.extra=this.extra||{},Tt(this.extra,r)):this[t]=r},e.prototype.hide=function(){this.ignore=!0,this.markRedraw()},e.prototype.show=function(){this.ignore=!1,this.markRedraw()},e.prototype.attr=function(t,r){if(typeof t=="string")this.attrKV(t,r);else if(nr(t))for(var n=t,i=Ur(n),a=0;a0},e.prototype.getState=function(t){return this.states[t]},e.prototype.ensureState=function(t){var r=this.states;return r[t]||(r[t]={}),r[t]},e.prototype.clearStates=function(t){this.useState(rw,!1,t)},e.prototype.useState=function(t,r,n,i){var a=t===rw,s=this.hasState();if(!(!s&&a)){var o=this.currentStates,h=this.stateTransition;if(!(sn(o,t)>=0&&(r||o.length===1))){var d;if(this.stateProxy&&!a&&(d=this.stateProxy(t)),d||(d=this.states&&this.states[t]),!d&&!a){X6("State "+t+" not exists.");return}a||this.saveCurrentToNormalState(d);var m=!!(d&&d.hoverLayer||i);m&&this._toggleHoverLayerFlag(!0),this._applyStateObj(t,d,this._normalState,r,!n&&!this.__inHover&&h&&h.duration>0,h);var g=this._textContent,y=this._textGuide;return g&&g.useState(t,r,n,m),y&&y.useState(t,r,n,m),a?(this.currentStates=[],this._normalState={}):r?this.currentStates.push(t):this.currentStates=[t],this._updateAnimationTargets(),this.markRedraw(),!m&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~Ms),d}}},e.prototype.useStates=function(t,r,n){if(!t.length)this.clearStates();else{var i=[],a=this.currentStates,s=t.length,o=s===a.length;if(o){for(var h=0;h0,E);var M=this._textContent,P=this._textGuide;M&&M.useStates(t,r,y),P&&P.useStates(t,r,y),this._updateAnimationTargets(),this.currentStates=t.slice(),this.markRedraw(),!y&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~Ms)}},e.prototype._updateAnimationTargets=function(){for(var t=0;t=0){var n=this.currentStates.slice();n.splice(r,1),this.useStates(n)}},e.prototype.replaceState=function(t,r,n){var i=this.currentStates.slice(),a=sn(i,t),s=sn(i,r)>=0;a>=0?s?i.splice(a,1):i[a]=r:n&&!s&&i.push(r),this.useStates(i)},e.prototype.toggleState=function(t,r){r?this.useState(t,!0):this.removeState(t)},e.prototype._mergeStates=function(t){for(var r={},n,i=0;i=0&&a.splice(s,1)}),this.animators.push(t),n&&n.animation.addAnimator(t),n&&n.wakeUp()},e.prototype.updateDuringAnimation=function(t){this.markRedraw()},e.prototype.stopAnimation=function(t,r){for(var n=this.animators,i=n.length,a=[],s=0;s0&&r.during&&a[0].during(function(E,M){r.during(M)});for(var y=0;y0||i.force&&!s.length){var Z=void 0,ee=void 0,re=void 0;if(o){ee={},y&&(Z={});for(var F=0;F=0&&(i.splice(a,0,r),this._doAdd(r))}return this},t.prototype.replace=function(r,n){var i=sn(this._children,r);return i>=0&&this.replaceAt(n,i),this},t.prototype.replaceAt=function(r,n){var i=this._children,a=i[n];if(r&&r!==this&&r.parent!==this&&r!==a){i[n]=r,a.parent=null;var s=this.__zr;s&&a.removeSelfFromZr(s),this._doAdd(r)}return this},t.prototype._doAdd=function(r){r.parent&&r.parent.remove(r),r.parent=this;var n=this.__zr;n&&n!==r.__zr&&r.addSelfToZr(n),n&&n.refresh()},t.prototype.remove=function(r){var n=this.__zr,i=this._children,a=sn(i,r);return a<0?this:(i.splice(a,1),r.parent=null,n&&r.removeSelfFromZr(n),n&&n.refresh(),this)},t.prototype.removeAll=function(){for(var r=this._children,n=this.__zr,i=0;i0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},e.prototype.setSleepAfterStill=function(t){this._sleepAfterStill=t},e.prototype.wakeUp=function(){this.animation.start(),this._stillFrameAccum=0},e.prototype.refreshHover=function(){this._needsRefreshHover=!0},e.prototype.refreshHoverImmediately=function(){this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.getType()==="canvas"&&this.painter.refreshHover()},e.prototype.resize=function(t){t=t||{},this.painter.resize(t.width,t.height),this.handler.resize()},e.prototype.clearAnimation=function(){this.animation.clear()},e.prototype.getWidth=function(){return this.painter.getWidth()},e.prototype.getHeight=function(){return this.painter.getHeight()},e.prototype.setCursorStyle=function(t){this.handler.setCursorStyle(t)},e.prototype.findHover=function(t,r){return this.handler.findHover(t,r)},e.prototype.on=function(t,r,n){return this.handler.on(t,r,n),this},e.prototype.off=function(t,r){this.handler.off(t,r)},e.prototype.trigger=function(t,r){this.handler.trigger(t,r)},e.prototype.clear=function(){for(var t=this.storage.getRoots(),r=0;r0){if(e<=i)return s;if(e>=a)return o}else{if(e>=i)return s;if(e<=a)return o}else{if(e===i)return s;if(e===a)return o}return(e-i)/h*d+s}function Li(e,t){switch(e){case"center":case"middle":e="50%";break;case"left":case"top":e="0%";break;case"right":case"bottom":e="100%";break}return Kt(e)?bae(e).match(/%$/)?parseFloat(e)/100*t:parseFloat(e):e==null?NaN:+e}function fi(e,t,r){return t==null&&(t=10),t=Math.min(Math.max(0,t),Dz),e=(+e).toFixed(t),r?e:+e}function ad(e){if(e=+e,isNaN(e))return 0;if(e>1e-14){for(var t=1,r=0;r<15;r++,t*=10)if(Math.round(e*t)/t===e)return r}return xae(e)}function xae(e){var t=e.toString().toLowerCase(),r=t.indexOf("e"),n=r>0?+t.slice(r+1):0,i=r>0?r:t.length,a=t.indexOf("."),s=a<0?0:i-1-a;return Math.max(0,s-n)}function wae(e,t){var r=Math.log,n=Math.LN10,i=Math.floor(r(e[1]-e[0])/n),a=Math.round(r(Math.abs(t[1]-t[0]))/n),s=Math.min(Math.max(-i+a,0),20);return isFinite(s)?s:20}function Sae(e,t){var r=Math.max(ad(e),ad(t)),n=e+t;return r>Dz?n:fi(n,r)}function Lz(e){var t=Math.PI*2;return(e%t+t)%t}function C0(e){return e>-oL&&e=10&&t++,t}function kz(e,t){var r=YC(e),n=Math.pow(10,r),i=e/n,a;return t?i<1.5?a=1:i<2.5?a=2:i<4?a=3:i<7?a=5:a=10:i<1?a=1:i<2?a=2:i<3?a=3:i<5?a=5:a=10,e=a*n,r>=-20?+e.toFixed(r<0?-r:0):e}function E0(e){var t=parseFloat(e);return t==e&&(t!==0||!Kt(e)||e.indexOf("x")<=0)?t:NaN}function Eae(e){return!isNaN(E0(e))}function Rz(){return Math.round(Math.random()*9)}function Oz(e,t){return t===0?e:Oz(t,e%t)}function lL(e,t){return e==null?t:t==null?e:e*t/Oz(e,t)}function Ra(e){throw new Error(e)}var zz="series\0",Aae="\0_ec_\0";function wa(e){return e instanceof Array?e:e==null?[]:[e]}function TS(e,t,r){if(e){e[t]=e[t]||{},e.emphasis=e.emphasis||{},e.emphasis[t]=e.emphasis[t]||{};for(var n=0,i=r.length;n=0||a&&sn(a,h)<0)){var d=n.getShallow(h,t);d!=null&&(s[e[o][0]]=d)}}return s}}var Xae=[["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]],Yae=yv(Xae),Kae=function(){function e(){}return e.prototype.getAreaStyle=function(t,r){return Yae(this,t,r)},e}(),CS=new Xv(50);function Jae(e){if(typeof e=="string"){var t=CS.get(e);return t&&t.image}else return e}function QC(e,t,r,n,i){if(e)if(typeof e=="string"){if(t&&t.__zrImageSrc===e||!r)return t;var a=CS.get(e),s={hostEl:r,cb:n,cbPayload:i};return a?(t=a.image,!D1(t)&&a.pending.push(s)):(t=Wv.loadImage(e,cL,cL),t.__zrImageSrc=e,CS.put(e,t.__cachedImgObj={image:t,pending:[s]})),t}else return e;else return t}function cL(){var e=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var t=0;t=s;h++)o-=s;var d=Qa(r,t);return d>o&&(r="",d=0),o=e-d,i.ellipsis=r,i.ellipsisWidth=d,i.contentWidth=o,i.containerWidth=e,i}function Hz(e,t){var r=t.containerWidth,n=t.font,i=t.contentWidth;if(!r)return"";var a=Qa(e,n);if(a<=r)return e;for(var s=0;;s++){if(a<=i||s>=t.maxIterations){e+=t.ellipsis;break}var o=s===0?eoe(e,i,t.ascCharWidth,t.cnCharWidth):a>0?Math.floor(e.length*i/a):0;e=e.substr(0,o),a=Qa(e,n)}return e===""&&(e=t.placeholder),e}function eoe(e,t,r,n){for(var i=0,a=0,s=e.length;ax&&d){var E=Math.floor(x/o);g=g.slice(0,E)}if(e&&a&&m!=null)for(var M=jz(m,i,t.ellipsis,{minChar:t.truncateMinChar,placeholder:t.placeholder}),P=0;Po&&lw(r,e.substring(o,d),t,s),lw(r,h[2],t,s,h[1]),o=sw.lastIndex}oi){q>0?(k.tokens=k.tokens.slice(0,q),P(k,F,O),r.lines=r.lines.slice(0,D+1)):r.lines=r.lines.slice(0,D);break e}var le=W.width,ve=le==null||le==="auto";if(typeof le=="string"&&le.charAt(le.length-1)==="%")H.percentWidth=le,m.push(H),H.contentWidth=Qa(H.text,re);else{if(ve){var de=W.backgroundColor,Te=de&&de.image;Te&&(Te=Jae(Te),D1(Te)&&(H.width=Math.max(H.width,Te.width*ce/Te.height)))}var we=E&&n!=null?n-F:null;we!=null&&we0&&E+n.accumWidth>n.width&&(m=t.split(` +`),d=!0),n.accumWidth=E}else{var M=Uz(t,h,n.width,n.breakAll,n.accumWidth);n.accumWidth=M.accumWidth+x,g=M.linesWidths,m=M.lines}}else m=t.split(` +`);for(var P=0;P=33&&t<=383}var ooe=bd(",&?/;] ".split(""),function(e,t){return e[t]=!0,e},{});function soe(e){return aoe(e)?!!ooe[e]:!0}function Uz(e,t,r,n,i){for(var a=[],s=[],o="",h="",d=0,m=0,g=0;gr:i+m+x>r){m?(o||h)&&(E?(o||(o=h,h="",d=0,m=d),a.push(o),s.push(m-d),h+=y,d+=x,o="",m=d):(h&&(o+=h,h="",d=0),a.push(o),s.push(m),o=y,m=x)):E?(a.push(h),s.push(d),h=y,d=x):(a.push(y),s.push(x));continue}m+=x,E?(h+=y,d+=x):(h&&(o+=h,h="",d=0),o+=y)}return!a.length&&!o&&(o=e,h="",d=0),h&&(o+=h),o&&(a.push(o),s.push(m)),a.length===1&&(m+=i),{accumWidth:m,lines:a,linesWidths:s}}var ES="__zr_style_"+Math.round(Math.random()*10),eh={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},L1={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};eh[ES]=!0;var fL=["z","z2","invisible"],loe=["invisible"],uoe=function(e){It(t,e);function t(r){return e.call(this,r)||this}return t.prototype._init=function(r){for(var n=Ur(r),i=0;i1e-4){o[0]=e-r,o[1]=t-n,h[0]=e+r,h[1]=t+n;return}if(jy[0]=fw(i)*r+e,jy[1]=hw(i)*n+t,Hy[0]=fw(a)*r+e,Hy[1]=hw(a)*n+t,d(o,jy,Hy),m(h,jy,Hy),i=i%vc,i<0&&(i=i+vc),a=a%vc,a<0&&(a=a+vc),i>a&&!s?a+=vc:ii&&(Uy[0]=fw(x)*r+e,Uy[1]=hw(x)*n+t,d(o,Uy,o),m(h,Uy,h))}var Wr={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},gc=[],yc=[],bs=[],lu=[],xs=[],ws=[],dw=Math.min,pw=Math.max,_c=Math.cos,bc=Math.sin,ll=Math.abs,AS=Math.PI,pu=AS*2,mw=typeof Float32Array<"u",qp=[];function vw(e){var t=Math.round(e/AS*1e8)/1e8;return t%2*AS}function poe(e,t){var r=vw(e[0]);r<0&&(r+=pu);var n=r-e[0],i=e[1];i+=n,!t&&i-r>=pu?i=r+pu:t&&r-i>=pu?i=r-pu:!t&&r>i?i=r+(pu-vw(r-i)):t&&r0&&(this._ux=ll(n/eL/t)||0,this._uy=ll(n/eL/r)||0)},e.prototype.setDPR=function(t){this.dpr=t},e.prototype.setContext=function(t){this._ctx=t},e.prototype.getContext=function(){return this._ctx},e.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},e.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},e.prototype.moveTo=function(t,r){return this._drawPendingPt(),this.addData(Wr.M,t,r),this._ctx&&this._ctx.moveTo(t,r),this._x0=t,this._y0=r,this._xi=t,this._yi=r,this},e.prototype.lineTo=function(t,r){var n=ll(t-this._xi),i=ll(r-this._yi),a=n>this._ux||i>this._uy;if(this.addData(Wr.L,t,r),this._ctx&&a&&this._ctx.lineTo(t,r),a)this._xi=t,this._yi=r,this._pendingPtDist=0;else{var s=n*n+i*i;s>this._pendingPtDist&&(this._pendingPtX=t,this._pendingPtY=r,this._pendingPtDist=s)}return this},e.prototype.bezierCurveTo=function(t,r,n,i,a,s){return this._drawPendingPt(),this.addData(Wr.C,t,r,n,i,a,s),this._ctx&&this._ctx.bezierCurveTo(t,r,n,i,a,s),this._xi=a,this._yi=s,this},e.prototype.quadraticCurveTo=function(t,r,n,i){return this._drawPendingPt(),this.addData(Wr.Q,t,r,n,i),this._ctx&&this._ctx.quadraticCurveTo(t,r,n,i),this._xi=n,this._yi=i,this},e.prototype.arc=function(t,r,n,i,a,s){this._drawPendingPt(),qp[0]=i,qp[1]=a,poe(qp,s),i=qp[0],a=qp[1];var o=a-i;return this.addData(Wr.A,t,r,n,n,i,o,0,s?0:1),this._ctx&&this._ctx.arc(t,r,n,i,a,s),this._xi=_c(a)*n+t,this._yi=bc(a)*n+r,this},e.prototype.arcTo=function(t,r,n,i,a){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(t,r,n,i,a),this},e.prototype.rect=function(t,r,n,i){return this._drawPendingPt(),this._ctx&&this._ctx.rect(t,r,n,i),this.addData(Wr.R,t,r,n,i),this},e.prototype.closePath=function(){this._drawPendingPt(),this.addData(Wr.Z);var t=this._ctx,r=this._x0,n=this._y0;return t&&t.closePath(),this._xi=r,this._yi=n,this},e.prototype.fill=function(t){t&&t.fill(),this.toStatic()},e.prototype.stroke=function(t){t&&t.stroke(),this.toStatic()},e.prototype.len=function(){return this._len},e.prototype.setData=function(t){var r=t.length;!(this.data&&this.data.length===r)&&mw&&(this.data=new Float32Array(r));for(var n=0;nm.length&&(this._expandData(),m=this.data);for(var g=0;g0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},e.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var t=[],r=0;r11&&(this.data=new Float32Array(t)))}},e.prototype.getBoundingRect=function(){bs[0]=bs[1]=xs[0]=xs[1]=Number.MAX_VALUE,lu[0]=lu[1]=ws[0]=ws[1]=-Number.MAX_VALUE;var t=this.data,r=0,n=0,i=0,a=0,s;for(s=0;sn||ll(O)>i||y===r-1)&&(M=Math.sqrt(k*k+O*O),a=P,s=D);break}case Wr.C:{var F=t[y++],q=t[y++],P=t[y++],D=t[y++],H=t[y++],W=t[y++];M=Iie(a,s,F,q,P,D,H,W,10),a=H,s=W;break}case Wr.Q:{var F=t[y++],q=t[y++],P=t[y++],D=t[y++];M=kie(a,s,F,q,P,D,10),a=P,s=D;break}case Wr.A:var Z=t[y++],ee=t[y++],re=t[y++],ce=t[y++],le=t[y++],ve=t[y++],de=ve+le;y+=1,t[y++],E&&(o=_c(le)*re+Z,h=bc(le)*ce+ee),M=pw(re,ce)*dw(pu,Math.abs(ve)),a=_c(de)*re+Z,s=bc(de)*ce+ee;break;case Wr.R:{o=a=t[y++],h=s=t[y++];var Te=t[y++],we=t[y++];M=Te*2+we*2;break}case Wr.Z:{var k=o-a,O=h-s;M=Math.sqrt(k*k+O*O),a=o,s=h;break}}M>=0&&(d[g++]=M,m+=M)}return this._pathLen=m,m},e.prototype.rebuildPath=function(t,r){var n=this.data,i=this._ux,a=this._uy,s=this._len,o,h,d,m,g,y,x=r<1,E,M,P=0,D=0,k,O=0,F,q;if(!(x&&(this._pathSegLen||this._calculateLength(),E=this._pathSegLen,M=this._pathLen,k=r*M,!k)))e:for(var H=0;H0&&(t.lineTo(F,q),O=0),W){case Wr.M:o=d=n[H++],h=m=n[H++],t.moveTo(d,m);break;case Wr.L:{g=n[H++],y=n[H++];var ee=ll(g-d),re=ll(y-m);if(ee>i||re>a){if(x){var ce=E[D++];if(P+ce>k){var le=(k-P)/ce;t.lineTo(d*(1-le)+g*le,m*(1-le)+y*le);break e}P+=ce}t.lineTo(g,y),d=g,m=y,O=0}else{var ve=ee*ee+re*re;ve>O&&(F=g,q=y,O=ve)}break}case Wr.C:{var de=n[H++],Te=n[H++],we=n[H++],Ue=n[H++],He=n[H++],Mt=n[H++];if(x){var ce=E[D++];if(P+ce>k){var le=(k-P)/ce;x0(d,de,we,He,le,gc),x0(m,Te,Ue,Mt,le,yc),t.bezierCurveTo(gc[1],yc[1],gc[2],yc[2],gc[3],yc[3]);break e}P+=ce}t.bezierCurveTo(de,Te,we,Ue,He,Mt),d=He,m=Mt;break}case Wr.Q:{var de=n[H++],Te=n[H++],we=n[H++],Ue=n[H++];if(x){var ce=E[D++];if(P+ce>k){var le=(k-P)/ce;w0(d,de,we,le,gc),w0(m,Te,Ue,le,yc),t.quadraticCurveTo(gc[1],yc[1],gc[2],yc[2]);break e}P+=ce}t.quadraticCurveTo(de,Te,we,Ue),d=we,m=Ue;break}case Wr.A:var Pt=n[H++],er=n[H++],Dt=n[H++],Wt=n[H++],ur=n[H++],Ar=n[H++],mr=n[H++],qe=!n[H++],lt=Dt>Wt?Dt:Wt,et=ll(Dt-Wt)>.001,dt=ur+Ar,vt=!1;if(x){var ce=E[D++];P+ce>k&&(dt=ur+Ar*(k-P)/ce,vt=!0),P+=ce}if(et&&t.ellipse?t.ellipse(Pt,er,Dt,Wt,mr,ur,dt,qe):t.arc(Pt,er,lt,ur,dt,qe),vt)break e;Z&&(o=_c(ur)*Dt+Pt,h=bc(ur)*Wt+er),d=_c(dt)*Dt+Pt,m=bc(dt)*Wt+er;break;case Wr.R:o=d=n[H],h=m=n[H+1],g=n[H++],y=n[H++];var ue=n[H++],xe=n[H++];if(x){var ce=E[D++];if(P+ce>k){var Le=k-P;t.moveTo(g,y),t.lineTo(g+dw(Le,ue),y),Le-=ue,Le>0&&t.lineTo(g+ue,y+dw(Le,xe)),Le-=xe,Le>0&&t.lineTo(g+pw(ue-Le,0),y+xe),Le-=ue,Le>0&&t.lineTo(g,y+pw(xe-Le,0));break e}P+=ce}t.rect(g,y,ue,xe);break;case Wr.Z:if(x){var ce=E[D++];if(P+ce>k){var le=(k-P)/ce;t.lineTo(d*(1-le)+o*le,m*(1-le)+h*le);break e}P+=ce}t.closePath(),d=o,m=h}}},e.prototype.clone=function(){var t=new e,r=this.data;return t.data=r.slice?r.slice():Array.prototype.slice.call(r),t._len=this._len,t},e.CMD=Wr,e.initDefaultProps=function(){var t=e.prototype;t._saveData=!0,t._ux=0,t._uy=0,t._pendingPtDist=0,t._version=0}(),e}();const lh=moe;function _u(e,t,r,n,i,a,s){if(i===0)return!1;var o=i,h=0,d=e;if(s>t+o&&s>n+o||se+o&&a>r+o||at+g&&m>n+g&&m>a+g&&m>o+g||me+g&&d>r+g&&d>i+g&&d>s+g||dt+d&&h>n+d&&h>a+d||he+d&&o>r+d&&o>i+d||or||m+di&&(i+=Wp);var y=Math.atan2(h,o);return y<0&&(y+=Wp),y>=n&&y<=i||y+Wp>=n&&y+Wp<=i}function xc(e,t,r,n,i,a){if(a>t&&a>n||ai?o:0}var uu=lh.CMD,wc=Math.PI*2,yoe=1e-4;function _oe(e,t){return Math.abs(e-t)t&&d>n&&d>a&&d>o||d1&&boe(),x=Ii(t,n,a,o,_o[0]),y>1&&(E=Ii(t,n,a,o,_o[1]))),y===2?P<_o[0]?g+=xt&&o>n&&o>a||o=0&&d<=1){for(var m=0,g=Di(t,n,a,d),y=0;yr||o<-r)return 0;var h=Math.sqrt(r*r-o*o);va[0]=-h,va[1]=h;var d=Math.abs(n-i);if(d<1e-4)return 0;if(d>=wc-1e-4){n=0,i=wc;var m=a?1:-1;return s>=va[0]+e&&s<=va[1]+e?m:0}if(n>i){var g=n;n=i,i=g}n<0&&(n+=wc,i+=wc);for(var y=0,x=0;x<2;x++){var E=va[x];if(E+e>s){var M=Math.atan2(o,E),m=a?1:-1;M<0&&(M=wc+M),(M>=n&&M<=i||M+wc>=n&&M+wc<=i)&&(M>Math.PI/2&&M1&&(r||(o+=xc(h,d,m,g,n,i))),P&&(h=a[E],d=a[E+1],m=h,g=d),M){case uu.M:m=a[E++],g=a[E++],h=m,d=g;break;case uu.L:if(r){if(_u(h,d,a[E],a[E+1],t,n,i))return!0}else o+=xc(h,d,a[E],a[E+1],n,i)||0;h=a[E++],d=a[E++];break;case uu.C:if(r){if(voe(h,d,a[E++],a[E++],a[E++],a[E++],a[E],a[E+1],t,n,i))return!0}else o+=xoe(h,d,a[E++],a[E++],a[E++],a[E++],a[E],a[E+1],n,i)||0;h=a[E++],d=a[E++];break;case uu.Q:if(r){if(Gz(h,d,a[E++],a[E++],a[E],a[E+1],t,n,i))return!0}else o+=woe(h,d,a[E++],a[E++],a[E],a[E+1],n,i)||0;h=a[E++],d=a[E++];break;case uu.A:var D=a[E++],k=a[E++],O=a[E++],F=a[E++],q=a[E++],H=a[E++];E+=1;var W=!!(1-a[E++]);y=Math.cos(q)*O+D,x=Math.sin(q)*F+k,P?(m=y,g=x):o+=xc(h,d,y,x,n,i);var Z=(n-D)*F/O+D;if(r){if(goe(D,k,F,q,q+H,W,t,Z,i))return!0}else o+=Soe(D,k,F,q,q+H,W,Z,i);h=Math.cos(q+H)*O+D,d=Math.sin(q+H)*F+k;break;case uu.R:m=h=a[E++],g=d=a[E++];var ee=a[E++],re=a[E++];if(y=m+ee,x=g+re,r){if(_u(m,g,y,g,t,n,i)||_u(y,g,y,x,t,n,i)||_u(y,x,m,x,t,n,i)||_u(m,x,m,g,t,n,i))return!0}else o+=xc(y,g,y,x,n,i),o+=xc(m,x,m,g,n,i);break;case uu.Z:if(r){if(_u(h,d,m,g,t,n,i))return!0}else o+=xc(h,d,m,g,n,i);h=m,d=g;break}}return!r&&!_oe(d,g)&&(o+=xc(h,d,m,g,n,i)||0),o!==0}function Toe(e,t,r){return qz(e,0,!1,t,r)}function Coe(e,t,r,n){return qz(e,t,!0,r,n)}var A0=_n({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},eh),Eoe={style:_n({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},L1.style)},gw=vv.concat(["invisible","culling","z","z2","zlevel","parent"]),Aoe=function(e){It(t,e);function t(r){return e.call(this,r)||this}return t.prototype.update=function(){var r=this;e.prototype.update.call(this);var n=this.style;if(n.decal){var i=this._decalEl=this._decalEl||new t;i.buildPath===t.prototype.buildPath&&(i.buildPath=function(h){r.buildPath(h,r.shape)}),i.silent=!0;var a=i.style;for(var s in n)a[s]!==n[s]&&(a[s]=n[s]);a.fill=n.fill?n.decal:null,a.decal=null,a.shadowColor=null,n.strokeFirst&&(a.stroke=null);for(var o=0;o.5?wS:n>.2?lae:SS}else if(r)return SS}return wS},t.prototype.getInsideTextStroke=function(r){var n=this.style.fill;if(Kt(n)){var i=this.__zr,a=!!(i&&i.isDarkMode()),s=S0(r,0)0))},t.prototype.hasFill=function(){var r=this.style,n=r.fill;return n!=null&&n!=="none"},t.prototype.getBoundingRect=function(){var r=this._rect,n=this.style,i=!r;if(i){var a=!1;this.path||(a=!0,this.createPathProxy());var s=this.path;(a||this.__dirty&xf)&&(s.beginPath(),this.buildPath(s,this.shape,!1),this.pathUpdated()),r=s.getBoundingRect()}if(this._rect=r,this.hasStroke()&&this.path&&this.path.len()>0){var o=this._rectStroke||(this._rectStroke=r.clone());if(this.__dirty||i){o.copy(r);var h=n.strokeNoScale?this.getLineScale():1,d=n.lineWidth;if(!this.hasFill()){var m=this.strokeContainThreshold;d=Math.max(d,m??4)}h>1e-10&&(o.width+=d/h,o.height+=d/h,o.x-=d/h/2,o.y-=d/h/2)}return o}return r},t.prototype.contain=function(r,n){var i=this.transformCoordToLocal(r,n),a=this.getBoundingRect(),s=this.style;if(r=i[0],n=i[1],a.contain(r,n)){var o=this.path;if(this.hasStroke()){var h=s.lineWidth,d=s.strokeNoScale?this.getLineScale():1;if(d>1e-10&&(this.hasFill()||(h=Math.max(h,this.strokeContainThreshold)),Coe(o,h/d,r,n)))return!0}if(this.hasFill())return Toe(o,r,n)}return!1},t.prototype.dirtyShape=function(){this.__dirty|=xf,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},t.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},t.prototype.animateShape=function(r){return this.animate("shape",r)},t.prototype.updateDuringAnimation=function(r){r==="style"?this.dirtyStyle():r==="shape"?this.dirtyShape():this.markRedraw()},t.prototype.attrKV=function(r,n){r==="shape"?this.setShape(n):e.prototype.attrKV.call(this,r,n)},t.prototype.setShape=function(r,n){var i=this.shape;return i||(i=this.shape={}),typeof r=="string"?i[r]=n:Tt(i,r),this.dirtyShape(),this},t.prototype.shapeChanged=function(){return!!(this.__dirty&xf)},t.prototype.createStyle=function(r){return A1(A0,r)},t.prototype._innerSaveToNormal=function(r){e.prototype._innerSaveToNormal.call(this,r);var n=this._normalState;r.shape&&!n.shape&&(n.shape=Tt({},this.shape))},t.prototype._applyStateObj=function(r,n,i,a,s,o){e.prototype._applyStateObj.call(this,r,n,i,a,s,o);var h=!(n&&a),d;if(n&&n.shape?s?a?d=n.shape:(d=Tt({},i.shape),Tt(d,n.shape)):(d=Tt({},a?this.shape:i.shape),Tt(d,n.shape)):h&&(d=i.shape),d)if(s){this.shape=Tt({},this.shape);for(var m={},g=Ur(d),y=0;y0},t.prototype.hasFill=function(){var r=this.style,n=r.fill;return n!=null&&n!=="none"},t.prototype.createStyle=function(r){return A1(Moe,r)},t.prototype.setBoundingRect=function(r){this._rect=r},t.prototype.getBoundingRect=function(){var r=this.style;if(!this._rect){var n=r.text;n!=null?n+="":n="";var i=ZC(n,r.font,r.textAlign,r.textBaseline);if(i.x+=r.x||0,i.y+=r.y||0,this.hasStroke()){var a=r.lineWidth;i.x-=a/2,i.y-=a/2,i.width+=a,i.height+=a}this._rect=i}return this._rect},t.initDefaultProps=function(){var r=t.prototype;r.dirtyRectTolerance=10}(),t}(Qv);Wz.prototype.type="tspan";const M0=Wz;var Poe=_n({x:0,y:0},eh),Ioe={style:_n({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},L1.style)};function Doe(e){return!!(e&&typeof e!="string"&&e.width&&e.height)}var Zz=function(e){It(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.createStyle=function(r){return A1(Poe,r)},t.prototype._getSize=function(r){var n=this.style,i=n[r];if(i!=null)return i;var a=Doe(n.image)?n.image:this.__image;if(!a)return 0;var s=r==="width"?"height":"width",o=n[s];return o==null?a[r]:a[r]/a[s]*o},t.prototype.getWidth=function(){return this._getSize("width")},t.prototype.getHeight=function(){return this._getSize("height")},t.prototype.getAnimationStyleProps=function(){return Ioe},t.prototype.getBoundingRect=function(){var r=this.style;return this._rect||(this._rect=new un(r.x||0,r.y||0,this.getWidth(),this.getHeight())),this._rect},t}(Qv);Zz.prototype.type="image";const kl=Zz;function Loe(e,t){var r=t.x,n=t.y,i=t.width,a=t.height,s=t.r,o,h,d,m;i<0&&(r=r+i,i=-i),a<0&&(n=n+a,a=-a),typeof s=="number"?o=h=d=m=s:s instanceof Array?s.length===1?o=h=d=m=s[0]:s.length===2?(o=d=s[0],h=m=s[1]):s.length===3?(o=s[0],h=m=s[1],d=s[2]):(o=s[0],h=s[1],d=s[2],m=s[3]):o=h=d=m=0;var g;o+h>i&&(g=o+h,o*=i/g,h*=i/g),d+m>i&&(g=d+m,d*=i/g,m*=i/g),h+d>a&&(g=h+d,h*=a/g,d*=a/g),o+m>a&&(g=o+m,o*=a/g,m*=a/g),e.moveTo(r+o,n),e.lineTo(r+i-h,n),h!==0&&e.arc(r+i-h,n+h,h,-Math.PI/2,0),e.lineTo(r+i,n+a-d),d!==0&&e.arc(r+i-d,n+a-d,d,0,Math.PI/2),e.lineTo(r+m,n+a),m!==0&&e.arc(r+m,n+a-m,m,Math.PI/2,Math.PI),e.lineTo(r,n+o),o!==0&&e.arc(r+o,n+o,o,Math.PI,Math.PI*1.5)}var If=Math.round;function Xz(e,t,r){if(t){var n=t.x1,i=t.x2,a=t.y1,s=t.y2;e.x1=n,e.x2=i,e.y1=a,e.y2=s;var o=r&&r.lineWidth;return o&&(If(n*2)===If(i*2)&&(e.x1=e.x2=qc(n,o,!0)),If(a*2)===If(s*2)&&(e.y1=e.y2=qc(a,o,!0))),e}}function Yz(e,t,r){if(t){var n=t.x,i=t.y,a=t.width,s=t.height;e.x=n,e.y=i,e.width=a,e.height=s;var o=r&&r.lineWidth;return o&&(e.x=qc(n,o,!0),e.y=qc(i,o,!0),e.width=Math.max(qc(n+a,o,!1)-e.x,a===0?0:1),e.height=Math.max(qc(i+s,o,!1)-e.y,s===0?0:1)),e}}function qc(e,t,r){if(!t)return e;var n=If(e*2);return(n+If(t))%2===0?n/2:(n+(r?1:-1))/2}var koe=function(){function e(){this.x=0,this.y=0,this.width=0,this.height=0}return e}(),Roe={},Kz=function(e){It(t,e);function t(r){return e.call(this,r)||this}return t.prototype.getDefaultShape=function(){return new koe},t.prototype.buildPath=function(r,n){var i,a,s,o;if(this.subPixelOptimize){var h=Yz(Roe,n,this.style);i=h.x,a=h.y,s=h.width,o=h.height,h.r=n.r,n=h}else i=n.x,a=n.y,s=n.width,o=n.height;n.r?Loe(r,n):r.rect(i,a,s,o)},t.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},t}(en);Kz.prototype.type="rect";const Ba=Kz;var gL={fill:"#000"},yL=2,Ooe={style:_n({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},L1.style)},Jz=function(e){It(t,e);function t(r){var n=e.call(this)||this;return n.type="text",n._children=[],n._defaultStyle=gL,n.attr(r),n}return t.prototype.childrenRef=function(){return this._children},t.prototype.update=function(){e.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var r=0;r0,le=r.width!=null&&(r.overflow==="truncate"||r.overflow==="break"||r.overflow==="breakAll"),ve=s.calculatedLineHeight,de=0;de=0&&(de=H[ve],de.align==="right");)this._placeToken(de,r,Z,D,le,"right",O),ee-=de.width,le-=de.width,ve--;for(ce+=(a-(ce-P)-(k-le)-ee)/2;re<=ve;)de=H[re],this._placeToken(de,r,Z,D,ce+de.width/2,"center",O),ce+=de.width,re++;D+=Z}},t.prototype._placeToken=function(r,n,i,a,s,o,h){var d=n.rich[r.styleName]||{};d.text=r.text;var m=r.verticalAlign,g=a+i/2;m==="top"?g=a+r.height/2:m==="bottom"&&(g=a+i-r.height/2);var y=!r.isLineHolder&&yw(d);y&&this._renderBackground(d,n,o==="right"?s-r.width:o==="center"?s-r.width/2:s,g-r.height/2,r.width,r.height);var x=!!d.backgroundColor,E=r.textPadding;E&&(s=TL(s,o,E),g-=r.height/2-E[0]-r.innerHeight/2);var M=this._getOrCreateChild(M0),P=M.createStyle();M.useStyle(P);var D=this._defaultStyle,k=!1,O=0,F=SL("fill"in d?d.fill:"fill"in n?n.fill:(k=!0,D.fill)),q=wL("stroke"in d?d.stroke:"stroke"in n?n.stroke:!x&&!h&&(!D.autoStroke||k)?(O=yL,D.stroke):null),H=d.textShadowBlur>0||n.textShadowBlur>0;P.text=r.text,P.x=s,P.y=g,H&&(P.shadowBlur=d.textShadowBlur||n.textShadowBlur||0,P.shadowColor=d.textShadowColor||n.textShadowColor||"transparent",P.shadowOffsetX=d.textShadowOffsetX||n.textShadowOffsetX||0,P.shadowOffsetY=d.textShadowOffsetY||n.textShadowOffsetY||0),P.textAlign=o,P.textBaseline="middle",P.font=r.font||Lu,P.opacity=D_(d.opacity,n.opacity,1),bL(P,d),q&&(P.lineWidth=D_(d.lineWidth,n.lineWidth,O),P.lineDash=Cr(d.lineDash,n.lineDash),P.lineDashOffset=n.lineDashOffset||0,P.stroke=q),F&&(P.fill=F);var W=r.contentWidth,Z=r.contentHeight;M.setBoundingRect(new un(hm(P.x,W,P.textAlign),wf(P.y,Z,P.textBaseline),W,Z))},t.prototype._renderBackground=function(r,n,i,a,s,o){var h=r.backgroundColor,d=r.borderWidth,m=r.borderColor,g=h&&h.image,y=h&&!g,x=r.borderRadius,E=this,M,P;if(y||r.lineHeight||d&&m){M=this._getOrCreateChild(Ba),M.useStyle(M.createStyle()),M.style.fill=null;var D=M.shape;D.x=i,D.y=a,D.width=s,D.height=o,D.r=x,M.dirtyShape()}if(y){var k=M.style;k.fill=h||null,k.fillOpacity=Cr(r.fillOpacity,1)}else if(g){P=this._getOrCreateChild(kl),P.onload=function(){E.dirtyStyle()};var O=P.style;O.image=h.image,O.x=i,O.y=a,O.width=s,O.height=o}if(d&&m){var k=M.style;k.lineWidth=d,k.stroke=m,k.strokeOpacity=Cr(r.strokeOpacity,1),k.lineDash=r.borderDash,k.lineDashOffset=r.borderDashOffset||0,M.strokeContainThreshold=0,M.hasFill()&&M.hasStroke()&&(k.strokeFirst=!0,k.lineWidth*=2)}var F=(M||P).style;F.shadowBlur=r.shadowBlur||0,F.shadowColor=r.shadowColor||"transparent",F.shadowOffsetX=r.shadowOffsetX||0,F.shadowOffsetY=r.shadowOffsetY||0,F.opacity=D_(r.opacity,n.opacity,1)},t.makeFont=function(r){var n="";return eB(r)&&(n=[r.fontStyle,r.fontWeight,Qz(r.fontSize),r.fontFamily||"sans-serif"].join(" ")),n&&Ds(n)||r.textFont||r.font},t}(Qv),zoe={left:!0,right:1,center:1},Boe={top:1,bottom:1,middle:1},_L=["fontStyle","fontWeight","fontSize","fontFamily"];function Qz(e){return typeof e=="string"&&(e.indexOf("px")!==-1||e.indexOf("rem")!==-1||e.indexOf("em")!==-1)?e:isNaN(+e)?RC+"px":e+"px"}function bL(e,t){for(var r=0;r<_L.length;r++){var n=_L[r],i=t[n];i!=null&&(e[n]=i)}}function eB(e){return e.fontSize!=null||e.fontFamily||e.fontWeight}function Foe(e){return xL(e),Pe(e.rich,xL),e}function xL(e){if(e){e.font=Jz.makeFont(e);var t=e.align;t==="middle"&&(t="center"),e.align=t==null||zoe[t]?t:"left";var r=e.verticalAlign;r==="center"&&(r="middle"),e.verticalAlign=r==null||Boe[r]?r:"top";var n=e.padding;n&&(e.padding=Y6(e.padding))}}function wL(e,t){return e==null||t<=0||e==="transparent"||e==="none"?null:e.image||e.colorStops?"#000":e}function SL(e){return e==null||e==="none"?null:e.image||e.colorStops?"#000":e}function TL(e,t,r){return t==="right"?e-r[1]:t==="center"?e+r[3]/2-r[1]/2:e+r[3]}function CL(e){var t=e.text;return t!=null&&(t+=""),t}function yw(e){return!!(e.backgroundColor||e.lineHeight||e.borderWidth&&e.borderColor)}const as=Jz;var yn=ti(),$oe=function(e,t,r,n){if(n){var i=yn(n);i.dataIndex=r,i.dataType=t,i.seriesIndex=e,n.type==="group"&&n.traverse(function(a){var s=yn(a);s.seriesIndex=e,s.dataIndex=r,s.dataType=t})}},EL=1,AL={},tB=ti(),eE=ti(),rB=0,tE=1,rE=2,Bs=["emphasis","blur","select"],ML=["normal","emphasis","blur","select"],Noe=10,Voe=9,th="highlight",N_="downplay",Om="select",V_="unselect",zm="toggleSelect";function hf(e){return e!=null&&e!=="none"}var PL=new Xv(100);function IL(e){if(Kt(e)){var t=PL.get(e);return t||(t=qD(e,-.1),PL.put(e,t)),t}else if(BC(e)){var r=Tt({},e);return r.colorStops=Jt(e.colorStops,function(n){return{offset:n.offset,color:qD(n.color,-.1)}}),r}return e}function k1(e,t,r){e.onHoverStateChange&&(e.hoverState||0)!==r&&e.onHoverStateChange(t),e.hoverState=r}function nB(e){k1(e,"emphasis",rE)}function iB(e){e.hoverState===rE&&k1(e,"normal",rB)}function nE(e){k1(e,"blur",tE)}function aB(e){e.hoverState===tE&&k1(e,"normal",rB)}function joe(e){e.selected=!0}function Hoe(e){e.selected=!1}function DL(e,t,r){t(e,r)}function Rl(e,t,r){DL(e,t,r),e.isGroup&&e.traverse(function(n){DL(n,t,r)})}function Uoe(e,t,r,n){for(var i=e.style,a={},s=0;s=0,a=!1;if(e instanceof en){var s=tB(e),o=i&&s.selectFill||s.normalFill,h=i&&s.selectStroke||s.normalStroke;if(hf(o)||hf(h)){n=n||{};var d=n.style||{};d.fill==="inherit"?(a=!0,n=Tt({},n),d=Tt({},d),d.fill=o):!hf(d.fill)&&hf(o)?(a=!0,n=Tt({},n),d=Tt({},d),d.fill=IL(o)):!hf(d.stroke)&&hf(h)&&(a||(n=Tt({},n),d=Tt({},d)),d.stroke=IL(h)),n.style=d}}if(n&&n.z2==null){a||(n=Tt({},n));var m=e.z2EmphasisLift;n.z2=e.z2+(m??Noe)}return n}function qoe(e,t,r){if(r&&r.z2==null){r=Tt({},r);var n=e.z2SelectLift;r.z2=e.z2+(n??Voe)}return r}function Woe(e,t,r){var n=sn(e.currentStates,t)>=0,i=e.style.opacity,a=n?null:Uoe(e,["opacity"],t,{opacity:1});r=r||{};var s=r.style||{};return s.opacity==null&&(r=Tt({},r),s=Tt({opacity:n?i:a.opacity*.1},s),r.style=s),r}function _w(e,t){var r=this.states[e];if(this.style){if(e==="emphasis")return Goe(this,e,t,r);if(e==="blur")return Woe(this,e,r);if(e==="select")return qoe(this,e,r)}return r}function Zoe(e){e.stateProxy=_w;var t=e.getTextContent(),r=e.getTextGuideLine();t&&(t.stateProxy=_w),r&&(r.stateProxy=_w)}function LL(e,t){!uB(e,t)&&!e.__highByOuter&&Rl(e,nB)}function kL(e,t){!uB(e,t)&&!e.__highByOuter&&Rl(e,iB)}function _v(e,t){e.__highByOuter|=1<<(t||0),Rl(e,nB)}function bv(e,t){!(e.__highByOuter&=~(1<<(t||0)))&&Rl(e,iB)}function oB(e){Rl(e,nE)}function iE(e){Rl(e,aB)}function sB(e){Rl(e,joe)}function lB(e){Rl(e,Hoe)}function uB(e,t){return e.__highDownSilentOnTouch&&t.zrByTouch}function cB(e){var t=e.getModel(),r=[],n=[];t.eachComponent(function(i,a){var s=eE(a),o=i==="series",h=o?e.getViewOfSeriesModel(a):e.getViewOfComponentModel(a);!o&&n.push(h),s.isBlured&&(h.group.traverse(function(d){aB(d)}),o&&r.push(a)),s.isBlured=!1}),Pe(n,function(i){i&&i.toggleBlurSeries&&i.toggleBlurSeries(r,!1,t)})}function MS(e,t,r,n){var i=n.getModel();r=r||"coordinateSystem";function a(d,m){for(var g=0;g0){var o={dataIndex:s,seriesIndex:r.seriesIndex};a!=null&&(o.dataType=a),t.push(o)}})}),t}function ese(e,t,r){hB(e,!0),Rl(e,Zoe),rse(e,t,r)}function tse(e){hB(e,!1)}function oE(e,t,r,n){n?tse(e):ese(e,t,r)}function rse(e,t,r){var n=yn(e);t!=null?(n.focus=t,n.blurScope=r):n.focus&&(n.focus=null)}function hB(e,t){var r=t===!1,n=e;e.highDownSilentOnTouch&&(n.__highDownSilentOnTouch=e.highDownSilentOnTouch),(!r||n.__highDownDispatcher)&&(n.__highByOuter=n.__highByOuter||0,n.__highDownDispatcher=!r)}function IS(e){return!!(e&&e.__highDownDispatcher)}function nse(e){var t=AL[e];return t==null&&EL<=32&&(t=AL[e]=EL++),t}function DS(e){var t=e.type;return t===Om||t===V_||t===zm}function OL(e){var t=e.type;return t===th||t===N_}function ise(e){var t=tB(e);t.normalFill=e.style.fill,t.normalStroke=e.style.stroke;var r=e.states.select||{};t.selectFill=r.style&&r.style.fill||null,t.selectStroke=r.style&&r.style.stroke||null}var ff=lh.CMD,ase=[[],[],[]],zL=Math.sqrt,ose=Math.atan2;function sse(e,t){if(t){var r=e.data,n=e.len(),i,a,s,o,h,d,m=ff.M,g=ff.C,y=ff.L,x=ff.R,E=ff.A,M=ff.Q;for(s=0,o=0;s1&&(s*=bw(E),o*=bw(E));var M=(i===a?-1:1)*bw((s*s*(o*o)-s*s*(x*x)-o*o*(y*y))/(s*s*(x*x)+o*o*(y*y)))||0,P=M*s*x/o,D=M*-o*y/s,k=(e+r)/2+Wy(g)*P-qy(g)*D,O=(t+n)/2+qy(g)*P+Wy(g)*D,F=FL([1,0],[(y-P)/s,(x-D)/o]),q=[(y-P)/s,(x-D)/o],H=[(-1*y-P)/s,(-1*x-D)/o],W=FL(q,H);if(LS(q,H)<=-1&&(W=Zp),LS(q,H)>=1&&(W=0),W<0){var Z=Math.round(W/Zp*1e6)/1e6;W=Zp*2+Z%2*Zp}m.addData(d,k,O,s,o,F,W,g,a)}var lse=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,use=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function cse(e){var t=new lh;if(!e)return t;var r=0,n=0,i=r,a=n,s,o=lh.CMD,h=e.match(lse);if(!h)return t;for(var d=0;dde*de+Te*Te&&(Z=re,ee=ce),{cx:Z,cy:ee,x0:-m,y0:-g,x1:Z*(i/q-1),y1:ee*(i/q-1)}}function yse(e){var t;if(Nt(e)){var r=e.length;if(!r)return e;r===1?t=[e[0],e[0],0,0]:r===2?t=[e[0],e[0],e[1],e[1]]:r===3?t=e.concat(e[2]):t=e}else t=[e,e,e,e];return t}function _se(e,t){var r,n=fm(t.r,0),i=fm(t.r0||0,0),a=n>0,s=i>0;if(!(!a&&!s)){if(a||(n=i,i=0),i>n){var o=n;n=i,i=o}var h=t.startAngle,d=t.endAngle;if(!(isNaN(h)||isNaN(d))){var m=t.cx,g=t.cy,y=!!t.clockwise,x=NL(d-h),E=x>xw&&x%xw;if(E>qo&&(x=E),!(n>qo))e.moveTo(m,g);else if(x>xw-qo)e.moveTo(m+n*df(h),g+n*Sc(h)),e.arc(m,g,n,h,d,!y),i>qo&&(e.moveTo(m+i*df(d),g+i*Sc(d)),e.arc(m,g,i,d,h,y));else{var M=void 0,P=void 0,D=void 0,k=void 0,O=void 0,F=void 0,q=void 0,H=void 0,W=void 0,Z=void 0,ee=void 0,re=void 0,ce=void 0,le=void 0,ve=void 0,de=void 0,Te=n*df(h),we=n*Sc(h),Ue=i*df(d),He=i*Sc(d),Mt=x>qo;if(Mt){var Pt=t.cornerRadius;Pt&&(r=yse(Pt),M=r[0],P=r[1],D=r[2],k=r[3]);var er=NL(n-i)/2;if(O=Ss(er,D),F=Ss(er,k),q=Ss(er,M),H=Ss(er,P),ee=W=fm(O,F),re=Z=fm(q,H),(W>qo||Z>qo)&&(ce=n*df(d),le=n*Sc(d),ve=i*df(h),de=i*Sc(h),xqo){var et=Ss(D,ee),dt=Ss(k,ee),vt=Zy(ve,de,Te,we,n,et,y),ue=Zy(ce,le,Ue,He,n,dt,y);e.moveTo(m+vt.cx+vt.x0,g+vt.cy+vt.y0),ee0&&e.arc(m+vt.cx,g+vt.cy,et,Zi(vt.y0,vt.x0),Zi(vt.y1,vt.x1),!y),e.arc(m,g,n,Zi(vt.cy+vt.y1,vt.cx+vt.x1),Zi(ue.cy+ue.y1,ue.cx+ue.x1),!y),dt>0&&e.arc(m+ue.cx,g+ue.cy,dt,Zi(ue.y1,ue.x1),Zi(ue.y0,ue.x0),!y))}else e.moveTo(m+Te,g+we),e.arc(m,g,n,h,d,!y);if(!(i>qo)||!Mt)e.lineTo(m+Ue,g+He);else if(re>qo){var et=Ss(M,re),dt=Ss(P,re),vt=Zy(Ue,He,ce,le,i,-dt,y),ue=Zy(Te,we,ve,de,i,-et,y);e.lineTo(m+vt.cx+vt.x0,g+vt.cy+vt.y0),re0&&e.arc(m+vt.cx,g+vt.cy,dt,Zi(vt.y0,vt.x0),Zi(vt.y1,vt.x1),!y),e.arc(m,g,i,Zi(vt.cy+vt.y1,vt.cx+vt.x1),Zi(ue.cy+ue.y1,ue.cx+ue.x1),y),et>0&&e.arc(m+ue.cx,g+ue.cy,et,Zi(ue.y1,ue.x1),Zi(ue.y0,ue.x0),!y))}else e.lineTo(m+Ue,g+He),e.arc(m,g,i,d,h,y)}e.closePath()}}}var bse=function(){function e(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0,this.cornerRadius=0}return e}(),_B=function(e){It(t,e);function t(r){return e.call(this,r)||this}return t.prototype.getDefaultShape=function(){return new bse},t.prototype.buildPath=function(r,n){_se(r,n)},t.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},t}(en);_B.prototype.type="sector";const lE=_B;var xse=function(){function e(){this.cx=0,this.cy=0,this.r=0,this.r0=0}return e}(),bB=function(e){It(t,e);function t(r){return e.call(this,r)||this}return t.prototype.getDefaultShape=function(){return new xse},t.prototype.buildPath=function(r,n){var i=n.cx,a=n.cy,s=Math.PI*2;r.moveTo(i+n.r,a),r.arc(i,a,n.r,0,s,!1),r.moveTo(i+n.r0,a),r.arc(i,a,n.r0,0,s,!0)},t}(en);bB.prototype.type="ring";const xB=bB;function wse(e,t,r,n){var i=[],a=[],s=[],o=[],h,d,m,g;if(n){m=[1/0,1/0],g=[-1/0,-1/0];for(var y=0,x=e.length;y=2){if(n){var a=wse(i,n,r,t.smoothConstraint);e.moveTo(i[0][0],i[0][1]);for(var s=i.length,o=0;o<(r?s:s-1);o++){var h=a[o*2],d=a[o*2+1],m=i[(o+1)%s];e.bezierCurveTo(h[0],h[1],d[0],d[1],m[0],m[1])}}else{e.moveTo(i[0][0],i[0][1]);for(var o=1,g=i.length;oCc[1]){if(o=!1,a)return o;var m=Math.abs(Cc[0]-Tc[1]),g=Math.abs(Tc[0]-Cc[1]);Math.min(m,g)>i.len()&&(m0){var g=m.duration,y=m.delay,x=m.easing,E={duration:g,delay:y||0,easing:x,done:a,force:!!a||!!s,setToFinal:!d,scope:e,during:s};o?t.animateFrom(r,E):t.animateTo(r,E)}else t.stopAnimation(),!o&&t.attr(r),s&&s(1),a&&a()}function ph(e,t,r,n,i,a){fE("update",e,t,r,n,i,a)}function eg(e,t,r,n,i,a){fE("enter",e,t,r,n,i,a)}function Fm(e){if(!e.__zr)return!0;for(var t=0;tMath.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function HL(e){return!e.isGroup}function Jse(e){return e.shape!=null}function RB(e,t,r){if(!e||!t)return;function n(s){var o={};return s.traverse(function(h){HL(h)&&h.anid&&(o[h.anid]=h)}),o}function i(s){var o={x:s.x,y:s.y,rotation:s.rotation};return Jse(s)&&(o.shape=Tt({},s.shape)),o}var a=n(e);t.traverse(function(s){if(HL(s)&&s.anid){var o=a[s.anid];if(o){var h=i(s);s.attr(i(o)),ph(s,h,r,yn(s).dataIndex)}}})}function Qse(e,t){return Jt(e,function(r){var n=r[0];n=D0(n,t.x),n=L0(n,t.x+t.width);var i=r[1];return i=D0(i,t.y),i=L0(i,t.y+t.height),[n,i]})}function ele(e,t){var r=D0(e.x,t.x),n=L0(e.x+e.width,t.x+t.width),i=D0(e.y,t.y),a=L0(e.y+e.height,t.y+t.height);if(n>=r&&a>=i)return{x:r,y:i,width:n-r,height:a-i}}function OB(e,t,r){var n=Tt({rectHover:!0},t),i=n.style={strokeNoScale:!0};if(r=r||{x:-1,y:-1,width:2,height:2},e)return e.indexOf("image://")===0?(i.image=e.slice(8),_n(i,r),new kl(n)):dE(e.replace("path://",""),n,r,"center")}function tle(e,t,r,n,i){for(var a=0,s=i[i.length-1];a1)return!1;var P=ww(x,E,m,g)/y;return!(P<0||P>1)}function ww(e,t,r,n){return e*n-r*t}function rle(e){return e<=1e-6&&e>=-1e-6}function BB(e){var t=e.itemTooltipOption,r=e.componentModel,n=e.itemName,i=Kt(t)?{formatter:t}:t,a=r.mainType,s=r.componentIndex,o={componentType:a,name:n,$vars:["name"]};o[a+"Index"]=s;var h=e.formatterParamsExtra;h&&Pe(Ur(h),function(m){id(o,m)||(o[m]=h[m],o.$vars.push(m))});var d=yn(e.el);d.componentMainType=a,d.componentIndex=s,d.tooltipConfig={name:n,option:_n({content:n,formatterParams:o},i)}}function UL(e,t){var r;e.isGroup&&(r=t(e)),r||e.traverse(t)}function R1(e,t){if(e)if(Nt(e))for(var r=0;r=0&&o.push(h)}),o}}const _le={time:{month:["January","February","March","April","May","June","July","August","September","October","November","December"],monthAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayOfWeekAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Gauge",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}},ble={time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}};var k0="ZH",mE="EN",wv=mE,j_={},vE={},VB=Tr.domSupported?function(){var e=(document.documentElement.lang||navigator.language||navigator.browserLanguage).toUpperCase();return e.indexOf(k0)>-1?k0:wv}():wv;function jB(e,t){e=e.toUpperCase(),vE[e]=new ba(t),j_[e]=t}function xle(e){if(Kt(e)){var t=j_[e.toUpperCase()]||{};return e===k0||e===mE?Br(t):Dn(Br(t),Br(j_[wv]),!1)}else return Dn(Br(e),Br(j_[wv]),!1)}function wle(e){return vE[e]}function Sle(){return vE[wv]}jB(mE,_le);jB(k0,ble);var gE=1e3,yE=gE*60,$m=yE*60,So=$m*24,KL=So*365,dm={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{HH}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"},Ky="{yyyy}-{MM}-{dd}",JL={year:"{yyyy}",month:"{yyyy}-{MM}",day:Ky,hour:Ky+" "+dm.hour,minute:Ky+" "+dm.minute,second:Ky+" "+dm.second,millisecond:dm.none},Cw=["year","month","day","hour","minute","second","millisecond"],HB=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function Ec(e,t){return e+="","0000".substr(0,t-e.length)+e}function Nf(e){switch(e){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return e}}function Tle(e){return e===Nf(e)}function Cle(e){switch(e){case"year":case"month":return"day";case"millisecond":return"millisecond";default:return"second"}}function F1(e,t,r,n){var i=Al(e),a=i[_E(r)](),s=i[Vf(r)]()+1,o=Math.floor((s-1)/3)+1,h=i[$1(r)](),d=i["get"+(r?"UTC":"")+"Day"](),m=i[Sv(r)](),g=(m-1)%12+1,y=i[N1(r)](),x=i[V1(r)](),E=i[j1(r)](),M=n instanceof ba?n:wle(n||VB)||Sle(),P=M.getModel("time"),D=P.get("month"),k=P.get("monthAbbr"),O=P.get("dayOfWeek"),F=P.get("dayOfWeekAbbr");return(t||"").replace(/{yyyy}/g,a+"").replace(/{yy}/g,a%100+"").replace(/{Q}/g,o+"").replace(/{MMMM}/g,D[s-1]).replace(/{MMM}/g,k[s-1]).replace(/{MM}/g,Ec(s,2)).replace(/{M}/g,s+"").replace(/{dd}/g,Ec(h,2)).replace(/{d}/g,h+"").replace(/{eeee}/g,O[d]).replace(/{ee}/g,F[d]).replace(/{e}/g,d+"").replace(/{HH}/g,Ec(m,2)).replace(/{H}/g,m+"").replace(/{hh}/g,Ec(g+"",2)).replace(/{h}/g,g+"").replace(/{mm}/g,Ec(y,2)).replace(/{m}/g,y+"").replace(/{ss}/g,Ec(x,2)).replace(/{s}/g,x+"").replace(/{SSS}/g,Ec(E,3)).replace(/{S}/g,E+"")}function Ele(e,t,r,n,i){var a=null;if(Kt(r))a=r;else if(lr(r))a=r(e.value,t,{level:e.level});else{var s=Tt({},dm);if(e.level>0)for(var o=0;o=0;--o)if(h[d]){a=h[d];break}a=a||s.none}if(Nt(a)){var g=e.level==null?0:e.level>=0?e.level:a.length+e.level;g=Math.min(g,a.length-1),a=a[g]}}return F1(new Date(e.value),a,i,n)}function UB(e,t){var r=Al(e),n=r[Vf(t)]()+1,i=r[$1(t)](),a=r[Sv(t)](),s=r[N1(t)](),o=r[V1(t)](),h=r[j1(t)](),d=h===0,m=d&&o===0,g=m&&s===0,y=g&&a===0,x=y&&i===1,E=x&&n===1;return E?"year":x?"month":y?"day":g?"hour":m?"minute":d?"second":"millisecond"}function QL(e,t,r){var n=Un(e)?Al(e):e;switch(t=t||UB(e,r),t){case"year":return n[_E(r)]();case"half-year":return n[Vf(r)]()>=6?1:0;case"quarter":return Math.floor((n[Vf(r)]()+1)/4);case"month":return n[Vf(r)]();case"day":return n[$1(r)]();case"half-day":return n[Sv(r)]()/24;case"hour":return n[Sv(r)]();case"minute":return n[N1(r)]();case"second":return n[V1(r)]();case"millisecond":return n[j1(r)]()}}function _E(e){return e?"getUTCFullYear":"getFullYear"}function Vf(e){return e?"getUTCMonth":"getMonth"}function $1(e){return e?"getUTCDate":"getDate"}function Sv(e){return e?"getUTCHours":"getHours"}function N1(e){return e?"getUTCMinutes":"getMinutes"}function V1(e){return e?"getUTCSeconds":"getSeconds"}function j1(e){return e?"getUTCMilliseconds":"getMilliseconds"}function Ale(e){return e?"setUTCFullYear":"setFullYear"}function GB(e){return e?"setUTCMonth":"setMonth"}function qB(e){return e?"setUTCDate":"setDate"}function WB(e){return e?"setUTCHours":"setHours"}function ZB(e){return e?"setUTCMinutes":"setMinutes"}function XB(e){return e?"setUTCSeconds":"setSeconds"}function YB(e){return e?"setUTCMilliseconds":"setMilliseconds"}function KB(e){if(!Eae(e))return Kt(e)?e:"-";var t=(e+"").split(".");return t[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")}function JB(e,t){return e=(e||"").toLowerCase().replace(/-(.)/g,function(r,n){return n.toUpperCase()}),t&&e&&(e=e.charAt(0).toUpperCase()+e.slice(1)),e}var bE=Y6;function RS(e,t,r){var n="{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}";function i(m){return m&&Ds(m)?m:"-"}function a(m){return!!(m!=null&&!isNaN(m)&&isFinite(m))}var s=t==="time",o=e instanceof Date;if(s||o){var h=s?Al(e):e;if(isNaN(+h)){if(o)return"-"}else return F1(h,n,r)}if(t==="ordinal")return aS(e)?i(e):Un(e)&&a(e)?e+"":"-";var d=E0(e);return a(d)?KB(d):aS(e)?i(e):typeof e=="boolean"?e+"":"-"}var ek=["a","b","c","d","e","f","g"],Ew=function(e,t){return"{"+e+(t??"")+"}"};function QB(e,t,r){Nt(t)||(t=[t]);var n=t.length;if(!n)return"";for(var i=t[0].$vars||[],a=0;a':'';var s=r.markerId||"markerX";return{renderMode:a,content:"{"+s+"|} ",style:i==="subItem"?{width:4,height:4,borderRadius:2,backgroundColor:n}:{width:10,height:10,borderRadius:5,backgroundColor:n}}}function Tv(e,t){return t=t||"transparent",Kt(e)?e:nr(e)&&e.colorStops&&(e.colorStops[0]||{}).color||t}function tk(e,t){if(t==="_blank"||t==="blank"){var r=window.open();r.opener=null,r.location.href=e}else window.open(e,t)}var H_=Pe,Ple=["left","right","top","bottom","width","height"],Jy=[["width","left","right"],["height","top","bottom"]];function eF(e,t,r,n,i){var a=0,s=0;n==null&&(n=1/0),i==null&&(i=1/0);var o=0;t.eachChild(function(h,d){var m=h.getBoundingRect(),g=t.childAt(d+1),y=g&&g.getBoundingRect(),x,E;if(e==="horizontal"){var M=m.width+(y?-y.x+m.x:0);x=a+M,x>n||h.newline?(a=0,x=M,s+=o+r,o=m.height):o=Math.max(o,m.height)}else{var P=m.height+(y?-y.y+m.y:0);E=s+P,E>i||h.newline?(a+=o+r,s=0,E=P,o=m.width):o=Math.max(o,m.width)}h.newline||(h.x=a,h.y=s,h.markRedraw(),e==="horizontal"?a=x+r:s=E+r)})}wi(eF,"vertical");wi(eF,"horizontal");function xE(e,t,r){r=bE(r||0);var n=t.width,i=t.height,a=Li(e.left,n),s=Li(e.top,i),o=Li(e.right,n),h=Li(e.bottom,i),d=Li(e.width,n),m=Li(e.height,i),g=r[2]+r[0],y=r[1]+r[3],x=e.aspect;switch(isNaN(d)&&(d=n-o-y-a),isNaN(m)&&(m=i-h-g-s),x!=null&&(isNaN(d)&&isNaN(m)&&(x>n/i?d=n*.8:m=i*.8),isNaN(d)&&(d=x*m),isNaN(m)&&(m=d/x)),isNaN(a)&&(a=n-o-d-y),isNaN(s)&&(s=i-h-m-g),e.left||e.right){case"center":a=n/2-d/2-r[3];break;case"right":a=n-d-y;break}switch(e.top||e.bottom){case"middle":case"center":s=i/2-m/2-r[0];break;case"bottom":s=i-m-g;break}a=a||0,s=s||0,isNaN(d)&&(d=n-y-a-(o||0)),isNaN(m)&&(m=i-g-s-(h||0));var E=new un(a+r[3],s+r[0],d,m);return E.margin=r,E}function Cv(e){var t=e.layoutMode||e.constructor.layoutMode;return nr(t)?t:t?{type:t}:null}function Ev(e,t,r){var n=r&&r.ignoreSize;!Nt(n)&&(n=[n,n]);var i=s(Jy[0],0),a=s(Jy[1],1);d(Jy[0],e,i),d(Jy[1],e,a);function s(m,g){var y={},x=0,E={},M=0,P=2;if(H_(m,function(O){E[O]=e[O]}),H_(m,function(O){o(t,O)&&(y[O]=E[O]=t[O]),h(y,O)&&x++,h(E,O)&&M++}),n[g])return h(t,m[1])?E[m[2]]=null:h(t,m[2])&&(E[m[1]]=null),E;if(M===P||!x)return E;if(x>=P)return y;for(var D=0;D=0;h--)o=Dn(o,i[h],!0);n.defaultOption=o}return n.defaultOption},t.prototype.getReferringComponents=function(r,n){var i=r+"Index",a=r+"Id";return Jv(this.ecModel,r,{index:this.get(i,!0),id:this.get(a,!0)},n)},t.prototype.getBoxLayoutParams=function(){var r=this;return{left:r.get("left"),top:r.get("top"),right:r.get("right"),bottom:r.get("bottom"),width:r.get("width"),height:r.get("height")}},t.prototype.getZLevelKey=function(){return""},t.prototype.setZLevel=function(r){this.option.zlevel=r},t.protoInitialize=function(){var r=t.prototype;r.type="component",r.id="",r.name="",r.mainType="",r.subType="",r.componentIndex=0}(),t}(ba);Vz(wd,ba);I1(wd);gle(wd);yle(wd,Lle);function Lle(e){var t=[];return Pe(wd.getClassesByMainType(e),function(r){t=t.concat(r.dependencies||r.prototype.dependencies||[])}),t=Jt(t,function(r){return Ls(r).main}),e!=="dataset"&&sn(t,"dataset")<=0&&t.unshift("dataset"),t}const Mn=wd;var tF="";typeof navigator<"u"&&(tF=navigator.platform||"");var pf="rgba(0, 0, 0, 0.2)";const kle={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:pf,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:pf,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:pf,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:pf,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:pf,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:pf,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:tF.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1};var rF=Er(["tooltip","label","itemName","itemId","itemGroupId","seriesName"]),Do="original",Va="arrayRows",Ns="objectRows",Ol="keyedColumns",Mu="typedArray",nF="unknown",Tl="column",Sd="row",Za={Must:1,Might:2,Not:3},iF=ti();function Rle(e){iF(e).datasetMap=Er()}function Ole(e,t,r){var n={},i=aF(t);if(!i||!e)return n;var a=[],s=[],o=t.ecModel,h=iF(o).datasetMap,d=i.uid+"_"+r.seriesLayoutBy,m,g;e=e.slice(),Pe(e,function(M,P){var D=nr(M)?M:e[P]={name:M};D.type==="ordinal"&&m==null&&(m=P,g=E(D)),n[D.name]=[]});var y=h.get(d)||h.set(d,{categoryWayDim:g,valueWayDim:0});Pe(e,function(M,P){var D=M.name,k=E(M);if(m==null){var O=y.valueWayDim;x(n[D],O,k),x(s,O,k),y.valueWayDim+=k}else if(m===P)x(n[D],0,k),x(a,0,k);else{var O=y.categoryWayDim;x(n[D],O,k),x(s,O,k),y.categoryWayDim+=k}});function x(M,P,D){for(var k=0;kt)return e[n];return e[r-1]}function Vle(e,t,r,n,i,a,s){a=a||e;var o=t(a),h=o.paletteIdx||0,d=o.paletteNameMap=o.paletteNameMap||{};if(d.hasOwnProperty(i))return d[i];var m=s==null||!n?r:Nle(n,s);if(m=m||r,!(!m||!m.length)){var g=m[h];return i&&(d[i]=g),o.paletteIdx=(h+1)%m.length,g}}function jle(e,t){t(e).paletteIdx=0,t(e).paletteNameMap={}}var Qy,Xp,nk,ik="\0_ec_inner",Hle=1,sF=function(e){It(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.init=function(r,n,i,a,s,o){a=a||{},this.option=null,this._theme=new ba(a),this._locale=new ba(s),this._optionManager=o},t.prototype.setOption=function(r,n,i){var a=sk(n);this._optionManager.setOption(r,i,a),this._resetOption(null,a)},t.prototype.resetOption=function(r,n){return this._resetOption(r,sk(n))},t.prototype._resetOption=function(r,n){var i=!1,a=this._optionManager;if(!r||r==="recreate"){var s=a.mountOption(r==="recreate");!this.option||r==="recreate"?nk(this,s):(this.restoreData(),this._mergeOption(s,n)),i=!0}if((r==="timeline"||r==="media")&&this.restoreData(),!r||r==="recreate"||r==="timeline"){var o=a.getTimelineOption(this);o&&(i=!0,this._mergeOption(o,n))}if(!r||r==="recreate"||r==="media"){var h=a.getMediaOption(this);h.length&&Pe(h,function(d){i=!0,this._mergeOption(d,n)},this)}return i},t.prototype.mergeOption=function(r){this._mergeOption(r,null)},t.prototype._mergeOption=function(r,n){var i=this.option,a=this._componentsMap,s=this._componentsCount,o=[],h=Er(),d=n&&n.replaceMergeMainTypeMap;Rle(this),Pe(r,function(g,y){g!=null&&(Mn.hasClass(y)?y&&(o.push(y),h.set(y,!0)):i[y]=i[y]==null?Br(g):Dn(i[y],g,!0))}),d&&d.each(function(g,y){Mn.hasClass(y)&&!h.get(y)&&(o.push(y),h.set(y,!0))}),Mn.topologicalTravel(o,Mn.getAllClassMainTypes(),m,this);function m(g){var y=$le(this,g,wa(r[g])),x=a.get(g),E=x?d&&d.get(g)?"replaceMerge":"normalMerge":"replaceAll",M=Pae(x,y,E);zae(M,g,Mn),i[g]=null,a.set(g,null),s.set(g,0);var P=[],D=[],k=0,O;Pe(M,function(F,q){var H=F.existing,W=F.newOption;if(!W)H&&(H.mergeOption({},this),H.optionUpdated({},!1));else{var Z=g==="series",ee=Mn.getClass(g,F.keyInfo.subType,!Z);if(!ee)return;if(g==="tooltip"){if(O)return;O=!0}if(H&&H.constructor===ee)H.name=F.keyInfo.name,H.mergeOption(W,this),H.optionUpdated(W,!1);else{var re=Tt({componentIndex:q},F.keyInfo);H=new ee(W,this,this,re),Tt(H,re),F.brandNew&&(H.__requireNewView=!0),H.init(W,this,this),H.optionUpdated(null,!0)}}H?(P.push(H.option),D.push(H),k++):(P.push(void 0),D.push(void 0))},this),i[g]=P,a.set(g,D),s.set(g,k),g==="series"&&Qy(this)}this._seriesIndices||Qy(this)},t.prototype.getOption=function(){var r=Br(this.option);return Pe(r,function(n,i){if(Mn.hasClass(i)){for(var a=wa(n),s=a.length,o=!1,h=s-1;h>=0;h--)a[h]&&!gv(a[h])?o=!0:(a[h]=null,!o&&s--);a.length=s,r[i]=a}}),delete r[ik],r},t.prototype.getTheme=function(){return this._theme},t.prototype.getLocaleModel=function(){return this._locale},t.prototype.setUpdatePayload=function(r){this._payload=r},t.prototype.getUpdatePayload=function(){return this._payload},t.prototype.getComponent=function(r,n){var i=this._componentsMap.get(r);if(i){var a=i[n||0];if(a)return a;if(n==null){for(var s=0;s=t:r==="max"?e<=t:e===t}function eue(e,t){return e.join(",")===t.join(",")}const tue=Yle;var Ho=Pe,Av=nr,lk=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function Mw(e){var t=e&&e.itemStyle;if(t)for(var r=0,n=lk.length;r=0;P--){var D=e[P];if(o||(E=D.data.rawIndexOf(D.stackedByDimension,x)),E>=0){var k=D.data.getByRawIndex(D.stackResultDimension,E);if(h==="all"||h==="positive"&&k>0||h==="negative"&&k<0||h==="samesign"&&y>=0&&k>0||h==="samesign"&&y<=0&&k<0){y=Sae(y,k),M=k;break}}}return n[0]=y,n[1]=M,n})})}var H1=function(){function e(t){this.data=t.data||(t.sourceFormat===Ol?{}:[]),this.sourceFormat=t.sourceFormat||nF,this.seriesLayoutBy=t.seriesLayoutBy||Tl,this.startIndex=t.startIndex||0,this.dimensionsDetectedCount=t.dimensionsDetectedCount,this.metaRawOption=t.metaRawOption;var r=this.dimensionsDefine=t.dimensionsDefine;if(r)for(var n=0;nM&&(M=O)}x[0]=E,x[1]=M}},i=function(){return this._data?this._data.length/this._dimSize:0};mk=(t={},t[Va+"_"+Tl]={pure:!0,appendData:a},t[Va+"_"+Sd]={pure:!0,appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},t[Ns]={pure:!0,appendData:a},t[Ol]={pure:!0,appendData:function(s){var o=this._data;Pe(s,function(h,d){for(var m=o[d]||(o[d]=[]),g=0;g<(h||[]).length;g++)m.push(h[g])})}},t[Do]={appendData:a},t[Mu]={persistent:!1,pure:!0,appendData:function(s){this._data=s},clean:function(){this._offset+=this.count(),this._data=null}},t);function a(s){for(var o=0;o=0&&(M=s.interpolatedValue[P])}return M!=null?M+"":""})}},e.prototype.getRawValue=function(t,r){return od(this.getData(r),t)},e.prototype.formatTooltip=function(t,r,n){},e}();function _k(e){var t,r;return nr(e)?e.type&&(r=e):t=e,{text:t,frag:r}}function Nm(e){return new yue(e)}var yue=function(){function e(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0}return e.prototype.perform=function(t){var r=this._upstream,n=t&&t.skip;if(this._dirty&&r){var i=this.context;i.data=i.outputData=r.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!n&&(a=this._plan(this.context));var s=m(this._modBy),o=this._modDataCount||0,h=m(t&&t.modBy),d=t&&t.modDataCount||0;(s!==h||o!==d)&&(a="reset");function m(k){return!(k>=1)&&(k=1),k}var g;(this._dirty||a==="reset")&&(this._dirty=!1,g=this._doReset(n)),this._modBy=h,this._modDataCount=d;var y=t&&t.step;if(r?this._dueEnd=r._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var x=this._dueIndex,E=Math.min(y!=null?this._dueIndex+y:1/0,this._dueEnd);if(!n&&(g||x1&&n>0?o:s}};return a;function s(){return t=e?null:hi?-this._resultLT:0},e}(),bue=function(){function e(){}return e.prototype.getRawData=function(){throw new Error("not supported")},e.prototype.getRawDataItem=function(t){throw new Error("not supported")},e.prototype.cloneRawData=function(){},e.prototype.getDimensionInfo=function(t){},e.prototype.cloneAllDimensionInfo=function(){},e.prototype.count=function(){},e.prototype.retrieveValue=function(t,r){},e.prototype.retrieveValueFromItem=function(t,r){},e.prototype.convertValue=function(t,r){return jf(t,r)},e}();function xue(e,t){var r=new bue,n=e.data,i=r.sourceFormat=e.sourceFormat,a=e.startIndex,s="";e.seriesLayoutBy!==Tl&&Ra(s);var o=[],h={},d=e.dimensionsDefine;if(d)Pe(d,function(M,P){var D=M.name,k={index:P,name:D,displayName:M.displayName};if(o.push(k),D!=null){var O="";id(h,D)&&Ra(O),h[D]=k}});else for(var m=0;m65535?Pue:Iue}function mf(){return[1/0,-1/0]}function Due(e){var t=e.constructor;return t===Array?e.slice():new t(e)}function wk(e,t,r,n,i){var a=xF[r||"float"];if(i){var s=e[t],o=s&&s.length;if(o!==n){for(var h=new a(n),d=0;dP[1]&&(P[1]=M)}return this._rawCount=this._count=h,{start:o,end:h}},e.prototype._initDataFromProvider=function(t,r,n){for(var i=this._provider,a=this._chunks,s=this._dimensions,o=s.length,h=this._rawExtent,d=Jt(s,function(k){return k.property}),m=0;mD[1]&&(D[1]=P)}}!i.persistent&&i.clean&&i.clean(),this._rawCount=this._count=r,this._extent=[]},e.prototype.count=function(){return this._count},e.prototype.get=function(t,r){if(!(r>=0&&r=0&&r=this._rawCount||t<0)return-1;if(!this._indices)return t;var r=this._indices,n=r[t];if(n!=null&&nt)a=s-1;else return s}return-1},e.prototype.indicesOfNearest=function(t,r,n){var i=this._chunks,a=i[t],s=[];if(!a)return s;n==null&&(n=1/0);for(var o=1/0,h=-1,d=0,m=0,g=this.count();m=0&&h<0)&&(o=E,h=x,d=0),x===h&&(s[d++]=m))}return s.length=d,s},e.prototype.getIndices=function(){var t,r=this._indices;if(r){var n=r.constructor,i=this._count;if(n===Array){t=new n(i);for(var a=0;a=g&&k<=y||isNaN(k))&&(h[d++]=M),M++}E=!0}else if(a===2){for(var P=x[i[0]],O=x[i[1]],F=t[i[1]][0],q=t[i[1]][1],D=0;D=g&&k<=y||isNaN(k))&&(H>=F&&H<=q||isNaN(H))&&(h[d++]=M),M++}E=!0}}if(!E)if(a===1)for(var D=0;D=g&&k<=y||isNaN(k))&&(h[d++]=W)}else for(var D=0;Dt[re][1])&&(Z=!1)}Z&&(h[d++]=r.getRawIndex(D))}return dD[1]&&(D[1]=P)}}}},e.prototype.lttbDownSample=function(t,r){var n=this.clone([t],!0),i=n._chunks,a=i[t],s=this.count(),o=0,h=Math.floor(1/r),d=this.getRawIndex(0),m,g,y,x=new(Kp(this._rawCount))(Math.min((Math.ceil(s/h)+2)*2,s));x[o++]=d;for(var E=1;Em&&(m=g,y=F)}ce>0&&cem-E&&(h=m-E,o.length=h);for(var M=0;Mg[1]&&(g[1]=D),y[x++]=k}return a._count=x,a._indices=y,a._updateGetRawIdx(),a},e.prototype.each=function(t,r){if(this._count)for(var n=t.length,i=this._chunks,a=0,s=this.count();ah&&(h=g)}return s=[o,h],this._extent[t]=s,s},e.prototype.getRawDataItem=function(t){var r=this.getRawIndex(t);if(this._provider.persistent)return this._provider.getItem(r);for(var n=[],i=this._chunks,a=0;a=0?this._indices[t]:-1},e.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},e.internalField=function(){function t(r,n,i,a){return jf(r[a],this._dimensions[a])}Dw={arrayRows:t,objectRows:function(r,n,i,a){return jf(r[n],this._dimensions[a])},keyedColumns:t,original:function(r,n,i,a){var s=r&&(r.value==null?r:r.value);return jf(s instanceof Array?s[a]:s,this._dimensions[a])},typedArray:function(r,n,i,a){return r[a]}}}(),e}(),Lue=function(){function e(t){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=t}return e.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},e.prototype._setLocalSource=function(t,r){this._sourceList=t,this._upstreamSignList=r,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},e.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},e.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},e.prototype._createSource=function(){this._setLocalSource([],[]);var t=this._sourceHost,r=this._getUpstreamSourceManagers(),n=!!r.length,i,a;if(e_(t)){var s=t,o=void 0,h=void 0,d=void 0;if(n){var m=r[0];m.prepareSource(),d=m.getSource(),o=d.data,h=d.sourceFormat,a=[m._getVersionSign()]}else o=s.get("data",!0),h=to(o)?Mu:Do,a=[];var g=this._getSourceMetaRawOption()||{},y=d&&d.metaRawOption||{},x=Cr(g.seriesLayoutBy,y.seriesLayoutBy)||null,E=Cr(g.sourceHeader,y.sourceHeader),M=Cr(g.dimensions,y.dimensions),P=x!==y.seriesLayoutBy||!!E!=!!y.sourceHeader||M;i=P?[OS(o,{seriesLayoutBy:x,sourceHeader:E,dimensions:M},h)]:[]}else{var D=t;if(n){var k=this._applyTransform(r);i=k.sourceList,a=k.upstreamSignList}else{var O=D.get("source",!0);i=[OS(O,this._getSourceMetaRawOption(),null)],a=[]}}this._setLocalSource(i,a)},e.prototype._applyTransform=function(t){var r=this._sourceHost,n=r.get("transform",!0),i=r.get("fromTransformResult",!0);if(i!=null){var a="";t.length!==1&&Sk(a)}var s,o=[],h=[];return Pe(t,function(d){d.prepareSource();var m=d.getSource(i||0),g="";i!=null&&!m&&Sk(g),o.push(m),h.push(d._getVersionSign())}),n?s=Aue(n,o,{datasetIndex:r.componentIndex}):i!=null&&(s=[hue(o[0])]),{sourceList:s,upstreamSignList:h}},e.prototype._isDirty=function(){if(this._dirty)return!0;for(var t=this._getUpstreamSourceManagers(),r=0;r1||r>0&&!e.noHeader;return Pe(e.blocks,function(i){var a=CF(i);a>=t&&(t=a+ +(n&&(!a||BS(i)&&!i.noHeader)))}),t}return 0}function Oue(e,t,r,n){var i=t.noHeader,a=Bue(CF(t)),s=[],o=t.blocks||[];is(!o||Nt(o)),o=o||[];var h=e.orderMode;if(t.sortBlocks&&h){o=o.slice();var d={valueAsc:"asc",valueDesc:"desc"};if(id(d,h)){var m=new _ue(d[h],null);o.sort(function(E,M){return m.evaluate(E.sortParam,M.sortParam)})}else h==="seriesDesc"&&o.reverse()}Pe(o,function(E,M){var P=t.valueFormatter,D=TF(E)(P?Tt(Tt({},e),{valueFormatter:P}):e,E,M>0?a.html:0,n);D!=null&&s.push(D)});var g=e.renderMode==="richText"?s.join(a.richText):FS(s.join(""),i?r:a.html);if(i)return g;var y=RS(t.header,"ordinal",e.useUTC),x=SF(n,e.renderMode).nameStyle;return e.renderMode==="richText"?EF(e,y,x)+a.richText+g:FS('
'+Ja(y)+"
"+g,r)}function zue(e,t,r,n){var i=e.renderMode,a=t.noName,s=t.noValue,o=!t.markerType,h=t.name,d=e.useUTC,m=t.valueFormatter||e.valueFormatter||function(F){return F=Nt(F)?F:[F],Jt(F,function(q,H){return RS(q,Nt(x)?x[H]:x,d)})};if(!(a&&s)){var g=o?"":e.markupStyleCreator.makeTooltipMarker(t.markerType,t.markerColor||"#333",i),y=a?"":RS(h,"ordinal",d),x=t.valueType,E=s?[]:m(t.value),M=!o||!a,P=!o&&a,D=SF(n,i),k=D.nameStyle,O=D.valueStyle;return i==="richText"?(o?"":g)+(a?"":EF(e,y,k))+(s?"":Nue(e,E,M,P,O)):FS((o?"":g)+(a?"":Fue(y,!o,k))+(s?"":$ue(E,M,P,O)),r)}}function Tk(e,t,r,n,i,a){if(e){var s=TF(e),o={useUTC:i,renderMode:r,orderMode:n,markupStyleCreator:t,valueFormatter:e.valueFormatter};return s(o,e,0,a)}}function Bue(e){return{html:kue[e],richText:Rue[e]}}function FS(e,t){var r='
',n="margin: "+t+"px 0 0";return'
'+e+r+"
"}function Fue(e,t,r){var n=t?"margin-left:2px":"";return''+Ja(e)+""}function $ue(e,t,r,n){var i=r?"10px":"20px",a=t?"float:right;margin-left:"+i:"";return e=Nt(e)?e:[e],''+Jt(e,function(s){return Ja(s)}).join("  ")+""}function EF(e,t,r){return e.markupStyleCreator.wrapRichTextStyle(t,r)}function Nue(e,t,r,n,i){var a=[i],s=n?10:20;return r&&a.push({padding:[0,0,0,s],align:"right"}),e.markupStyleCreator.wrapRichTextStyle(Nt(t)?t.join(" "):t,a)}function Vue(e,t){var r=e.getData().getItemVisual(t,"style"),n=r[e.visualDrawType];return Tv(n)}function AF(e,t){var r=e.get("padding");return r??(t==="richText"?[8,10]:10)}var Lw=function(){function e(){this.richTextStyles={},this._nextStyleNameId=Rz()}return e.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},e.prototype.makeTooltipMarker=function(t,r,n){var i=n==="richText"?this._generateStyleName():null,a=Mle({color:r,type:t,renderMode:n,markerId:i});return Kt(a)?a:(this.richTextStyles[i]=a.style,a.content)},e.prototype.wrapRichTextStyle=function(t,r){var n={};Nt(r)?Pe(r,function(a){return Tt(n,a)}):Tt(n,r);var i=this._generateStyleName();return this.richTextStyles[i]=n,"{"+i+"|"+t+"}"},e}();function jue(e){var t=e.series,r=e.dataIndex,n=e.multipleSeries,i=t.getData(),a=i.mapDimensionsAll("defaultedTooltip"),s=a.length,o=t.getRawValue(r),h=Nt(o),d=Vue(t,r),m,g,y,x;if(s>1||h&&!s){var E=Hue(o,t,r,a,d);m=E.inlineValues,g=E.inlineValueTypes,y=E.blocks,x=E.inlineValues[0]}else if(s){var M=i.getDimensionInfo(a[0]);x=m=od(i,r,a[0]),g=M.type}else x=m=h?o[0]:o;var P=Fz(t),D=P&&t.name||"",k=i.getName(r),O=n?D:k;return Ru("section",{header:D,noHeader:n||!P,sortParam:x,blocks:[Ru("nameValue",{markerType:"item",markerColor:d,name:O,noName:!Ds(O),value:m,valueType:g})].concat(y||[])})}function Hue(e,t,r,n,i){var a=t.getData(),s=bd(e,function(g,y,x){var E=a.getDimensionInfo(x);return g=g||E&&E.tooltip!==!1&&E.displayName!=null},!1),o=[],h=[],d=[];n.length?Pe(n,function(g){m(od(a,r,g),g)}):Pe(e,m);function m(g,y){var x=a.getDimensionInfo(y);!x||x.otherDims.tooltip===!1||(s?d.push(Ru("nameValue",{markerType:"subItem",markerColor:i,name:x.displayName,value:g,valueType:x.type})):(o.push(g),h.push(x.type)))}return{inlineValues:o,inlineValueTypes:h,blocks:d}}var cu=ti();function t_(e,t){return e.getName(t)||e.getId(t)}var Uue="__universalTransitionEnabled",G1=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r._selectedDataIndicesMap={},r}return t.prototype.init=function(r,n,i){this.seriesIndex=this.componentIndex,this.dataTask=Nm({count:que,reset:Wue}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(r,i);var a=cu(this).sourceManager=new Lue(this);a.prepareSource();var s=this.getInitialData(r,i);Ek(s,this),this.dataTask.context.data=s,cu(this).dataBeforeProcessed=s,Ck(this),this._initSelectedMapFromData(s)},t.prototype.mergeDefaultAndTheme=function(r,n){var i=Cv(this),a=i?wE(r):{},s=this.subType;Mn.hasClass(s)&&(s+="Series"),Dn(r,n.getTheme().get(this.subType)),Dn(r,this.getDefaultOption()),TS(r,"label",["show"]),this.fillDataTextStyle(r.data),i&&Ev(r,a,i)},t.prototype.mergeOption=function(r,n){r=Dn(this.option,r,!0),this.fillDataTextStyle(r.data);var i=Cv(this);i&&Ev(this.option,r,i);var a=cu(this).sourceManager;a.dirty(),a.prepareSource();var s=this.getInitialData(r,n);Ek(s,this),this.dataTask.dirty(),this.dataTask.context.data=s,cu(this).dataBeforeProcessed=s,Ck(this),this._initSelectedMapFromData(s)},t.prototype.fillDataTextStyle=function(r){if(r&&!to(r))for(var n=["show"],i=0;ithis.getShallow("animationThreshold")&&(n=!1),!!n},t.prototype.restoreData=function(){this.dataTask.dirty()},t.prototype.getColorFromPalette=function(r,n,i){var a=this.ecModel,s=SE.prototype.getColorFromPalette.call(this,r,n,i);return s||(s=a.getColorFromPalette(r,n,i)),s},t.prototype.coordDimToDataDim=function(r){return this.getRawData().mapDimensionsAll(r)},t.prototype.getProgressive=function(){return this.get("progressive")},t.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},t.prototype.select=function(r,n){this._innerSelect(this.getData(n),r)},t.prototype.unselect=function(r,n){var i=this.option.selectedMap;if(i){var a=this.option.selectedMode,s=this.getData(n);if(a==="series"||i==="all"){this.option.selectedMap={},this._selectedDataIndicesMap={};return}for(var o=0;o=0&&i.push(s)}return i},t.prototype.isSelected=function(r,n){var i=this.option.selectedMap;if(!i)return!1;var a=this.getData(n);return(i==="all"||i[t_(a,r)])&&!a.getItemModel(r).get(["select","disabled"])},t.prototype.isUniversalTransitionEnabled=function(){if(this[Uue])return!0;var r=this.option.universalTransition;return r?r===!0?!0:r&&r.enabled:!1},t.prototype._innerSelect=function(r,n){var i,a,s=this.option,o=s.selectedMode,h=n.length;if(!(!o||!h)){if(o==="series")s.selectedMap="all";else if(o==="multiple"){nr(s.selectedMap)||(s.selectedMap={});for(var d=s.selectedMap,m=0;m0&&this._innerSelect(r,n)}},t.registerClass=function(r){return Mn.registerClass(r)},t.protoInitialize=function(){var r=t.prototype;r.type="series.__base__",r.seriesIndex=0,r.ignoreStyleOnData=!1,r.hasSymbolVisual=!1,r.defaultSymbol="circle",r.visualStyleAccessPath="itemStyle",r.visualDrawType="fill"}(),t}(Mn);ls(G1,yF);ls(G1,SE);Vz(G1,Mn);function Ck(e){var t=e.name;Fz(e)||(e.name=Gue(e)||t)}function Gue(e){var t=e.getRawData(),r=t.mapDimensionsAll("seriesName"),n=[];return Pe(r,function(i){var a=t.getDimensionInfo(i);a.displayName&&n.push(a.displayName)}),n.join(" ")}function que(e){return e.model.getRawData().count()}function Wue(e){var t=e.model;return t.setData(t.getRawData().cloneShallow()),Zue}function Zue(e,t){t.outputData&&e.end>t.outputData.count()&&t.model.getRawData().cloneShallow(t.outputData)}function Ek(e,t){Pe(sS(e.CHANGABLE_METHODS,e.DOWNSAMPLE_METHODS),function(r){e.wrapMethod(r,wi(Xue,t))})}function Xue(e,t){var r=$S(e);return r&&r.setOutputEnd((t||this).count()),t}function $S(e){var t=(e.ecModel||{}).scheduler,r=t&&t.getPipeline(e.uid);if(r){var n=r.currentTask;if(n){var i=n.agentStubMap;i&&(n=i.get(e.uid))}return n}}const sd=G1;var PE=function(){function e(){this.group=new Fi,this.uid=B1("viewComponent")}return e.prototype.init=function(t,r){},e.prototype.render=function(t,r,n,i){},e.prototype.dispose=function(t,r){},e.prototype.updateView=function(t,r,n,i){},e.prototype.updateLayout=function(t,r,n,i){},e.prototype.updateVisual=function(t,r,n,i){},e.prototype.toggleBlurSeries=function(t,r,n){},e.prototype.eachRendered=function(t){var r=this.group;r&&r.traverse(t)},e}();JC(PE);I1(PE);const Ml=PE;function IE(){var e=ti();return function(t){var r=e(t),n=t.pipelineContext,i=!!r.large,a=!!r.progressiveRender,s=r.large=!!(n&&n.large),o=r.progressiveRender=!!(n&&n.progressiveRender);return(i!==s||a!==o)&&"reset"}}var MF=ti(),Yue=IE(),DE=function(){function e(){this.group=new Fi,this.uid=B1("viewChart"),this.renderTask=Nm({plan:Kue,reset:Jue}),this.renderTask.context={view:this}}return e.prototype.init=function(t,r){},e.prototype.render=function(t,r,n,i){},e.prototype.highlight=function(t,r,n,i){var a=t.getData(i&&i.dataType);a&&Mk(a,i,"emphasis")},e.prototype.downplay=function(t,r,n,i){var a=t.getData(i&&i.dataType);a&&Mk(a,i,"normal")},e.prototype.remove=function(t,r){this.group.removeAll()},e.prototype.dispose=function(t,r){},e.prototype.updateView=function(t,r,n,i){this.render(t,r,n,i)},e.prototype.updateLayout=function(t,r,n,i){this.render(t,r,n,i)},e.prototype.updateVisual=function(t,r,n,i){this.render(t,r,n,i)},e.prototype.eachRendered=function(t){R1(this.group,t)},e.markUpdateMethod=function(t,r){MF(t).updateMethod=r},e.protoInitialize=function(){var t=e.prototype;t.type="chart"}(),e}();function Ak(e,t,r){e&&IS(e)&&(t==="emphasis"?_v:bv)(e,r)}function Mk(e,t,r){var n=Kv(e,t),i=t&&t.highlightKey!=null?nse(t.highlightKey):null;n!=null?Pe(wa(n),function(a){Ak(e.getItemGraphicEl(a),r,i)}):e.eachItemGraphicEl(function(a){Ak(a,r,i)})}JC(DE);I1(DE);function Kue(e){return Yue(e.model)}function Jue(e){var t=e.model,r=e.ecModel,n=e.api,i=e.payload,a=t.pipelineContext.progressiveRender,s=e.view,o=i&&MF(i).updateMethod,h=a?"incrementalPrepareRender":o&&s[o]?o:"render";return h!=="render"&&s[h](t,r,n,i),Que[h]}var Que={incrementalPrepareRender:{progress:function(e,t){t.view.incrementalRender(e,t.model,t.ecModel,t.api,t.payload)}},render:{forceFirstProgress:!0,progress:function(e,t){t.view.render(t.model,t.ecModel,t.api,t.payload)}}};const rh=DE;var R0="\0__throttleOriginMethod",Pk="\0__throttleRate",Ik="\0__throttleType";function LE(e,t,r){var n,i=0,a=0,s=null,o,h,d,m;t=t||0;function g(){a=new Date().getTime(),s=null,e.apply(h,d||[])}var y=function(){for(var x=[],E=0;E=0?g():s=setTimeout(g,-o),i=n};return y.clear=function(){s&&(clearTimeout(s),s=null)},y.debounceNextCall=function(x){m=x},y}function PF(e,t,r,n){var i=e[t];if(i){var a=i[R0]||i,s=i[Ik],o=i[Pk];if(o!==r||s!==n){if(r==null||!n)return e[t]=a;i=e[t]=LE(a,r,n==="debounce"),i[R0]=a,i[Ik]=n,i[Pk]=r}return i}}function NS(e,t){var r=e[t];r&&r[R0]&&(r.clear&&r.clear(),e[t]=r[R0])}var Dk=ti(),Lk={itemStyle:yv(NB,!0),lineStyle:yv($B,!0)},ece={lineStyle:"stroke",itemStyle:"fill"};function IF(e,t){var r=e.visualStyleMapper||Lk[t];return r||(console.warn("Unknown style type '"+t+"'."),Lk.itemStyle)}function DF(e,t){var r=e.visualDrawType||ece[t];return r||(console.warn("Unknown style type '"+t+"'."),"fill")}var tce={createOnAllSeries:!0,performRawSeries:!0,reset:function(e,t){var r=e.getData(),n=e.visualStyleAccessPath||"itemStyle",i=e.getModel(n),a=IF(e,n),s=a(i),o=i.getShallow("decal");o&&(r.setVisual("decal",o),o.dirty=!0);var h=DF(e,n),d=s[h],m=lr(d)?d:null,g=s.fill==="auto"||s.stroke==="auto";if(!s[h]||m||g){var y=e.getColorFromPalette(e.name,null,t.getSeriesCount());s[h]||(s[h]=y,r.setVisual("colorFromPalette",!0)),s.fill=s.fill==="auto"||lr(s.fill)?y:s.fill,s.stroke=s.stroke==="auto"||lr(s.stroke)?y:s.stroke}if(r.setVisual("style",s),r.setVisual("drawType",h),!t.isSeriesFiltered(e)&&m)return r.setVisual("colorFromPalette",!1),{dataEach:function(x,E){var M=e.getDataParams(E),P=Tt({},s);P[h]=m(M),x.setItemVisual(E,"style",P)}}}},Jp=new ba,rce={createOnAllSeries:!0,performRawSeries:!0,reset:function(e,t){if(!(e.ignoreStyleOnData||t.isSeriesFiltered(e))){var r=e.getData(),n=e.visualStyleAccessPath||"itemStyle",i=IF(e,n),a=r.getVisual("drawType");return{dataEach:r.hasItemOption?function(s,o){var h=s.getRawDataItem(o);if(h&&h[n]){Jp.option=h[n];var d=i(Jp),m=s.ensureUniqueItemVisual(o,"style");Tt(m,d),Jp.option.decal&&(s.setItemVisual(o,"decal",Jp.option.decal),Jp.option.decal.dirty=!0),a in d&&s.setItemVisual(o,"colorFromPalette",!1)}}:null}}}},nce={performRawSeries:!0,overallReset:function(e){var t=Er();e.eachSeries(function(r){var n=r.getColorBy();if(!r.isColorBySeries()){var i=r.type+"-"+n,a=t.get(i);a||(a={},t.set(i,a)),Dk(r).scope=a}}),e.eachSeries(function(r){if(!(r.isColorBySeries()||e.isSeriesFiltered(r))){var n=r.getRawData(),i={},a=r.getData(),s=Dk(r).scope,o=r.visualStyleAccessPath||"itemStyle",h=DF(r,o);a.each(function(d){var m=a.getRawIndex(d);i[m]=d}),n.each(function(d){var m=i[d],g=a.getItemVisual(m,"colorFromPalette");if(g){var y=a.ensureUniqueItemVisual(m,"style"),x=n.getName(d)||d+"",E=n.count();y[h]=r.getColorFromPalette(x,s,E)}})}})}},r_=Math.PI;function ice(e,t){t=t||{},_n(t,{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var r=new Fi,n=new Ba({style:{fill:t.maskColor},zlevel:t.zlevel,z:1e4});r.add(n);var i=new as({style:{text:t.text,fill:t.textColor,fontSize:t.fontSize,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontFamily:t.fontFamily},zlevel:t.zlevel,z:10001}),a=new Ba({style:{fill:"none"},textContent:i,textConfig:{position:"right",distance:10},zlevel:t.zlevel,z:10001});r.add(a);var s;return t.showSpinner&&(s=new hE({shape:{startAngle:-r_/2,endAngle:-r_/2+.1,r:t.spinnerRadius},style:{stroke:t.color,lineCap:"round",lineWidth:t.lineWidth},zlevel:t.zlevel,z:10001}),s.animateShape(!0).when(1e3,{endAngle:r_*3/2}).start("circularInOut"),s.animateShape(!0).when(1e3,{startAngle:r_*3/2}).delay(300).start("circularInOut"),r.add(s)),r.resize=function(){var o=i.getBoundingRect().width,h=t.showSpinner?t.spinnerRadius:0,d=(e.getWidth()-h*2-(t.showSpinner&&o?10:0)-o)/2-(t.showSpinner&&o?0:5+o/2)+(t.showSpinner?0:o/2)+(o?0:h),m=e.getHeight()/2;t.showSpinner&&s.setShape({cx:d,cy:m}),a.setShape({x:d-h,y:m-h,width:h*2,height:h*2}),n.setShape({x:0,y:0,width:e.getWidth(),height:e.getHeight()})},r.resize(),r}var ace=function(){function e(t,r,n,i){this._stageTaskMap=Er(),this.ecInstance=t,this.api=r,n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice(),this._allHandlers=n.concat(i)}return e.prototype.restoreData=function(t,r){t.restoreData(r),this._stageTaskMap.each(function(n){var i=n.overallTask;i&&i.dirty()})},e.prototype.getPerformArgs=function(t,r){if(t.__pipeline){var n=this._pipelineMap.get(t.__pipeline.id),i=n.context,a=!r&&n.progressiveEnabled&&(!i||i.progressiveRender)&&t.__idxInPipeline>n.blockIndex,s=a?n.step:null,o=i&&i.modDataCount,h=o!=null?Math.ceil(o/s):null;return{step:s,modBy:h,modDataCount:o}}},e.prototype.getPipeline=function(t){return this._pipelineMap.get(t)},e.prototype.updateStreamModes=function(t,r){var n=this._pipelineMap.get(t.uid),i=t.getData(),a=i.count(),s=n.progressiveEnabled&&r.incrementalPrepareRender&&a>=n.threshold,o=t.get("large")&&a>=t.get("largeThreshold"),h=t.get("progressiveChunkMode")==="mod"?a:null;t.pipelineContext=n.context={progressiveRender:s,modDataCount:h,large:o}},e.prototype.restorePipelines=function(t){var r=this,n=r._pipelineMap=Er();t.eachSeries(function(i){var a=i.getProgressive(),s=i.uid;n.set(s,{id:s,head:null,tail:null,threshold:i.getProgressiveThreshold(),progressiveEnabled:a&&!(i.preventIncremental&&i.preventIncremental()),blockIndex:-1,step:Math.round(a||700),count:0}),r._pipe(i,i.dataTask)})},e.prototype.prepareStageTasks=function(){var t=this._stageTaskMap,r=this.api.getModel(),n=this.api;Pe(this._allHandlers,function(i){var a=t.get(i.uid)||t.set(i.uid,{}),s="";is(!(i.reset&&i.overallReset),s),i.reset&&this._createSeriesStageTask(i,a,r,n),i.overallReset&&this._createOverallStageTask(i,a,r,n)},this)},e.prototype.prepareView=function(t,r,n,i){var a=t.renderTask,s=a.context;s.model=r,s.ecModel=n,s.api=i,a.__block=!t.incrementalPrepareRender,this._pipe(r,a)},e.prototype.performDataProcessorTasks=function(t,r){this._performStageTasks(this._dataProcessorHandlers,t,r,{block:!0})},e.prototype.performVisualTasks=function(t,r,n){this._performStageTasks(this._visualHandlers,t,r,n)},e.prototype._performStageTasks=function(t,r,n,i){i=i||{};var a=!1,s=this;Pe(t,function(h,d){if(!(i.visualType&&i.visualType!==h.visualType)){var m=s._stageTaskMap.get(h.uid),g=m.seriesTaskMap,y=m.overallTask;if(y){var x,E=y.agentStubMap;E.each(function(P){o(i,P)&&(P.dirty(),x=!0)}),x&&y.dirty(),s.updatePayload(y,n);var M=s.getPerformArgs(y,i.block);E.each(function(P){P.perform(M)}),y.perform(M)&&(a=!0)}else g&&g.each(function(P,D){o(i,P)&&P.dirty();var k=s.getPerformArgs(P,i.block);k.skip=!h.performRawSeries&&r.isSeriesFiltered(P.context.model),s.updatePayload(P,n),P.perform(k)&&(a=!0)})}});function o(h,d){return h.setDirty&&(!h.dirtyMap||h.dirtyMap.get(d.__pipeline.id))}this.unfinished=a||this.unfinished},e.prototype.performSeriesTasks=function(t){var r;t.eachSeries(function(n){r=n.dataTask.perform()||r}),this.unfinished=r||this.unfinished},e.prototype.plan=function(){this._pipelineMap.each(function(t){var r=t.tail;do{if(r.__block){t.blockIndex=r.__idxInPipeline;break}r=r.getUpstream()}while(r)})},e.prototype.updatePayload=function(t,r){r!=="remain"&&(t.context.payload=r)},e.prototype._createSeriesStageTask=function(t,r,n,i){var a=this,s=r.seriesTaskMap,o=r.seriesTaskMap=Er(),h=t.seriesType,d=t.getTargetSeries;t.createOnAllSeries?n.eachRawSeries(m):h?n.eachRawSeriesByType(h,m):d&&d(n,i).each(m);function m(g){var y=g.uid,x=o.set(y,s&&s.get(y)||Nm({plan:cce,reset:hce,count:dce}));x.context={model:g,ecModel:n,api:i,useClearVisual:t.isVisual&&!t.isLayout,plan:t.plan,reset:t.reset,scheduler:a},a._pipe(g,x)}},e.prototype._createOverallStageTask=function(t,r,n,i){var a=this,s=r.overallTask=r.overallTask||Nm({reset:oce});s.context={ecModel:n,api:i,overallReset:t.overallReset,scheduler:a};var o=s.agentStubMap,h=s.agentStubMap=Er(),d=t.seriesType,m=t.getTargetSeries,g=!0,y=!1,x="";is(!t.createOnAllSeries,x),d?n.eachRawSeriesByType(d,E):m?m(n,i).each(E):(g=!1,Pe(n.getSeries(),E));function E(M){var P=M.uid,D=h.set(P,o&&o.get(P)||(y=!0,Nm({reset:sce,onDirty:uce})));D.context={model:M,overallProgress:g},D.agent=s,D.__block=g,a._pipe(M,D)}y&&s.dirty()},e.prototype._pipe=function(t,r){var n=t.uid,i=this._pipelineMap.get(n);!i.head&&(i.head=r),i.tail&&i.tail.pipe(r),i.tail=r,r.__idxInPipeline=i.count++,r.__pipeline=i},e.wrapStageHandler=function(t,r){return lr(t)&&(t={overallReset:t,seriesType:pce(t)}),t.uid=B1("stageHandler"),r&&(t.visualType=r),t},e}();function oce(e){e.overallReset(e.ecModel,e.api,e.payload)}function sce(e){return e.overallProgress&&lce}function lce(){this.agent.dirty(),this.getDownstream().dirty()}function uce(){this.agent&&this.agent.dirty()}function cce(e){return e.plan?e.plan(e.model,e.ecModel,e.api,e.payload):null}function hce(e){e.useClearVisual&&e.data.clearAllVisual();var t=e.resetDefines=wa(e.reset(e.model,e.ecModel,e.api,e.payload));return t.length>1?Jt(t,function(r,n){return LF(n)}):fce}var fce=LF(0);function LF(e){return function(t,r){var n=r.data,i=r.resetDefines[e];if(i&&i.dataEach)for(var a=t.start;a0&&x===d.length-y.length){var E=d.slice(0,x);E!=="data"&&(r.mainType=E,r[y.toLowerCase()]=h,m=!0)}}o.hasOwnProperty(d)&&(n[d]=h,m=!0),m||(i[d]=h)})}return{cptQuery:r,dataQuery:n,otherQuery:i}},e.prototype.filter=function(t,r){var n=this.eventInfo;if(!n)return!0;var i=n.targetEl,a=n.packedEvent,s=n.model,o=n.view;if(!s||!o)return!0;var h=r.cptQuery,d=r.dataQuery;return m(h,s,"mainType")&&m(h,s,"subType")&&m(h,s,"index","componentIndex")&&m(h,s,"name")&&m(h,s,"id")&&m(d,a,"name")&&m(d,a,"dataIndex")&&m(d,a,"dataType")&&(!o.filterForExposedEvent||o.filterForExposedEvent(t,r.otherQuery,i,a));function m(g,y,x,E){return g[x]==null||y[E||x]===g[x]}},e.prototype.afterTrigger=function(){this.eventInfo=null},e}(),VS=["symbol","symbolSize","symbolRotate","symbolOffset"],zk=VS.concat(["symbolKeepAspect"]),yce={createOnAllSeries:!0,performRawSeries:!0,reset:function(e,t){var r=e.getData();if(e.legendIcon&&r.setVisual("legendIcon",e.legendIcon),!e.hasSymbolVisual)return;for(var n={},i={},a=!1,s=0;s=0&&Wc(h)?h:.5;var d=e.createRadialGradient(s,o,0,s,o,h);return d}function Bk(e,t,r){for(var n=t.type==="radial"?Oce(e,t,r):Rce(e,t,r),i=t.colorStops,a=0;a0)?null:e==="dashed"?[4*t,2*t]:e==="dotted"?[t]:Un(e)?[e]:Nt(e)?e:null}function RE(e){var t=e.style,r=t.lineDash&&t.lineWidth>0&&Bce(t.lineDash,t.lineWidth),n=t.lineDashOffset;if(r){var i=t.strokeNoScale&&e.getLineScale?e.getLineScale():1;i&&i!==1&&(r=Jt(r,function(a){return a/i}),n/=i)}return[r,n]}var Fce=new lh(!0);function z0(e){var t=e.stroke;return!(t==null||t==="none"||!(e.lineWidth>0))}function $k(e){return typeof e=="string"&&e!=="none"}function B0(e){var t=e.fill;return t!=null&&t!=="none"}function Nk(e,t){if(t.fillOpacity!=null&&t.fillOpacity!==1){var r=e.globalAlpha;e.globalAlpha=t.fillOpacity*t.opacity,e.fill(),e.globalAlpha=r}else e.fill()}function Vk(e,t){if(t.strokeOpacity!=null&&t.strokeOpacity!==1){var r=e.globalAlpha;e.globalAlpha=t.strokeOpacity*t.opacity,e.stroke(),e.globalAlpha=r}else e.stroke()}function jk(e,t,r){var n=QC(t.image,t.__image,r);if(D1(n)){var i=e.createPattern(n,t.repeat||"repeat");if(typeof DOMMatrix=="function"&&i&&i.setTransform){var a=new DOMMatrix;a.translateSelf(t.x||0,t.y||0),a.rotateSelf(0,0,(t.rotation||0)*L_),a.scaleSelf(t.scaleX||1,t.scaleY||1),i.setTransform(a)}return i}}function $ce(e,t,r,n){var i,a=z0(r),s=B0(r),o=r.strokePercent,h=o<1,d=!t.path;(!t.silent||h)&&d&&t.createPathProxy();var m=t.path||Fce,g=t.__dirty;if(!n){var y=r.fill,x=r.stroke,E=s&&!!y.colorStops,M=a&&!!x.colorStops,P=s&&!!y.image,D=a&&!!x.image,k=void 0,O=void 0,F=void 0,q=void 0,H=void 0;(E||M)&&(H=t.getBoundingRect()),E&&(k=g?Bk(e,y,H):t.__canvasFillGradient,t.__canvasFillGradient=k),M&&(O=g?Bk(e,x,H):t.__canvasStrokeGradient,t.__canvasStrokeGradient=O),P&&(F=g||!t.__canvasFillPattern?jk(e,y,t):t.__canvasFillPattern,t.__canvasFillPattern=F),D&&(q=g||!t.__canvasStrokePattern?jk(e,x,t):t.__canvasStrokePattern,t.__canvasStrokePattern=F),E?e.fillStyle=k:P&&(F?e.fillStyle=F:s=!1),M?e.strokeStyle=O:D&&(q?e.strokeStyle=q:a=!1)}var W=t.getGlobalScale();m.setScale(W[0],W[1],t.segmentIgnoreThreshold);var Z,ee;e.setLineDash&&r.lineDash&&(i=RE(t),Z=i[0],ee=i[1]);var re=!0;(d||g&xf)&&(m.setDPR(e.dpr),h?m.setContext(null):(m.setContext(e),re=!1),m.reset(),t.buildPath(m,t.shape,n),m.toStatic(),t.pathUpdated()),re&&m.rebuildPath(e,h?o:1),Z&&(e.setLineDash(Z),e.lineDashOffset=ee),n||(r.strokeFirst?(a&&Vk(e,r),s&&Nk(e,r)):(s&&Nk(e,r),a&&Vk(e,r))),Z&&e.setLineDash([])}function Nce(e,t,r){var n=t.__image=QC(r.image,t.__image,t,t.onload);if(!(!n||!D1(n))){var i=r.x||0,a=r.y||0,s=t.getWidth(),o=t.getHeight(),h=n.width/n.height;if(s==null&&o!=null?s=o*h:o==null&&s!=null?o=s/h:s==null&&o==null&&(s=n.width,o=n.height),r.sWidth&&r.sHeight){var d=r.sx||0,m=r.sy||0;e.drawImage(n,d,m,r.sWidth,r.sHeight,i,a,s,o)}else if(r.sx&&r.sy){var d=r.sx,m=r.sy,g=s-d,y=o-m;e.drawImage(n,d,m,g,y,i,a,s,o)}else e.drawImage(n,i,a,s,o)}}function Vce(e,t,r){var n,i=r.text;if(i!=null&&(i+=""),i){e.font=r.font||Lu,e.textAlign=r.textAlign,e.textBaseline=r.textBaseline;var a=void 0,s=void 0;e.setLineDash&&r.lineDash&&(n=RE(t),a=n[0],s=n[1]),a&&(e.setLineDash(a),e.lineDashOffset=s),r.strokeFirst?(z0(r)&&e.strokeText(i,r.x,r.y),B0(r)&&e.fillText(i,r.x,r.y)):(B0(r)&&e.fillText(i,r.x,r.y),z0(r)&&e.strokeText(i,r.x,r.y)),a&&e.setLineDash([])}}var Hk=["shadowBlur","shadowOffsetX","shadowOffsetY"],Uk=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function $F(e,t,r,n,i){var a=!1;if(!n&&(r=r||{},t===r))return!1;if(n||t.opacity!==r.opacity){Oa(e,i),a=!0;var s=Math.max(Math.min(t.opacity,1),0);e.globalAlpha=isNaN(s)?eh.opacity:s}(n||t.blend!==r.blend)&&(a||(Oa(e,i),a=!0),e.globalCompositeOperation=t.blend||eh.blend);for(var o=0;o0&&r.unfinished);r.unfinished||this._zr.flush()}}},t.prototype.getDom=function(){return this._dom},t.prototype.getId=function(){return this.id},t.prototype.getZr=function(){return this._zr},t.prototype.isSSR=function(){return this._ssr},t.prototype.setOption=function(r,n,i){if(!this[Xi]){if(this._disposed){this.id;return}var a,s,o;if(nr(n)&&(i=n.lazyUpdate,a=n.silent,s=n.replaceMerge,o=n.transition,n=n.notMerge),this[Xi]=!0,!this._model||n){var h=new tue(this._api),d=this._theme,m=this._model=new lF;m.scheduler=this._scheduler,m.ssr=this._ssr,m.init(null,null,null,d,this._locale,h)}this._model.setOption(r,{replaceMerge:s},GS);var g={seriesTransition:o,optionChanged:!0};if(i)this[La]={silent:a,updateParams:g},this[Xi]=!1,this.getZr().wakeUp();else{try{gf(this),hu.update.call(this,null,g)}catch(y){throw this[La]=null,this[Xi]=!1,y}this._ssr||this._zr.flush(),this[La]=null,this[Xi]=!1,Qp.call(this,a),em.call(this,a)}}},t.prototype.setTheme=function(){},t.prototype.getModel=function(){return this._model},t.prototype.getOption=function(){return this._model&&this._model.getOption()},t.prototype.getWidth=function(){return this._zr.getWidth()},t.prototype.getHeight=function(){return this._zr.getHeight()},t.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||Tr.hasGlobalWindow&&window.devicePixelRatio||1},t.prototype.getRenderedCanvas=function(r){return this.renderToCanvas(r)},t.prototype.renderToCanvas=function(r){r=r||{};var n=this._zr.painter;return n.getRenderedCanvas({backgroundColor:r.backgroundColor||this._model.get("backgroundColor"),pixelRatio:r.pixelRatio||this.getDevicePixelRatio()})},t.prototype.renderToSVGString=function(r){r=r||{};var n=this._zr.painter;return n.renderToString({useViewBox:r.useViewBox})},t.prototype.getSvgDataURL=function(){if(Tr.svgSupported){var r=this._zr,n=r.storage.getDisplayList();return Pe(n,function(i){i.stopAnimation(null,!0)}),r.painter.toDataURL()}},t.prototype.getDataURL=function(r){if(this._disposed){this.id;return}r=r||{};var n=r.excludeComponents,i=this._model,a=[],s=this;Pe(n,function(h){i.eachComponent({mainType:h},function(d){var m=s._componentsMap[d.__viewId];m.group.ignore||(a.push(m),m.group.ignore=!0)})});var o=this._zr.painter.getType()==="svg"?this.getSvgDataURL():this.renderToCanvas(r).toDataURL("image/"+(r&&r.type||"png"));return Pe(a,function(h){h.group.ignore=!1}),o},t.prototype.getConnectedDataURL=function(r){if(this._disposed){this.id;return}var n=r.type==="svg",i=this.group,a=Math.min,s=Math.max,o=1/0;if(o5[i]){var h=o,d=o,m=-o,g=-o,y=[],x=r&&r.pixelRatio||this.getDevicePixelRatio();Pe(jm,function(O,F){if(O.group===i){var q=n?O.getZr().painter.getSvgDom().innerHTML:O.renderToCanvas(Br(r)),H=O.getDom().getBoundingClientRect();h=a(H.left,h),d=a(H.top,d),m=s(H.right,m),g=s(H.bottom,g),y.push({dom:q,left:H.left,top:H.top})}}),h*=x,d*=x,m*=x,g*=x;var E=m-h,M=g-d,P=Wv.createCanvas(),D=aL(P,{renderer:n?"svg":"canvas"});if(D.resize({width:E,height:M}),n){var k="";return Pe(y,function(O){var F=O.left-h,q=O.top-d;k+=''+O.dom+""}),D.painter.getSvgRoot().innerHTML=k,r.connectedBackgroundColor&&D.painter.setBackgroundColor(r.connectedBackgroundColor),D.refreshImmediately(),D.painter.toDataURL()}else return r.connectedBackgroundColor&&D.add(new Ba({shape:{x:0,y:0,width:E,height:M},style:{fill:r.connectedBackgroundColor}})),Pe(y,function(O){var F=new kl({style:{x:O.left*x-h,y:O.top*x-d,image:O.dom}});D.add(F)}),D.refreshImmediately(),P.toDataURL("image/"+(r&&r.type||"png"))}else return this.getDataURL(r)},t.prototype.convertToPixel=function(r,n){return Bw(this,"convertToPixel",r,n)},t.prototype.convertFromPixel=function(r,n){return Bw(this,"convertFromPixel",r,n)},t.prototype.containPixel=function(r,n){if(this._disposed){this.id;return}var i=this._model,a,s=ow(i,r);return Pe(s,function(o,h){h.indexOf("Models")>=0&&Pe(o,function(d){var m=d.coordinateSystem;if(m&&m.containPoint)a=a||!!m.containPoint(n);else if(h==="seriesModels"){var g=this._chartsMap[d.__viewId];g&&g.containPoint&&(a=a||g.containPoint(n,d))}},this)},this),!!a},t.prototype.getVisual=function(r,n){var i=this._model,a=ow(i,r,{defaultMainType:"series"}),s=a.seriesModel,o=s.getData(),h=a.hasOwnProperty("dataIndexInside")?a.dataIndexInside:a.hasOwnProperty("dataIndex")?o.indexOfRawIndex(a.dataIndex):null;return h!=null?bce(o,h,n):BF(o,n)},t.prototype.getViewOfComponentModel=function(r){return this._componentsMap[r.__viewId]},t.prototype.getViewOfSeriesModel=function(r){return this._chartsMap[r.__viewId]},t.prototype._initEvents=function(){var r=this;Pe(phe,function(n){var i=function(a){var s=r.getModel(),o=a.target,h,d=n==="globalout";if(d?h={}:o&&mm(o,function(E){var M=yn(E);if(M&&M.dataIndex!=null){var P=M.dataModel||s.getSeriesByIndex(M.seriesIndex);return h=P&&P.getDataParams(M.dataIndex,M.dataType)||{},!0}else if(M.eventData)return h=Tt({},M.eventData),!0},!0),h){var m=h.componentType,g=h.componentIndex;(m==="markLine"||m==="markPoint"||m==="markArea")&&(m="series",g=h.seriesIndex);var y=m&&g!=null&&s.getComponent(m,g),x=y&&r[y.mainType==="series"?"_chartsMap":"_componentsMap"][y.__viewId];h.event=a,h.type=n,r._$eventProcessor.eventInfo={targetEl:o,packedEvent:h,model:y,view:x},r.trigger(n,h)}};i.zrEventfulCallAtLast=!0,r._zr.on(n,i,r)}),Pe(Vm,function(n,i){r._messageCenter.on(i,function(a){this.trigger(i,a)},r)}),Pe(["selectchanged"],function(n){r._messageCenter.on(n,function(i){this.trigger(n,i)},r)}),xce(this._messageCenter,this,this._api)},t.prototype.isDisposed=function(){return this._disposed},t.prototype.clear=function(){if(this._disposed){this.id;return}this.setOption({series:[]},!0)},t.prototype.dispose=function(){if(this._disposed){this.id;return}this._disposed=!0;var r=this.getDom();r&&$z(this.getDom(),BE,"");var n=this,i=n._api,a=n._model;Pe(n._componentsViews,function(s){s.dispose(a,i)}),Pe(n._chartsViews,function(s){s.dispose(a,i)}),n._zr.dispose(),n._dom=n._model=n._chartsMap=n._componentsMap=n._chartsViews=n._componentsViews=n._scheduler=n._api=n._zr=n._throttledZrFlush=n._theme=n._coordSysMgr=n._messageCenter=null,delete jm[n.id]},t.prototype.resize=function(r){if(!this[Xi]){if(this._disposed){this.id;return}this._zr.resize(r);var n=this._model;if(this._loadingFX&&this._loadingFX.resize(),!!n){var i=n.resetOption("media"),a=r&&r.silent;this[La]&&(a==null&&(a=this[La].silent),i=!0,this[La]=null),this[Xi]=!0;try{i&&gf(this),hu.update.call(this,{type:"resize",animation:Tt({duration:0},r&&r.animation)})}catch(s){throw this[Xi]=!1,s}this[Xi]=!1,Qp.call(this,a),em.call(this,a)}}},t.prototype.showLoading=function(r,n){if(this._disposed){this.id;return}if(nr(r)&&(n=r,r=""),r=r||"default",this.hideLoading(),!!qS[r]){var i=qS[r](this._api,n),a=this._zr;this._loadingFX=i,a.add(i)}},t.prototype.hideLoading=function(){if(this._disposed){this.id;return}this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},t.prototype.makeActionFromEvent=function(r){var n=Tt({},r);return n.type=Vm[r.type],n},t.prototype.dispatchAction=function(r,n){if(this._disposed){this.id;return}if(nr(n)||(n={silent:!!n}),!!F0[r.type]&&this._model){if(this[Xi]){this._pendingActions.push(r);return}var i=n.silent;$w.call(this,r,i);var a=n.flush;a?this._zr.flush():a!==!1&&Tr.browser.weChat&&this._throttledZrFlush(),Qp.call(this,i),em.call(this,i)}},t.prototype.updateLabelLayout=function(){Zo.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},t.prototype.appendData=function(r){if(this._disposed){this.id;return}var n=r.seriesIndex,i=this.getModel(),a=i.getSeriesByIndex(n);a.appendData(r),this._scheduler.unfinished=!0,this.getZr().wakeUp()},t.internalField=function(){gf=function(g){var y=g._scheduler;y.restorePipelines(g._model),y.prepareStageTasks(),zw(g,!0),zw(g,!1),y.plan()},zw=function(g,y){for(var x=g._model,E=g._scheduler,M=y?g._componentsViews:g._chartsViews,P=y?g._componentsMap:g._chartsMap,D=g._zr,k=g._api,O=0;Oy.get("hoverLayerThreshold")&&!Tr.node&&!Tr.worker&&y.eachSeries(function(P){if(!P.preventUsingHoverLayer){var D=g._chartsMap[P.__viewId];D.__alive&&D.eachRendered(function(k){k.states.emphasis&&(k.states.emphasis.hoverLayer=!0)})}})}function s(g,y){var x=g.get("blendMode")||null;y.eachRendered(function(E){E.isGroup||(E.style.blend=x)})}function o(g,y){if(!g.preventAutoZ){var x=g.get("z")||0,E=g.get("zlevel")||0;y.eachRendered(function(M){return h(M,x,E,-1/0),!0})}}function h(g,y,x,E){var M=g.getTextContent(),P=g.getTextGuideLine(),D=g.isGroup;if(D)for(var k=g.childrenRef(),O=0;O0?{duration:M,delay:x.get("delay"),easing:x.get("easing")}:null;y.eachRendered(function(D){if(D.states&&D.states.emphasis){if(Fm(D))return;if(D instanceof en&&ise(D),D.__dirty){var k=D.prevStates;k&&D.useStates(k)}if(E){D.stateTransition=P;var O=D.getTextContent(),F=D.getTextGuideLine();O&&(O.stateTransition=P),F&&(F.stateTransition=P)}D.__dirty&&i(D)}})}i5=function(g){return new(function(y){It(x,y);function x(){return y!==null&&y.apply(this,arguments)||this}return x.prototype.getCoordinateSystems=function(){return g._coordSysMgr.getCoordinateSystems()},x.prototype.getComponentByElement=function(E){for(;E;){var M=E.__ecComponentInfo;if(M!=null)return g._model.getComponent(M.mainType,M.index);E=E.parent}},x.prototype.enterEmphasis=function(E,M){_v(E,M),fo(g)},x.prototype.leaveEmphasis=function(E,M){bv(E,M),fo(g)},x.prototype.enterBlur=function(E){oB(E),fo(g)},x.prototype.leaveBlur=function(E){iE(E),fo(g)},x.prototype.enterSelect=function(E){sB(E),fo(g)},x.prototype.leaveSelect=function(E){lB(E),fo(g)},x.prototype.getModel=function(){return g.getModel()},x.prototype.getViewOfComponentModel=function(E){return g.getViewOfComponentModel(E)},x.prototype.getViewOfSeriesModel=function(E){return g.getViewOfSeriesModel(E)},x}(uF))(g)},QF=function(g){function y(x,E){for(var M=0;M=0)){s5.push(r);var a=OF.wrapStageHandler(r,i);a.__prio=t,a.__raw=r,e.push(a)}}function a9(e,t){qS[e]=t}function whe(e,t,r){var n=Qce("registerMap");n&&n(e,t,r)}var She=Eue;vh(OE,tce);vh(q1,rce);vh(q1,nce);vh(OE,yce);vh(q1,_ce);vh(WF,Yce);n9(hF);i9(rhe,uue);a9("default",ice);Cd({type:th,event:th,update:th},xa);Cd({type:N_,event:N_,update:N_},xa);Cd({type:Om,event:Om,update:Om},xa);Cd({type:V_,event:V_,update:V_},xa);Cd({type:zm,event:zm,update:zm},xa);r9("light",mce);r9("dark",vce);function tm(e){return e==null?0:e.length||1}function l5(e){return e}var The=function(){function e(t,r,n,i,a,s){this._old=t,this._new=r,this._oldKeyGetter=n||l5,this._newKeyGetter=i||l5,this.context=a,this._diffModeMultiple=s==="multiple"}return e.prototype.add=function(t){return this._add=t,this},e.prototype.update=function(t){return this._update=t,this},e.prototype.updateManyToOne=function(t){return this._updateManyToOne=t,this},e.prototype.updateOneToMany=function(t){return this._updateOneToMany=t,this},e.prototype.updateManyToMany=function(t){return this._updateManyToMany=t,this},e.prototype.remove=function(t){return this._remove=t,this},e.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},e.prototype._executeOneToOne=function(){var t=this._old,r=this._new,n={},i=new Array(t.length),a=new Array(r.length);this._initIndexMap(t,null,i,"_oldKeyGetter"),this._initIndexMap(r,n,a,"_newKeyGetter");for(var s=0;s1){var m=h.shift();h.length===1&&(n[o]=h[0]),this._update&&this._update(m,s)}else d===1?(n[o]=null,this._update&&this._update(h,s)):this._remove&&this._remove(s)}this._performRestAdd(a,n)},e.prototype._executeMultiple=function(){var t=this._old,r=this._new,n={},i={},a=[],s=[];this._initIndexMap(t,n,a,"_oldKeyGetter"),this._initIndexMap(r,i,s,"_newKeyGetter");for(var o=0;o1&&y===1)this._updateManyToOne&&this._updateManyToOne(m,d),i[h]=null;else if(g===1&&y>1)this._updateOneToMany&&this._updateOneToMany(m,d),i[h]=null;else if(g===1&&y===1)this._update&&this._update(m,d),i[h]=null;else if(g>1&&y>1)this._updateManyToMany&&this._updateManyToMany(m,d),i[h]=null;else if(g>1)for(var x=0;x1)for(var o=0;o30}var rm=nr,fu=Jt,khe=typeof Int32Array>"u"?Array:Int32Array,Rhe="e\0\0",u5=-1,Ohe=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],zhe=["_approximateExtent"],c5,s_,nm,im,jw,l_,Hw,Bhe=function(){function e(t,r){this.type="list",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=["cloneShallow","downSample","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","lttbDownSample"];var n,i=!1;s9(t)?(n=t.dimensions,this._dimOmitted=t.isDimensionOmitted(),this._schema=t):(i=!0,n=t),n=n||["x","y"];for(var a={},s=[],o={},h=!1,d={},m=0;m=r)){var n=this._store,i=n.getProvider();this._updateOrdinalMeta();var a=this._nameList,s=this._idList,o=i.getSource().sourceFormat,h=o===Do;if(h&&!i.pure)for(var d=[],m=t;m0},e.prototype.ensureUniqueItemVisual=function(t,r){var n=this._itemVisuals,i=n[t];i||(i=n[t]={});var a=i[r];return a==null&&(a=this.getVisual(r),Nt(a)?a=a.slice():rm(a)&&(a=Tt({},a)),i[r]=a),a},e.prototype.setItemVisual=function(t,r,n){var i=this._itemVisuals[t]||{};this._itemVisuals[t]=i,rm(r)?Tt(i,r):i[r]=n},e.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},e.prototype.setLayout=function(t,r){rm(t)?Tt(this._layout,t):this._layout[t]=r},e.prototype.getLayout=function(t){return this._layout[t]},e.prototype.getItemLayout=function(t){return this._itemLayouts[t]},e.prototype.setItemLayout=function(t,r,n){this._itemLayouts[t]=n?Tt(this._itemLayouts[t]||{},r):r},e.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},e.prototype.setItemGraphicEl=function(t,r){var n=this.hostModel&&this.hostModel.seriesIndex;$oe(n,this.dataType,t,r),this._graphicEls[t]=r},e.prototype.getItemGraphicEl=function(t){return this._graphicEls[t]},e.prototype.eachItemGraphicEl=function(t,r){Pe(this._graphicEls,function(n,i){n&&t&&t.call(r,n,i)})},e.prototype.cloneShallow=function(t){return t||(t=new e(this._schema?this._schema:fu(this.dimensions,this._getDimInfo,this),this.hostModel)),jw(t,this),t._store=this._store,t},e.prototype.wrapMethod=function(t,r){var n=this[t];lr(n)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var i=n.apply(this,arguments);return r.apply(this,[i].concat(FC(arguments)))})},e.internalField=function(){c5=function(t){var r=t._invertedIndicesMap;Pe(r,function(n,i){var a=t._dimInfos[i],s=a.ordinalMeta,o=t._store;if(s){n=r[i]=new khe(s.categories.length);for(var h=0;h1&&(h+="__ec__"+m),i[r]=h}}}(),e}();const NE=Bhe;function Fhe(e,t){CE(e)||(e=EE(e)),t=t||{};var r=t.coordDimensions||[],n=t.dimensionsDefine||e.dimensionsDefine||[],i=Er(),a=[],s=Nhe(e,r,n,t.dimensionsCount),o=t.canOmitUnusedDimensions&&c9(s),h=n===e.dimensionsDefine,d=h?u9(e):l9(n),m=t.encodeDefine;!m&&t.encodeDefaulter&&(m=t.encodeDefaulter(e,s));for(var g=Er(m),y=new bF(s),x=0;x0&&(n.name=i+(a-1)),a++,t.set(i,a)}}function Nhe(e,t,r,n){var i=Math.max(e.dimensionsDetectedCount||1,t.length,r.length,n||0);return Pe(t,function(a){var s;nr(a)&&(s=a.dimsDef)&&(i=Math.max(i,s.length))}),i}function Vhe(e,t,r){if(r||t.hasKey(e)){for(var n=0;t.hasKey(e+n);)n++;e+=n}return t.set(e,!0),e}var jhe=function(){function e(t){this.coordSysDims=[],this.axisMap=Er(),this.categoryAxisMap=Er(),this.coordSysName=t}return e}();function Hhe(e){var t=e.get("coordinateSystem"),r=new jhe(t),n=Uhe[t];if(n)return n(e,r,r.axisMap,r.categoryAxisMap),r}var Uhe={cartesian2d:function(e,t,r,n){var i=e.getReferringComponents("xAxis",Qo).models[0],a=e.getReferringComponents("yAxis",Qo).models[0];t.coordSysDims=["x","y"],r.set("x",i),r.set("y",a),yf(i)&&(n.set("x",i),t.firstCategoryDimIndex=0),yf(a)&&(n.set("y",a),t.firstCategoryDimIndex==null&&(t.firstCategoryDimIndex=1))},singleAxis:function(e,t,r,n){var i=e.getReferringComponents("singleAxis",Qo).models[0];t.coordSysDims=["single"],r.set("single",i),yf(i)&&(n.set("single",i),t.firstCategoryDimIndex=0)},polar:function(e,t,r,n){var i=e.getReferringComponents("polar",Qo).models[0],a=i.findAxisModel("radiusAxis"),s=i.findAxisModel("angleAxis");t.coordSysDims=["radius","angle"],r.set("radius",a),r.set("angle",s),yf(a)&&(n.set("radius",a),t.firstCategoryDimIndex=0),yf(s)&&(n.set("angle",s),t.firstCategoryDimIndex==null&&(t.firstCategoryDimIndex=1))},geo:function(e,t,r,n){t.coordSysDims=["lng","lat"]},parallel:function(e,t,r,n){var i=e.ecModel,a=i.getComponent("parallel",e.get("parallelIndex")),s=t.coordSysDims=a.dimensions.slice();Pe(a.parallelAxisIndex,function(o,h){var d=i.getComponent("parallelAxis",o),m=s[h];r.set(m,d),yf(d)&&(n.set(m,d),t.firstCategoryDimIndex==null&&(t.firstCategoryDimIndex=h))})}};function yf(e){return e.get("type")==="category"}function Ghe(e,t,r){r=r||{};var n=r.byIndex,i=r.stackedCoordDimension,a,s,o;qhe(t)?a=t:(s=t.schema,a=s.dimensions,o=t.store);var h=!!(e&&e.get("stack")),d,m,g,y;if(Pe(a,function(k,O){Kt(k)&&(a[O]=k={name:k}),h&&!k.isExtraCoord&&(!n&&!d&&k.ordinalMeta&&(d=k),!m&&k.type!=="ordinal"&&k.type!=="time"&&(!i||i===k.coordDim)&&(m=k))}),m&&!n&&!d&&(n=!0),m){g="__\0ecstackresult_"+e.id,y="__\0ecstackedover_"+e.id,d&&(d.createInvertedIndices=!0);var x=m.coordDim,E=m.type,M=0;Pe(a,function(k){k.coordDim===x&&M++});var P={name:g,coordDim:x,coordDimIndex:M,type:E,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length},D={name:y,coordDim:y,coordDimIndex:M+1,type:E,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length+1};s?(o&&(P.storeDimIndex=o.ensureCalculationDimension(y,E),D.storeDimIndex=o.ensureCalculationDimension(g,E)),s.appendCalculationDimension(P),s.appendCalculationDimension(D)):(a.push(P),a.push(D))}return{stackedDimension:m&&m.name,stackedByDimension:d&&d.name,isStackedByIndex:n,stackedOverDimension:y,stackResultDimension:g}}function qhe(e){return!s9(e.schema)}function N0(e,t){return!!t&&t===e.getCalculationInfo("stackedDimension")}function Whe(e,t){return N0(e,t)?e.getCalculationInfo("stackResultDimension"):t}function Zhe(e,t){var r=e.get("coordinateSystem"),n=TE.get(r),i;return t&&t.coordSysDims&&(i=Jt(t.coordSysDims,function(a){var s={name:a},o=t.axisMap.get(a);if(o){var h=o.get("type");s.type=Mhe(h)}return s})),i||(i=n&&(n.getDimensionsInfo?n.getDimensionsInfo():n.dimensions.slice())||["x","y"]),i}function Xhe(e,t,r){var n,i;return r&&Pe(e,function(a,s){var o=a.coordDim,h=r.categoryAxisMap.get(o);h&&(n==null&&(n=s),a.ordinalMeta=h.getOrdinalMeta(),t&&(a.createInvertedIndices=!0)),a.otherDims.itemName!=null&&(i=!0)}),!i&&n!=null&&(e[n].otherDims.itemName=0),n}function Yhe(e,t,r){r=r||{};var n=t.getSourceManager(),i,a=!1;e?(a=!0,i=EE(e)):(i=n.getSource(),a=i.sourceFormat===Do);var s=Hhe(t),o=Zhe(t,s),h=r.useEncodeDefaulter,d=lr(h)?h:h?wi(Ole,o,t):null,m={coordDimensions:o,generateCoord:r.generateCoord,encodeDefine:t.getEncode(),encodeDefaulter:d,canOmitUnusedDimensions:!a},g=Fhe(i,m),y=Xhe(g.dimensions,r.createInvertedIndices,s),x=a?null:n.getSharedDataStore(g),E=Ghe(t,{schema:g,store:x}),M=new NE(g,t);M.setCalculationInfo(E);var P=y!=null&&Khe(i)?function(D,k,O,F){return F===y?O:this.defaultDimValueGetter(D,k,O,F)}:null;return M.hasItemOption=!1,M.initData(a?i:x,null,P),M}function Khe(e){if(e.sourceFormat===Do){var t=Jhe(e.data||[]);return!Nt(Yv(t))}}function Jhe(e){for(var t=0;tr[1]&&(r[1]=t[1])},e.prototype.unionExtentFromData=function(t,r){this.unionExtent(t.getApproximateExtent(r))},e.prototype.getExtent=function(){return this._extent.slice()},e.prototype.setExtent=function(t,r){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(r)||(n[1]=r)},e.prototype.isInExtentRange=function(t){return this._extent[0]<=t&&this._extent[1]>=t},e.prototype.isBlank=function(){return this._isBlank},e.prototype.setBlank=function(t){this._isBlank=t},e}();I1(h9);const zl=h9;var Qhe=0,efe=function(){function e(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this.uid=++Qhe}return e.createByAxisModel=function(t){var r=t.option,n=r.data,i=n&&Jt(n,tfe);return new e({categories:i,needCollect:!i,deduplication:r.dedplication!==!1})},e.prototype.getOrdinal=function(t){return this._getOrCreateMap().get(t)},e.prototype.parseAndCollect=function(t){var r,n=this._needCollect;if(!Kt(t)&&!n)return t;if(n&&!this._deduplication)return r=this.categories.length,this.categories[r]=t,r;var i=this._getOrCreateMap();return r=i.get(t),r==null&&(n?(r=this.categories.length,this.categories[r]=t,i.set(t,r)):r=NaN),r},e.prototype._getOrCreateMap=function(){return this._map||(this._map=Er(this.categories))},e}();function tfe(e){return nr(e)&&e.value!=null?e.value:e+""}const WS=efe;function ZS(e){return e.type==="interval"||e.type==="log"}function rfe(e,t,r,n){var i={},a=e[1]-e[0],s=i.interval=kz(a/t,!0);r!=null&&sn&&(s=i.interval=n);var o=i.intervalPrecision=f9(s),h=i.niceTickExtent=[fi(Math.ceil(e[0]/s)*s,o),fi(Math.floor(e[1]/s)*s,o)];return nfe(h,e),i}function Uw(e){var t=Math.pow(10,YC(e)),r=e/t;return r?r===2?r=3:r===3?r=5:r*=2:r=1,fi(r*t)}function f9(e){return ad(e)+2}function h5(e,t,r){e[t]=Math.max(Math.min(e[t],r[1]),r[0])}function nfe(e,t){!isFinite(e[0])&&(e[0]=t[0]),!isFinite(e[1])&&(e[1]=t[1]),h5(e,0,t),h5(e,1,t),e[0]>e[1]&&(e[0]=e[1])}function W1(e,t){return e>=t[0]&&e<=t[1]}function Z1(e,t){return t[1]===t[0]?.5:(e-t[0])/(t[1]-t[0])}function X1(e,t){return e*(t[1]-t[0])+t[0]}var d9=function(e){It(t,e);function t(r){var n=e.call(this,r)||this;n.type="ordinal";var i=n.getSetting("ordinalMeta");return i||(i=new WS({})),Nt(i)&&(i=new WS({categories:Jt(i,function(a){return nr(a)?a.value:a})})),n._ordinalMeta=i,n._extent=n.getSetting("extent")||[0,i.categories.length-1],n}return t.prototype.parse=function(r){return r==null?NaN:Kt(r)?this._ordinalMeta.getOrdinal(r):Math.round(r)},t.prototype.contain=function(r){return r=this.parse(r),W1(r,this._extent)&&this._ordinalMeta.categories[r]!=null},t.prototype.normalize=function(r){return r=this._getTickNumber(this.parse(r)),Z1(r,this._extent)},t.prototype.scale=function(r){return r=Math.round(X1(r,this._extent)),this.getRawOrdinalNumber(r)},t.prototype.getTicks=function(){for(var r=[],n=this._extent,i=n[0];i<=n[1];)r.push({value:i}),i++;return r},t.prototype.getMinorTicks=function(r){},t.prototype.setSortInfo=function(r){if(r==null){this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;return}for(var n=r.ordinalNumbers,i=this._ordinalNumbersByTick=[],a=this._ticksByOrdinalNumber=[],s=0,o=this._ordinalMeta.categories.length,h=Math.min(o,n.length);s=0&&r=0&&r=r},t.prototype.getOrdinalMeta=function(){return this._ordinalMeta},t.prototype.calcNiceTicks=function(){},t.prototype.calcNiceExtent=function(){},t.type="ordinal",t}(zl);zl.registerClass(d9);const p9=d9;var Ic=fi,m9=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type="interval",r._interval=0,r._intervalPrecision=2,r}return t.prototype.parse=function(r){return r},t.prototype.contain=function(r){return W1(r,this._extent)},t.prototype.normalize=function(r){return Z1(r,this._extent)},t.prototype.scale=function(r){return X1(r,this._extent)},t.prototype.setExtent=function(r,n){var i=this._extent;isNaN(r)||(i[0]=parseFloat(r)),isNaN(n)||(i[1]=parseFloat(n))},t.prototype.unionExtent=function(r){var n=this._extent;r[0]n[1]&&(n[1]=r[1]),this.setExtent(n[0],n[1])},t.prototype.getInterval=function(){return this._interval},t.prototype.setInterval=function(r){this._interval=r,this._niceExtent=this._extent.slice(),this._intervalPrecision=f9(r)},t.prototype.getTicks=function(r){var n=this._interval,i=this._extent,a=this._niceExtent,s=this._intervalPrecision,o=[];if(!n)return o;var h=1e4;i[0]h)return[];var m=o.length?o[o.length-1].value:a[1];return i[1]>m&&(r?o.push({value:Ic(m+n,s)}):o.push({value:i[1]})),o},t.prototype.getMinorTicks=function(r){for(var n=this.getTicks(!0),i=[],a=this.getExtent(),s=1;sa[0]&&x0&&(a=a===null?o:Math.min(a,o))}r[n]=a}}return r}function ufe(e){var t=lfe(e),r=[];return Pe(e,function(n){var i=n.coordinateSystem,a=i.getBaseAxis(),s=a.getExtent(),o;if(a.type==="category")o=a.getBandWidth();else if(a.type==="value"||a.type==="time"){var h=a.dim+"_"+a.index,d=t[h],m=Math.abs(s[1]-s[0]),g=a.scale.getExtent(),y=Math.abs(g[1]-g[0]);o=d?m/y*d:m}else{var x=n.getData();o=Math.abs(s[1]-s[0])/x.count()}var E=Li(n.get("barWidth"),o),M=Li(n.get("barMaxWidth"),o),P=Li(n.get("barMinWidth")||(dfe(n)?.5:1),o),D=n.get("barGap"),k=n.get("barCategoryGap");r.push({bandWidth:o,barWidth:E,barMaxWidth:M,barMinWidth:P,barGap:D,barCategoryGap:k,axisKey:y9(a),stackId:g9(n)})}),cfe(r)}function cfe(e){var t={};Pe(e,function(n,i){var a=n.axisKey,s=n.bandWidth,o=t[a]||{bandWidth:s,remainedWidth:s,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},h=o.stacks;t[a]=o;var d=n.stackId;h[d]||o.autoWidthCount++,h[d]=h[d]||{width:0,maxWidth:0};var m=n.barWidth;m&&!h[d].width&&(h[d].width=m,m=Math.min(o.remainedWidth,m),o.remainedWidth-=m);var g=n.barMaxWidth;g&&(h[d].maxWidth=g);var y=n.barMinWidth;y&&(h[d].minWidth=y);var x=n.barGap;x!=null&&(o.gap=x);var E=n.barCategoryGap;E!=null&&(o.categoryGap=E)});var r={};return Pe(t,function(n,i){r[i]={};var a=n.stacks,s=n.bandWidth,o=n.categoryGap;if(o==null){var h=Ur(a).length;o=Math.max(35-h*4,15)+"%"}var d=Li(o,s),m=Li(n.gap,1),g=n.remainedWidth,y=n.autoWidthCount,x=(g-d)/(y+(y-1)*m);x=Math.max(x,0),Pe(a,function(D){var k=D.maxWidth,O=D.minWidth;if(D.width){var F=D.width;k&&(F=Math.min(F,k)),O&&(F=Math.max(F,O)),D.width=F,g-=F+m*F,y--}else{var F=x;k&&kF&&(F=O),F!==x&&(D.width=F,g-=F+m*F,y--)}}),x=(g-d)/(y+(y-1)*m),x=Math.max(x,0);var E=0,M;Pe(a,function(D,k){D.width||(D.width=x),M=D,E+=D.width*(1+m)}),M&&(E-=M.width*m);var P=-E/2;Pe(a,function(D,k){r[i][k]=r[i][k]||{bandWidth:s,offset:P,width:D.width},P+=D.width*(1+m)})}),r}function hfe(e,t,r){if(e&&t){var n=e[y9(t)];return n!=null&&r!=null?n[g9(r)]:n}}function ffe(e){return e.coordinateSystem&&e.coordinateSystem.type==="cartesian2d"}function dfe(e){return e.pipelineContext&&e.pipelineContext.large}var pfe=function(e,t,r,n){for(;r>>1;e[i][1]i&&(this._approxInterval=i);var o=u_.length,h=Math.min(pfe(u_,this._approxInterval,0,o),o-1);this._interval=u_[h][1],this._minLevelUnit=u_[Math.max(h-1,0)][0]},t.prototype.parse=function(r){return Un(r)?r:+Al(r)},t.prototype.contain=function(r){return W1(this.parse(r),this._extent)},t.prototype.normalize=function(r){return Z1(this.parse(r),this._extent)},t.prototype.scale=function(r){return X1(r,this._extent)},t.type="time",t}(tg),u_=[["second",gE],["minute",yE],["hour",$m],["quarter-day",$m*6],["half-day",$m*12],["day",So*1.2],["half-week",So*3.5],["week",So*7],["month",So*31],["quarter",So*95],["half-year",KL/2],["year",KL]];function mfe(e,t,r,n){var i=Al(t),a=Al(r),s=function(E){return QL(i,E,n)===QL(a,E,n)},o=function(){return s("year")},h=function(){return o()&&s("month")},d=function(){return h()&&s("day")},m=function(){return d()&&s("hour")},g=function(){return m()&&s("minute")},y=function(){return g()&&s("second")},x=function(){return y()&&s("millisecond")};switch(e){case"year":return o();case"month":return h();case"day":return d();case"hour":return m();case"minute":return g();case"second":return y();case"millisecond":return x()}}function vfe(e,t){return e/=So,e>16?16:e>7.5?7:e>3.5?4:e>1.5?2:1}function gfe(e){var t=30*So;return e/=t,e>6?6:e>3?3:e>2?2:1}function yfe(e){return e/=$m,e>12?12:e>6?6:e>3.5?4:e>2?2:1}function f5(e,t){return e/=t?yE:gE,e>30?30:e>20?20:e>15?15:e>10?10:e>5?5:e>2?2:1}function _fe(e){return kz(e,!0)}function bfe(e,t,r){var n=new Date(e);switch(Nf(t)){case"year":case"month":n[GB(r)](0);case"day":n[qB(r)](1);case"hour":n[WB(r)](0);case"minute":n[ZB(r)](0);case"second":n[XB(r)](0),n[YB(r)](0)}return n.getTime()}function xfe(e,t,r,n){var i=1e4,a=HB,s=0;function o(re,ce,le,ve,de,Te,we){for(var Ue=new Date(ce),He=ce,Mt=Ue[ve]();He1&&Te===0&&le.unshift({value:le[0].value-He})}}for(var Te=0;Te=n[0]&&k<=n[1]&&g++)}var O=(n[1]-n[0])/t;if(g>O*1.5&&y>O/1.5||(d.push(P),g>O||e===a[x]))break}m=[]}}}for(var F=ea(Jt(d,function(re){return ea(re,function(ce){return ce.value>=n[0]&&ce.value<=n[1]&&!ce.notAdd})}),function(re){return re.length>0}),q=[],H=F.length-1,x=0;x0;)a*=10;var o=[fi(Cfe(n[0]/a)*a),fi(Tfe(n[1]/a)*a)];this._interval=a,this._niceExtent=o}},t.prototype.calcNiceExtent=function(r){Hm.calcNiceExtent.call(this,r),this._fixMin=r.fixMin,this._fixMax=r.fixMax},t.prototype.parse=function(r){return r},t.prototype.contain=function(r){return r=Uo(r)/Uo(this.base),W1(r,this._extent)},t.prototype.normalize=function(r){return r=Uo(r)/Uo(this.base),Z1(r,this._extent)},t.prototype.scale=function(r){return r=X1(r,this._extent),c_(this.base,r)},t.type="log",t}(zl),b9=VE.prototype;b9.getMinorTicks=Hm.getMinorTicks;b9.getLabel=Hm.getLabel;function h_(e,t){return Sfe(e,ad(t))}zl.registerClass(VE);const Efe=VE;var Afe=function(){function e(t,r,n){this._prepareParams(t,r,n)}return e.prototype._prepareParams=function(t,r,n){n[1]0&&h>0&&!d&&(o=0),o<0&&h<0&&!m&&(h=0));var y=this._determinedMin,x=this._determinedMax;return y!=null&&(o=y,d=!0),x!=null&&(h=x,m=!0),{min:o,max:h,minFixed:d,maxFixed:m,isBlank:g}},e.prototype.modifyDataMinMax=function(t,r){this[Pfe[t]]=r},e.prototype.setDeterminedMinMax=function(t,r){var n=Mfe[t];this[n]=r},e.prototype.freeze=function(){this.frozen=!0},e}(),Mfe={min:"_determinedMin",max:"_determinedMax"},Pfe={min:"_dataMin",max:"_dataMax"};function Ife(e,t,r){var n=e.rawExtentInfo;return n||(n=new Afe(e,t,r),e.rawExtentInfo=n,n)}function f_(e,t){return t==null?null:_0(t)?NaN:e.parse(t)}function x9(e,t){var r=e.type,n=Ife(e,t,e.getExtent()).calculate();e.setBlank(n.isBlank);var i=n.min,a=n.max,s=t.ecModel;if(s&&r==="time"){var o=sfe("bar",s),h=!1;if(Pe(o,function(g){h=h||g.getBaseAxis()===t.axis}),h){var d=ufe(o),m=Dfe(i,a,t,d);i=m.min,a=m.max}}return{extent:[i,a],fixMin:n.minFixed,fixMax:n.maxFixed}}function Dfe(e,t,r,n){var i=r.axis.getExtent(),a=i[1]-i[0],s=hfe(n,r.axis);if(s===void 0)return{min:e,max:t};var o=1/0;Pe(s,function(x){o=Math.min(x.offset,o)});var h=-1/0;Pe(s,function(x){h=Math.max(x.offset+x.width,h)}),o=Math.abs(o),h=Math.abs(h);var d=o+h,m=t-e,g=1-(o+h)/a,y=m/g-m;return t+=y*(h/d),e-=y*(o/d),{min:e,max:t}}function p5(e,t){var r=t,n=x9(e,r),i=n.extent,a=r.get("splitNumber");e instanceof Efe&&(e.base=r.get("logBase"));var s=e.type,o=r.get("interval"),h=s==="interval"||s==="time";e.setExtent(i[0],i[1]),e.calcNiceExtent({splitNumber:a,fixMin:n.fixMin,fixMax:n.fixMax,minInterval:h?r.get("minInterval"):null,maxInterval:h?r.get("maxInterval"):null}),o!=null&&e.setInterval&&e.setInterval(o)}function Lfe(e,t){if(t=t||e.get("type"),t)switch(t){case"category":return new p9({ordinalMeta:e.getOrdinalMeta?e.getOrdinalMeta():e.getCategories(),extent:[1/0,-1/0]});case"time":return new wfe({locale:e.ecModel.getLocaleModel(),useUTC:e.ecModel.get("useUTC")});default:return new(zl.getClass(t)||tg)}}function kfe(e){var t=e.scale.getExtent(),r=t[0],n=t[1];return!(r>0&&n>0||r<0&&n<0)}function rg(e){var t=e.getLabelModel().get("formatter"),r=e.type==="category"?e.scale.getExtent()[0]:null;return e.scale.type==="time"?function(n){return function(i,a){return e.scale.getFormattedLabel(i,a,n)}}(t):Kt(t)?function(n){return function(i){var a=e.scale.getLabel(i),s=n.replace("{value}",a??"");return s}}(t):lr(t)?function(n){return function(i,a){return r!=null&&(a=i.value-r),n(jE(e,i),a,i.level!=null?{level:i.level}:null)}}(t):function(n){return e.scale.getLabel(n)}}function jE(e,t){return e.type==="category"?e.scale.getLabel(t):t.value}function Rfe(e){var t=e.model,r=e.scale;if(!(!t.get(["axisLabel","show"])||r.isBlank())){var n,i,a=r.getExtent();r instanceof p9?i=r.count():(n=r.getTicks(),i=n.length);var s=e.getLabelModel(),o=rg(e),h,d=1;i>40&&(d=Math.ceil(i/40));for(var m=0;m=0||(m5.push(e),lr(e)&&(e={install:e}),e.install(Ffe))}var Iv=ti();function $fe(e){return e.type==="category"?Vfe(e):Hfe(e)}function Nfe(e,t){return e.type==="category"?jfe(e,t):{ticks:Jt(e.scale.getTicks(),function(r){return r.value})}}function Vfe(e){var t=e.getLabelModel(),r=S9(e,t);return!t.get("show")||e.scale.isBlank()?{labels:[],labelCategoryInterval:r.labelCategoryInterval}:r}function S9(e,t){var r=T9(e,"labels"),n=HE(t),i=C9(r,n);if(i)return i;var a,s;return lr(n)?a=M9(e,n):(s=n==="auto"?Ufe(e):n,a=A9(e,s)),E9(r,n,{labels:a,labelCategoryInterval:s})}function jfe(e,t){var r=T9(e,"ticks"),n=HE(t),i=C9(r,n);if(i)return i;var a,s;if((!t.get("show")||e.scale.isBlank())&&(a=[]),lr(n))a=M9(e,n,!0);else if(n==="auto"){var o=S9(e,e.getLabelModel());s=o.labelCategoryInterval,a=Jt(o.labels,function(h){return h.tickValue})}else s=n,a=A9(e,s,!0);return E9(r,n,{ticks:a,tickCategoryInterval:s})}function Hfe(e){var t=e.scale.getTicks(),r=rg(e);return{labels:Jt(t,function(n,i){return{level:n.level,formattedLabel:r(n,i),rawLabel:e.scale.getLabel(n),tickValue:n.value}})}}function T9(e,t){return Iv(e)[t]||(Iv(e)[t]=[])}function C9(e,t){for(var r=0;r40&&(o=Math.max(1,Math.floor(s/40)));for(var h=a[0],d=e.dataToCoord(h+1)-e.dataToCoord(h),m=Math.abs(d*Math.cos(n)),g=Math.abs(d*Math.sin(n)),y=0,x=0;h<=a[1];h+=o){var E=0,M=0,P=ZC(r({value:h}),t.font,"center","top");E=P.width*1.3,M=P.height*1.3,y=Math.max(y,E,7),x=Math.max(x,M,7)}var D=y/m,k=x/g;isNaN(D)&&(D=1/0),isNaN(k)&&(k=1/0);var O=Math.max(0,Math.floor(Math.min(D,k))),F=Iv(e.model),q=e.getExtent(),H=F.lastAutoInterval,W=F.lastTickCount;return H!=null&&W!=null&&Math.abs(H-O)<=1&&Math.abs(W-s)<=1&&H>O&&F.axisExtent0===q[0]&&F.axisExtent1===q[1]?O=H:(F.lastTickCount=s,F.lastAutoInterval=O,F.axisExtent0=q[0],F.axisExtent1=q[1]),O}function qfe(e){var t=e.getLabelModel();return{axisRotate:e.getRotate?e.getRotate():e.isHorizontal&&!e.isHorizontal()?90:0,labelRotate:t.get("rotate")||0,font:t.getFont()}}function A9(e,t,r){var n=rg(e),i=e.scale,a=i.getExtent(),s=e.getLabelModel(),o=[],h=Math.max((t||0)+1,1),d=a[0],m=i.count();d!==0&&h>1&&m/h>2&&(d=Math.round(Math.ceil(d/h)*h));var g=w9(e),y=s.get("showMinLabel")||g,x=s.get("showMaxLabel")||g;y&&d!==a[0]&&M(a[0]);for(var E=d;E<=a[1];E+=h)M(E);x&&E-h!==a[1]&&M(a[1]);function M(P){var D={value:P};o.push(r?P:{formattedLabel:n(D),rawLabel:i.getLabel(D),tickValue:P})}return o}function M9(e,t,r){var n=e.scale,i=rg(e),a=[];return Pe(n.getTicks(),function(s){var o=n.getLabel(s),h=s.value;t(s.value,o)&&a.push(r?h:{formattedLabel:i(s),rawLabel:o,tickValue:h})}),a}var v5=[0,1],Wfe=function(){function e(t,r,n){this.onBand=!1,this.inverse=!1,this.dim=t,this.scale=r,this._extent=n||[0,0]}return e.prototype.contain=function(t){var r=this._extent,n=Math.min(r[0],r[1]),i=Math.max(r[0],r[1]);return t>=n&&t<=i},e.prototype.containData=function(t){return this.scale.contain(t)},e.prototype.getExtent=function(){return this._extent.slice()},e.prototype.getPixelPrecision=function(t){return wae(t||this.scale.getExtent(),this._extent)},e.prototype.setExtent=function(t,r){var n=this._extent;n[0]=t,n[1]=r},e.prototype.dataToCoord=function(t,r){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&i.type==="ordinal"&&(n=n.slice(),g5(n,i.count())),sL(t,v5,n,r)},e.prototype.coordToData=function(t,r){var n=this._extent,i=this.scale;this.onBand&&i.type==="ordinal"&&(n=n.slice(),g5(n,i.count()));var a=sL(t,n,v5,r);return this.scale.scale(a)},e.prototype.pointToData=function(t,r){},e.prototype.getTicksCoords=function(t){t=t||{};var r=t.tickModel||this.getTickModel(),n=Nfe(this,r),i=n.ticks,a=Jt(i,function(o){return{coord:this.dataToCoord(this.scale.type==="ordinal"?this.scale.getRawOrdinalNumber(o):o),tickValue:o}},this),s=r.get("alignWithLabel");return Zfe(this,a,s,t.clamp),a},e.prototype.getMinorTicksCoords=function(){if(this.scale.type==="ordinal")return[];var t=this.model.getModel("minorTick"),r=t.get("splitNumber");r>0&&r<100||(r=5);var n=this.scale.getMinorTicks(r),i=Jt(n,function(a){return Jt(a,function(s){return{coord:this.dataToCoord(s),tickValue:s}},this)},this);return i},e.prototype.getViewLabels=function(){return $fe(this).labels},e.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},e.prototype.getTickModel=function(){return this.model.getModel("axisTick")},e.prototype.getBandWidth=function(){var t=this._extent,r=this.scale.getExtent(),n=r[1]-r[0]+(this.onBand?1:0);n===0&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},e.prototype.calculateCategoryInterval=function(){return Gfe(this)},e}();function g5(e,t){var r=e[1]-e[0],n=t,i=r/n/2;e[0]+=i,e[1]-=i}function Zfe(e,t,r,n){var i=t.length;if(!e.onBand||r||!i)return;var a=e.getExtent(),s,o;if(i===1)t[0].coord=a[0],s=t[1]={coord:a[0]};else{var h=t[i-1].tickValue-t[0].tickValue,d=(t[i-1].coord-t[0].coord)/h;Pe(t,function(x){x.coord-=d/2});var m=e.scale.getExtent();o=1+m[1]-t[i-1].tickValue,s={coord:t[i-1].coord+d*o},t.push(s)}var g=a[0]>a[1];y(t[0].coord,a[0])&&(n?t[0].coord=a[0]:t.shift()),n&&y(a[0],t[0].coord)&&t.unshift({coord:a[0]}),y(a[1],s.coord)&&(n?s.coord=a[1]:t.pop()),n&&y(s.coord,a[1])&&t.push({coord:a[1]});function y(x,E){return x=fi(x),E=fi(E),g?x>E:x2}).forEach(function(le){var ve=le.charAt(2).toLowerCase()+le.slice(3);ve.substring(ve.length-4)==="Once"&&(ve="~".concat(ve.substring(0,ve.length-4))),re[ve]=r[le]})),Object.keys(re).forEach(function(le){var ve=re[le];if(ve){var de=le.toLowerCase();de.charAt(0)==="~"&&(de=de.substring(1),ve.__once__=!0);var Te=ee;if(de.indexOf("zr:")===0&&(Te=ee.getZr(),de=de.substring(3)),ve.__once__){delete ve.__once__;var we=ve;ve=function(){for(var Ue=[],He=0;He=Dc:-d>=Dc),x=d>0?d%Dc:d%Dc+Dc,E=!1;y?E=!0:wu(g)?E=!1:E=x>=I9==!!m;var M=t+n*Zw(s),P=r+i*Ww(s);this._start&&this._add("M",M,P);var D=Math.round(a*pde);if(y){var k=1/this._p,O=(m?1:-1)*(Dc-k);this._add("A",n,i,D,1,+m,t+n*Zw(s+O),r+i*Ww(s+O)),k>.01&&this._add("A",n,i,D,0,+m,M,P)}else{var F=t+n*Zw(o),q=r+i*Ww(o);this._add("A",n,i,D,+E,+m,F,q)}},e.prototype.rect=function(t,r,n,i){this._add("M",t,r),this._add("l",n,0),this._add("l",0,i),this._add("l",-n,0),this._add("Z")},e.prototype.closePath=function(){this._d.length>0&&this._add("Z")},e.prototype._add=function(t,r,n,i,a,s,o,h,d){for(var m=[],g=this._p,y=1;y"}function Tde(e){return""}function qE(e,t){t=t||{};var r=t.newline?` +`:"";function n(i){var a=i.children,s=i.tag,o=i.attrs;return Sde(s,o)+Ja(i.text)+(a?""+r+Jt(a,function(h){return n(h)}).join(r)+r:"")+Tde(s)}return n(e)}function Cde(e,t,r){r=r||{};var n=r.newline?` +`:"",i=" {"+n,a=n+"}",s=Jt(Ur(e),function(h){return h+i+Jt(Ur(e[h]),function(d){return d+":"+e[h][d]+";"}).join(n)+a}).join(n),o=Jt(Ur(t),function(h){return"@keyframes "+h+i+Jt(Ur(t[h]),function(d){return d+i+Jt(Ur(t[h][d]),function(m){var g=t[h][d][m];return m==="d"&&(g='path("'+g+'")'),m+":"+g+";"}).join(n)+a}).join(n)+a}).join(n);return!s&&!o?"":[""].join(n)}function JS(e){return{zrId:e,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssClassIdx:0,cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function _5(e,t,r,n){return di("svg","root",{width:e,height:t,xmlns:L9,"xmlns:xlink":k9,version:"1.1",baseProfile:"full",viewBox:n?"0 0 "+e+" "+t:!1},r)}var b5={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},Oc="transform-origin";function Ede(e,t,r){var n=Tt({},e.shape);Tt(n,t),e.buildPath(r,n);var i=new D9;return i.reset(bz(e)),r.rebuildPath(i,1),i.generateStr(),i.getStr()}function Ade(e,t){var r=t.originX,n=t.originY;(r||n)&&(e[Oc]=r+"px "+n+"px")}var Mde={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function O9(e,t){var r=t.zrId+"-ani-"+t.cssAnimIdx++;return t.cssAnims[r]=e,r}function Pde(e,t,r){var n=e.shape.paths,i={},a,s;if(Pe(n,function(h){var d=JS(r.zrId);d.animation=!0,Y1(h,{},d,!0);var m=d.cssAnims,g=d.cssNodes,y=Ur(m),x=y.length;if(x){s=y[x-1];var E=m[s];for(var M in E){var P=E[M];i[M]=i[M]||{d:""},i[M].d+=P.d||""}for(var D in g){var k=g[D].animation;k.indexOf(s)>=0&&(a=k)}}}),!!a){t.d=!1;var o=O9(i,r);return a.replace(s,o)}}function x5(e){return Kt(e)?b5[e]?"cubic-bezier("+b5[e]+")":UC(e)?e:"":""}function Y1(e,t,r,n){var i=e.animators,a=i.length,s=[];if(e instanceof PB){var o=Pde(e,t,r);if(o)s.push(o);else if(!a)return}else if(!a)return;for(var h={},d=0;d0}).length){var qe=O9(W,r);return qe+" "+k[0]+" both"}}for(var P in h){var o=M(h[P]);o&&s.push(o)}if(s.length){var D=r.zrId+"-cls-"+r.cssClassIdx++;r.cssNodes["."+D]={animation:s.join(",")},t.class=D}}var Dv=Math.round;function z9(e){return e&&Kt(e.src)}function B9(e){return e&&lr(e.toDataURL)}function WE(e,t,r,n){bde(function(i,a){var s=i==="fill"||i==="stroke";s&&_z(a)?$9(t,e,i,n):s&&GC(a)?N9(r,e,i,n):e[i]=a},t,r,!1),zde(r,e,n)}function w5(e){return wu(e[0]-1)&&wu(e[1])&&wu(e[2])&&wu(e[3]-1)}function Ide(e){return wu(e[4])&&wu(e[5])}function ZE(e,t,r){if(t&&!(Ide(t)&&w5(t))){var n=r?10:1e4;e.transform=w5(t)?"translate("+Dv(t[4]*n)/n+" "+Dv(t[5]*n)/n+")":$ie(t)}}function S5(e,t,r){for(var n=e.points,i=[],a=0;a"u"){var P="Image width/height must been given explictly in svg-ssr renderer.";is(y,P),is(x,P)}else if(y==null||x==null){var D=function(re,ce){if(re){var le=re.elm,ve=y||ce.width,de=x||ce.height;re.tag==="pattern"&&(d?(de=1,ve/=a.width):m&&(ve=1,de/=a.height)),re.attrs.width=ve,re.attrs.height=de,le&&(le.setAttribute("width",ve),le.setAttribute("height",de))}},k=QC(E,null,e,function(re){h||D(H,re),D(g,re)});k&&k.width&&k.height&&(y=y||k.width,x=x||k.height)}g=di("image","img",{href:E,width:y,height:x}),s.width=y,s.height=x}else i.svgElement&&(g=Br(i.svgElement),s.width=i.svgWidth,s.height=i.svgHeight);if(g){var O,F;h?O=F=1:d?(F=1,O=s.width/a.width):m?(O=1,F=s.height/a.height):s.patternUnits="userSpaceOnUse",O!=null&&!isNaN(O)&&(s.width=O),F!=null&&!isNaN(F)&&(s.height=F);var q=xz(i);q&&(s.patternTransform=q);var H=di("pattern","",s,[g]),W=qE(H),Z=n.patternCache,ee=Z[W];ee||(ee=n.zrId+"-p"+n.patternIdx++,Z[W]=ee,s.id=ee,H=n.defs[ee]=di("pattern",ee,s,[g])),t[r]=M1(ee)}}function Bde(e,t,r){var n=r.clipPathCache,i=r.defs,a=n[e.id];if(!a){a=r.zrId+"-c"+r.clipPathIdx++;var s={id:a};n[e.id]=a,i[a]=di("clipPath",a,s,[F9(e,r)])}t["clip-path"]=M1(a)}function E5(e){return document.createTextNode(e)}function jc(e,t,r){e.insertBefore(t,r)}function A5(e,t){e.removeChild(t)}function M5(e,t){e.appendChild(t)}function V9(e){return e.parentNode}function j9(e){return e.nextSibling}function Xw(e,t){e.textContent=t}var P5=58,Fde=120,$de=di("","");function QS(e){return e===void 0}function Es(e){return e!==void 0}function Nde(e,t,r){for(var n={},i=t;i<=r;++i){var a=e[i].key;a!==void 0&&(n[a]=i)}return n}function vm(e,t){var r=e.key===t.key,n=e.tag===t.tag;return n&&r}function Lv(e){var t,r=e.children,n=e.tag;if(Es(n)){var i=e.elm=R9(n);if(XE($de,e),Nt(r))for(t=0;ta?(E=r[h+1]==null?null:r[h+1].elm,H9(e,E,r,i,h)):j0(e,t,n,a))}function Sf(e,t){var r=t.elm=e.elm,n=e.children,i=t.children;e!==t&&(XE(e,t),QS(t.text)?Es(n)&&Es(i)?n!==i&&Vde(r,n,i):Es(i)?(Es(e.text)&&Xw(r,""),H9(r,null,i,0,i.length-1)):Es(n)?j0(r,n,0,n.length-1):Es(e.text)&&Xw(r,""):e.text!==t.text&&(Es(n)&&j0(r,n,0,n.length-1),Xw(r,t.text)))}function jde(e,t){if(vm(e,t))Sf(e,t);else{var r=e.elm,n=V9(r);Lv(t),n!==null&&(jc(n,t.elm,j9(r)),j0(n,[e],0,0))}return t}var Hde=0,Ude=function(){function e(t,r,n){if(this.type="svg",this.refreshHover=I5(),this.configLayer=I5(),this.storage=r,this._opts=n=Tt({},n),this.root=t,this._id="zr"+Hde++,this._oldVNode=_5(n.width,n.height),t&&!n.ssr){var i=this._viewport=document.createElement("div");i.style.cssText="position:relative;overflow:hidden";var a=this._svgDom=this._oldVNode.elm=R9("svg");XE(null,this._oldVNode),i.appendChild(a),t.appendChild(i)}this.resize(n.width,n.height)}return e.prototype.getType=function(){return this.type},e.prototype.getViewportRoot=function(){return this._viewport},e.prototype.getViewportRootOffset=function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},e.prototype.getSvgDom=function(){return this._svgDom},e.prototype.refresh=function(){if(this.root){var t=this.renderToVNode({willUpdate:!0});t.attrs.style="position:absolute;left:0;top:0;user-select:none",jde(this._oldVNode,t),this._oldVNode=t}},e.prototype.renderOneToVNode=function(t){return C5(t,JS(this._id))},e.prototype.renderToVNode=function(t){t=t||{};var r=this.storage.getDisplayList(!0),n=this._width,i=this._height,a=JS(this._id);a.animation=t.animation,a.willUpdate=t.willUpdate,a.compress=t.compress;var s=[],o=this._bgVNode=Gde(n,i,this._backgroundColor,a);o&&s.push(o);var h=t.compress?null:this._mainVNode=di("g","main",{},[]);this._paintList(r,a,h?h.children:s),h&&s.push(h);var d=Jt(Ur(a.defs),function(y){return a.defs[y]});if(d.length&&s.push(di("defs","defs",{},d)),t.animation){var m=Cde(a.cssNodes,a.cssAnims,{newline:!0});if(m){var g=di("style","stl",{},[],m);s.push(g)}}return _5(n,i,s,t.useViewBox)},e.prototype.renderToString=function(t){return t=t||{},qE(this.renderToVNode({animation:Cr(t.cssAnimation,!0),willUpdate:!1,compress:!0,useViewBox:Cr(t.useViewBox,!0)}),{newline:!0})},e.prototype.setBackgroundColor=function(t){this._backgroundColor=t},e.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},e.prototype._paintList=function(t,r,n){for(var i=t.length,a=[],s=0,o,h,d=0,m=0;m=0&&!(y&&h&&y[M]===h[M]);M--);for(var P=E-1;P>M;P--)s--,o=a[s-1];for(var D=M+1;D0?+P:1;ve.scaleX=this._sizeX*de,ve.scaleY=this._sizeY*de,this.setSymbolScale(1),oE(this,y,x,E)},t.prototype.setSymbolScale=function(r){this.scaleX=this.scaleY=r},t.prototype.fadeOut=function(r,n,i){var a=this.childAt(0),s=yn(this).dataIndex,o=i&&i.animation;if(this.silent=a.silent=!0,i&&i.fadeLabel){var h=a.getTextContent();h&&I0(h,{style:{opacity:0}},n,{dataIndex:s,removeOpt:o,cb:function(){a.removeTextContent()}})}else a.removeTextContent();I0(a,{style:{opacity:0},scaleX:0,scaleY:0},n,{dataIndex:s,cb:r,removeOpt:o})},t.getSymbolSize=function(r,n){return FF(r.getItemVisual(n,"symbolSize"))},t}(Fi);function Yde(e,t){this.parent.drift(e,t)}const Kde=Xde;function Yw(e,t,r,n){return t&&!isNaN(t[0])&&!isNaN(t[1])&&!(n.isIgnore&&n.isIgnore(r))&&!(n.clipShape&&!n.clipShape.contain(t[0],t[1]))&&e.getItemVisual(r,"symbol")!=="none"}function D5(e){return e!=null&&!nr(e)&&(e={isIgnore:e}),e||{}}function L5(e){var t=e.hostModel,r=t.getModel("emphasis");return{emphasisItemStyle:r.getModel("itemStyle").getItemStyle(),blurItemStyle:t.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:t.getModel(["select","itemStyle"]).getItemStyle(),focus:r.get("focus"),blurScope:r.get("blurScope"),emphasisDisabled:r.get("disabled"),hoverScale:r.get("scale"),labelStatesModels:z1(t),cursorStyle:t.get("cursor")}}var Jde=function(){function e(t){this.group=new Fi,this._SymbolCtor=t||Kde}return e.prototype.updateData=function(t,r){this._progressiveEls=null,r=D5(r);var n=this.group,i=t.hostModel,a=this._data,s=this._SymbolCtor,o=r.disableAnimation,h=L5(t),d={disableAnimation:o},m=r.getSymbolPoint||function(g){return t.getItemLayout(g)};a||n.removeAll(),t.diff(a).add(function(g){var y=m(g);if(Yw(t,y,g,r)){var x=new s(t,g,h,d);x.setPosition(y),t.setItemGraphicEl(g,x),n.add(x)}}).update(function(g,y){var x=a.getItemGraphicEl(y),E=m(g);if(!Yw(t,E,g,r)){n.remove(x);return}var M=t.getItemVisual(g,"symbol")||"circle",P=x&&x.getSymbolType&&x.getSymbolType();if(!x||P&&P!==M)n.remove(x),x=new s(t,g,h,d),x.setPosition(E);else{x.updateData(t,g,h,d);var D={x:E[0],y:E[1]};o?x.attr(D):ph(x,D,i)}n.add(x),t.setItemGraphicEl(g,x)}).remove(function(g){var y=a.getItemGraphicEl(g);y&&y.fadeOut(function(){n.remove(y)},i)}).execute(),this._getSymbolPoint=m,this._data=t},e.prototype.updateLayout=function(){var t=this,r=this._data;r&&r.eachItemGraphicEl(function(n,i){var a=t._getSymbolPoint(i);n.setPosition(a),n.markRedraw()})},e.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=L5(t),this._data=null,this.group.removeAll()},e.prototype.incrementalUpdate=function(t,r,n){this._progressiveEls=[],n=D5(n);function i(h){h.isGroup||(h.incremental=!0,h.ensureState("emphasis").hoverLayer=!0)}for(var a=t.start;athis.getProgressiveThreshold()?this.id:""},t.type="series.scatter",t.dependencies=["grid","polar","geo","singleAxis","calendar"],t.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},t}(sd);const npe=rpe;var q9=4,ipe=function(){function e(){}return e}(),ape=function(e){It(t,e);function t(r){var n=e.call(this,r)||this;return n._off=0,n.hoverDataIdx=-1,n}return t.prototype.getDefaultShape=function(){return new ipe},t.prototype.reset=function(){this.notClear=!1,this._off=0},t.prototype.buildPath=function(r,n){var i=n.points,a=n.size,s=this.symbolProxy,o=s.shape,h=r.getContext?r.getContext():r,d=h&&a[0]=0;d--){var m=d*2,g=a[m]-o/2,y=a[m+1]-h/2;if(r>=g&&n>=y&&r<=g+o&&n<=y+h)return d}return-1},t.prototype.contain=function(r,n){var i=this.transformCoordToLocal(r,n),a=this.getBoundingRect();if(r=i[0],n=i[1],a.contain(r,n)){var s=this.hoverDataIdx=this.findDataIndex(r,n);return s>=0}return this.hoverDataIdx=-1,!1},t.prototype.getBoundingRect=function(){var r=this._rect;if(!r){for(var n=this.shape,i=n.points,a=n.size,s=a[0],o=a[1],h=1/0,d=1/0,m=-1/0,g=-1/0,y=0;y=0&&(d.dataIndex=g+(t.startIndex||0))})},e.prototype.remove=function(){this._clear()},e.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},e}();const spe=ope;var lpe=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r}return t.prototype.render=function(r,n,i){var a=r.getData(),s=this._updateSymbolDraw(a,r);s.updateData(a,{clipShape:this._getClipShape(r)}),this._finished=!0},t.prototype.incrementalPrepareRender=function(r,n,i){var a=r.getData(),s=this._updateSymbolDraw(a,r);s.incrementalPrepareUpdate(a),this._finished=!1},t.prototype.incrementalRender=function(r,n,i){this._symbolDraw.incrementalUpdate(r,n.getData(),{clipShape:this._getClipShape(n)}),this._finished=r.end===n.getData().count()},t.prototype.updateTransform=function(r,n,i){var a=r.getData();if(this.group.dirty(),!this._finished||a.count()>1e4)return{update:!0};var s=G9("").reset(r,n,i);s.progress&&s.progress({start:0,end:a.count(),count:a.count()},a),this._symbolDraw.updateLayout(a)},t.prototype.eachRendered=function(r){this._symbolDraw&&this._symbolDraw.eachRendered(r)},t.prototype._getClipShape=function(r){var n=r.coordinateSystem,i=n&&n.getArea&&n.getArea();return r.get("clip",!0)?i:null},t.prototype._updateSymbolDraw=function(r,n){var i=this._symbolDraw,a=n.pipelineContext,s=a.large;return(!i||s!==this._isLargeDraw)&&(i&&i.remove(),i=this._symbolDraw=s?new spe:new U9,this._isLargeDraw=s,this.group.removeAll()),this.group.add(i.group),i},t.prototype.remove=function(r,n){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},t.prototype.dispose=function(){},t.type="scatter",t}(rh);const upe=lpe;var cpe=function(e){It(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.type="grid",t.dependencies=["xAxis","yAxis"],t.layoutMode="box",t.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},t}(Mn);const hpe=cpe;var eT=function(e){It(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",Qo).models[0]},t.type="cartesian2dAxis",t}(Mn);ls(eT,Bfe);var W9={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},fpe=Dn({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},W9),YE=Dn({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},W9),dpe=Dn({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},YE),ppe=_n({logBase:10},YE);const mpe={category:fpe,value:YE,time:dpe,log:ppe};var vpe={value:1,category:1,time:1,log:1};function k5(e,t,r,n){Pe(vpe,function(i,a){var s=Dn(Dn({},mpe[a],!0),n,!0),o=function(h){It(d,h);function d(){var m=h!==null&&h.apply(this,arguments)||this;return m.type=t+"Axis."+a,m}return d.prototype.mergeDefaultAndTheme=function(m,g){var y=Cv(this),x=y?wE(m):{},E=g.getTheme();Dn(m,E.get(a+"Axis")),Dn(m,this.getDefaultOption()),m.type=R5(m),y&&Ev(m,x,y)},d.prototype.optionUpdated=function(){var m=this.option;m.type==="category"&&(this.__ordinalMeta=WS.createByAxisModel(this))},d.prototype.getCategories=function(m){var g=this.option;if(g.type==="category")return m?g.data:this.__ordinalMeta.categories},d.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},d.type=t+"Axis."+a,d.defaultOption=s,d}(r);e.registerComponentModel(o)}),e.registerSubTypeDefaulter(t+"Axis",R5)}function R5(e){return e.type||(e.data?"category":"value")}var gpe=function(){function e(t){this.type="cartesian",this._dimList=[],this._axes={},this.name=t||""}return e.prototype.getAxis=function(t){return this._axes[t]},e.prototype.getAxes=function(){return Jt(this._dimList,function(t){return this._axes[t]},this)},e.prototype.getAxesByScale=function(t){return t=t.toLowerCase(),ea(this.getAxes(),function(r){return r.scale.type===t})},e.prototype.addAxis=function(t){var r=t.dim;this._axes[r]=t,this._dimList.push(r)},e}();const ype=gpe;var tT=["x","y"];function O5(e){return e.type==="interval"||e.type==="time"}var _pe=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type="cartesian2d",r.dimensions=tT,r}return t.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var r=this.getAxis("x").scale,n=this.getAxis("y").scale;if(!(!O5(r)||!O5(n))){var i=r.getExtent(),a=n.getExtent(),s=this.dataToPoint([i[0],a[0]]),o=this.dataToPoint([i[1],a[1]]),h=i[1]-i[0],d=a[1]-a[0];if(!(!h||!d)){var m=(o[0]-s[0])/h,g=(o[1]-s[1])/d,y=s[0]-i[0]*m,x=s[1]-a[0]*g,E=this._transform=[m,0,0,g,y,x];this._invTransform=HC([],E)}}},t.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},t.prototype.containPoint=function(r){var n=this.getAxis("x"),i=this.getAxis("y");return n.contain(n.toLocalCoord(r[0]))&&i.contain(i.toLocalCoord(r[1]))},t.prototype.containData=function(r){return this.getAxis("x").containData(r[0])&&this.getAxis("y").containData(r[1])},t.prototype.containZone=function(r,n){var i=this.dataToPoint(r),a=this.dataToPoint(n),s=this.getArea(),o=new un(i[0],i[1],a[0]-i[0],a[1]-i[1]);return s.intersect(o)},t.prototype.dataToPoint=function(r,n,i){i=i||[];var a=r[0],s=r[1];if(this._transform&&a!=null&&isFinite(a)&&s!=null&&isFinite(s))return Mo(i,r,this._transform);var o=this.getAxis("x"),h=this.getAxis("y");return i[0]=o.toGlobalCoord(o.dataToCoord(a,n)),i[1]=h.toGlobalCoord(h.dataToCoord(s,n)),i},t.prototype.clampData=function(r,n){var i=this.getAxis("x").scale,a=this.getAxis("y").scale,s=i.getExtent(),o=a.getExtent(),h=i.parse(r[0]),d=a.parse(r[1]);return n=n||[],n[0]=Math.min(Math.max(Math.min(s[0],s[1]),h),Math.max(s[0],s[1])),n[1]=Math.min(Math.max(Math.min(o[0],o[1]),d),Math.max(o[0],o[1])),n},t.prototype.pointToData=function(r,n){var i=[];if(this._invTransform)return Mo(i,r,this._invTransform);var a=this.getAxis("x"),s=this.getAxis("y");return i[0]=a.coordToData(a.toLocalCoord(r[0]),n),i[1]=s.coordToData(s.toLocalCoord(r[1]),n),i},t.prototype.getOtherAxis=function(r){return this.getAxis(r.dim==="x"?"y":"x")},t.prototype.getArea=function(){var r=this.getAxis("x").getGlobalExtent(),n=this.getAxis("y").getGlobalExtent(),i=Math.min(r[0],r[1]),a=Math.min(n[0],n[1]),s=Math.max(r[0],r[1])-i,o=Math.max(n[0],n[1])-a;return new un(i,a,s,o)},t}(ype),bpe=function(e){It(t,e);function t(r,n,i,a,s){var o=e.call(this,r,n,i)||this;return o.index=0,o.type=a||"value",o.position=s||"bottom",o}return t.prototype.isHorizontal=function(){var r=this.position;return r==="top"||r==="bottom"},t.prototype.getGlobalExtent=function(r){var n=this.getExtent();return n[0]=this.toGlobalCoord(n[0]),n[1]=this.toGlobalCoord(n[1]),r&&n[0]>n[1]&&n.reverse(),n},t.prototype.pointToData=function(r,n){return this.coordToData(this.toLocalCoord(r[this.dim==="x"?0:1]),n)},t.prototype.setCategorySortInfo=function(r){if(this.type!=="category")return!1;this.model.option.categorySortInfo=r,this.scale.setSortInfo(r)},t}(Xfe);const xpe=bpe;function rT(e,t,r){r=r||{};var n=e.coordinateSystem,i=t.axis,a={},s=i.getAxesOnZeroOf()[0],o=i.position,h=s?"onZero":o,d=i.dim,m=n.getRect(),g=[m.x,m.x+m.width,m.y,m.y+m.height],y={left:0,right:1,top:0,bottom:1,onZero:2},x=t.get("offset")||0,E=d==="x"?[g[2]-x,g[3]+x]:[g[0]-x,g[1]+x];if(s){var M=s.toGlobalCoord(s.dataToCoord(0));E[y.onZero]=Math.max(Math.min(M,E[1]),E[0])}a.position=[d==="y"?E[y[h]]:g[0],d==="x"?E[y[h]]:g[3]],a.rotation=Math.PI/2*(d==="x"?0:1);var P={top:-1,bottom:1,left:-1,right:1};a.labelDirection=a.tickDirection=a.nameDirection=P[o],a.labelOffset=s?E[y[o]]-E[y.onZero]:0,t.get(["axisTick","inside"])&&(a.tickDirection=-a.tickDirection),nd(r.labelInside,t.get(["axisLabel","inside"]))&&(a.labelDirection=-a.labelDirection);var D=t.get(["axisLabel","rotate"]);return a.labelRotate=h==="top"?-D:D,a.z2=1,a}function z5(e){return e.get("coordinateSystem")==="cartesian2d"}function B5(e){var t={xAxisModel:null,yAxisModel:null};return Pe(t,function(r,n){var i=n.replace(/Model$/,""),a=e.getReferringComponents(i,Qo).models[0];t[n]=a}),t}var Kw=Math.log;function wpe(e,t,r){var n=tg.prototype,i=n.getTicks.call(r),a=n.getTicks.call(r,!0),s=i.length-1,o=n.getInterval.call(r),h=x9(e,t),d=h.extent,m=h.fixMin,g=h.fixMax;if(e.type==="log"){var y=Kw(e.base);d=[Kw(d[0])/y,Kw(d[1])/y]}e.setExtent(d[0],d[1]),e.calcNiceExtent({splitNumber:s,fixMin:m,fixMax:g});var x=n.getExtent.call(e);m&&(d[0]=x[0]),g&&(d[1]=x[1]);var E=n.getInterval.call(e),M=d[0],P=d[1];if(m&&g)E=(P-M)/s;else if(m)for(P=d[0]+E*s;Pd[0]&&isFinite(M)&&isFinite(d[0]);)E=Uw(E),M=d[1]-E*s;else{var D=e.getTicks().length-1;D>s&&(E=Uw(E));var k=E*s;P=Math.ceil(d[1]/E)*E,M=fi(P-k),M<0&&d[0]>=0?(M=0,P=fi(k)):P>0&&d[1]<=0&&(P=0,M=-fi(k))}var O=(i[0].value-a[0].value)/o,F=(i[s].value-a[s].value)/o;n.setExtent.call(e,M+E*O,P+E*F),n.setInterval.call(e,E),(O||F)&&n.setNiceExtent.call(e,M+E,P-E)}var Spe=function(){function e(t,r,n){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=tT,this._initCartesian(t,r,n),this.model=t}return e.prototype.getRect=function(){return this._rect},e.prototype.update=function(t,r){var n=this._axesMap;this._updateScale(t,this.model);function i(s){var o,h=Ur(s),d=h.length;if(d){for(var m=[],g=d-1;g>=0;g--){var y=+h[g],x=s[y],E=x.model,M=x.scale;ZS(M)&&E.get("alignTicks")&&E.get("interval")==null?m.push(x):(p5(M,E),ZS(M)&&(o=x))}m.length&&(o||(o=m.pop(),p5(o.scale,o.model)),Pe(m,function(P){wpe(P.scale,P.model,o.scale)}))}}i(n.x),i(n.y);var a={};Pe(n.x,function(s){F5(n,"y",s,a)}),Pe(n.y,function(s){F5(n,"x",s,a)}),this.resize(this.model,r)},e.prototype.resize=function(t,r,n){var i=t.getBoxLayoutParams(),a=!n&&t.get("containLabel"),s=xE(i,{width:r.getWidth(),height:r.getHeight()});this._rect=s;var o=this._axesList;h(),a&&(Pe(o,function(d){if(!d.model.get(["axisLabel","inside"])){var m=Rfe(d);if(m){var g=d.isHorizontal()?"height":"width",y=d.model.get(["axisLabel","margin"]);s[g]-=m[g]+y,d.position==="top"?s.y+=m.height+y:d.position==="left"&&(s.x+=m.width+y)}}}),h()),Pe(this._coordsList,function(d){d.calcAffineTransform()});function h(){Pe(o,function(d){var m=d.isHorizontal(),g=m?[0,s.width]:[0,s.height],y=d.inverse?1:0;d.setExtent(g[y],g[1-y]),Tpe(d,m?s.x:s.y)})}},e.prototype.getAxis=function(t,r){var n=this._axesMap[t];if(n!=null)return n[r||0]},e.prototype.getAxes=function(){return this._axesList.slice()},e.prototype.getCartesian=function(t,r){if(t!=null&&r!=null){var n="x"+t+"y"+r;return this._coordsMap[n]}nr(t)&&(r=t.yAxisIndex,t=t.xAxisIndex);for(var i=0,a=this._coordsList;i0?"top":"bottom",a="center"):C0(i-Su)?(s=n>0?"bottom":"top",a="center"):(s="middle",i>0&&i0?"right":"left":a=n>0?"left":"right"),{rotation:i,textAlign:a,textVerticalAlign:s}},e.makeAxisEventDataBase=function(t){var r={componentType:t.mainType,componentIndex:t.componentIndex};return r[t.mainType+"Index"]=t.componentIndex,r},e.isLabelSilent=function(t){var r=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||r&&r.show)},e}(),N5={axisLine:function(e,t,r,n){var i=t.get(["axisLine","show"]);if(i==="auto"&&e.handleAutoShown&&(i=e.handleAutoShown("axisLine")),!!i){var a=t.axis.getExtent(),s=n.transform,o=[a[0],0],h=[a[1],0],d=o[0]>h[0];s&&(Mo(o,o,s),Mo(h,h,s));var m=Tt({lineCap:"round"},t.getModel(["axisLine","lineStyle"]).getLineStyle()),g=new ku({shape:{x1:o[0],y1:o[1],x2:h[0],y2:h[1]},style:m,strokeContainThreshold:e.strokeContainThreshold||5,silent:!0,z2:1});xv(g.shape,g.style.lineWidth),g.anid="line",r.add(g);var y=t.get(["axisLine","symbol"]);if(y!=null){var x=t.get(["axisLine","symbolSize"]);Kt(y)&&(y=[y,y]),(Kt(x)||Un(x))&&(x=[x,x]);var E=kE(t.get(["axisLine","symbolOffset"])||0,x),M=x[0],P=x[1];Pe([{rotate:e.rotation+Math.PI/2,offset:E[0],r:0},{rotate:e.rotation-Math.PI/2,offset:E[1],r:Math.sqrt((o[0]-h[0])*(o[0]-h[0])+(o[1]-h[1])*(o[1]-h[1]))}],function(D,k){if(y[k]!=="none"&&y[k]!=null){var O=Td(y[k],-M/2,-P/2,M,P,m.stroke,!0),F=D.r+D.offset,q=d?h:o;O.attr({rotation:D.rotate,x:q[0]+F*Math.cos(e.rotation),y:q[1]-F*Math.sin(e.rotation),silent:!0,z2:11}),r.add(O)}})}}},axisTickLabel:function(e,t,r,n){var i=Mpe(r,n,t,e),a=Ipe(r,n,t,e);if(Ape(t,a,i),Ppe(r,n,t,e.tickDirection),t.get(["axisLabel","hideOverlap"])){var s=Yfe(Jt(a,function(o){return{label:o,priority:o.z2,defaultAttr:{ignore:o.ignore}}}));Kfe(s)}},axisName:function(e,t,r,n){var i=nd(e.axisName,t.get("name"));if(i){var a=t.get("nameLocation"),s=e.nameDirection,o=t.getModel("nameTextStyle"),h=t.get("nameGap")||0,d=t.axis.getExtent(),m=d[0]>d[1]?-1:1,g=[a==="start"?d[0]-m*h:a==="end"?d[1]+m*h:(d[0]+d[1])/2,j5(a)?e.labelOffset+s*h:0],y,x=t.get("nameRotate");x!=null&&(x=x*Su/180);var E;j5(a)?y=nh.innerTextLayout(e.rotation,x??e.rotation,s):(y=Epe(e.rotation,a,x||0,d),E=e.axisNameAvailableWidth,E!=null&&(E=Math.abs(E/Math.sin(y.rotation)),!isFinite(E)&&(E=null)));var M=o.getFont(),P=t.get("nameTruncate",!0)||{},D=P.ellipsis,k=nd(e.nameTruncateMaxWidth,P.maxWidth,E),O=new as({x:g[0],y:g[1],rotation:y.rotation,silent:nh.isLabelSilent(t),style:uh(o,{text:i,font:M,overflow:"truncate",width:k,ellipsis:D,fill:o.getTextColor()||t.get(["axisLine","lineStyle","color"]),align:o.get("align")||y.textAlign,verticalAlign:o.get("verticalAlign")||y.textVerticalAlign}),z2:1});if(BB({el:O,componentModel:t,itemName:i}),O.__fullText=i,O.anid="name",t.get("triggerEvent")){var F=nh.makeAxisEventDataBase(t);F.targetType="axisName",F.name=i,yn(O).eventData=F}n.add(O),O.updateTransform(),r.add(O),O.decomposeTransform()}}};function Epe(e,t,r,n){var i=Lz(r-e),a,s,o=n[0]>n[1],h=t==="start"&&!o||t!=="start"&&o;return C0(i-Su/2)?(s=h?"bottom":"top",a="center"):C0(i-Su*1.5)?(s=h?"top":"bottom",a="center"):(s="middle",iSu/2?a=h?"left":"right":a=h?"right":"left"),{rotation:i,textAlign:a,textVerticalAlign:s}}function Ape(e,t,r){if(!w9(e.axis)){var n=e.get(["axisLabel","showMinLabel"]),i=e.get(["axisLabel","showMaxLabel"]);t=t||[],r=r||[];var a=t[0],s=t[1],o=t[t.length-1],h=t[t.length-2],d=r[0],m=r[1],g=r[r.length-1],y=r[r.length-2];n===!1?(po(a),po(d)):V5(a,s)&&(n?(po(s),po(m)):(po(a),po(d))),i===!1?(po(o),po(g)):V5(h,o)&&(i?(po(h),po(y)):(po(o),po(g)))}}function po(e){e&&(e.ignore=!0)}function V5(e,t){var r=e&&e.getBoundingRect().clone(),n=t&&t.getBoundingRect().clone();if(!(!r||!n)){var i=VC([]);return jC(i,i,-e.rotation),r.applyTransform(Ff([],i,e.getLocalTransform())),n.applyTransform(Ff([],i,t.getLocalTransform())),r.intersect(n)}}function j5(e){return e==="middle"||e==="center"}function Z9(e,t,r,n,i){for(var a=[],s=[],o=[],h=0;h=0||e===t}function zpe(e){var t=KE(e);if(t){var r=t.axisPointerModel,n=t.axis.scale,i=r.option,a=r.get("status"),s=r.get("value");s!=null&&(s=n.parse(s));var o=nT(r);a==null&&(i.status=o?"show":"hide");var h=n.getExtent().slice();h[0]>h[1]&&h.reverse(),(s==null||s>h[1])&&(s=h[1]),s0&&(q[0]=-q[0],q[1]=-q[1]);var W=F[0]<0?-1:1;if(a.__position!=="start"&&a.__position!=="end"){var Z=-Math.atan2(F[1],F[0]);g[0].8?"left":y[0]<-.8?"right":"center",M=y[1]>.8?"top":y[1]<-.8?"bottom":"middle";break;case"start":a.x=-y[0]*D+m[0],a.y=-y[1]*k+m[1],E=y[0]>.8?"right":y[0]<-.8?"left":"center",M=y[1]>.8?"bottom":y[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":a.x=D*W+m[0],a.y=m[1]+ee,E=F[0]<0?"right":"left",a.originX=-D*W,a.originY=-ee;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":a.x=H[0],a.y=H[1]+ee,E="center",a.originY=-ee;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":a.x=-D*W+g[0],a.y=g[1]+ee,E=F[0]>=0?"right":"left",a.originX=D*W,a.originY=-ee;break}a.scaleX=a.scaleY=s,a.setStyle({verticalAlign:a.__verticalAlign||M,align:a.__align||E})}},t}(Fi);const JE=Ype;var Kpe=function(){function e(t){this.group=new Fi,this._LineCtor=t||JE}return e.prototype.updateData=function(t){var r=this;this._progressiveEls=null;var n=this,i=n.group,a=n._lineData;n._lineData=t,a||i.removeAll();var s=Z5(t);t.diff(a).add(function(o){r._doAdd(t,o,s)}).update(function(o,h){r._doUpdate(a,t,h,o,s)}).remove(function(o){i.remove(a.getItemGraphicEl(o))}).execute()},e.prototype.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(r,n){r.updateLayout(t,n)},this)},e.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=Z5(t),this._lineData=null,this.group.removeAll()},e.prototype.incrementalUpdate=function(t,r){this._progressiveEls=[];function n(o){!o.isGroup&&!Jpe(o)&&(o.incremental=!0,o.ensureState("emphasis").hoverLayer=!0)}for(var i=t.start;i0}function Z5(e){var t=e.hostModel,r=t.getModel("emphasis");return{lineStyle:t.getModel("lineStyle").getLineStyle(),emphasisLineStyle:r.getModel(["lineStyle"]).getLineStyle(),blurLineStyle:t.getModel(["blur","lineStyle"]).getLineStyle(),selectLineStyle:t.getModel(["select","lineStyle"]).getLineStyle(),emphasisDisabled:r.get("disabled"),blurScope:r.get("blurScope"),focus:r.get("focus"),labelStatesModels:z1(t)}}function X5(e){return isNaN(e[0])||isNaN(e[1])}function n2(e){return e&&!X5(e[0])&&!X5(e[1])}const Qpe=Kpe;var eme=function(e){It(t,e);function t(r,n,i){var a=e.call(this)||this;return a.add(a.createLine(r,n,i)),a._updateEffectSymbol(r,n),a}return t.prototype.createLine=function(r,n,i){return new JE(r,n,i)},t.prototype._updateEffectSymbol=function(r,n){var i=r.getItemModel(n),a=i.getModel("effect"),s=a.get("symbolSize"),o=a.get("symbol");Nt(s)||(s=[s,s]);var h=r.getItemVisual(n,"style"),d=a.get("color")||h&&h.stroke,m=this.childAt(1);this._symbolType!==o&&(this.remove(m),m=Td(o,-.5,-.5,1,1,d),m.z2=100,m.culling=!0,this.add(m)),m&&(m.setStyle("shadowColor",d),m.setStyle(a.getItemStyle(["color"])),m.scaleX=s[0],m.scaleY=s[1],m.setColor(d),this._symbolType=o,this._symbolScale=s,this._updateEffectAnimation(r,a,n))},t.prototype._updateEffectAnimation=function(r,n,i){var a=this.childAt(1);if(a){var s=r.getItemLayout(i),o=n.get("period")*1e3,h=n.get("loop"),d=n.get("roundTrip"),m=n.get("constantSpeed"),g=nd(n.get("delay"),function(x){return x/r.count()*o/3});if(a.ignore=!0,this._updateAnimationPoints(a,s),m>0&&(o=this._getLineLength(a)/m*1e3),o!==this._period||h!==this._loop||d!==this._roundTrip){a.stopAnimation();var y=void 0;lr(g)?y=g(i):y=g,a.__t>0&&(y=-o*a.__t),this._animateSymbol(a,o,y,h,d)}this._period=o,this._loop=h,this._roundTrip=d}},t.prototype._animateSymbol=function(r,n,i,a,s){if(n>0){r.__t=0;var o=this,h=r.animate("",a).when(s?n*2:n,{__t:s?2:1}).delay(i).during(function(){o._updateSymbolPosition(r)});a||h.done(function(){o.remove(r)}),h.start()}},t.prototype._getLineLength=function(r){return Ef(r.__p1,r.__cp1)+Ef(r.__cp1,r.__p2)},t.prototype._updateAnimationPoints=function(r,n){r.__p1=n[0],r.__p2=n[1],r.__cp1=n[2]||[(n[0][0]+n[1][0])/2,(n[0][1]+n[1][1])/2]},t.prototype.updateData=function(r,n,i){this.childAt(0).updateData(r,n,i),this._updateEffectSymbol(r,n)},t.prototype._updateSymbolPosition=function(r){var n=r.__p1,i=r.__p2,a=r.__cp1,s=r.__t<1?r.__t:2-r.__t,o=[r.x,r.y],h=o.slice(),d=Di,m=dS;o[0]=d(n[0],a[0],i[0],s),o[1]=d(n[1],a[1],i[1],s);var g=r.__t<1?m(n[0],a[0],i[0],s):m(i[0],a[0],n[0],1-s),y=r.__t<1?m(n[1],a[1],i[1],s):m(i[1],a[1],n[1],1-s);r.rotation=-Math.atan2(y,g)-Math.PI/2,(this._symbolType==="line"||this._symbolType==="rect"||this._symbolType==="roundRect")&&(r.__lastT!==void 0&&r.__lastT=0&&!(a[h]<=n);h--);h=Math.min(h,s-2)}else{for(h=o;hn);h++);h=Math.min(h-1,s-2)}var m=(n-a[h])/(a[h+1]-a[h]),g=i[h],y=i[h+1];r.x=g[0]*(1-m)+m*y[0],r.y=g[1]*(1-m)+m*y[1];var x=r.__t<1?y[0]-g[0]:g[0]-y[0],E=r.__t<1?y[1]-g[1]:g[1]-y[1];r.rotation=-Math.atan2(E,x)-Math.PI/2,this._lastFrame=h,this._lastFramePercent=n,r.ignore=!1}},t}(t8);const nme=rme;var ime=function(){function e(){this.polyline=!1,this.curveness=0,this.segs=[]}return e}(),ame=function(e){It(t,e);function t(r){var n=e.call(this,r)||this;return n._off=0,n.hoverDataIdx=-1,n}return t.prototype.reset=function(){this.notClear=!1,this._off=0},t.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},t.prototype.getDefaultShape=function(){return new ime},t.prototype.buildPath=function(r,n){var i=n.segs,a=n.curveness,s;if(n.polyline)for(s=this._off;s0){r.moveTo(i[s++],i[s++]);for(var h=1;h0){var x=(d+g)/2-(m-y)*a,E=(m+y)/2-(g-d)*a;r.quadraticCurveTo(x,E,g,y)}else r.lineTo(g,y)}this.incremental&&(this._off=s,this.notClear=!0)},t.prototype.findDataIndex=function(r,n){var i=this.shape,a=i.segs,s=i.curveness,o=this.style.lineWidth;if(i.polyline)for(var h=0,d=0;d0)for(var g=a[d++],y=a[d++],x=1;x0){var P=(g+E)/2-(y-M)*s,D=(y+M)/2-(E-g)*s;if(Gz(g,y,P,D,E,M,o,r,n))return h}else if(_u(g,y,E,M,o,r,n))return h;h++}return-1},t.prototype.contain=function(r,n){var i=this.transformCoordToLocal(r,n),a=this.getBoundingRect();if(r=i[0],n=i[1],a.contain(r,n)){var s=this.hoverDataIdx=this.findDataIndex(r,n);return s>=0}return this.hoverDataIdx=-1,!1},t.prototype.getBoundingRect=function(){var r=this._rect;if(!r){for(var n=this.shape,i=n.segs,a=1/0,s=1/0,o=-1/0,h=-1/0,d=0;d0&&(s.dataIndex=h+t.__startIndex)})},e.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},e}();const sme=ome;var lme={seriesType:"lines",plan:IE(),reset:function(e){var t=e.coordinateSystem;if(t){var r=e.get("polyline"),n=e.pipelineContext.large;return{progress:function(i,a){var s=[];if(n){var o=void 0,h=i.end-i.start;if(r){for(var d=0,m=i.start;m0&&(m||d.configLayer(o,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(h/10+.9,1),0)})),s.updateData(a);var g=r.get("clip",!0)&&tpe(r.coordinateSystem,!1,r);g?this.group.setClipPath(g):this.group.removeClipPath(),this._lastZlevel=o,this._finished=!0},t.prototype.incrementalPrepareRender=function(r,n,i){var a=r.getData(),s=this._updateLineDraw(a,r);s.incrementalPrepareUpdate(a),this._clearLayer(i),this._finished=!1},t.prototype.incrementalRender=function(r,n,i){this._lineDraw.incrementalUpdate(r,n.getData()),this._finished=r.end===n.getData().count()},t.prototype.eachRendered=function(r){this._lineDraw&&this._lineDraw.eachRendered(r)},t.prototype.updateTransform=function(r,n,i){var a=r.getData(),s=r.pipelineContext;if(!this._finished||s.large||s.progressiveRender)return{update:!0};var o=n8.reset(r,n,i);o.progress&&o.progress({start:0,end:a.count(),count:a.count()},a),this._lineDraw.updateLayout(),this._clearLayer(i)},t.prototype._updateLineDraw=function(r,n){var i=this._lineDraw,a=this._showEffect(n),s=!!n.get("polyline"),o=n.pipelineContext,h=o.large;return(!i||a!==this._hasEffet||s!==this._isPolyline||h!==this._isLargeDraw)&&(i&&i.remove(),i=this._lineDraw=h?new sme:new Qpe(s?a?nme:r8:a?t8:JE),this._hasEffet=a,this._isPolyline=s,this._isLargeDraw=h),this.group.add(i.group),i},t.prototype._showEffect=function(r){return!!r.get(["effect","show"])},t.prototype._clearLayer=function(r){var n=r.getZr(),i=n.painter.getType()==="svg";!i&&this._lastZlevel!=null&&n.painter.getLayer(this._lastZlevel).clear(!0)},t.prototype.remove=function(r,n){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(n)},t.prototype.dispose=function(r,n){this.remove(r,n)},t.type="lines",t}(rh);const cme=ume;var hme=typeof Uint32Array>"u"?Array:Uint32Array,fme=typeof Float64Array>"u"?Array:Float64Array;function Y5(e){var t=e.data;t&&t[0]&&t[0][0]&&t[0][0].coord&&(e.data=Jt(t,function(r){var n=[r[0].coord,r[1].coord],i={coords:n};return r[0].name&&(i.fromName=r[0].name),r[1].name&&(i.toName=r[1].name),jne([i,r[0],r[1]])}))}var dme=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r.visualStyleAccessPath="lineStyle",r.visualDrawType="stroke",r}return t.prototype.init=function(r){r.data=r.data||[],Y5(r);var n=this._processFlatCoordsArray(r.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(r.data=new Float32Array(n.count)),e.prototype.init.apply(this,arguments)},t.prototype.mergeOption=function(r){if(Y5(r),r.data){var n=this._processFlatCoordsArray(r.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(r.data=new Float32Array(n.count))}e.prototype.mergeOption.apply(this,arguments)},t.prototype.appendData=function(r){var n=this._processFlatCoordsArray(r.data);n.flatCoords&&(this._flatCoords?(this._flatCoords=sS(this._flatCoords,n.flatCoords),this._flatCoordsOffset=sS(this._flatCoordsOffset,n.flatCoordsOffset)):(this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset),r.data=new Float32Array(n.count)),this.getRawData().appendData(r.data)},t.prototype._getCoordsFromItemModel=function(r){var n=this.getData().getItemModel(r),i=n.option instanceof Array?n.option:n.getShallow("coords");return i},t.prototype.getLineCoordsCount=function(r){return this._flatCoordsOffset?this._flatCoordsOffset[r*2+1]:this._getCoordsFromItemModel(r).length},t.prototype.getLineCoords=function(r,n){if(this._flatCoordsOffset){for(var i=this._flatCoordsOffset[r*2],a=this._flatCoordsOffset[r*2+1],s=0;s ")})},t.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},t.prototype.getProgressive=function(){var r=this.option.progressive;return r??(this.option.large?1e4:this.get("progressive"))},t.prototype.getProgressiveThreshold=function(){var r=this.option.progressiveThreshold;return r??(this.option.large?2e4:this.get("progressiveThreshold"))},t.prototype.getZLevelKey=function(){var r=this.getModel("effect"),n=r.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:r.get("show")&&n>0?n+"":""},t.type="series.lines",t.dependencies=["grid","polar","geo","calendar"],t.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},t}(sd);const pme=dme;function p_(e){return e instanceof Array||(e=[e,e]),e}var mme={seriesType:"lines",reset:function(e){var t=p_(e.get("symbol")),r=p_(e.get("symbolSize")),n=e.getData();n.setVisual("fromSymbol",t&&t[0]),n.setVisual("toSymbol",t&&t[1]),n.setVisual("fromSymbolSize",r&&r[0]),n.setVisual("toSymbolSize",r&&r[1]);function i(a,s){var o=a.getItemModel(s),h=p_(o.getShallow("symbol",!0)),d=p_(o.getShallow("symbolSize",!0));h[0]&&a.setItemVisual(s,"fromSymbol",h[0]),h[1]&&a.setItemVisual(s,"toSymbol",h[1]),d[0]&&a.setItemVisual(s,"fromSymbolSize",d[0]),d[1]&&a.setItemVisual(s,"toSymbolSize",d[1])}return{dataEach:n.hasItemOption?i:null}}};const vme=mme;function gme(e){e.registerChartView(cme),e.registerSeriesModel(pme),e.registerLayout(n8),e.registerVisual(vme)}var Hc=ti(),K5=Br,i2=Hn,yme=function(){function e(){this._dragging=!1,this.animationThreshold=15}return e.prototype.render=function(t,r,n,i){var a=r.get("value"),s=r.get("status");if(this._axisModel=t,this._axisPointerModel=r,this._api=n,!(!i&&this._lastValue===a&&this._lastStatus===s)){this._lastValue=a,this._lastStatus=s;var o=this._group,h=this._handle;if(!s||s==="hide"){o&&o.hide(),h&&h.hide();return}o&&o.show(),h&&h.show();var d={};this.makeElOption(d,a,t,r,n);var m=d.graphicKey;m!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=m;var g=this._moveAnimation=this.determineAnimation(t,r);if(!o)o=this._group=new Fi,this.createPointerEl(o,d,t,r),this.createLabelEl(o,d,t,r),n.getZr().add(o);else{var y=wi(J5,r,g);this.updatePointerEl(o,d,y),this.updateLabelEl(o,d,y,r)}e3(o,r,!0),this._renderHandle(a)}},e.prototype.remove=function(t){this.clear(t)},e.prototype.dispose=function(t){this.clear(t)},e.prototype.determineAnimation=function(t,r){var n=r.get("animation"),i=t.axis,a=i.type==="category",s=r.get("snap");if(!s&&!a)return!1;if(n==="auto"||n==null){var o=this.animationThreshold;if(a&&i.getBandWidth()>o)return!0;if(s){var h=KE(t).seriesDataCount,d=i.getExtent();return Math.abs(d[0]-d[1])/h>o}return!1}return n===!0},e.prototype.makeElOption=function(t,r,n,i,a){},e.prototype.createPointerEl=function(t,r,n,i){var a=r.pointer;if(a){var s=Hc(t).pointerEl=new nle[a.type](K5(r.pointer));t.add(s)}},e.prototype.createLabelEl=function(t,r,n,i){if(r.label){var a=Hc(t).labelEl=new as(K5(r.label));t.add(a),Q5(a,i)}},e.prototype.updatePointerEl=function(t,r,n){var i=Hc(t).pointerEl;i&&r.pointer&&(i.setStyle(r.pointer.style),n(i,{shape:r.pointer.shape}))},e.prototype.updateLabelEl=function(t,r,n,i){var a=Hc(t).labelEl;a&&(a.setStyle(r.label.style),n(a,{x:r.label.x,y:r.label.y}),Q5(a,i))},e.prototype._renderHandle=function(t){if(!(this._dragging||!this.updateHandleTransform)){var r=this._axisPointerModel,n=this._api.getZr(),i=this._handle,a=r.getModel("handle"),s=r.get("status");if(!a.get("show")||!s||s==="hide"){i&&n.remove(i),this._handle=null;return}var o;this._handle||(o=!0,i=this._handle=OB(a.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(d){tz(d.event)},onmousedown:i2(this._onHandleDragMove,this,0,0),drift:i2(this._onHandleDragMove,this),ondragend:i2(this._onHandleDragEnd,this)}),n.add(i)),e3(i,r,!1),i.setStyle(a.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var h=a.get("size");Nt(h)||(h=[h,h]),i.scaleX=h[0]/2,i.scaleY=h[1]/2,PF(this,"_doDispatchAxisPointer",a.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,o)}},e.prototype._moveHandleToValue=function(t,r){J5(this._axisPointerModel,!r&&this._moveAnimation,this._handle,a2(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},e.prototype._onHandleDragMove=function(t,r){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(a2(n),[t,r],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(a2(i)),Hc(n).lastProp=null,this._doDispatchAxisPointer()}},e.prototype._doDispatchAxisPointer=function(){var t=this._handle;if(t){var r=this._payloadInfo,n=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:r.cursorPoint[0],y:r.cursorPoint[1],tooltipOption:r.tooltipOption,axesInfo:[{axisDim:n.axis.dim,axisIndex:n.componentIndex}]})}},e.prototype._onHandleDragEnd=function(){this._dragging=!1;var t=this._handle;if(t){var r=this._axisPointerModel.get("value");this._moveHandleToValue(r),this._api.dispatchAction({type:"hideTip"})}},e.prototype.clear=function(t){this._lastValue=null,this._lastStatus=null;var r=t.getZr(),n=this._group,i=this._handle;r&&n&&(this._lastGraphicKey=null,n&&r.remove(n),i&&r.remove(i),this._group=null,this._handle=null,this._payloadInfo=null),NS(this,"_doDispatchAxisPointer")},e.prototype.doClear=function(){},e.prototype.buildLabel=function(t,r,n){return n=n||0,{x:t[n],y:t[1-n],width:r[n],height:r[1-n]}},e}();function J5(e,t,r,n){i8(Hc(r).lastProp,n)||(Hc(r).lastProp=n,t?ph(r,n,e):(r.stopAnimation(),r.attr(n)))}function i8(e,t){if(nr(e)&&nr(t)){var r=!0;return Pe(t,function(n,i){r=r&&i8(e[i],n)}),!!r}else return e===t}function Q5(e,t){e[t.get(["label","show"])?"show":"hide"]()}function a2(e){return{x:e.x||0,y:e.y||0,rotation:e.rotation||0}}function e3(e,t,r){var n=t.get("z"),i=t.get("zlevel");e&&e.traverse(function(a){a.type!=="group"&&(n!=null&&(a.z=n),i!=null&&(a.zlevel=i),a.silent=r)})}const _me=yme;function bme(e){var t=e.get("type"),r=e.getModel(t+"Style"),n;return t==="line"?(n=r.getLineStyle(),n.fill=null):t==="shadow"&&(n=r.getAreaStyle(),n.stroke=null),n}function xme(e,t,r,n,i){var a=r.get("value"),s=a8(a,t.axis,t.ecModel,r.get("seriesDataIndices"),{precision:r.get(["label","precision"]),formatter:r.get(["label","formatter"])}),o=r.getModel("label"),h=bE(o.get("padding")||0),d=o.getFont(),m=ZC(s,d),g=i.position,y=m.width+h[1]+h[3],x=m.height+h[0]+h[2],E=i.align;E==="right"&&(g[0]-=y),E==="center"&&(g[0]-=y/2);var M=i.verticalAlign;M==="bottom"&&(g[1]-=x),M==="middle"&&(g[1]-=x/2),wme(g,y,x,n);var P=o.get("backgroundColor");(!P||P==="auto")&&(P=t.get(["axisLine","lineStyle","color"])),e.label={x:g[0],y:g[1],style:uh(o,{text:s,font:d,fill:o.getTextColor(),padding:h,backgroundColor:P}),z2:10}}function wme(e,t,r,n){var i=n.getWidth(),a=n.getHeight();e[0]=Math.min(e[0]+t,i)-t,e[1]=Math.min(e[1]+r,a)-r,e[0]=Math.max(e[0],0),e[1]=Math.max(e[1],0)}function a8(e,t,r,n,i){e=t.scale.parse(e);var a=t.scale.getLabel({value:e},{precision:i.precision}),s=i.formatter;if(s){var o={value:jE(t,{value:e}),axisDimension:t.dim,axisIndex:t.index,seriesData:[]};Pe(n,function(h){var d=r.getSeriesByIndex(h.seriesIndex),m=h.dataIndexInside,g=d&&d.getDataParams(m);g&&o.seriesData.push(g)}),Kt(s)?a=s.replace("{value}",a):lr(s)&&(a=s(o))}return a}function o8(e,t,r){var n=pv();return jC(n,n,r.rotation),fS(n,n,r.position),pE([e.dataToCoord(t),(r.labelOffset||0)+(r.labelDirection||1)*(r.labelMargin||0)],n)}function Sme(e,t,r,n,i,a){var s=X9.innerTextLayout(r.rotation,0,r.labelDirection);r.labelMargin=i.get(["label","margin"]),xme(t,n,i,a,{position:o8(n.axis,e,r),align:s.textAlign,verticalAlign:s.textVerticalAlign})}function Tme(e,t,r){return r=r||0,{x1:e[r],y1:e[1-r],x2:t[r],y2:t[1-r]}}function Cme(e,t,r){return r=r||0,{x:e[r],y:e[1-r],width:t[r],height:t[1-r]}}var Eme=function(e){It(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.makeElOption=function(r,n,i,a,s){var o=i.axis,h=o.grid,d=a.get("type"),m=t3(h,o).getOtherAxis(o).getGlobalExtent(),g=o.toGlobalCoord(o.dataToCoord(n,!0));if(d&&d!=="none"){var y=bme(a),x=Ame[d](o,g,m);x.style=y,r.graphicKey=x.type,r.pointer=x}var E=rT(h.model,i);Sme(n,r,E,i,a,s)},t.prototype.getHandleTransform=function(r,n,i){var a=rT(n.axis.grid.model,n,{labelInside:!1});a.labelMargin=i.get(["handle","margin"]);var s=o8(n.axis,r,a);return{x:s[0],y:s[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},t.prototype.updateHandleTransform=function(r,n,i,a){var s=i.axis,o=s.grid,h=s.getGlobalExtent(!0),d=t3(o,s).getOtherAxis(s).getGlobalExtent(),m=s.dim==="x"?0:1,g=[r.x,r.y];g[m]+=n[m],g[m]=Math.min(h[1],g[m]),g[m]=Math.max(h[0],g[m]);var y=(d[1]+d[0])/2,x=[y,y];x[m]=g[m];var E=[{verticalAlign:"middle"},{align:"center"}];return{x:g[0],y:g[1],rotation:r.rotation,cursorPoint:x,tooltipOption:E[m]}},t}(_me);function t3(e,t){var r={};return r[t.dim+"AxisIndex"]=t.index,e.getCartesian(r)}var Ame={line:function(e,t,r){var n=Tme([t,r[0]],[t,r[1]],r3(e));return{type:"Line",subPixelOptimize:!0,shape:n}},shadow:function(e,t,r){var n=Math.max(1,e.getBandWidth()),i=r[1]-r[0];return{type:"Rect",shape:Cme([t-n/2,r[0]],[n,i],r3(e))}}};function r3(e){return e.dim==="x"?0:1}const Mme=Eme;var Pme=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r}return t.type="axisPointer",t.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},t}(Mn);const Ime=Pme;var gl=ti(),Dme=Pe;function s8(e,t,r){if(!Tr.node){var n=t.getZr();gl(n).records||(gl(n).records={}),Lme(n,t);var i=gl(n).records[e]||(gl(n).records[e]={});i.handler=r}}function Lme(e,t){if(gl(e).initialized)return;gl(e).initialized=!0,r("click",wi(n3,"click")),r("mousemove",wi(n3,"mousemove")),r("globalout",Rme);function r(n,i){e.on(n,function(a){var s=Ome(t);Dme(gl(e).records,function(o){o&&i(o,a,s.dispatchAction)}),kme(s.pendings,t)})}}function kme(e,t){var r=e.showTip.length,n=e.hideTip.length,i;r?i=e.showTip[r-1]:n&&(i=e.hideTip[n-1]),i&&(i.dispatchAction=null,t.dispatchAction(i))}function Rme(e,t,r){e.handler("leave",null,r)}function n3(e,t,r,n){t.handler(e,r,n)}function Ome(e){var t={showTip:[],hideTip:[]},r=function(n){var i=t[n.type];i?i.push(n):(n.dispatchAction=r,e.dispatchAction(n))};return{dispatchAction:r,pendings:t}}function oT(e,t){if(!Tr.node){var r=t.getZr(),n=(gl(r).records||{})[e];n&&(gl(r).records[e]=null)}}var zme=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r}return t.prototype.render=function(r,n,i){var a=n.getComponent("tooltip"),s=r.get("triggerOn")||a&&a.get("triggerOn")||"mousemove|click";s8("axisPointer",i,function(o,h,d){s!=="none"&&(o==="leave"||s.indexOf(o)>=0)&&d({type:"updateAxisPointer",currTrigger:o,x:h&&h.offsetX,y:h&&h.offsetY})})},t.prototype.remove=function(r,n){oT("axisPointer",n)},t.prototype.dispose=function(r,n){oT("axisPointer",n)},t.type="axisPointer",t}(Ml);const Bme=zme;function l8(e,t){var r=[],n=e.seriesIndex,i;if(n==null||!(i=t.getSeriesByIndex(n)))return{point:[]};var a=i.getData(),s=Kv(a,e);if(s==null||s<0||Nt(s))return{point:[]};var o=a.getItemGraphicEl(s),h=i.coordinateSystem;if(i.getTooltipPosition)r=i.getTooltipPosition(s)||[];else if(h&&h.dataToPoint)if(e.isStacked){var d=h.getBaseAxis(),m=h.getOtherAxis(d),g=m.dim,y=d.dim,x=g==="x"||g==="radius"?1:0,E=a.mapDimension(y),M=[];M[x]=a.get(E,s),M[1-x]=a.get(a.getCalculationInfo("stackResultDimension"),s),r=h.dataToPoint(M)||[]}else r=h.dataToPoint(a.getValues(Jt(h.dimensions,function(D){return a.mapDimension(D)}),s))||[];else if(o){var P=o.getBoundingRect().clone();P.applyTransform(o.transform),r=[P.x+P.width/2,P.y+P.height/2]}return{point:r,el:o}}var i3=ti();function Fme(e,t,r){var n=e.currTrigger,i=[e.x,e.y],a=e,s=e.dispatchAction||Hn(r.dispatchAction,r),o=t.getComponent("axisPointer").coordSysAxesInfo;if(o){q_(i)&&(i=l8({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},t).point);var h=q_(i),d=a.axesInfo,m=o.axesInfo,g=n==="leave"||q_(i),y={},x={},E={list:[],map:{}},M={showPointer:wi(Nme,x),showTooltip:wi(Vme,E)};Pe(o.coordSysMap,function(D,k){var O=h||D.containPoint(i);Pe(o.coordSysAxesInfo[k],function(F,q){var H=F.axis,W=Gme(d,F);if(!g&&O&&(!d||W)){var Z=W&&W.value;Z==null&&!h&&(Z=H.pointToData(i)),Z!=null&&a3(F,Z,M,!1,y)}})});var P={};return Pe(m,function(D,k){var O=D.linkGroup;O&&!x[k]&&Pe(O.axesInfo,function(F,q){var H=x[q];if(F!==D&&H){var W=H.value;O.mapper&&(W=D.axis.scale.parse(O.mapper(W,o3(F),o3(D)))),P[D.key]=W}})}),Pe(P,function(D,k){a3(m[k],D,M,!0,y)}),jme(x,m,y),Hme(E,i,e,s),Ume(m,s,r),y}}function a3(e,t,r,n,i){var a=e.axis;if(!(a.scale.isBlank()||!a.containData(t))){if(!e.involveSeries){r.showPointer(e,t);return}var s=$me(t,e),o=s.payloadBatch,h=s.snapToValue;o[0]&&i.seriesIndex==null&&Tt(i,o[0]),!n&&e.snap&&a.containData(h)&&h!=null&&(t=h),r.showPointer(e,t,o),r.showTooltip(e,s,h)}}function $me(e,t){var r=t.axis,n=r.dim,i=e,a=[],s=Number.MAX_VALUE,o=-1;return Pe(t.seriesModels,function(h,d){var m=h.getData().mapDimensionsAll(n),g,y;if(h.getAxisTooltipData){var x=h.getAxisTooltipData(m,e,r);y=x.dataIndices,g=x.nestestValue}else{if(y=h.getData().indicesOfNearest(m[0],e,r.type==="category"?.5:null),!y.length)return;g=h.getData().get(m[0],y[0])}if(!(g==null||!isFinite(g))){var E=e-g,M=Math.abs(E);M<=s&&((M=0&&o<0)&&(s=M,o=E,i=g,a.length=0),Pe(y,function(P){a.push({seriesIndex:h.seriesIndex,dataIndexInside:P,dataIndex:h.getData().getRawIndex(P)})}))}}),{payloadBatch:a,snapToValue:i}}function Nme(e,t,r,n){e[t.key]={value:r,payloadBatch:n}}function Vme(e,t,r,n){var i=r.payloadBatch,a=t.axis,s=a.model,o=t.axisPointerModel;if(!(!t.triggerTooltip||!i.length)){var h=t.coordSys.model,d=kv(h),m=e.map[d];m||(m=e.map[d]={coordSysId:h.id,coordSysIndex:h.componentIndex,coordSysType:h.type,coordSysMainType:h.mainType,dataByAxis:[]},e.list.push(m)),m.dataByAxis.push({axisDim:a.dim,axisIndex:s.componentIndex,axisType:s.type,axisId:s.id,value:n,valueLabelOpt:{precision:o.get(["label","precision"]),formatter:o.get(["label","formatter"])},seriesDataIndices:i.slice()})}}function jme(e,t,r){var n=r.axesInfo=[];Pe(t,function(i,a){var s=i.axisPointerModel.option,o=e[a];o?(!i.useHandle&&(s.status="show"),s.value=o.value,s.seriesDataIndices=(o.payloadBatch||[]).slice()):!i.useHandle&&(s.status="hide"),s.status==="show"&&n.push({axisDim:i.axis.dim,axisIndex:i.axis.model.componentIndex,value:s.value})})}function Hme(e,t,r,n){if(q_(t)||!e.list.length){n({type:"hideTip"});return}var i=((e.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:t[0],y:t[1],tooltipOption:r.tooltipOption,position:r.position,dataIndexInside:i.dataIndexInside,dataIndex:i.dataIndex,seriesIndex:i.seriesIndex,dataByCoordSys:e.list})}function Ume(e,t,r){var n=r.getZr(),i="axisPointerLastHighlights",a=i3(n)[i]||{},s=i3(n)[i]={};Pe(e,function(d,m){var g=d.axisPointerModel.option;g.status==="show"&&Pe(g.seriesDataIndices,function(y){var x=y.seriesIndex+" | "+y.dataIndex;s[x]=y})});var o=[],h=[];Pe(a,function(d,m){!s[m]&&h.push(d)}),Pe(s,function(d,m){!a[m]&&o.push(d)}),h.length&&r.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:h}),o.length&&r.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:o})}function Gme(e,t){for(var r=0;r<(e||[]).length;r++){var n=e[r];if(t.axis.dim===n.axisDim&&t.axis.model.componentIndex===n.axisIndex)return n}}function o3(e){var t=e.axis.model,r={},n=r.axisDim=e.axis.dim;return r.axisIndex=r[n+"AxisIndex"]=t.componentIndex,r.axisName=r[n+"AxisName"]=t.name,r.axisId=r[n+"AxisId"]=t.id,r}function q_(e){return!e||e[0]==null||isNaN(e[0])||e[1]==null||isNaN(e[1])}function u8(e){Y9.registerAxisPointerClass("CartesianAxisPointer",Mme),e.registerComponentModel(Ime),e.registerComponentView(Bme),e.registerPreprocessor(function(t){if(t){(!t.axisPointer||t.axisPointer.length===0)&&(t.axisPointer={});var r=t.axisPointer.link;r&&!Nt(r)&&(t.axisPointer.link=[r])}}),e.registerProcessor(e.PRIORITY.PROCESSOR.STATISTIC,function(t,r){t.getComponent("axisPointer").coordSysAxesInfo=Dpe(t,r)}),e.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},Fme)}function qme(e){ld(Q9),ld(u8)}var Wme=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r}return t.type="tooltip",t.dependencies=["axisPointer"],t.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},t}(Mn);const Zme=Wme;function c8(e){var t=e.get("confine");return t!=null?!!t:e.get("renderMode")==="richText"}function h8(e){if(Tr.domSupported){for(var t=document.documentElement.style,r=0,n=e.length;r-1?(o+="top:50%",h+="translateY(-50%) rotate("+(d=a==="left"?-225:-45)+"deg)"):(o+="left:50%",h+="translateX(-50%) rotate("+(d=a==="top"?225:45)+"deg)");var m=d*Math.PI/180,g=s+i,y=g*Math.abs(Math.cos(m))+g*Math.abs(Math.sin(m)),x=Math.round(((y-Math.SQRT2*i)/2+Math.SQRT2*i-(y-g)/2)*100)/100;o+=";"+a+":-"+x+"px";var E=t+" solid "+i+"px;",M=["position:absolute;width:"+s+"px;height:"+s+"px;z-index:-1;",o+";"+h+";","border-bottom:"+E,"border-right:"+E,"background-color:"+n+";"];return'
'}function tve(e,t){var r="cubic-bezier(0.23,1,0.32,1)",n=" "+e/2+"s "+r,i="opacity"+n+",visibility"+n;return t||(n=" "+e+"s "+r,i+=Tr.transformSupported?","+QE+n:",left"+n+",top"+n),Kme+":"+i}function s3(e,t,r){var n=e.toFixed(0)+"px",i=t.toFixed(0)+"px";if(!Tr.transformSupported)return r?"top:"+i+";left:"+n+";":[["top",i],["left",n]];var a=Tr.transform3dSupported,s="translate"+(a?"3d":"")+"("+n+","+i+(a?",0":"")+")";return r?"top:0;left:0;"+QE+":"+s+";":[["top",0],["left",0],[f8,s]]}function rve(e){var t=[],r=e.get("fontSize"),n=e.getTextColor();n&&t.push("color:"+n),t.push("font:"+e.getFont()),r&&t.push("line-height:"+Math.round(r*3/2)+"px");var i=e.get("textShadowColor"),a=e.get("textShadowBlur")||0,s=e.get("textShadowOffsetX")||0,o=e.get("textShadowOffsetY")||0;return i&&a&&t.push("text-shadow:"+s+"px "+o+"px "+a+"px "+i),Pe(["decoration","align"],function(h){var d=e.get(h);d&&t.push("text-"+h+":"+d)}),t.join(";")}function nve(e,t,r){var n=[],i=e.get("transitionDuration"),a=e.get("backgroundColor"),s=e.get("shadowBlur"),o=e.get("shadowColor"),h=e.get("shadowOffsetX"),d=e.get("shadowOffsetY"),m=e.getModel("textStyle"),g=AF(e,"html"),y=h+"px "+d+"px "+s+"px "+o;return n.push("box-shadow:"+y),t&&i&&n.push(tve(i,r)),a&&n.push("background-color:"+a),Pe(["width","color","radius"],function(x){var E="border-"+x,M=JB(E),P=e.get(M);P!=null&&n.push(E+":"+P+(x==="color"?"":"px"))}),n.push(rve(m)),g!=null&&n.push("padding:"+bE(g).join("px ")+"px"),n.join(";")+";"}function l3(e,t,r,n,i){var a=t&&t.painter;if(r){var s=a&&a.getViewportRoot();s&&rie(e,s,document.body,n,i)}else{e[0]=n,e[1]=i;var o=a&&a.getViewportRootOffset();o&&(e[0]+=o.offsetLeft,e[1]+=o.offsetTop)}e[2]=e[0]/t.getWidth(),e[3]=e[1]/t.getHeight()}var ive=function(){function e(t,r,n){if(this._show=!1,this._styleCoord=[0,0,0,0],this._enterable=!0,this._firstShow=!0,this._longHide=!0,Tr.wxa)return null;var i=document.createElement("div");i.domBelongToZr=!0,this.el=i;var a=this._zr=r.getZr(),s=this._appendToBody=n&&n.appendToBody;l3(this._styleCoord,a,s,r.getWidth()/2,r.getHeight()/2),s?document.body.appendChild(i):t.appendChild(i),this._container=t;var o=this;i.onmouseenter=function(){o._enterable&&(clearTimeout(o._hideTimeout),o._show=!0),o._inContent=!0},i.onmousemove=function(h){if(h=h||window.event,!o._enterable){var d=a.handler,m=a.painter.getViewportRoot();go(m,h,!0),d.dispatch("mousemove",h)}},i.onmouseleave=function(){o._inContent=!1,o._enterable&&o._show&&o.hideLater(o._hideDelay)}}return e.prototype.update=function(t){var r=this._container,n=Yme(r,"position"),i=r.style;i.position!=="absolute"&&n!=="absolute"&&(i.position="relative");var a=t.get("alwaysShowContent");a&&this._moveIfResized(),this.el.className=t.get("className")||""},e.prototype.show=function(t,r){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var n=this.el,i=n.style,a=this._styleCoord;n.innerHTML?i.cssText=Jme+nve(t,!this._firstShow,this._longHide)+s3(a[0],a[1],!0)+("border-color:"+Tv(r)+";")+(t.get("extraCssText")||"")+(";pointer-events:"+(this._enterable?"auto":"none")):i.display="none",this._show=!0,this._firstShow=!1,this._longHide=!1},e.prototype.setContent=function(t,r,n,i,a){var s=this.el;if(t==null){s.innerHTML="";return}var o="";if(Kt(a)&&n.get("trigger")==="item"&&!c8(n)&&(o=eve(n,i,a)),Kt(t))s.innerHTML=t+o;else if(t){s.innerHTML="",Nt(t)||(t=[t]);for(var h=0;h=0?this._tryShow(a,s):i==="leave"&&this._hide(s))},this))},t.prototype._keepShow=function(){var r=this._tooltipModel,n=this._ecModel,i=this._api,a=r.get("triggerOn");if(this._lastX!=null&&this._lastY!=null&&a!=="none"&&a!=="click"){var s=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!i.isDisposed()&&s.manuallyShowTip(r,n,i,{x:s._lastX,y:s._lastY,dataByCoordSys:s._lastDataByCoordSys})})}},t.prototype.manuallyShowTip=function(r,n,i,a){if(!(a.from===this.uid||Tr.node||!i.getDom())){var s=h3(a,i);this._ticket="";var o=a.dataByCoordSys,h=dve(a,n,i);if(h){var d=h.el.getBoundingRect().clone();d.applyTransform(h.el.transform),this._tryShow({offsetX:d.x+d.width/2,offsetY:d.y+d.height/2,target:h.el,position:a.position,positionDefault:"bottom"},s)}else if(a.tooltip&&a.x!=null&&a.y!=null){var m=lve;m.x=a.x,m.y=a.y,m.update(),yn(m).tooltipConfig={name:null,option:a.tooltip},this._tryShow({offsetX:a.x,offsetY:a.y,target:m},s)}else if(o)this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,dataByCoordSys:o,tooltipOption:a.tooltipOption},s);else if(a.seriesIndex!=null){if(this._manuallyAxisShowTip(r,n,i,a))return;var g=l8(a,n),y=g.point[0],x=g.point[1];y!=null&&x!=null&&this._tryShow({offsetX:y,offsetY:x,target:g.el,position:a.position,positionDefault:"bottom"},s)}else a.x!=null&&a.y!=null&&(i.dispatchAction({type:"updateAxisPointer",x:a.x,y:a.y}),this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,target:i.getZr().findHover(a.x,a.y).target},s))}},t.prototype.manuallyHideTip=function(r,n,i,a){var s=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&s.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,a.from!==this.uid&&this._hide(h3(a,i))},t.prototype._manuallyAxisShowTip=function(r,n,i,a){var s=a.seriesIndex,o=a.dataIndex,h=n.getComponent("axisPointer").coordSysAxesInfo;if(!(s==null||o==null||h==null)){var d=n.getSeriesByIndex(s);if(d){var m=d.getData(),g=om([m.getItemModel(o),d,(d.coordinateSystem||{}).model],this._tooltipModel);if(g.get("trigger")==="axis")return i.dispatchAction({type:"updateAxisPointer",seriesIndex:s,dataIndex:o,position:a.position}),!0}}},t.prototype._tryShow=function(r,n){var i=r.target,a=this._tooltipModel;if(a){this._lastX=r.offsetX,this._lastY=r.offsetY;var s=r.dataByCoordSys;if(s&&s.length)this._showAxisTooltip(s,r);else if(i){this._lastDataByCoordSys=null;var o,h;mm(i,function(d){if(yn(d).dataIndex!=null)return o=d,!0;if(yn(d).tooltipConfig!=null)return h=d,!0},!0),o?this._showSeriesItemTooltip(r,o,n):h?this._showComponentItemTooltip(r,h,n):this._hide(n)}else this._lastDataByCoordSys=null,this._hide(n)}},t.prototype._showOrMove=function(r,n){var i=r.get("showDelay");n=Hn(n,this),clearTimeout(this._showTimout),i>0?this._showTimout=setTimeout(n,i):n()},t.prototype._showAxisTooltip=function(r,n){var i=this._ecModel,a=this._tooltipModel,s=[n.offsetX,n.offsetY],o=om([n.tooltipOption],a),h=this._renderMode,d=[],m=Ru("section",{blocks:[],noHeader:!0}),g=[],y=new Lw;Pe(r,function(k){Pe(k.dataByAxis,function(O){var F=i.getComponent(O.axisDim+"Axis",O.axisIndex),q=O.value;if(!(!F||q==null)){var H=a8(q,F.axis,i,O.seriesDataIndices,O.valueLabelOpt),W=Ru("section",{header:H,noHeader:!Ds(H),sortBlocks:!0,blocks:[]});m.blocks.push(W),Pe(O.seriesDataIndices,function(Z){var ee=i.getSeriesByIndex(Z.seriesIndex),re=Z.dataIndexInside,ce=ee.getDataParams(re);if(!(ce.dataIndex<0)){ce.axisDim=O.axisDim,ce.axisIndex=O.axisIndex,ce.axisType=O.axisType,ce.axisId=O.axisId,ce.axisValue=jE(F.axis,{value:q}),ce.axisValueLabel=H,ce.marker=y.makeTooltipMarker("item",Tv(ce.color),h);var le=_k(ee.formatTooltip(re,!0,null)),ve=le.frag;if(ve){var de=om([ee],a).get("valueFormatter");W.blocks.push(de?Tt({valueFormatter:de},ve):ve)}le.text&&g.push(le.text),d.push(ce)}})}})}),m.blocks.reverse(),g.reverse();var x=n.position,E=o.get("order"),M=Tk(m,y,h,E,i.get("useUTC"),o.get("textStyle"));M&&g.unshift(M);var P=h==="richText"?` + +`:"
",D=g.join(P);this._showOrMove(o,function(){this._updateContentNotChangedOnAxis(r,d)?this._updatePosition(o,x,s[0],s[1],this._tooltipContent,d):this._showTooltipContent(o,D,d,Math.random()+"",s[0],s[1],x,null,y)})},t.prototype._showSeriesItemTooltip=function(r,n,i){var a=this._ecModel,s=yn(n),o=s.seriesIndex,h=a.getSeriesByIndex(o),d=s.dataModel||h,m=s.dataIndex,g=s.dataType,y=d.getData(g),x=this._renderMode,E=r.positionDefault,M=om([y.getItemModel(m),d,h&&(h.coordinateSystem||{}).model],this._tooltipModel,E?{position:E}:null),P=M.get("trigger");if(!(P!=null&&P!=="item")){var D=d.getDataParams(m,g),k=new Lw;D.marker=k.makeTooltipMarker("item",Tv(D.color),x);var O=_k(d.formatTooltip(m,!1,g)),F=M.get("order"),q=M.get("valueFormatter"),H=O.frag,W=H?Tk(q?Tt({valueFormatter:q},H):H,k,x,F,a.get("useUTC"),M.get("textStyle")):O.text,Z="item_"+d.name+"_"+m;this._showOrMove(M,function(){this._showTooltipContent(M,W,D,Z,r.offsetX,r.offsetY,r.position,r.target,k)}),i({type:"showTip",dataIndexInside:m,dataIndex:y.getRawIndex(m),seriesIndex:o,from:this.uid})}},t.prototype._showComponentItemTooltip=function(r,n,i){var a=yn(n),s=a.tooltipConfig,o=s.option||{};if(Kt(o)){var h=o;o={content:h,formatter:h}}var d=[o],m=this._ecModel.getComponent(a.componentMainType,a.componentIndex);m&&d.push(m),d.push({formatter:o.content});var g=r.positionDefault,y=om(d,this._tooltipModel,g?{position:g}:null),x=y.get("content"),E=Math.random()+"",M=new Lw;this._showOrMove(y,function(){var P=Br(y.get("formatterParams")||{});this._showTooltipContent(y,x,P,E,r.offsetX,r.offsetY,r.position,n,M)}),i({type:"showTip",from:this.uid})},t.prototype._showTooltipContent=function(r,n,i,a,s,o,h,d,m){if(this._ticket="",!(!r.get("showContent")||!r.get("show"))){var g=this._tooltipContent;g.setEnterable(r.get("enterable"));var y=r.get("formatter");h=h||r.get("position");var x=n,E=this._getNearestPoint([s,o],i,r.get("trigger"),r.get("borderColor")),M=E.color;if(y)if(Kt(y)){var P=r.ecModel.get("useUTC"),D=Nt(i)?i[0]:i,k=D&&D.axisType&&D.axisType.indexOf("time")>=0;x=y,k&&(x=F1(D.axisValue,x,P)),x=QB(x,i,!0)}else if(lr(y)){var O=Hn(function(F,q){F===this._ticket&&(g.setContent(q,m,r,M,h),this._updatePosition(r,h,s,o,g,i,d))},this);this._ticket=a,x=y(i,a,O)}else x=y;g.setContent(x,m,r,M,h),g.show(r,M),this._updatePosition(r,h,s,o,g,i,d)}},t.prototype._getNearestPoint=function(r,n,i,a){if(i==="axis"||Nt(n))return{color:a||(this._renderMode==="html"?"#fff":"none")};if(!Nt(n))return{color:a||n.color||n.borderColor}},t.prototype._updatePosition=function(r,n,i,a,s,o,h){var d=this._api.getWidth(),m=this._api.getHeight();n=n||r.get("position");var g=s.getSize(),y=r.get("align"),x=r.get("verticalAlign"),E=h&&h.getBoundingRect().clone();if(h&&E.applyTransform(h.transform),lr(n)&&(n=n([i,a],o,s.el,E,{viewSize:[d,m],contentSize:g.slice()})),Nt(n))i=Li(n[0],d),a=Li(n[1],m);else if(nr(n)){var M=n;M.width=g[0],M.height=g[1];var P=xE(M,{width:d,height:m});i=P.x,a=P.y,y=null,x=null}else if(Kt(n)&&h){var D=fve(n,E,g,r.get("borderWidth"));i=D[0],a=D[1]}else{var D=cve(i,a,s,d,m,y?null:20,x?null:20);i=D[0],a=D[1]}if(y&&(i-=f3(y)?g[0]/2:y==="right"?g[0]:0),x&&(a-=f3(x)?g[1]/2:x==="bottom"?g[1]:0),c8(r)){var D=hve(i,a,s,d,m);i=D[0],a=D[1]}s.moveTo(i,a)},t.prototype._updateContentNotChangedOnAxis=function(r,n){var i=this._lastDataByCoordSys,a=this._cbParamsList,s=!!i&&i.length===r.length;return s&&Pe(i,function(o,h){var d=o.dataByAxis||[],m=r[h]||{},g=m.dataByAxis||[];s=s&&d.length===g.length,s&&Pe(d,function(y,x){var E=g[x]||{},M=y.seriesDataIndices||[],P=E.seriesDataIndices||[];s=s&&y.value===E.value&&y.axisType===E.axisType&&y.axisId===E.axisId&&M.length===P.length,s&&Pe(M,function(D,k){var O=P[k];s=s&&D.seriesIndex===O.seriesIndex&&D.dataIndex===O.dataIndex}),a&&Pe(y.seriesDataIndices,function(D){var k=D.seriesIndex,O=n[k],F=a[k];O&&F&&F.data!==O.data&&(s=!1)})})}),this._lastDataByCoordSys=r,this._cbParamsList=n,!!s},t.prototype._hide=function(r){this._lastDataByCoordSys=null,r({type:"hideTip",from:this.uid})},t.prototype.dispose=function(r,n){Tr.node||!n.getDom()||(NS(this,"_updatePosition"),this._tooltipContent.dispose(),oT("itemTooltip",n))},t.type="tooltip",t}(Ml);function om(e,t,r){var n=t.ecModel,i;r?(i=new ba(r,n,n),i=new ba(t.option,i,n)):i=t;for(var a=e.length-1;a>=0;a--){var s=e[a];s&&(s instanceof ba&&(s=s.get("tooltip",!0)),Kt(s)&&(s={formatter:s}),s&&(i=new ba(s,i,n)))}return i}function h3(e,t){return e.dispatchAction||Hn(t.dispatchAction,t)}function cve(e,t,r,n,i,a,s){var o=r.getSize(),h=o[0],d=o[1];return a!=null&&(e+h+a+2>n?e-=h+a:e+=a),s!=null&&(t+d+s>i?t-=d+s:t+=s),[e,t]}function hve(e,t,r,n,i){var a=r.getSize(),s=a[0],o=a[1];return e=Math.min(e+s,n)-s,t=Math.min(t+o,i)-o,e=Math.max(e,0),t=Math.max(t,0),[e,t]}function fve(e,t,r,n){var i=r[0],a=r[1],s=Math.ceil(Math.SQRT2*n)+8,o=0,h=0,d=t.width,m=t.height;switch(e){case"inside":o=t.x+d/2-i/2,h=t.y+m/2-a/2;break;case"top":o=t.x+d/2-i/2,h=t.y-a-s;break;case"bottom":o=t.x+d/2-i/2,h=t.y+m+s;break;case"left":o=t.x-i-s,h=t.y+m/2-a/2;break;case"right":o=t.x+d+s,h=t.y+m/2-a/2}return[o,h]}function f3(e){return e==="center"||e==="middle"}function dve(e,t,r){var n=KC(e).queryOptionMap,i=n.keys()[0];if(!(!i||i==="series")){var a=Jv(t,i,n.get(i),{useDefault:!1,enableAll:!1,enableNone:!1}),s=a.models[0];if(s){var o=r.getViewOfComponentModel(s),h;if(o.group.traverse(function(d){var m=yn(d).tooltipConfig;if(m&&m.name===e.name)return h=d,!0}),h)return{componentMainType:i,componentIndex:s.componentIndex,el:h}}}}const pve=uve;function mve(e){ld(u8),e.registerComponentModel(Zme),e.registerComponentView(pve),e.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},xa),e.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},xa)}var vve=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r.layoutMode={type:"box",ignoreSize:!0},r}return t.type="title",t.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},t}(Mn),gve=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r}return t.prototype.render=function(r,n,i){if(this.group.removeAll(),!!r.get("show")){var a=this.group,s=r.getModel("textStyle"),o=r.getModel("subtextStyle"),h=r.get("textAlign"),d=Cr(r.get("textBaseline"),r.get("textVerticalAlign")),m=new as({style:uh(s,{text:r.get("text"),fill:s.getTextColor()},{disableBox:!0}),z2:10}),g=m.getBoundingRect(),y=r.get("subtext"),x=new as({style:uh(o,{text:y,fill:o.getTextColor(),y:g.height+r.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),E=r.get("link"),M=r.get("sublink"),P=r.get("triggerEvent",!0);m.silent=!E&&!P,x.silent=!M&&!P,E&&m.on("click",function(){tk(E,"_"+r.get("target"))}),M&&x.on("click",function(){tk(M,"_"+r.get("subtarget"))}),yn(m).eventData=yn(x).eventData=P?{componentType:"title",componentIndex:r.componentIndex}:null,a.add(m),y&&a.add(x);var D=a.getBoundingRect(),k=r.getBoxLayoutParams();k.width=D.width,k.height=D.height;var O=xE(k,{width:i.getWidth(),height:i.getHeight()},r.get("padding"));h||(h=r.get("left")||r.get("right"),h==="middle"&&(h="center"),h==="right"?O.x+=O.width:h==="center"&&(O.x+=O.width/2)),d||(d=r.get("top")||r.get("bottom"),d==="center"&&(d="middle"),d==="bottom"?O.y+=O.height:d==="middle"&&(O.y+=O.height/2),d=d||"top"),a.x=O.x,a.y=O.y,a.markRedraw();var F={align:h,verticalAlign:d};m.setStyle(F),x.setStyle(F),D=a.getBoundingRect();var q=O.margin,H=r.getItemStyle(["color","opacity"]);H.fill=r.get("backgroundColor");var W=new Ba({shape:{x:D.x-q[3],y:D.y-q[0],width:D.width+q[1]+q[3],height:D.height+q[0]+q[2],r:r.get("borderRadius")},style:H,subPixelOptimize:!0,silent:!0});a.add(W)}},t.type="title",t}(Ml);function yve(e){e.registerComponentModel(vve),e.registerComponentView(gve)}function _ve(e,t){if(!e)return!1;for(var r=Nt(e)?e:[e],n=0;n=0&&(s[a]=+s[a].toFixed(y)),[s,g]}var o2={min:wi(g_,"min"),max:wi(g_,"max"),average:wi(g_,"average"),median:wi(g_,"median")};function Tve(e,t){if(t){var r=e.getData(),n=e.coordinateSystem,i=n.dimensions;if(!Sve(t)&&!Nt(t.coord)&&n){var a=Cve(t,r,n,e);if(t=Br(t),t.type&&o2[t.type]&&a.baseAxis&&a.valueAxis){var s=sn(i,a.baseAxis.dim),o=sn(i,a.valueAxis.dim),h=o2[t.type](r,a.baseDataDim,a.valueDataDim,s,o);t.coord=h[0],t.value=h[1]}else t.coord=[t.xAxis!=null?t.xAxis:t.radiusAxis,t.yAxis!=null?t.yAxis:t.angleAxis]}if(t.coord==null)t.coord=[];else for(var d=t.coord,m=0;m<2;m++)o2[d[m]]&&(d[m]=m8(r,r.mapDimension(i[m]),d[m]));return t}}function Cve(e,t,r,n){var i={};return e.valueIndex!=null||e.valueDim!=null?(i.valueDataDim=e.valueIndex!=null?t.getDimension(e.valueIndex):e.valueDim,i.valueAxis=r.getAxis(Eve(n,i.valueDataDim)),i.baseAxis=r.getOtherAxis(i.valueAxis),i.baseDataDim=t.mapDimension(i.baseAxis.dim)):(i.baseAxis=n.getBaseAxis(),i.valueAxis=r.getOtherAxis(i.baseAxis),i.baseDataDim=t.mapDimension(i.baseAxis.dim),i.valueDataDim=t.mapDimension(i.valueAxis.dim)),i}function Eve(e,t){var r=e.getData().getDimensionInfo(t);return r&&r.coordDim}function Ave(e,t){return e&&e.containData&&t.coord&&!wve(t)?e.containData(t.coord):!0}function Mve(e,t){return e?function(r,n,i,a){var s=a<2?r.coord&&r.coord[a]:r.value;return jf(s,t[a])}:function(r,n,i,a){return jf(r.value,t[a])}}function m8(e,t,r){if(r==="average"){var n=0,i=0;return e.each(t,function(a,s){isNaN(a)||(n+=a,i++)}),n/i}else return r==="median"?e.getMedian(t):e.getDataExtent(t)[r==="max"?1:0]}var s2=ti(),Pve=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r}return t.prototype.init=function(){this.markerGroupMap=Er()},t.prototype.render=function(r,n,i){var a=this,s=this.markerGroupMap;s.each(function(o){s2(o).keep=!1}),n.eachSeries(function(o){var h=H0.getMarkerModelFromSeries(o,a.type);h&&a.renderSeries(o,h,n,i)}),s.each(function(o){!s2(o).keep&&a.group.remove(o.group)})},t.prototype.markKeep=function(r){s2(r).keep=!0},t.prototype.toggleBlurSeries=function(r,n){var i=this;Pe(r,function(a){var s=H0.getMarkerModelFromSeries(a,i.type);if(s){var o=s.getData();o.eachItemGraphicEl(function(h){h&&(n?oB(h):iE(h))})}})},t.type="marker",t}(Ml);const Ive=Pve;function d3(e,t,r){var n=t.coordinateSystem;e.each(function(i){var a=e.getItemModel(i),s,o=Li(a.get("x"),r.getWidth()),h=Li(a.get("y"),r.getHeight());if(!isNaN(o)&&!isNaN(h))s=[o,h];else if(t.getMarkerPosition)s=t.getMarkerPosition(e.getValues(e.dimensions,i));else if(n){var d=e.get(n.dimensions[0],i),m=e.get(n.dimensions[1],i);s=n.dataToPoint([d,m])}isNaN(o)||(s[0]=o),isNaN(h)||(s[1]=h),e.setItemLayout(i,s)})}var Dve=function(e){It(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.type=t.type,r}return t.prototype.updateTransform=function(r,n,i){n.eachSeries(function(a){var s=H0.getMarkerModelFromSeries(a,"markPoint");s&&(d3(s.getData(),a,i),this.markerGroupMap.get(a.id).updateLayout())},this)},t.prototype.renderSeries=function(r,n,i,a){var s=r.coordinateSystem,o=r.id,h=r.getData(),d=this.markerGroupMap,m=d.get(o)||d.set(o,new U9),g=Lve(s,r,n);n.setData(g),d3(n.getData(),r,a),g.each(function(y){var x=g.getItemModel(y),E=x.getShallow("symbol"),M=x.getShallow("symbolSize"),P=x.getShallow("symbolRotate"),D=x.getShallow("symbolOffset"),k=x.getShallow("symbolKeepAspect");if(lr(E)||lr(M)||lr(P)||lr(D)){var O=n.getRawValue(y),F=n.getDataParams(y);lr(E)&&(E=E(O,F)),lr(M)&&(M=M(O,F)),lr(P)&&(P=P(O,F)),lr(D)&&(D=D(O,F))}var q=x.getModel("itemStyle").getItemStyle(),H=BF(h,"color");q.fill||(q.fill=H),g.setItemVisual(y,{symbol:E,symbolSize:M,symbolRotate:P,symbolOffset:D,symbolKeepAspect:k,style:q})}),m.updateData(g),this.group.add(m.group),g.eachItemGraphicEl(function(y){y.traverse(function(x){yn(x).dataModel=n})}),this.markKeep(m),m.group.silent=n.get("silent")||r.get("silent")},t.type="markPoint",t}(Ive);function Lve(e,t,r){var n;e?n=Jt(e&&e.dimensions,function(o){var h=t.getData().getDimensionInfo(t.getData().mapDimension(o))||{};return Tt(Tt({},h),{name:o,ordinalMeta:null})}):n=[{name:"value",type:"float"}];var i=new NE(n,r),a=Jt(r.get("data"),wi(Tve,t));e&&(a=ea(a,wi(Ave,e)));var s=Mve(!!e,n);return i.initData(a,null,s),i}const kve=Dve;function Rve(e){e.registerComponentModel(xve),e.registerComponentView(kve),e.registerPreprocessor(function(t){_ve(t.series,"markPoint")&&(t.markPoint=t.markPoint||{})})}ld([Wde,yve,mve,Rve,qme,qpe,gme]);const Ove={name:"BusChartVue",components:{"v-chart":dde},data:()=>({lines:[],stops1:[],stops2:[],historyBusData:[],echartsOption:{tooltip:{show:!1},title:[{subtext:`By bilibili@交通数据小旭学长 +GitHub@ni1o1`,sublink:"https://github.com/ni1o1/nikebus",textAlign:"right",bottom:"2%",left:"98%"}],grid:[{top:"10%",bottom:"0%",left:"26px",right:"14px"}],yAxis:[{inverse:!0,min:-100,max:4500,type:"value",boundaryGap:!1,show:!1,splitLine:{show:!1}}],xAxis:[{position:"top",verticalAlign:"top",axisLine:{show:!1},axisTick:{show:!1},axisLabel:{interval:0},type:"category",data:[`1号线 +工学院方向`,`1号线 +欣园方向`,`2号线 +科研楼方向`,`2号线 +欣园方向`],splitLine:{show:!1}}],series:[{type:"scatter",label:{fontSize:10,show:!0,color:"#999",position:"right",formatter:"{b}"},data:[]},{type:"lines",coordinateSystem:"cartesian2d",data:[]},{label:{fontSize:11,show:!0,color:"#000",textBorderColor:"#fff",textBorderWidth:2,fontWeight:"bold",position:"right",distance:-5,formatter:"{b}"},type:"scatter",name:"bus",data:[]}],stateAnimation:{duration:500}},timer:{},second:0}),methods:{setEchartsOption(e){this.echartsOption=e},load_data(){Ka.all([Ka.get("/bus_echart/line1.json"),Ka.get("/bus_echart/line2.json"),Ka.get("/bus_echart/stop1.json"),Ka.get("/bus_echart/stop2.json")]).then(Ka.spread((e,t,r,n)=>{const i=e.data,a=t.data,s=r.data,o=n.data;this.lines=[i,a],this.stops1=s,this.stops2=o;const h=s.features.map(x=>({value:[1,ol(i.features[0],x).properties.location*1e3],name:x.properties.name,symbolSize:8,itemStyle:{color:"#ff881b",opacity:1}})),d=s.features.map(x=>({value:[0,sl(i.features[0])*1e3-ol(i.features[0],x).properties.location*1e3],name:x.properties.name,symbolSize:8,itemStyle:{color:"#ff881b",opacity:1}})),m=o.features.map(x=>({value:[3,ol(a.features[0],x).properties.location*1e3],name:x.properties.name,symbolSize:8,itemStyle:{color:"#379ff4",opacity:1}})),g=o.features.map(x=>({value:[2,sl(a.features[0])*1e3-ol(a.features[0],x).properties.location*1e3],name:x.properties.name,symbolSize:8,itemStyle:{color:"#379ff4",opacity:1}})),y={series:[{data:[...h,...d,...m,...g]},{data:[{coords:[[0,0],[0,sl(i.features[0])*1e3]],lineStyle:{color:"#ff881b",width:2,opacity:1}},{coords:[[1,0],[1,sl(i.features[0])*1e3]],lineStyle:{color:"#ff881b",width:2,opacity:1}},{coords:[[2,0],[2,sl(a.features[0])*1e3]],lineStyle:{color:"#379ff4",width:2,opacity:1}},{coords:[[3,0],[3,sl(a.features[0])*1e3]],lineStyle:{color:"#379ff4",width:2,opacity:1}}]}]};this.setEchartsOption(y)}))},updateBusPos(){this.lines.length>0&&Ka.get("https://bus.sustcra.com/api/v2/monitor_osm/").then(e=>{const r=e.data.filter(i=>i.is_operating==1).map(i=>{let a=0;i.route_code=="XYBS2"?a=1:i.route_code=="XYBS1"&&(a=0);const s=Qi([i.lng,i.lat]);let o=this.lines[a].features[0],h=ol(o,s),d=h.properties.location,m=d*1e3;return i.route_dir>0&&(m=sl(o)*1e3-d*1e3),h.properties.dist*1e3>100|m<100?{value:[-1,0],name:i.id,itemStyle:{color:"#222",show:!1},symbol:"image://https://bus.sustcra.com/bus-top-view.png",symbolSize:30,symbolRotate:180,speed:i.speed}:{value:[1-i.route_dir+a*2,m],name:i.id,itemStyle:{color:"#222"},symbol:"image://https://bus.sustcra.com/bus-top-view.png",symbolSize:30,symbolRotate:180,speed:i.speed}});this.historyBusData=r.filter(i=>typeof i<"u");const n={series:[{},{},{data:r}]};this.setEchartsOption(n)})},refresh(){this.second+=1,this.second%10===0?this.updateBusPos():navigator.geolocation&&navigator.geolocation.getCurrentPosition(e=>{let t=e.coords.latitude,r=e.coords.longitude;const n=Qi([r,t]),i=TD(n,this.stops1),a=ol(this.lines[0].features[0],i).properties.location*1e3,s=sl(this.lines[0].features[0])*1e3-ol(this.lines[0].features[0],i).properties.location*1e3,o=TD(n,this.stops2),h=ol(this.lines[1].features[0],o).properties.location*1e3,d=sl(this.lines[1].features[0])*1e3-ol(this.lines[1].features[0],o).properties.location*1e3,m=this.historyBusData.filter(F=>F.value[0]===0&&F.value[1]<=s).map(F=>parseInt((s-F.value[1])/250)),g=this.historyBusData.filter(F=>F.value[0]===1&&F.value[1]<=a).map(F=>parseInt((a-F.value[1])/250)),y=this.historyBusData.filter(F=>F.value[0]===2&&F.value[1]<=d).map(F=>parseInt((d-F.value[1])/250)),x=this.historyBusData.filter(F=>F.value[0]===3&&F.value[1]<=h).map(F=>parseInt((h-F.value[1])/250)),E=m.length>0?` + 约`+Math.min(...m)+"分钟":"",M=g.length>0?` + 约`+Math.min(...g)+"分钟":"",P=y.length>0?` + 约`+Math.min(...y)+"分钟":"",D=x.length>0?` + 约`+Math.min(...x)+"分钟":"";let k=[],O=[];k=[{name:"最近"+M,itemStyle:{color:"#ff881b"},coord:[1,a]},{name:"最近"+E,itemStyle:{color:"#ff881b"},coord:[0,s]}],O=[{name:"最近"+D,itemStyle:{color:"#379ff4"},coord:[3,h]},{name:"最近"+P,itemStyle:{color:"#379ff4"},coord:[2,d]}],this.setEchartsOption({series:[{markPoint:{symbol:"arrow",symbolRotate:-90,symbolOffset:["-50%",0],symbolSize:10,label:{fontSize:10,show:!0,color:"#666",position:"left",formatter:"{b}"},data:[...k,...O]}},{},{}]})})}},watch:{lines:"updateBusPos"},mounted(){this.load_data(),this.updateBusPos(),this.timer=setInterval(()=>{this.refresh()},500)},unmounted(){clearInterval(this.timer)}},zve=e=>(bT("data-v-adb0a662"),e=e(),xT(),e),Bve=zve(()=>Qt("img",{src:"https://visitor-badge.laobi.icu/badge?page_id=nikebus",alt:"visitor badge",class:"visitor-badge"},null,-1));function Fve(e,t,r,n,i,a){const s=jn("v-chart");return ft(),zt(Mr,null,[Oe(s,{class:"chart",option:e.echartsOption,autoresize:!0},null,8,["option"]),Bve],64)}const $ve=Vr(Ove,[["render",Fve],["__scopeId","data-v-adb0a662"],["__file","BusChartVue.vue"]]),Nve=ss({enhance({app:e}){e.component("BusTable",Cre),e.component("TabView",Rre),e.component("RealtimeMap",$re),e.component("WeatherSpan",Ure),e.component("BusChartVue",$ve)}}),y_=[EH,PH,RH,WH,KH,rU,kq,Uq,Zq,Qq,Nve],Vve=[["v-8daa1a0e","/",{title:"📚南科手册"},["/README.md"]],["v-74bc627b","/about/",{title:"帮助我们完善"},["/about/README.md"]],["v-08ae5eba","/calendar/2018-2019.html",{title:"校历 - 2018-2019 学年"},[":md"]],["v-93cfbde4","/calendar/2019-2020.html",{title:"校历 - 2019-2020 学年"},[":md"]],["v-f917537a","/calendar/2020-2021.html",{title:"校历 - 2020-2021 学年"},[":md"]],["v-1a0de1a3","/calendar/2021-2022.html",{title:"校历 - 2021-2022 学年"},[":md"]],["v-190ab309","/calendar/2021fall.html",{title:""},[":md"]],["v-9eb125fa","/calendar/2022-2023.html",{title:"校历 - 2022-2023 学年"},[":md"]],["v-96167c50","/calendar/",{title:"📅校历"},["/calendar/README.md"]],["v-96536bf0","/contact/",{title:"📇黄页"},["/contact/README.md"]],["v-dbd38712","/emergency/",{title:"应急处理"},["/emergency/README.md"]],["v-c73889da","/facility/",{title:"🏫建筑与设施"},["/facility/README.md"]],["v-2c5c0e04","/facility/building-11-elevator.html",{title:"如何“破解”11栋电梯"},[":md"]],["v-104cfa63","/if-you-are-a-freshman/2021.html",{title:"如果你是新生..."},[":md"]],["v-780207b9","/if-you-are-a-freshman/",{title:"如果你是新生..."},["/if-you-are-a-freshman/README.md"]],["v-14e6315a","/life/",{title:"👨‍🎓生活在南科"},["/life/README.md"]],["v-42f2be94","/life/vehicle-charger.html",{title:"充电桩分布"},[":md"]],["v-ed48bdf8","/media/",{title:"📺媒体与网站"},["/media/README.md"]],["v-f4bc5604","/miniapp/",{title:"南科手册-微信小程序"},["/miniapp/README.md"]],["v-1500d063","/news/",{title:"更新日志"},["/news/README.md"]],["v-014445c8","/organizations/",{title:"🎡社团活动"},["/organizations/README.md"]],["v-461d4a7c","/organizations/registered-organization-2019.html",{title:"注册社团列表(2018-2019年度)"},[":md"]],["v-6ba7e826","/organizations/registered-organization-2020.html",{title:"注册社团列表(2019-2020年度)"},[":md"]],["v-6d5cc0c5","/organizations/registered-organization-2021.html",{title:"注册社团列表(2020-2021年度)"},[":md"]],["v-28ddfa13","/service/",{title:"🖥服务与技巧"},["/service/README.md"]],["v-be92ea7e","/site-help/",{title:"❓站点帮助"},["/site-help/README.md"]],["v-d7188082","/study/",{title:"🎓学在南科"},["/study/README.md"]],["v-d1061704","/study/paper-tools.html",{title:"几个赶 ddl 的好用工具🔧"},[":md"]],["v-4322d0a7","/surroundings/",{title:"🛍周边"},["/surroundings/README.md"]],["v-69b23ddf","/transport/",{title:"🚄交通"},["/transport/README.md"]],["v-57bda71b","/transport/bustimer-old.html",{title:"🚌校园巴士时刻表 SUSTech Campus Bus Info"},[":md"]],["v-1678dd6f","/transport/bustimer-wx.html",{title:"🚌校园巴士时刻表 SUSTech Campus Bus Info"},[":md"]],["v-1630dfb5","/transport/bustimer.html",{title:"🚌校园巴士时刻表 SUSTech Campus Bus Info"},[":md"]],["v-6a28f6e0","/transport/holiday.html",{title:"🚌校园巴士 - 节假日 (2021年6月18日更新)"},[":md"]],["v-48975204","/transport/redirect.html",{title:"🚌校园巴士 - 自动跳转"},[":md"]],["v-8059a7a6","/transport/workday.html",{title:"🚌校园巴士 - 工作日 (2021年6月18日更新)"},[":md"]],["v-181cc452","/contact/professor-emails/",{title:"教授邮件列表"},["/contact/professor-emails/README.md"]],["v-22cd7d0c","/facility/panolens/",{title:"全景看校园"},["/facility/panolens/README.md"]],["v-0e92d420","/if-you-are-a-freshman/preview/",{title:"蓢村拾遗:南科大冷知识2021"},["/if-you-are-a-freshman/preview/README.md"]],["v-2b8cac58","/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E5%AE%BF%E8%88%8D%E7%94%9F%E6%B4%BB%E7%AF%87.html",{title:"新生攻略之宿舍生活篇"},["/life/by-zhicheng-college/新生攻略之宿舍生活篇.html","/life/by-zhicheng-college/新生攻略之宿舍生活篇.md",":md"]],["v-66965350","/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E6%A0%A1%E5%86%85%E4%BB%8B%E7%BB%8D%E7%AF%87.html",{title:"新生攻略之校内介绍篇"},["/life/by-zhicheng-college/新生攻略之校内介绍篇.html","/life/by-zhicheng-college/新生攻略之校内介绍篇.md",":md"]],["v-66317da4","/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E7%A4%BE%E5%9B%A2%E7%AF%87.html",{title:"新生攻略之社团篇"},["/life/by-zhicheng-college/新生攻略之社团篇.html","/life/by-zhicheng-college/新生攻略之社团篇.md",":md"]],["v-5c3fcdf6","/life/catering/",{title:"☕️餐饮"},["/life/catering/README.md"]],["v-04710004","/life/dormitory/",{title:"🏠住在南科"},["/life/dormitory/README.md"]],["v-5589dd0c","/life/dormitory/dorm-floor-plan.html",{title:"宿舍平面图"},[":md"]],["v-d42194b6","/life/freshman-register/",{title:"新生报到"},["/life/freshman-register/README.md"]],["v-20383a78","/life/sports-facility/",{title:"🏊‍♀️运动设施"},["/life/sports-facility/README.md"]],["v-42c1fa44","/service/campus-card/",{title:"💳校园卡"},["/service/campus-card/README.md"]],["v-76cff034","/service/email/",{title:"电子邮件服务"},["/service/email/README.md"]],["v-ac3449b2","/service/email/send-receive-email-by-proxy.html",{title:"解决邮箱容量不足的问题"},[":md"]],["v-29860ed0","/service/mail-and-express/",{title:"📦邮件与快递收发"},["/service/mail-and-express/README.md"]],["v-622da02f","/service/matlab/",{title:"MATLAB 激活"},["/service/matlab/README.md"]],["v-5e590ec6","/service/medical-treatment/",{title:"🏥就医指南"},["/service/medical-treatment/README.md"]],["v-1fa222d4","/service/network/",{title:"🌐网络与信息中心 (its@sustech.edu.cn)"},["/service/network/README.md"]],["v-48519846","/service/sakai/",{title:"Sakai | 文件分享"},["/service/sakai/README.md"]],["v-369295b4","/service/sid/",{title:"学号(SID)"},["/service/sid/README.md"]],["v-3692bb1f","/service/ssc/",{title:""},["/service/ssc/README.md"]],["v-425958ce","/service/student-train-ticket/",{title:"火车票学生优惠使用指南"},["/service/student-train-ticket/README.md"]],["v-3692ee77","/service/tax/",{title:"如何申报退税?-- 年度个人所得税年度汇算"},["/service/tax/README.md"]],["v-2686552a","/service/unifound/",{title:"🖨️联创打印系统"},["/service/unifound/README.md"]],["v-45d74ec0","/service/work-wechat/",{title:"企业微信"},["/service/work-wechat/README.md"]],["v-772a5784","/study/borrow-books/",{title:"📗教材与图书借还"},["/study/borrow-books/README.md"]],["v-8460eeb8","/study/by-shude-college/advice-on-study.html",{title:"📖学习建议"},[":md"]],["v-435bd49a","/study/by-shude-college/info-on-study.html",{title:"📖学习制度与信息"},[":md"]],["v-6323734e","/study/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E5%AD%A6%E4%B9%A0%E7%AF%87.html",{title:"新生攻略之学习篇"},["/study/by-zhicheng-college/新生攻略之学习篇.html","/study/by-zhicheng-college/新生攻略之学习篇.md",":md"]],["v-5eb748bf","/study/cse/innovative-project.html",{title:"南方科技大学计算机系创新实践项目汇总"},[":md"]],["v-2a23f022","/service/blackboard/retrive-ics-url/",{title:"BB | 将Blackboard中作业,DDL等日程添加到系统日历"},["/service/blackboard/retrive-ics-url/README.md"]],["v-66061b92","/service/network/apply-for-vpn/",{title:"申请回校VPN"},["/service/network/apply-for-vpn/README.md"]],["v-89ac2bec","/service/network/choose-a-pad/",{title:"选择一台合适的平板电脑"},["/service/network/choose-a-pad/README.md"]],["v-1549b190","/service/network/choose-a-router/",{title:"📶选择一台合适的路由器"},["/service/network/choose-a-router/README.md"]],["v-9e1961f8","/service/network/eduroam/",{title:"eduroam(学术网路漫游)"},["/service/network/eduroam/README.md"]],["v-6bba5e58","/service/network/ipv6/",{title:"校内 IPv6 设置教程"},["/service/network/ipv6/README.md"]],["v-83a77034","/service/network/remote-desktop/",{title:"校内远程桌面使用指北"},["/service/network/remote-desktop/README.md"]],["v-296d1d15","/service/network/use-vpn/",{title:"使用 SSL VPN 说明"},["/service/network/use-vpn/README.md"]],["v-fb711be8","/study/book-list-by-prof-yuan/2018/",{title:"袁长庚老师为新生推荐的书单(2018)"},["/study/book-list-by-prof-yuan/2018/README.md"]],["v-3706649a","/404.html",{title:""},[]]];var p3=Ut({name:"Vuepress",setup(){const e=pj();return()=>br(e.value)}}),jve=()=>Vve.reduce((e,[t,r,n,i])=>(e.push({name:t,path:r,component:p3,meta:n},{path:r.endsWith("/")?r+"index.html":r.substring(0,r.length-5),redirect:r},...i.map(a=>({path:a===":md"?r.substring(0,r.length-5)+".md":a,redirect:r}))),e),[{name:"404",path:"/:catchAll(.*)",component:p3}]),Hve=Bj,Uve=()=>{const e=_H({history:Hve(CR("/")),routes:jve(),scrollBehavior:(t,r,n)=>n||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,r)=>{var n;(t.path!==r.path||r===fl)&&([t.meta._data]=await Promise.all([hl.resolvePageData(t.name),(n=MR[t.name])==null?void 0:n.__asyncLoader()]))}),e},Gve=e=>{e.component("ClientOnly",RT),e.component("Content",_j)},qve=(e,t,r)=>{const n=GP(()=>t.currentRoute.value.path),i=GP(()=>hl.resolveRouteLocale(Tf.value.locales,n.value)),a=aU(n,()=>t.currentRoute.value.meta._data),s=ze(()=>hl.resolveLayouts(r)),o=ze(()=>hl.resolveSiteLocaleData(Tf.value,i.value)),h=ze(()=>hl.resolvePageFrontmatter(a.value)),d=ze(()=>hl.resolvePageHeadTitle(a.value,o.value)),m=ze(()=>hl.resolvePageHead(d.value,h.value,o.value)),g=ze(()=>hl.resolvePageLang(a.value,o.value)),y=ze(()=>hl.resolvePageLayout(a.value,s.value));return e.provide(cj,s),e.provide(PR,a),e.provide(IR,h),e.provide(dj,d),e.provide(DR,m),e.provide(LR,g),e.provide(RR,y),e.provide(LT,i),e.provide(zR,o),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>h.value},$head:{get:()=>m.value},$headTitle:{get:()=>d.value},$lang:{get:()=>g.value},$page:{get:()=>a.value},$routeLocale:{get:()=>i.value},$site:{get:()=>Tf.value},$siteLocale:{get:()=>o.value},$withBase:{get:()=>a1}}),{layouts:s,pageData:a,pageFrontmatter:h,pageHead:m,pageHeadTitle:d,pageLang:g,pageLayout:y,routeLocale:i,siteData:Tf,siteLocaleData:o}},Wve=()=>{const e=fj(),t=kR(),r=xr([]),n=()=>{e.value.forEach(a=>{const s=Zve(a);s&&r.value.push(s)})},i=()=>{document.documentElement.lang=t.value,r.value.forEach(a=>{a.parentNode===document.head&&document.head.removeChild(a)}),r.value.splice(0,r.value.length),e.value.forEach(a=>{const s=Xve(a);s!==null&&(document.head.appendChild(s),r.value.push(s))})};zi(vj,i),Gn(()=>{n(),i(),Qr(()=>e.value,i)})},Zve=([e,t,r=""])=>{const n=Object.entries(t).map(([o,h])=>ks(h)?`[${o}=${JSON.stringify(h)}]`:h===!0?`[${o}]`:"").join(""),i=`head > ${e}${n}`;return Array.from(document.querySelectorAll(i)).find(o=>o.innerText===r)||null},Xve=([e,t,r])=>{if(!ks(e))return null;const n=document.createElement(e);return DT(t)&&Object.entries(t).forEach(([i,a])=>{ks(a)?n.setAttribute(i,a):a===!0&&n.setAttribute(i,"")}),ks(r)&&n.appendChild(document.createTextNode(r)),n},Yve=ej,Kve=async()=>{var r;const e=Yve({name:"VuepressApp",setup(){var n;Wve();for(const i of y_)(n=i.setup)==null||n.call(i);return()=>[br(ZR),...y_.flatMap(({rootComponents:i=[]})=>i.map(a=>br(a)))]}}),t=Uve();Gve(e),qve(e,t,y_);for(const n of y_)await((r=n.enhance)==null?void 0:r.call(n,{app:e,router:t,siteData:Tf}));return e.use(t),{app:e,router:t}};Kve().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{Vr as _,Oe as a,Qt as b,zt as c,Kve as createVueApp,Cl as d,tV as e,ft as o,jn as r,Pn as w}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["assets/2022-2023.html-FKO2ZOW6.js","assets/22-23-spring-lUrMAlUU.js","assets/index.html-sNVbTfPX.js","assets/index.html-a6AZwlDl.js","assets/1-sxH-Yy_l.js","assets/index.html-itv085KC.js","assets/bustimer-old.html-HcxOd5i9.js","assets/busline2-MmQkur0r.js","assets/holiday.html-UKOnGmcn.js","assets/workday.html-K3eFMMMJ.js"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} \ No newline at end of file diff --git a/assets/apply-DKs9a8UR.png b/assets/apply-DKs9a8UR.png new file mode 100644 index 000000000..003fa2321 Binary files /dev/null and b/assets/apply-DKs9a8UR.png differ diff --git a/assets/bb-due-gcal-3HDioHdf.png b/assets/bb-due-gcal-3HDioHdf.png new file mode 100644 index 000000000..8b1298b7d Binary files /dev/null and b/assets/bb-due-gcal-3HDioHdf.png differ diff --git a/assets/bb-due-macos-UHdW8Lz3.png b/assets/bb-due-macos-UHdW8Lz3.png new file mode 100644 index 000000000..52d1987b9 Binary files /dev/null and b/assets/bb-due-macos-UHdW8Lz3.png differ diff --git a/assets/building-11-elevator.html-4iGVymmT.js b/assets/building-11-elevator.html-4iGVymmT.js new file mode 100644 index 000000000..270fa6af3 --- /dev/null +++ b/assets/building-11-elevator.html-4iGVymmT.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-2c5c0e04","path":"/facility/building-11-elevator.html","title":"如何“破解”11栋电梯","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"安全","slug":"安全","link":"#安全","children":[]},{"level":2,"title":"背景介绍","slug":"背景介绍","link":"#背景介绍","children":[]},{"level":2,"title":"使用其他电梯去到目标楼层","slug":"使用其他电梯去到目标楼层","link":"#使用其他电梯去到目标楼层","children":[]},{"level":2,"title":"前提条件","slug":"前提条件","link":"#前提条件","children":[{"level":3,"title":"原理","slug":"原理","link":"#原理","children":[]},{"level":3,"title":"具体操作","slug":"具体操作","link":"#具体操作","children":[]}]},{"level":2,"title":"从2楼下到1楼","slug":"从2楼下到1楼","link":"#从2楼下到1楼","children":[{"level":3,"title":"前提条件","slug":"前提条件-1","link":"#前提条件-1","children":[]},{"level":3,"title":"具体操作","slug":"具体操作-1","link":"#具体操作-1","children":[]},{"level":3,"title":"使用其他电梯去到目标楼层","slug":"使用其他电梯去到目标楼层-1","link":"#使用其他电梯去到目标楼层-1","children":[]},{"level":3,"title":"从2楼下到1楼","slug":"从2楼下到1楼-1","link":"#从2楼下到1楼-1","children":[]}]}],"git":{"updatedTime":1660914355000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"facility/building-11-elevator.md"}');export{l as data}; diff --git a/assets/building-11-elevator.html-PC8wBprB.js b/assets/building-11-elevator.html-PC8wBprB.js new file mode 100644 index 000000000..da6a925d9 --- /dev/null +++ b/assets/building-11-elevator.html-PC8wBprB.js @@ -0,0 +1 @@ +import{_ as a,o as e,c as r,e as h}from"./app-9djxHuta.js";const i="/assets/DSC_4009-la6IQI6t.jpg",d="/assets/ezgif-1-4b6eb0f482-VbfMxX-Q.gif",s="/assets/DSC_4011-zDaaLHs9.jpg",t="/assets/ezgif-4-ff801845c5-Z8HOvQYw.gif",n="/assets/ezgif-4-9deed49e58-hxwbUcuV.gif",c={},p=h('

如何“破解”11栋电梯

by 曹正阳

事先声明

安全

电梯是特种设备,和人身安全直接相关,请严肃的使用电梯。本文目的是为了给大家丰富眼界,不鼓励效仿,你的安全需要你自己负责。

背景介绍

本文主要写给11栋土著,但以防你没有11栋住宿经验,简单介绍一下11栋的电梯。

11栋共有四部电梯,除消防电梯外,其余三部因为人太多,限制了每部电梯的具体到达楼层。

比如2号电梯可以到达1~2楼,11~14楼。

比如2号电梯可以到达1~2楼,11~14楼。

长久以来,三部电梯只能使用一部。即使当所有电梯都空闲,你也只能选择对应的一部,不免有些难受。

“破解”流程

使用其他电梯去到目标楼层

前提条件

**除了你,没有其他人在使用电梯。**一般这种情况会发生在深夜和假期人少的时候。

原理

开始长按某个楼层键的一瞬间,意味着取消去往这个楼层。当电梯只有一个目的地,即面板上只有一个楼层的按键亮着,长按这个个亮着的按键不到两秒,电梯会在当前运行位置停下来,松手按键变暗。再按开门键,你就可以到达运行停止位置的楼层。

图仅仅在演示长按可以取消,此时电梯还是会前往1楼。

图仅仅在演示长按可以取消,此时电梯还是会前往1楼。

具体操作

假设你是一位11楼的住户,刚踢完球大汗淋漓。和你一同等待电梯的,只有一位刚结束学习的13楼住户,你不想给这位13楼住户留下不好的印象,于是你进入了最右边的3号电梯。

DSC_4011.JPG

你按下了15楼的按钮,但你不是真的要去15楼。

ezgif-4-ff801845c5.gif

在电梯数字快要跳到11楼时,你开始长按15楼按键,电梯失去了目标,停在了11楼。松开按着15楼的手,面板上15楼按键熄灭。

ezgif-4-9deed49e58.gif

于是你潇洒地按下开门键,你来到了11楼,看着2号电梯屏幕上残留的13,你满意地离开。

从2楼下到1楼

前提条件

首先电梯不能从2楼下行到1楼(截止2022年8月,11栋2楼因为怕人多从2楼蹭电梯,所以不能下行)

然后**除了你,没有其他人在使用电梯。**一般这种情况会发生在深夜和假期人少的时候。

具体操作

先按下2楼某一部电梯的上行键,待电梯开门后,按下1楼的按键,电梯会迟疑一会然后下行。

总结

使用其他电梯去到目标楼层

不管用不用,增加了一种上行方式,能够有得选总是好的。

中、低楼层的同学除特定电梯、楼梯外,还多出另外一部或两部电梯的特定使用权。而15~17楼的高楼层同学较为可怜,没有操作的余地。

从2楼下到1楼

增加了一种下行方式,能够有得选总是好的。

',39),o=[p];function f(l,_){return e(),r("div",null,o)}const b=a(c,[["render",f],["__file","building-11-elevator.html.vue"]]);export{b as default}; diff --git a/assets/busline2-E9shBAlJ.png b/assets/busline2-E9shBAlJ.png new file mode 100644 index 000000000..d4b47dbf9 Binary files /dev/null and b/assets/busline2-E9shBAlJ.png differ diff --git a/assets/busline2-MmQkur0r.js b/assets/busline2-MmQkur0r.js new file mode 100644 index 000000000..7a131d0a3 --- /dev/null +++ b/assets/busline2-MmQkur0r.js @@ -0,0 +1 @@ +const s="/assets/busline2-E9shBAlJ.png";export{s as _}; diff --git a/assets/bustimer-old.html-Faj4m8ZC.js b/assets/bustimer-old.html-Faj4m8ZC.js new file mode 100644 index 000000000..f91676e45 --- /dev/null +++ b/assets/bustimer-old.html-Faj4m8ZC.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-57bda71b","path":"/transport/bustimer-old.html","title":"🚌校园巴士时刻表 SUSTech Campus Bus Info","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"路线图 System Map","slug":"路线图-system-map","link":"#路线图-system-map","children":[]},{"level":2,"title":"车辆位置 Bus Realtime Loaction","slug":"车辆位置-bus-realtime-loaction","link":"#车辆位置-bus-realtime-loaction","children":[]},{"level":2,"title":"时间表 Timetable","slug":"时间表-timetable","link":"#时间表-timetable","children":[]}],"git":{"updatedTime":1688481785000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":3}]},"filePathRelative":"transport/bustimer-old.md"}');export{e as data}; diff --git a/assets/bustimer-old.html-HcxOd5i9.js b/assets/bustimer-old.html-HcxOd5i9.js new file mode 100644 index 000000000..6310fb696 --- /dev/null +++ b/assets/bustimer-old.html-HcxOd5i9.js @@ -0,0 +1 @@ +import{_ as c}from"./busline2-MmQkur0r.js";import{_ as i,r as e,o as l,c as h,a,w as d,e as m,b as t,d as u}from"./app-9djxHuta.js";const _={},p=m('

🚌校园巴士时刻表 SUSTech Campus Bus Info

路线图 System Map

车辆位置 Bus Realtime Loaction

位置每5秒自动刷新。Location refreshes automatically every 5 seconds

',5),f=t("h2",{id:"时间表-timetable",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#时间表-timetable","aria-hidden":"true"},"#"),u(" 时间表 Timetable")],-1);function b(x,B){const s=e("RealtimeMap"),n=e("ClientOnly"),o=e("BusChartVue"),r=e("BusTable");return l(),h("div",null,[p,a(n,null,{default:d(()=>[a(s)]),_:1}),a(o),f,a(r)])}const V=i(_,[["render",b],["__file","bustimer-old.html.vue"]]);export{V as default}; diff --git a/assets/bustimer-wx.html-IPPlChhw.js b/assets/bustimer-wx.html-IPPlChhw.js new file mode 100644 index 000000000..f600173ef --- /dev/null +++ b/assets/bustimer-wx.html-IPPlChhw.js @@ -0,0 +1 @@ +const a=JSON.parse('{"key":"v-1678dd6f","path":"/transport/bustimer-wx.html","title":"🚌校园巴士时刻表 SUSTech Campus Bus Info","lang":"zh-CN","frontmatter":{"sidebar":false,"navbar":false},"headers":[],"git":{"updatedTime":1692711127000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":13},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":6},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"transport/bustimer-wx.md"}');export{a as data}; diff --git a/assets/bustimer-wx.html-MBhedQHj.js b/assets/bustimer-wx.html-MBhedQHj.js new file mode 100644 index 000000000..75d4c6d47 --- /dev/null +++ b/assets/bustimer-wx.html-MBhedQHj.js @@ -0,0 +1 @@ +import{_ as i,r as t,o as l,c as _,b as e,d as s,a as n,w as u}from"./app-9djxHuta.js";const d={},m=e("h1",{id:"🚌校园巴士时刻表-sustech-campus-bus-info",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#🚌校园巴士时刻表-sustech-campus-bus-info","aria-hidden":"true"},"#"),s(" 🚌校园巴士时刻表 SUSTech Campus Bus Info")],-1),h={class:"custom-container tip"},p={class:"custom-container-title"},f=e("img",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/img/misc/nces-ad-202308.png",alt:""},null,-1),x={href:"https://nces.cra.moe/",target:"_blank",rel:"noopener noreferrer"};function b(g,B){const o=t("Badge"),c=t("ExternalLinkIcon"),a=t("TabView"),r=t("ClientOnly");return l(),_("div",null,[m,e("div",h,[e("p",p,[s("牛娃课程评价社区 "),n(o,{text:"选课合作",type:"tip"})]),e("p",null,[f,e("strong",null,[e("a",x,[s("点此访问 牛娃课程评价社区 nces.cra.moe"),n(c)])])])]),n(r,null,{default:u(()=>[n(a)]),_:1})])}const w=i(d,[["render",b],["__file","bustimer-wx.html.vue"]]);export{w as default}; diff --git a/assets/bustimer.html-AqtGlpCR.js b/assets/bustimer.html-AqtGlpCR.js new file mode 100644 index 000000000..f2c8796d0 --- /dev/null +++ b/assets/bustimer.html-AqtGlpCR.js @@ -0,0 +1 @@ +import{_ as i,r as t,o as l,c as _,b as e,d as s,a as n,w as u}from"./app-9djxHuta.js";const d={},m=e("h1",{id:"🚌校园巴士时刻表-sustech-campus-bus-info",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#🚌校园巴士时刻表-sustech-campus-bus-info","aria-hidden":"true"},"#"),s(" 🚌校园巴士时刻表 SUSTech Campus Bus Info")],-1),h={class:"custom-container tip"},p={class:"custom-container-title"},f=e("img",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/img/misc/nces-ad-202308.png",alt:""},null,-1),b={href:"https://nces.cra.moe/",target:"_blank",rel:"noopener noreferrer"};function x(g,B){const o=t("Badge"),c=t("ExternalLinkIcon"),a=t("TabView"),r=t("ClientOnly");return l(),_("div",null,[m,e("div",h,[e("p",p,[s("牛娃课程评价社区 "),n(o,{text:"选课合作",type:"tip"})]),e("p",null,[f,e("strong",null,[e("a",b,[s("点此访问 牛娃课程评价社区 nces.cra.moe"),n(c)])])])]),n(r,null,{default:u(()=>[n(a)]),_:1})])}const C=i(d,[["render",x],["__file","bustimer.html.vue"]]);export{C as default}; diff --git a/assets/bustimer.html-mLWTxTw3.js b/assets/bustimer.html-mLWTxTw3.js new file mode 100644 index 000000000..a1bd4fff0 --- /dev/null +++ b/assets/bustimer.html-mLWTxTw3.js @@ -0,0 +1 @@ +const m=JSON.parse('{"key":"v-1630dfb5","path":"/transport/bustimer.html","title":"🚌校园巴士时刻表 SUSTech Campus Bus Info","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1692711127000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":14},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":12},{"name":"ZiJian Zhang","email":"doomspec@outlook.com","commits":2},{"name":"Qing Yu","email":"53589767+ni1o1@users.noreply.github.com","commits":1},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":1},{"name":"yzhang","email":"583181285@qq.com","commits":1}]},"filePathRelative":"transport/bustimer.md"}');export{m as data}; diff --git a/assets/c31235e66edd43d69202f54f3c0aed46-qyFsav7g.jpeg b/assets/c31235e66edd43d69202f54f3c0aed46-qyFsav7g.jpeg new file mode 100644 index 000000000..62aabee71 Binary files /dev/null and b/assets/c31235e66edd43d69202f54f3c0aed46-qyFsav7g.jpeg differ diff --git a/assets/c49bd903118a448eba26fed3624dadc6-hipp77FF.jpeg b/assets/c49bd903118a448eba26fed3624dadc6-hipp77FF.jpeg new file mode 100644 index 000000000..d88da7477 Binary files /dev/null and b/assets/c49bd903118a448eba26fed3624dadc6-hipp77FF.jpeg differ diff --git a/assets/cas-login--EGDNo6t.png b/assets/cas-login--EGDNo6t.png new file mode 100644 index 000000000..f51552dff Binary files /dev/null and b/assets/cas-login--EGDNo6t.png differ diff --git a/assets/catering_map-J_P_LKY6.jpg b/assets/catering_map-J_P_LKY6.jpg new file mode 100644 index 000000000..2a8dd3c7a Binary files /dev/null and b/assets/catering_map-J_P_LKY6.jpg differ diff --git a/assets/chrome-browser-desktop-2ZoGLkFF.png b/assets/chrome-browser-desktop-2ZoGLkFF.png new file mode 100644 index 000000000..2bcddf61f Binary files /dev/null and b/assets/chrome-browser-desktop-2ZoGLkFF.png differ diff --git a/assets/copy-1-J6k3XspF.jpeg b/assets/copy-1-J6k3XspF.jpeg new file mode 100644 index 000000000..2675aa8e3 Binary files /dev/null and b/assets/copy-1-J6k3XspF.jpeg differ diff --git a/assets/copy-2-_0fTm8Mu.jpeg b/assets/copy-2-_0fTm8Mu.jpeg new file mode 100644 index 000000000..1f19ed37c Binary files /dev/null and b/assets/copy-2-_0fTm8Mu.jpeg differ diff --git a/assets/copy-3-Ce_cOVMe.jpeg b/assets/copy-3-Ce_cOVMe.jpeg new file mode 100644 index 000000000..80bf3eb0e Binary files /dev/null and b/assets/copy-3-Ce_cOVMe.jpeg differ diff --git a/assets/copy-4-w3mR318j.jpeg b/assets/copy-4-w3mR318j.jpeg new file mode 100644 index 000000000..46be2573b Binary files /dev/null and b/assets/copy-4-w3mR318j.jpeg differ diff --git a/assets/copy-5-hKktSqSx.jpeg b/assets/copy-5-hKktSqSx.jpeg new file mode 100644 index 000000000..6b3327936 Binary files /dev/null and b/assets/copy-5-hKktSqSx.jpeg differ diff --git a/assets/database-TrGuD1Xs.png b/assets/database-TrGuD1Xs.png new file mode 100644 index 000000000..64abe9fe5 Binary files /dev/null and b/assets/database-TrGuD1Xs.png differ diff --git a/assets/discount-r_jTA4Jy.png b/assets/discount-r_jTA4Jy.png new file mode 100644 index 000000000..9d202b604 Binary files /dev/null and b/assets/discount-r_jTA4Jy.png differ diff --git a/assets/docsearch-w40geAFS.js b/assets/docsearch-w40geAFS.js new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/assets/docsearch-w40geAFS.js @@ -0,0 +1 @@ + diff --git a/assets/dorm-floor-plan.html-R6l3LXrU.js b/assets/dorm-floor-plan.html-R6l3LXrU.js new file mode 100644 index 000000000..a584efa0a --- /dev/null +++ b/assets/dorm-floor-plan.html-R6l3LXrU.js @@ -0,0 +1 @@ +const o=JSON.parse('{"key":"v-5589dd0c","path":"/life/dormitory/dorm-floor-plan.html","title":"宿舍平面图","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1660966100000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":2}]},"filePathRelative":"life/dormitory/dorm-floor-plan.md"}');export{o as data}; diff --git a/assets/dorm-floor-plan.html-i5TXqOwP.js b/assets/dorm-floor-plan.html-i5TXqOwP.js new file mode 100644 index 000000000..371aeef7e --- /dev/null +++ b/assets/dorm-floor-plan.html-i5TXqOwP.js @@ -0,0 +1 @@ +import{_ as t,r as n,o as l,c as i,b as e,d as o,a as s}from"./app-9djxHuta.js";const d={},h=e("h1",{id:"宿舍平面图",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#宿舍平面图","aria-hidden":"true"},"#"),o(" 宿舍平面图")],-1),c={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/dormitory-floor-plan/lakeside-dorm-floor-plan.pdf",target:"_blank",rel:"noopener noreferrer"},u=e("iframe",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/pdfjs/web/viewer.html?file=https://mirrors.sustech.edu.cn/site/sustech-online/documents/dormitory-floor-plan/lakeside-dorm-floor-plan.pdf",width:"100%",height:"600"},null,-1),a={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/dormitory-floor-plan/phase2-dorm-floor-plan.pdf",target:"_blank",rel:"noopener noreferrer"},m=e("iframe",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/pdfjs/web/viewer.html?file=https://mirrors.sustech.edu.cn/site/sustech-online/documents/dormitory-floor-plan/phase2-dorm-floor-plan.pdf",width:"100%",height:"600"},null,-1),p={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/dormitory-floor-plan/lychee-hill-dorm-floor-plan.pdf",target:"_blank",rel:"noopener noreferrer"},f=e("iframe",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/pdfjs/web/viewer.html?file=https://mirrors.sustech.edu.cn/site/sustech-online/documents/dormitory-floor-plan/lychee-hill-dorm-floor-plan.pdf",width:"100%",height:"600"},null,-1),_={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/dormitory-floor-plan/joy-highland-dorm-floor-plan.pdf",target:"_blank",rel:"noopener noreferrer"},y=e("iframe",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/pdfjs/web/viewer.html?file=https://mirrors.sustech.edu.cn/site/sustech-online/documents/dormitory-floor-plan/joy-highland-dorm-floor-plan.pdf",width:"100%",height:"600"},null,-1);function w(g,k){const r=n("ExternalLinkIcon");return l(),i("div",null,[h,e("ul",null,[e("li",null,[o("湖畔宿舍:"),e("a",c,[o("https://mirrors.sustech.edu.cn/site/sustech-online/documents/dormitory-floor-plan/lakeside-dorm-floor-plan.pdf"),s(r)])])]),u,e("ul",null,[e("li",null,[o("二期宿舍:"),e("a",a,[o("https://mirrors.sustech.edu.cn/site/sustech-online/documents/dormitory-floor-plan/phase2-dorm-floor-plan.pdf"),s(r)])])]),m,e("ul",null,[e("li",null,[o("荔园宿舍:"),e("a",p,[o("https://mirrors.sustech.edu.cn/site/sustech-online/documents/dormitory-floor-plan/lychee-hill-dorm-floor-plan.pdf"),s(r)])])]),f,e("ul",null,[e("li",null,[o("欣园宿舍:"),e("a",_,[o("https://mirrors.sustech.edu.cn/site/sustech-online/documents/dormitory-floor-plan/joy-highland-dorm-floor-plan.pdf"),s(r)])])]),y])}const j=t(d,[["render",w],["__file","dorm-floor-plan.html.vue"]]);export{j as default}; diff --git a/assets/english-vocabulary-daka-L7m3h5KE.png b/assets/english-vocabulary-daka-L7m3h5KE.png new file mode 100644 index 000000000..8924e0841 Binary files /dev/null and b/assets/english-vocabulary-daka-L7m3h5KE.png differ diff --git a/assets/ezgif-1-4b6eb0f482-VbfMxX-Q.gif b/assets/ezgif-1-4b6eb0f482-VbfMxX-Q.gif new file mode 100644 index 000000000..1b8a07fbf Binary files /dev/null and b/assets/ezgif-1-4b6eb0f482-VbfMxX-Q.gif differ diff --git a/assets/ezgif-4-9deed49e58-hxwbUcuV.gif b/assets/ezgif-4-9deed49e58-hxwbUcuV.gif new file mode 100644 index 000000000..b6abbb208 Binary files /dev/null and b/assets/ezgif-4-9deed49e58-hxwbUcuV.gif differ diff --git a/assets/ezgif-4-ff801845c5-Z8HOvQYw.gif b/assets/ezgif-4-ff801845c5-Z8HOvQYw.gif new file mode 100644 index 000000000..d854db826 Binary files /dev/null and b/assets/ezgif-4-ff801845c5-Z8HOvQYw.gif differ diff --git a/assets/facdf1031d8e47ecaba7e9bf2fda59ba-pvyAPNPL.jpeg b/assets/facdf1031d8e47ecaba7e9bf2fda59ba-pvyAPNPL.jpeg new file mode 100644 index 000000000..b4904f84b Binary files /dev/null and b/assets/facdf1031d8e47ecaba7e9bf2fda59ba-pvyAPNPL.jpeg differ diff --git a/assets/get-link-mulcz4lU.png b/assets/get-link-mulcz4lU.png new file mode 100644 index 000000000..9d71c9c0c Binary files /dev/null and b/assets/get-link-mulcz4lU.png differ diff --git a/assets/holiday.html-NK0n-Ccq.js b/assets/holiday.html-NK0n-Ccq.js new file mode 100644 index 000000000..0d7b6ce84 --- /dev/null +++ b/assets/holiday.html-NK0n-Ccq.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-6a28f6e0","path":"/transport/holiday.html","title":"🚌校园巴士 - 节假日 (2021年6月18日更新)","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"快速跳转","slug":"快速跳转","link":"#快速跳转","children":[]},{"level":2,"title":"1路 欣园 → 工学院(共58班)","slug":"_1路-欣园-→-工学院-共58班","link":"#_1路-欣园-→-工学院-共58班","children":[]},{"level":2,"title":"1路 工学院 → 欣园(共58班)","slug":"_1路-工学院-→-欣园-共58班","link":"#_1路-工学院-→-欣园-共58班","children":[]},{"level":2,"title":"参考文献","slug":"参考文献","link":"#参考文献","children":[]}],"git":{"updatedTime":1640077007000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":15},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":6}]},"filePathRelative":"transport/holiday.md"}');export{l as data}; diff --git a/assets/holiday.html-UKOnGmcn.js b/assets/holiday.html-UKOnGmcn.js new file mode 100644 index 000000000..be5aaba53 --- /dev/null +++ b/assets/holiday.html-UKOnGmcn.js @@ -0,0 +1 @@ +import{_ as g}from"./busline2-MmQkur0r.js";import{_ as m,r as E,o as w,c as A,b as n,d as c,a as p,e as x}from"./app-9djxHuta.js";const F={mounted(){function d(a){var o=new Date;o.setMinutes(o.getMinutes()-a);var t=o.getHours(),r=t<10?"0"+t:t,e=o.getMinutes(),s=e<10?"0"+e:e;return r+":"+s}function i(a){for(var o=d(20),t=d(0),r=0,e=0,s=a.length;e"+$(this).text()+"")}))}},o,t,s=i(h.hl2coe);o=s.now_table;var r=s.row,e=$("#holi-bus-hl2coe").DataTable($.extend(!0,{data:o},a)),_=$(e.row(Math.min(r,o.length)).node()).offset().top-$(e.row(0).node()).offset().top;$("#bus-table-hl2coe .dataTables_scrollBody").scrollTop(_);var s=i(h.coe2hl);t=s.now_table;var v=s.row,b=$("#holi-bus-coe2hl").DataTable($.extend(!0,{data:t},a)),_=$(b.row(Math.min(v,t.length)).node()).offset().top-$(b.row(0).node()).offset().top;$("#bus-table-coe2hl .dataTables_scrollBody").scrollTop(_)}}document.addEventListener("DOMContentLoaded",u,!1),$(document).ready(function(){u()})}},B=x('

🚌校园巴士 - 节假日 (2021年6月18日更新)

快速跳转

节假日仅 1路 运行。

1路 欣园 → 工学院(共58班)

1路 工学院 → 欣园(共58班)

参考文献

',10),D=n("code",null,"校园服务办公室 ",-1),T={href:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/transport/Campus_Bus_Schedule_2021_06_CN.pdf",target:"_blank",rel:"noopener noreferrer"},k={href:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/transport/Campus_Bus_Schedule_2021_06_EN.pdf",target:"_blank",rel:"noopener noreferrer"};function C(d,i,h,u,a,o){const t=E("ExternalLinkIcon");return w(),A("div",null,[B,n("ul",null,[n("li",null,[c("2021年6月18日 "),D,c(" 邮件《【关于调整校园巴士运行班次及线路的通知 Notice on Adjustment of Campus Bus Schedule and Routes【2021】26号》 "),n("ul",null,[n("li",null,[n("a",T,[c("下载链接-中文"),p(t)]),c("(右键 / 长按保存)")]),n("li",null,[n("a",k,[c("Download-English"),p(t)]),c("(Right click / long press to save)")])])])])])}const L=m(F,[["render",C],["__file","holiday.html.vue"]]);export{L as default}; diff --git a/assets/ics-url-4aQtz63O.png b/assets/ics-url-4aQtz63O.png new file mode 100644 index 000000000..5ed03f25f Binary files /dev/null and b/assets/ics-url-4aQtz63O.png differ diff --git a/assets/image-1-enLCWUG_.png b/assets/image-1-enLCWUG_.png new file mode 100644 index 000000000..81f2f3ab7 Binary files /dev/null and b/assets/image-1-enLCWUG_.png differ diff --git a/assets/image-10-1024x161-5FprX9av.png b/assets/image-10-1024x161-5FprX9av.png new file mode 100644 index 000000000..e4b6b811c Binary files /dev/null and b/assets/image-10-1024x161-5FprX9av.png differ diff --git a/assets/image-11-1024x983-w1eSTSoW.png b/assets/image-11-1024x983-w1eSTSoW.png new file mode 100644 index 000000000..2e01d2928 Binary files /dev/null and b/assets/image-11-1024x983-w1eSTSoW.png differ diff --git a/assets/image-12-lKG68wdA.png b/assets/image-12-lKG68wdA.png new file mode 100644 index 000000000..9f52c6645 Binary files /dev/null and b/assets/image-12-lKG68wdA.png differ diff --git a/assets/image-13-1024x530-vyIsUyfj.png b/assets/image-13-1024x530-vyIsUyfj.png new file mode 100644 index 000000000..3169da7c5 Binary files /dev/null and b/assets/image-13-1024x530-vyIsUyfj.png differ diff --git a/assets/image-14-1024x783-YCwUlyLm.png b/assets/image-14-1024x783-YCwUlyLm.png new file mode 100644 index 000000000..c1142720e Binary files /dev/null and b/assets/image-14-1024x783-YCwUlyLm.png differ diff --git a/assets/image-15-1024x173-BLa4ZQw3.png b/assets/image-15-1024x173-BLa4ZQw3.png new file mode 100644 index 000000000..4c1cf19e7 Binary files /dev/null and b/assets/image-15-1024x173-BLa4ZQw3.png differ diff --git a/assets/image-16-1024x538-VeFxW03J.png b/assets/image-16-1024x538-VeFxW03J.png new file mode 100644 index 000000000..f1ea7ef55 Binary files /dev/null and b/assets/image-16-1024x538-VeFxW03J.png differ diff --git a/assets/image-18-N2AY0YpI.png b/assets/image-18-N2AY0YpI.png new file mode 100644 index 000000000..ba65ddbe9 Binary files /dev/null and b/assets/image-18-N2AY0YpI.png differ diff --git a/assets/image-2-E5XuMcaW.png b/assets/image-2-E5XuMcaW.png new file mode 100644 index 000000000..eaa759e1b Binary files /dev/null and b/assets/image-2-E5XuMcaW.png differ diff --git a/assets/image-3-lxfxCfrp.png b/assets/image-3-lxfxCfrp.png new file mode 100644 index 000000000..9ec10804e Binary files /dev/null and b/assets/image-3-lxfxCfrp.png differ diff --git a/assets/image-4-1024x143-r1AdkDak.png b/assets/image-4-1024x143-r1AdkDak.png new file mode 100644 index 000000000..614e25831 Binary files /dev/null and b/assets/image-4-1024x143-r1AdkDak.png differ diff --git a/assets/image-5-1024x257-Ebc34T6H.png b/assets/image-5-1024x257-Ebc34T6H.png new file mode 100644 index 000000000..2c2288903 Binary files /dev/null and b/assets/image-5-1024x257-Ebc34T6H.png differ diff --git a/assets/image-6-1024x333-xBg4nvNU.png b/assets/image-6-1024x333-xBg4nvNU.png new file mode 100644 index 000000000..0bbbe5753 Binary files /dev/null and b/assets/image-6-1024x333-xBg4nvNU.png differ diff --git a/assets/image-7-A3UB4PVN.png b/assets/image-7-A3UB4PVN.png new file mode 100644 index 000000000..af11eed66 Binary files /dev/null and b/assets/image-7-A3UB4PVN.png differ diff --git a/assets/image-8-1024x484-FUvhPpZ8.png b/assets/image-8-1024x484-FUvhPpZ8.png new file mode 100644 index 000000000..a8bc0f53f Binary files /dev/null and b/assets/image-8-1024x484-FUvhPpZ8.png differ diff --git a/assets/image-9-1024x435-HEkG9ILK.png b/assets/image-9-1024x435-HEkG9ILK.png new file mode 100644 index 000000000..3e72e7c97 Binary files /dev/null and b/assets/image-9-1024x435-HEkG9ILK.png differ diff --git a/assets/image-Tn--NV9Q.png b/assets/image-Tn--NV9Q.png new file mode 100644 index 000000000..1effd67d2 Binary files /dev/null and b/assets/image-Tn--NV9Q.png differ diff --git a/assets/image1-6Fjhx_zj.png b/assets/image1-6Fjhx_zj.png new file mode 100644 index 000000000..e61589712 Binary files /dev/null and b/assets/image1-6Fjhx_zj.png differ diff --git a/assets/image1-7W_44qIs.png b/assets/image1-7W_44qIs.png new file mode 100644 index 000000000..ee85b8531 Binary files /dev/null and b/assets/image1-7W_44qIs.png differ diff --git a/assets/image1-BAlMJleB.jpeg b/assets/image1-BAlMJleB.jpeg new file mode 100644 index 000000000..e8efe1608 Binary files /dev/null and b/assets/image1-BAlMJleB.jpeg differ diff --git a/assets/image1-bJBZ0pkL.png b/assets/image1-bJBZ0pkL.png new file mode 100644 index 000000000..2e2709e01 Binary files /dev/null and b/assets/image1-bJBZ0pkL.png differ diff --git a/assets/image10-bO1AUMjh.png b/assets/image10-bO1AUMjh.png new file mode 100644 index 000000000..2b4282150 Binary files /dev/null and b/assets/image10-bO1AUMjh.png differ diff --git a/assets/image10-iLhAvEhP.jpeg b/assets/image10-iLhAvEhP.jpeg new file mode 100644 index 000000000..01b38581f Binary files /dev/null and b/assets/image10-iLhAvEhP.jpeg differ diff --git a/assets/image11-MQx0qaX8.png b/assets/image11-MQx0qaX8.png new file mode 100644 index 000000000..14a10e440 Binary files /dev/null and b/assets/image11-MQx0qaX8.png differ diff --git a/assets/image11-yDsbToSL.png b/assets/image11-yDsbToSL.png new file mode 100644 index 000000000..16a66122b Binary files /dev/null and b/assets/image11-yDsbToSL.png differ diff --git a/assets/image12-kPYX3u_3.png b/assets/image12-kPYX3u_3.png new file mode 100644 index 000000000..5b222571e Binary files /dev/null and b/assets/image12-kPYX3u_3.png differ diff --git a/assets/image12-tQTZcA28.png b/assets/image12-tQTZcA28.png new file mode 100644 index 000000000..6c6a8a5c7 Binary files /dev/null and b/assets/image12-tQTZcA28.png differ diff --git a/assets/image13-du6ak7nw.png b/assets/image13-du6ak7nw.png new file mode 100644 index 000000000..344d066af Binary files /dev/null and b/assets/image13-du6ak7nw.png differ diff --git a/assets/image13-h2bFNI9J.png b/assets/image13-h2bFNI9J.png new file mode 100644 index 000000000..a1f073680 Binary files /dev/null and b/assets/image13-h2bFNI9J.png differ diff --git a/assets/image14-UXFuwDO3.jpeg b/assets/image14-UXFuwDO3.jpeg new file mode 100644 index 000000000..62a17e5b1 Binary files /dev/null and b/assets/image14-UXFuwDO3.jpeg differ diff --git a/assets/image14-oP2DJprQ.png b/assets/image14-oP2DJprQ.png new file mode 100644 index 000000000..93b19b16f Binary files /dev/null and b/assets/image14-oP2DJprQ.png differ diff --git a/assets/image15-DlYLI3if.jpeg b/assets/image15-DlYLI3if.jpeg new file mode 100644 index 000000000..e65f91b39 Binary files /dev/null and b/assets/image15-DlYLI3if.jpeg differ diff --git a/assets/image15-Uq4mFIQn.png b/assets/image15-Uq4mFIQn.png new file mode 100644 index 000000000..8f0388b8d Binary files /dev/null and b/assets/image15-Uq4mFIQn.png differ diff --git a/assets/image16-2iRVOHpF.png b/assets/image16-2iRVOHpF.png new file mode 100644 index 000000000..2372e6dd3 Binary files /dev/null and b/assets/image16-2iRVOHpF.png differ diff --git a/assets/image16-YCWUyFK0.png b/assets/image16-YCWUyFK0.png new file mode 100644 index 000000000..2e0da00a2 Binary files /dev/null and b/assets/image16-YCWUyFK0.png differ diff --git a/assets/image17-7F4JGb2E.jpeg b/assets/image17-7F4JGb2E.jpeg new file mode 100644 index 000000000..4e35b7901 Binary files /dev/null and b/assets/image17-7F4JGb2E.jpeg differ diff --git a/assets/image17-8F3lPeMq.png b/assets/image17-8F3lPeMq.png new file mode 100644 index 000000000..385e07e2c Binary files /dev/null and b/assets/image17-8F3lPeMq.png differ diff --git a/assets/image18-UbgSNUxV.png b/assets/image18-UbgSNUxV.png new file mode 100644 index 000000000..58da0068d Binary files /dev/null and b/assets/image18-UbgSNUxV.png differ diff --git a/assets/image18-qgf4P8El.jpeg b/assets/image18-qgf4P8El.jpeg new file mode 100644 index 000000000..0642e5e3a Binary files /dev/null and b/assets/image18-qgf4P8El.jpeg differ diff --git a/assets/image19-OCVupc78.png b/assets/image19-OCVupc78.png new file mode 100644 index 000000000..6feba30e9 Binary files /dev/null and b/assets/image19-OCVupc78.png differ diff --git a/assets/image19-xkgbzVNw.jpeg b/assets/image19-xkgbzVNw.jpeg new file mode 100644 index 000000000..b9be8eb0e Binary files /dev/null and b/assets/image19-xkgbzVNw.jpeg differ diff --git a/assets/image2-9kNPnG7_.jpeg b/assets/image2-9kNPnG7_.jpeg new file mode 100644 index 000000000..2c9ff2a71 Binary files /dev/null and b/assets/image2-9kNPnG7_.jpeg differ diff --git a/assets/image2-cQVqPC0N.png b/assets/image2-cQVqPC0N.png new file mode 100644 index 000000000..b01fbf332 Binary files /dev/null and b/assets/image2-cQVqPC0N.png differ diff --git a/assets/image2-ncmbwAtN.jpeg b/assets/image2-ncmbwAtN.jpeg new file mode 100644 index 000000000..31114c8fb Binary files /dev/null and b/assets/image2-ncmbwAtN.jpeg differ diff --git a/assets/image2-puCIP2Aa.jpeg b/assets/image2-puCIP2Aa.jpeg new file mode 100644 index 000000000..4911ac647 Binary files /dev/null and b/assets/image2-puCIP2Aa.jpeg differ diff --git a/assets/image20-Jpuia5Wc.png b/assets/image20-Jpuia5Wc.png new file mode 100644 index 000000000..ffbb01b47 Binary files /dev/null and b/assets/image20-Jpuia5Wc.png differ diff --git a/assets/image20-sMhsqFof.jpeg b/assets/image20-sMhsqFof.jpeg new file mode 100644 index 000000000..c48844c5d Binary files /dev/null and b/assets/image20-sMhsqFof.jpeg differ diff --git a/assets/image21-bSsrLDkB.jpeg b/assets/image21-bSsrLDkB.jpeg new file mode 100644 index 000000000..1e88c4c8d Binary files /dev/null and b/assets/image21-bSsrLDkB.jpeg differ diff --git a/assets/image21-d2lalF_V.png b/assets/image21-d2lalF_V.png new file mode 100644 index 000000000..287bb68c4 Binary files /dev/null and b/assets/image21-d2lalF_V.png differ diff --git a/assets/image22-AzpbJy9S.png b/assets/image22-AzpbJy9S.png new file mode 100644 index 000000000..274629160 Binary files /dev/null and b/assets/image22-AzpbJy9S.png differ diff --git a/assets/image22-Rn0Ef2lx.jpeg b/assets/image22-Rn0Ef2lx.jpeg new file mode 100644 index 000000000..8ae596789 Binary files /dev/null and b/assets/image22-Rn0Ef2lx.jpeg differ diff --git a/assets/image23-b8xdYFve.jpeg b/assets/image23-b8xdYFve.jpeg new file mode 100644 index 000000000..b45829a53 Binary files /dev/null and b/assets/image23-b8xdYFve.jpeg differ diff --git a/assets/image23-djmm4kYz.jpeg b/assets/image23-djmm4kYz.jpeg new file mode 100644 index 000000000..69e295468 Binary files /dev/null and b/assets/image23-djmm4kYz.jpeg differ diff --git a/assets/image24-uVzhkywk.jpeg b/assets/image24-uVzhkywk.jpeg new file mode 100644 index 000000000..6ceea845b Binary files /dev/null and b/assets/image24-uVzhkywk.jpeg differ diff --git a/assets/image24-yqO-pdxZ.png b/assets/image24-yqO-pdxZ.png new file mode 100644 index 000000000..0e3106ac5 Binary files /dev/null and b/assets/image24-yqO-pdxZ.png differ diff --git a/assets/image25-DsqQYtMg.png b/assets/image25-DsqQYtMg.png new file mode 100644 index 000000000..a7e55aa20 Binary files /dev/null and b/assets/image25-DsqQYtMg.png differ diff --git a/assets/image25-FVHpj2Ac.png b/assets/image25-FVHpj2Ac.png new file mode 100644 index 000000000..fd3209393 Binary files /dev/null and b/assets/image25-FVHpj2Ac.png differ diff --git a/assets/image26-fyeNqCV0.jpeg b/assets/image26-fyeNqCV0.jpeg new file mode 100644 index 000000000..0ffcbe6bd Binary files /dev/null and b/assets/image26-fyeNqCV0.jpeg differ diff --git a/assets/image26-h06W9g0_.png b/assets/image26-h06W9g0_.png new file mode 100644 index 000000000..467ecda91 Binary files /dev/null and b/assets/image26-h06W9g0_.png differ diff --git a/assets/image27-Ds9SxF2-.png b/assets/image27-Ds9SxF2-.png new file mode 100644 index 000000000..e32f5fe2e Binary files /dev/null and b/assets/image27-Ds9SxF2-.png differ diff --git a/assets/image27-rpxje01-.png b/assets/image27-rpxje01-.png new file mode 100644 index 000000000..3d125f77a Binary files /dev/null and b/assets/image27-rpxje01-.png differ diff --git a/assets/image28-AAba_U7P.png b/assets/image28-AAba_U7P.png new file mode 100644 index 000000000..3a2c421bf Binary files /dev/null and b/assets/image28-AAba_U7P.png differ diff --git a/assets/image28-XzrhDrhU.jpeg b/assets/image28-XzrhDrhU.jpeg new file mode 100644 index 000000000..26f2cd72d Binary files /dev/null and b/assets/image28-XzrhDrhU.jpeg differ diff --git a/assets/image29-eDyz4ueq.jpeg b/assets/image29-eDyz4ueq.jpeg new file mode 100644 index 000000000..c88104a10 Binary files /dev/null and b/assets/image29-eDyz4ueq.jpeg differ diff --git a/assets/image29-yqNso8bD.png b/assets/image29-yqNso8bD.png new file mode 100644 index 000000000..221e50193 Binary files /dev/null and b/assets/image29-yqNso8bD.png differ diff --git a/assets/image3-Jxzzco2D.jpeg b/assets/image3-Jxzzco2D.jpeg new file mode 100644 index 000000000..0b00ccdd2 Binary files /dev/null and b/assets/image3-Jxzzco2D.jpeg differ diff --git a/assets/image3-fAP9ugQs.jpeg b/assets/image3-fAP9ugQs.jpeg new file mode 100644 index 000000000..c450be47f Binary files /dev/null and b/assets/image3-fAP9ugQs.jpeg differ diff --git a/assets/image3-uIzqPPMv.jpeg b/assets/image3-uIzqPPMv.jpeg new file mode 100644 index 000000000..cc9b5c3b4 Binary files /dev/null and b/assets/image3-uIzqPPMv.jpeg differ diff --git a/assets/image30-S0N2s1FP.png b/assets/image30-S0N2s1FP.png new file mode 100644 index 000000000..e5a5f7e0b Binary files /dev/null and b/assets/image30-S0N2s1FP.png differ diff --git a/assets/image30-qTcBKf7n.jpeg b/assets/image30-qTcBKf7n.jpeg new file mode 100644 index 000000000..8eca5851b Binary files /dev/null and b/assets/image30-qTcBKf7n.jpeg differ diff --git a/assets/image31-ClOstKqs.png b/assets/image31-ClOstKqs.png new file mode 100644 index 000000000..94da21749 Binary files /dev/null and b/assets/image31-ClOstKqs.png differ diff --git a/assets/image31-i6z-wWh4.jpeg b/assets/image31-i6z-wWh4.jpeg new file mode 100644 index 000000000..1241d7be1 Binary files /dev/null and b/assets/image31-i6z-wWh4.jpeg differ diff --git a/assets/image32-5rxGR0Xz.png b/assets/image32-5rxGR0Xz.png new file mode 100644 index 000000000..23cb96e7a Binary files /dev/null and b/assets/image32-5rxGR0Xz.png differ diff --git a/assets/image32-I7-vuVl-.jpeg b/assets/image32-I7-vuVl-.jpeg new file mode 100644 index 000000000..797a7a664 Binary files /dev/null and b/assets/image32-I7-vuVl-.jpeg differ diff --git a/assets/image33-WqqQQMxS.png b/assets/image33-WqqQQMxS.png new file mode 100644 index 000000000..9f3b7819b Binary files /dev/null and b/assets/image33-WqqQQMxS.png differ diff --git a/assets/image33-mY4TjhUd.png b/assets/image33-mY4TjhUd.png new file mode 100644 index 000000000..2c6e386a8 Binary files /dev/null and b/assets/image33-mY4TjhUd.png differ diff --git a/assets/image34--I77aB8o.png b/assets/image34--I77aB8o.png new file mode 100644 index 000000000..66eb57f41 Binary files /dev/null and b/assets/image34--I77aB8o.png differ diff --git a/assets/image34-8Gpzvf0j.jpeg b/assets/image34-8Gpzvf0j.jpeg new file mode 100644 index 000000000..b42bdf7ec Binary files /dev/null and b/assets/image34-8Gpzvf0j.jpeg differ diff --git a/assets/image35-GcKIW6ZB.jpeg b/assets/image35-GcKIW6ZB.jpeg new file mode 100644 index 000000000..fc41cc68f Binary files /dev/null and b/assets/image35-GcKIW6ZB.jpeg differ diff --git a/assets/image35-o-wl3Q49.png b/assets/image35-o-wl3Q49.png new file mode 100644 index 000000000..525c206a6 Binary files /dev/null and b/assets/image35-o-wl3Q49.png differ diff --git a/assets/image36-666HLBk6.png b/assets/image36-666HLBk6.png new file mode 100644 index 000000000..080685f77 Binary files /dev/null and b/assets/image36-666HLBk6.png differ diff --git a/assets/image36-w7LH7wQd.jpeg b/assets/image36-w7LH7wQd.jpeg new file mode 100644 index 000000000..ff3e9fb8e Binary files /dev/null and b/assets/image36-w7LH7wQd.jpeg differ diff --git a/assets/image37-zT_pB_1b.jpeg b/assets/image37-zT_pB_1b.jpeg new file mode 100644 index 000000000..56b642e3a Binary files /dev/null and b/assets/image37-zT_pB_1b.jpeg differ diff --git a/assets/image37-zaSW9pnh.png b/assets/image37-zaSW9pnh.png new file mode 100644 index 000000000..5cef241df Binary files /dev/null and b/assets/image37-zaSW9pnh.png differ diff --git a/assets/image38-Pv8vRwVd.jpeg b/assets/image38-Pv8vRwVd.jpeg new file mode 100644 index 000000000..c8f6b7e9c Binary files /dev/null and b/assets/image38-Pv8vRwVd.jpeg differ diff --git a/assets/image38-XupIoys2.png b/assets/image38-XupIoys2.png new file mode 100644 index 000000000..70d1d44f5 Binary files /dev/null and b/assets/image38-XupIoys2.png differ diff --git a/assets/image39-_2gQNdV-.png b/assets/image39-_2gQNdV-.png new file mode 100644 index 000000000..1231bb684 Binary files /dev/null and b/assets/image39-_2gQNdV-.png differ diff --git a/assets/image39-oEuJhZOK.jpeg b/assets/image39-oEuJhZOK.jpeg new file mode 100644 index 000000000..510458d58 Binary files /dev/null and b/assets/image39-oEuJhZOK.jpeg differ diff --git a/assets/image4-DRFs6paZ.jpeg b/assets/image4-DRFs6paZ.jpeg new file mode 100644 index 000000000..94274dbd4 Binary files /dev/null and b/assets/image4-DRFs6paZ.jpeg differ diff --git a/assets/image4-UiDUe49T.jpeg b/assets/image4-UiDUe49T.jpeg new file mode 100644 index 000000000..47f22110f Binary files /dev/null and b/assets/image4-UiDUe49T.jpeg differ diff --git a/assets/image4-wZpv8ax-.jpeg b/assets/image4-wZpv8ax-.jpeg new file mode 100644 index 000000000..dda3cd170 Binary files /dev/null and b/assets/image4-wZpv8ax-.jpeg differ diff --git a/assets/image40-SdIJEvzm.jpeg b/assets/image40-SdIJEvzm.jpeg new file mode 100644 index 000000000..f9858315a Binary files /dev/null and b/assets/image40-SdIJEvzm.jpeg differ diff --git a/assets/image40-wzORGks0.png b/assets/image40-wzORGks0.png new file mode 100644 index 000000000..ae22d7198 Binary files /dev/null and b/assets/image40-wzORGks0.png differ diff --git a/assets/image41-jTUVWrwE.jpeg b/assets/image41-jTUVWrwE.jpeg new file mode 100644 index 000000000..1da0c05f1 Binary files /dev/null and b/assets/image41-jTUVWrwE.jpeg differ diff --git a/assets/image41-s9nOr_AW.png b/assets/image41-s9nOr_AW.png new file mode 100644 index 000000000..27bc8993c Binary files /dev/null and b/assets/image41-s9nOr_AW.png differ diff --git a/assets/image42-XClEGlJp.png b/assets/image42-XClEGlJp.png new file mode 100644 index 000000000..b0f3b6a58 Binary files /dev/null and b/assets/image42-XClEGlJp.png differ diff --git a/assets/image42-yNYlX8fz.jpeg b/assets/image42-yNYlX8fz.jpeg new file mode 100644 index 000000000..10f44b4da Binary files /dev/null and b/assets/image42-yNYlX8fz.jpeg differ diff --git a/assets/image43-1SmPPWhN.png b/assets/image43-1SmPPWhN.png new file mode 100644 index 000000000..54abfce81 Binary files /dev/null and b/assets/image43-1SmPPWhN.png differ diff --git a/assets/image43-LoeOtrqz.png b/assets/image43-LoeOtrqz.png new file mode 100644 index 000000000..0b6266570 Binary files /dev/null and b/assets/image43-LoeOtrqz.png differ diff --git a/assets/image44-DMLYu3Bf.png b/assets/image44-DMLYu3Bf.png new file mode 100644 index 000000000..9c925087e Binary files /dev/null and b/assets/image44-DMLYu3Bf.png differ diff --git a/assets/image44-IGm-aJZi.png b/assets/image44-IGm-aJZi.png new file mode 100644 index 000000000..8d16af082 Binary files /dev/null and b/assets/image44-IGm-aJZi.png differ diff --git a/assets/image45-n9U3aXb9.jpeg b/assets/image45-n9U3aXb9.jpeg new file mode 100644 index 000000000..0af9fcdb5 Binary files /dev/null and b/assets/image45-n9U3aXb9.jpeg differ diff --git a/assets/image46-aQAaQJ7T.png b/assets/image46-aQAaQJ7T.png new file mode 100644 index 000000000..bbd99641a Binary files /dev/null and b/assets/image46-aQAaQJ7T.png differ diff --git a/assets/image46-sx_87zP8.jpeg b/assets/image46-sx_87zP8.jpeg new file mode 100644 index 000000000..5b0317993 Binary files /dev/null and b/assets/image46-sx_87zP8.jpeg differ diff --git a/assets/image47-fy3e6xVe.png b/assets/image47-fy3e6xVe.png new file mode 100644 index 000000000..b75484cae Binary files /dev/null and b/assets/image47-fy3e6xVe.png differ diff --git a/assets/image47-wBXkt7Hw.jpeg b/assets/image47-wBXkt7Hw.jpeg new file mode 100644 index 000000000..4441c7c7c Binary files /dev/null and b/assets/image47-wBXkt7Hw.jpeg differ diff --git a/assets/image48-KSI9TtFQ.png b/assets/image48-KSI9TtFQ.png new file mode 100644 index 000000000..bbbc18b0d Binary files /dev/null and b/assets/image48-KSI9TtFQ.png differ diff --git a/assets/image48-j1D_M810.jpeg b/assets/image48-j1D_M810.jpeg new file mode 100644 index 000000000..19328e838 Binary files /dev/null and b/assets/image48-j1D_M810.jpeg differ diff --git a/assets/image49-HlJhspDL.png b/assets/image49-HlJhspDL.png new file mode 100644 index 000000000..f8f309245 Binary files /dev/null and b/assets/image49-HlJhspDL.png differ diff --git a/assets/image49-Q3dXgD9G.png b/assets/image49-Q3dXgD9G.png new file mode 100644 index 000000000..b8658222a Binary files /dev/null and b/assets/image49-Q3dXgD9G.png differ diff --git a/assets/image5-2K8STqff.jpeg b/assets/image5-2K8STqff.jpeg new file mode 100644 index 000000000..cb22cb386 Binary files /dev/null and b/assets/image5-2K8STqff.jpeg differ diff --git a/assets/image5-LasjrymB.jpeg b/assets/image5-LasjrymB.jpeg new file mode 100644 index 000000000..caf8b9b0f Binary files /dev/null and b/assets/image5-LasjrymB.jpeg differ diff --git a/assets/image5-ltQRRJZL.png b/assets/image5-ltQRRJZL.png new file mode 100644 index 000000000..490668432 Binary files /dev/null and b/assets/image5-ltQRRJZL.png differ diff --git a/assets/image5-nu8ECIhb.jpeg b/assets/image5-nu8ECIhb.jpeg new file mode 100644 index 000000000..32e03a349 Binary files /dev/null and b/assets/image5-nu8ECIhb.jpeg differ diff --git a/assets/image50-gRxKrinX.jpeg b/assets/image50-gRxKrinX.jpeg new file mode 100644 index 000000000..f7c7411b8 Binary files /dev/null and b/assets/image50-gRxKrinX.jpeg differ diff --git a/assets/image51-Q8qUZ4N1.jpeg b/assets/image51-Q8qUZ4N1.jpeg new file mode 100644 index 000000000..ddf0b93f3 Binary files /dev/null and b/assets/image51-Q8qUZ4N1.jpeg differ diff --git a/assets/image52-B0Mf3Tf4.jpeg b/assets/image52-B0Mf3Tf4.jpeg new file mode 100644 index 000000000..2e395e28a Binary files /dev/null and b/assets/image52-B0Mf3Tf4.jpeg differ diff --git a/assets/image53-xWmeCqly.jpeg b/assets/image53-xWmeCqly.jpeg new file mode 100644 index 000000000..fe389ff6b Binary files /dev/null and b/assets/image53-xWmeCqly.jpeg differ diff --git a/assets/image54-CRTw9ewM.jpeg b/assets/image54-CRTw9ewM.jpeg new file mode 100644 index 000000000..65e384d5d Binary files /dev/null and b/assets/image54-CRTw9ewM.jpeg differ diff --git a/assets/image55-gZrK6Mq8.jpeg b/assets/image55-gZrK6Mq8.jpeg new file mode 100644 index 000000000..63010aae0 Binary files /dev/null and b/assets/image55-gZrK6Mq8.jpeg differ diff --git a/assets/image56-HZl-UlmQ.jpeg b/assets/image56-HZl-UlmQ.jpeg new file mode 100644 index 000000000..2dca001c4 Binary files /dev/null and b/assets/image56-HZl-UlmQ.jpeg differ diff --git a/assets/image57-PjlK7WRC.jpeg b/assets/image57-PjlK7WRC.jpeg new file mode 100644 index 000000000..f0612ce7b Binary files /dev/null and b/assets/image57-PjlK7WRC.jpeg differ diff --git a/assets/image58-p824Kebg.jpeg b/assets/image58-p824Kebg.jpeg new file mode 100644 index 000000000..37e64822c Binary files /dev/null and b/assets/image58-p824Kebg.jpeg differ diff --git a/assets/image59-IMrkSnML.jpeg b/assets/image59-IMrkSnML.jpeg new file mode 100644 index 000000000..185689ed6 Binary files /dev/null and b/assets/image59-IMrkSnML.jpeg differ diff --git a/assets/image6-2epYrBsD.png b/assets/image6-2epYrBsD.png new file mode 100644 index 000000000..ede5262ae Binary files /dev/null and b/assets/image6-2epYrBsD.png differ diff --git a/assets/image6-4cYa-6Nk.jpeg b/assets/image6-4cYa-6Nk.jpeg new file mode 100644 index 000000000..aa0ee7782 Binary files /dev/null and b/assets/image6-4cYa-6Nk.jpeg differ diff --git a/assets/image6-p8MZpc0y.jpeg b/assets/image6-p8MZpc0y.jpeg new file mode 100644 index 000000000..1460024d8 Binary files /dev/null and b/assets/image6-p8MZpc0y.jpeg differ diff --git a/assets/image6-vo_42VAg.jpeg b/assets/image6-vo_42VAg.jpeg new file mode 100644 index 000000000..94be35dc0 Binary files /dev/null and b/assets/image6-vo_42VAg.jpeg differ diff --git a/assets/image60-Qg9sBUAE.jpeg b/assets/image60-Qg9sBUAE.jpeg new file mode 100644 index 000000000..8b42de3a6 Binary files /dev/null and b/assets/image60-Qg9sBUAE.jpeg differ diff --git a/assets/image61-WykWbjBb.jpeg b/assets/image61-WykWbjBb.jpeg new file mode 100644 index 000000000..8a720da65 Binary files /dev/null and b/assets/image61-WykWbjBb.jpeg differ diff --git a/assets/image62-sGCpUaai.jpeg b/assets/image62-sGCpUaai.jpeg new file mode 100644 index 000000000..2aa0fe96e Binary files /dev/null and b/assets/image62-sGCpUaai.jpeg differ diff --git a/assets/image63-RP0YwU16.png b/assets/image63-RP0YwU16.png new file mode 100644 index 000000000..447016515 Binary files /dev/null and b/assets/image63-RP0YwU16.png differ diff --git a/assets/image64-DzkcnLzf.jpeg b/assets/image64-DzkcnLzf.jpeg new file mode 100644 index 000000000..d670243bb Binary files /dev/null and b/assets/image64-DzkcnLzf.jpeg differ diff --git a/assets/image65-Q1qf9ytS.jpeg b/assets/image65-Q1qf9ytS.jpeg new file mode 100644 index 000000000..2d85569a2 Binary files /dev/null and b/assets/image65-Q1qf9ytS.jpeg differ diff --git a/assets/image66-wywroydz.jpg b/assets/image66-wywroydz.jpg new file mode 100644 index 000000000..b098c6264 Binary files /dev/null and b/assets/image66-wywroydz.jpg differ diff --git a/assets/image67-eZmwTQtV.jpeg b/assets/image67-eZmwTQtV.jpeg new file mode 100644 index 000000000..f55557d8e Binary files /dev/null and b/assets/image67-eZmwTQtV.jpeg differ diff --git a/assets/image68-R-KjoHsS.jpeg b/assets/image68-R-KjoHsS.jpeg new file mode 100644 index 000000000..c373a5f06 Binary files /dev/null and b/assets/image68-R-KjoHsS.jpeg differ diff --git a/assets/image69-vSFRKKde.jpeg b/assets/image69-vSFRKKde.jpeg new file mode 100644 index 000000000..537ed2db5 Binary files /dev/null and b/assets/image69-vSFRKKde.jpeg differ diff --git a/assets/image7-1LZ5K7Ow.png b/assets/image7-1LZ5K7Ow.png new file mode 100644 index 000000000..472d7e227 Binary files /dev/null and b/assets/image7-1LZ5K7Ow.png differ diff --git a/assets/image7-fTrFkX8i.jpeg b/assets/image7-fTrFkX8i.jpeg new file mode 100644 index 000000000..328298c7f Binary files /dev/null and b/assets/image7-fTrFkX8i.jpeg differ diff --git a/assets/image7-nslJUznl.png b/assets/image7-nslJUznl.png new file mode 100644 index 000000000..5cae51694 Binary files /dev/null and b/assets/image7-nslJUznl.png differ diff --git a/assets/image8-8p-TehjD.jpeg b/assets/image8-8p-TehjD.jpeg new file mode 100644 index 000000000..04244140c Binary files /dev/null and b/assets/image8-8p-TehjD.jpeg differ diff --git a/assets/image8-odgYWEnu.png b/assets/image8-odgYWEnu.png new file mode 100644 index 000000000..a2effbe0c Binary files /dev/null and b/assets/image8-odgYWEnu.png differ diff --git a/assets/image9-pl_ZtQAo.jpeg b/assets/image9-pl_ZtQAo.jpeg new file mode 100644 index 000000000..87bb7d909 Binary files /dev/null and b/assets/image9-pl_ZtQAo.jpeg differ diff --git a/assets/index-7SG8bi1h.js b/assets/index-7SG8bi1h.js new file mode 100644 index 000000000..693265450 --- /dev/null +++ b/assets/index-7SG8bi1h.js @@ -0,0 +1 @@ +var v=function(){return!!(window.location.hostname==="localhost"||window.location.hostname==="[::1]"||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))},c;typeof window<"u"&&(typeof Promise<"u"?c=new Promise(function(t){return window.addEventListener("load",t)}):c={then:function(t){return window.addEventListener("load",t)}});function s(t,n){n===void 0&&(n={});var i=n.registrationOptions;i===void 0&&(i={}),delete n.registrationOptions;var e=function(r){for(var f=[],a=arguments.length-1;a-- >0;)f[a]=arguments[a+1];n&&n[r]&&n[r].apply(n,f)};"serviceWorker"in navigator&&c.then(function(){v()?(l(t,e,i),navigator.serviceWorker.ready.then(function(r){e("ready",r)}).catch(function(r){return o(e,r)})):(u(t,e,i),navigator.serviceWorker.ready.then(function(r){e("ready",r)}).catch(function(r){return o(e,r)}))})}function o(t,n){navigator.onLine||t("offline"),t("error",n)}function u(t,n,i){navigator.serviceWorker.register(t,i).then(function(e){if(n("registered",e),e.waiting){n("updated",e);return}e.onupdatefound=function(){n("updatefound",e);var r=e.installing;r.onstatechange=function(){r.state==="installed"&&(navigator.serviceWorker.controller?n("updated",e):n("cached",e))}}}).catch(function(e){return o(n,e)})}function l(t,n,i){fetch(t).then(function(e){e.status===404?(n("error",new Error("Service worker not found at "+t)),d()):e.headers.get("content-type").indexOf("javascript")===-1?(n("error",new Error("Expected "+t+" to have javascript content-type, but received "+e.headers.get("content-type"))),d()):u(t,n,i)}).catch(function(e){return o(n,e)})}function d(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(t){t.unregister()}).catch(function(t){return o(emit,t)})}export{s as register,d as unregister}; diff --git a/assets/index-QOy62Fup.js b/assets/index-QOy62Fup.js new file mode 100644 index 000000000..8855e2467 --- /dev/null +++ b/assets/index-QOy62Fup.js @@ -0,0 +1,17 @@ +/*! @docsearch/js 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */function ur(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function I(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function se(t,e){return function(r){if(Array.isArray(r))return r}(t)||function(r,n){var o=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(o!=null){var i,a,c=[],u=!0,s=!1;try{for(o=o.call(r);!(u=(i=o.next()).done)&&(c.push(i.value),!n||c.length!==n);u=!0);}catch(l){s=!0,a=l}finally{try{u||o.return==null||o.return()}finally{if(s)throw a}}return c}}(t,e)||yn(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function ft(t){return function(e){if(Array.isArray(e))return Lt(e)}(t)||function(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}(t)||yn(t)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function yn(t,e){if(t){if(typeof t=="string")return Lt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Lt(t,e):void 0}}function Lt(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r3)for(r=[r],i=3;i0?Ie(v.type,v.props,v.key,null,v.__v):v)!=null){if(v.__=r,v.__b=r.__b+1,(p=b[l])===null||p&&v.key==p.key&&v.type===p.type)b[l]=void 0;else for(m=0;m<_;m++){if((p=b[m])&&v.key==p.key&&v.type===p.type){b[m]=void 0;break}p=null}Yt(t,v,p=p||mt,o,i,a,c,u,s),d=v.__e,(m=v.ref)&&p.ref!=m&&(y||(y=[]),p.ref&&y.push(p.ref,null,v),y.push(m,v.__c||d,v)),d!=null?(h==null&&(h=d),typeof v.type=="function"&&v.__k!=null&&v.__k===p.__k?v.__d=u=jn(v,u,t):u=wn(t,v,p,b,d,u),s||r.type!=="option"?typeof r.type=="function"&&(r.__d=u):t.value=""):u&&p.__e==u&&u.parentNode!=t&&(u=We(p))}for(r.__e=h,l=_;l--;)b[l]!=null&&(typeof r.type=="function"&&b[l].__e!=null&&b[l].__e==r.__d&&(r.__d=We(n,l+1)),In(b[l],b[l]));if(y)for(l=0;l3)for(r=[r],i=3;i=r.__.length&&r.__.push({}),r.__[t]}function kn(t){return pe=1,An(xn,t)}function An(t,e,r){var n=Je(de++,2);return n.t=t,n.__c||(n.__=[r?r(e):xn(void 0,e),function(o){var i=n.t(n.__[0],o);n.__[0]!==i&&(n.__=[i,n.__[1]],n.__c.setState({}))}],n.__c=q),n.__}function Cn(t,e){var r=Je(de++,3);!j.__s&&Gt(r.__H,e)&&(r.__=t,r.__H=e,q.__H.__h.push(r))}function gr(t,e){var r=Je(de++,4);!j.__s&&Gt(r.__H,e)&&(r.__=t,r.__H=e,q.__h.push(r))}function Pt(t,e){var r=Je(de++,7);return Gt(r.__H,e)&&(r.__=t(),r.__H=e,r.__h=t),r.__}function yo(){Ht.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(ut),t.__H.__h.forEach(Ut),t.__H.__h=[]}catch(e){t.__H.__h=[],j.__e(e,t.__v)}}),Ht=[]}j.__b=function(t){q=null,pr&&pr(t)},j.__r=function(t){vr&&vr(t),de=0;var e=(q=t.__c).__H;e&&(e.__h.forEach(ut),e.__h.forEach(Ut),e.__h=[])},j.diffed=function(t){dr&&dr(t);var e=t.__c;e&&e.__H&&e.__H.__h.length&&(Ht.push(e)!==1&&mr===j.requestAnimationFrame||((mr=j.requestAnimationFrame)||function(r){var n,o=function(){clearTimeout(i),br&&cancelAnimationFrame(n),setTimeout(r)},i=setTimeout(o,100);br&&(n=requestAnimationFrame(o))})(yo)),q=void 0},j.__c=function(t,e){e.some(function(r){try{r.__h.forEach(ut),r.__h=r.__h.filter(function(n){return!n.__||Ut(n)})}catch(n){e.some(function(o){o.__h&&(o.__h=[])}),e=[],j.__e(n,r.__v)}}),hr&&hr(t,e)},j.unmount=function(t){yr&&yr(t);var e=t.__c;if(e&&e.__H)try{e.__H.__.forEach(ut)}catch(r){j.__e(r,e.__v)}};var br=typeof requestAnimationFrame=="function";function ut(t){var e=q;typeof t.__c=="function"&&t.__c(),q=e}function Ut(t){var e=q;t.__c=t.__(),q=e}function Gt(t,e){return!t||t.length!==e.length||e.some(function(r,n){return r!==t[n]})}function xn(t,e){return typeof e=="function"?e(t):e}function Nn(t,e){for(var r in e)t[r]=e[r];return t}function Ft(t,e){for(var r in t)if(r!=="__source"&&!(r in e))return!0;for(var n in e)if(n!=="__source"&&t[n]!==e[n])return!0;return!1}function Bt(t){this.props=t}(Bt.prototype=new K).isPureReactComponent=!0,Bt.prototype.shouldComponentUpdate=function(t,e){return Ft(this.props,t)||Ft(this.state,e)};var _r=j.__b;j.__b=function(t){t.type&&t.type.__f&&t.ref&&(t.props.ref=t.ref,t.ref=null),_r&&_r(t)};var go=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911,Or=function(t,e){return t==null?null:$($(t).map(e))},bo={map:Or,forEach:Or,count:function(t){return t?$(t).length:0},only:function(t){var e=$(t);if(e.length!==1)throw"Children.only";return e[0]},toArray:$},_o=j.__e;function ct(){this.__u=0,this.t=null,this.__b=null}function Tn(t){var e=t.__.__c;return e&&e.__e&&e.__e(t)}function we(){this.u=null,this.o=null}j.__e=function(t,e,r){if(t.then){for(var n,o=e;o=o.__;)if((n=o.__c)&&n.__c)return e.__e==null&&(e.__e=r.__e,e.__k=r.__k),n.__c(t,e)}_o(t,e,r)},(ct.prototype=new K).__c=function(t,e){var r=e.__c,n=this;n.t==null&&(n.t=[]),n.t.push(r);var o=Tn(n.__v),i=!1,a=function(){i||(i=!0,r.componentWillUnmount=r.__c,o?o(c):c())};r.__c=r.componentWillUnmount,r.componentWillUnmount=function(){a(),r.__c&&r.__c()};var c=function(){if(!--n.__u){if(n.state.__e){var s=n.state.__e;n.__v.__k[0]=function m(p,v,d){return p&&(p.__v=null,p.__k=p.__k&&p.__k.map(function(h){return m(h,v,d)}),p.__c&&p.__c.__P===v&&(p.__e&&d.insertBefore(p.__e,p.__d),p.__c.__e=!0,p.__c.__P=d)),p}(s,s.__c.__P,s.__c.__O)}var l;for(n.setState({__e:n.__b=null});l=n.t.pop();)l.forceUpdate()}},u=e.__h===!0;n.__u++||u||n.setState({__e:n.__b=n.__v.__k[0]}),t.then(a,a)},ct.prototype.componentWillUnmount=function(){this.t=[]},ct.prototype.render=function(t,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=function i(a,c,u){return a&&(a.__c&&a.__c.__H&&(a.__c.__H.__.forEach(function(s){typeof s.__c=="function"&&s.__c()}),a.__c.__H=null),(a=Nn({},a)).__c!=null&&(a.__c.__P===u&&(a.__c.__P=c),a.__c=null),a.__k=a.__k&&a.__k.map(function(s){return i(s,c,u)})),a}(this.__b,r,n.__O=n.__P)}this.__b=null}var o=e.__e&&W(X,null,t.fallback);return o&&(o.__h=null),[W(X,null,e.__e?null:t.children),o]};var Sr=function(t,e,r){if(++r[1]===r[0]&&t.o.delete(e),t.props.revealOrder&&(t.props.revealOrder[0]!=="t"||!t.o.size))for(r=t.u;r;){for(;r.length>3;)r.pop()();if(r[1]>>1,1),e.i.removeChild(n)}}),Ke(W(Oo,{context:e.context},t.__v),e.l)):e.l&&e.componentWillUnmount()}function Rn(t,e){return W(So,{__v:t,i:e})}(we.prototype=new K).__e=function(t){var e=this,r=Tn(e.__v),n=e.o.get(t);return n[0]++,function(o){var i=function(){e.props.revealOrder?(n.push(o),Sr(e,t,n)):o()};r?r(i):i()}},we.prototype.render=function(t){this.u=null,this.o=new Map;var e=$(t.children);t.revealOrder&&t.revealOrder[0]==="b"&&e.reverse();for(var r=e.length;r--;)this.o.set(e[r],this.u=[1,0,this.u]);return t.children},we.prototype.componentDidUpdate=we.prototype.componentDidMount=function(){var t=this;this.o.forEach(function(e,r){Sr(t,r,e)})};var qn=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,jo=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,wo=function(t){return(typeof Symbol<"u"&&Ve(Symbol())=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(t)};function Ln(t,e,r){return e.__k==null&&(e.textContent=""),Ke(t,e),typeof r=="function"&&r(),t?t.__c:null}K.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(K.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})});var jr=j.event;function Eo(){}function Po(){return this.cancelBubble}function Io(){return this.defaultPrevented}j.event=function(t){return jr&&(t=jr(t)),t.persist=Eo,t.isPropagationStopped=Po,t.isDefaultPrevented=Io,t.nativeEvent=t};var Mn,wr={configurable:!0,get:function(){return this.class}},Er=j.vnode;j.vnode=function(t){var e=t.type,r=t.props,n=r;if(typeof e=="string"){for(var o in n={},r){var i=r[o];o==="value"&&"defaultValue"in r&&i==null||(o==="defaultValue"&&"value"in r&&r.value==null?o="value":o==="download"&&i===!0?i="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+e)&&!wo(r.type)?o="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(o)?o=o.toLowerCase():jo.test(o)?o=o.replace(/[A-Z0-9]/,"-$&").toLowerCase():i===null&&(i=void 0),n[o]=i)}e=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=$(r.children).forEach(function(a){a.props.selected=n.value.indexOf(a.props.value)!=-1})),e=="select"&&n.defaultValue!=null&&(n.value=$(r.children).forEach(function(a){a.props.selected=n.multiple?n.defaultValue.indexOf(a.props.value)!=-1:n.defaultValue==a.props.value})),t.props=n}e&&r.class!=r.className&&(wr.enumerable="className"in r,r.className!=null&&(n.class=r.className),Object.defineProperty(n,"className",wr)),t.$$typeof=qn,Er&&Er(t)};var Pr=j.__r;j.__r=function(t){Pr&&Pr(t),Mn=t.__c};var Do={ReactCurrentDispatcher:{current:{readContext:function(t){return Mn.__n[t.__c].props.value}}}};(typeof performance>"u"?"undefined":Ve(performance))=="object"&&typeof performance.now=="function"&&performance.now.bind(performance);function Ir(t){return!!t&&t.$$typeof===qn}var f={useState:kn,useReducer:An,useEffect:Cn,useLayoutEffect:gr,useRef:function(t){return pe=5,Pt(function(){return{current:t}},[])},useImperativeHandle:function(t,e,r){pe=6,gr(function(){typeof t=="function"?t(e()):t&&(t.current=e())},r==null?r:r.concat(t))},useMemo:Pt,useCallback:function(t,e){return pe=8,Pt(function(){return t},e)},useContext:function(t){var e=q.context[t.__c],r=Je(de++,9);return r.__c=t,e?(r.__==null&&(r.__=!0,e.sub(q)),e.props.value):t.__},useDebugValue:function(t,e){j.useDebugValue&&j.useDebugValue(e?e(t):t)},version:"16.8.0",Children:bo,render:Ln,hydrate:function(t,e,r){return Dn(t,e),typeof r=="function"&&r(),t?t.__c:null},unmountComponentAtNode:function(t){return!!t.__k&&(Ke(null,t),!0)},createPortal:Rn,createElement:W,createContext:function(t,e){var r={__c:e="__cC"+bn++,__:t,Consumer:function(n,o){return n.children(o)},Provider:function(n){var o,i;return this.getChildContext||(o=[],(i={})[e]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(a){this.props.value!==a.value&&o.some(Mt)},this.sub=function(a){o.push(a);var c=a.componentWillUnmount;a.componentWillUnmount=function(){o.splice(o.indexOf(a),1),c&&c.call(a)}}),n.children}};return r.Provider.__=r.Consumer.contextType=r},createFactory:function(t){return W.bind(null,t)},cloneElement:function(t){return Ir(t)?ho.apply(null,arguments):t},createRef:function(){return{current:null}},Fragment:X,isValidElement:Ir,findDOMNode:function(t){return t&&(t.base||t.nodeType===1&&t)||null},Component:K,PureComponent:Bt,memo:function(t,e){function r(o){var i=this.props.ref,a=i==o.ref;return!a&&i&&(i.call?i(null):i.current=null),e?!e(this.props,o)||!a:Ft(this.props,o)}function n(o){return this.shouldComponentUpdate=r,W(t,o)}return n.displayName="Memo("+(t.displayName||t.name)+")",n.prototype.isReactComponent=!0,n.__f=!0,n},forwardRef:function(t){function e(r,n){var o=Nn({},r);return delete o.ref,t(o,(n=r.ref||n)&&(Ve(n)!="object"||"current"in n)?n:null)}return e.$$typeof=go,e.render=e,e.prototype.isReactComponent=e.__f=!0,e.displayName="ForwardRef("+(t.displayName||t.name)+")",e},unstable_batchedUpdates:function(t,e){return t(e)},StrictMode:X,Suspense:ct,SuspenseList:we,lazy:function(t){var e,r,n;function o(i){if(e||(e=t()).then(function(a){r=a.default||a},function(a){n=a}),n)throw n;if(!r)throw e;return W(r,i)}return o.displayName="Lazy",o.__f=!0,o},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Do};function ko(){return f.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},f.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}function Hn(){return f.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},f.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var Ao=["translations"];function Vt(){return Vt=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var No=f.forwardRef(function(t,e){var r=t.translations,n=r===void 0?{}:r,o=xo(t,Ao),i=n.buttonText,a=i===void 0?"Search":i,c=n.buttonAriaLabel,u=c===void 0?"Search":c,s=Co(kn(null),2),l=s[0],m=s[1];return Cn(function(){typeof navigator<"u"&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?m("⌘"):m("Ctrl"))},[]),f.createElement("button",Vt({type:"button",className:"DocSearch DocSearch-Button","aria-label":u},o,{ref:e}),f.createElement("span",{className:"DocSearch-Button-Container"},f.createElement(Hn,null),f.createElement("span",{className:"DocSearch-Button-Placeholder"},a)),f.createElement("span",{className:"DocSearch-Button-Keys"},l!==null&&f.createElement(f.Fragment,null,f.createElement("kbd",{className:"DocSearch-Button-Key"},l==="Ctrl"?f.createElement(ko,null):l),f.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))});function Un(t,e){var r=void 0;return function(){for(var n=arguments.length,o=new Array(n),i=0;it.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function xr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function ve(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:20,r=[],n=0;n=3||r===2&&n>=4||r===1&&n>=10);function i(a,c,u){if(o&&u!==void 0){var s=u[0].__autocomplete_algoliaCredentials,l={"X-Algolia-Application-Id":s.appId,"X-Algolia-API-Key":s.apiKey};t.apply(void 0,[a].concat(Ge(c),[{headers:l}]))}else t.apply(void 0,[a].concat(Ge(c)))}return{init:function(a,c){t("init",{appId:a,apiKey:c})},setUserToken:function(a){t("setUserToken",a)},clickedObjectIDsAfterSearch:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&i("clickedObjectIDsAfterSearch",Xe(c),c[0].items)},clickedObjectIDs:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&i("clickedObjectIDs",Xe(c),c[0].items)},clickedFilters:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&t.apply(void 0,["clickedFilters"].concat(c))},convertedObjectIDsAfterSearch:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&i("convertedObjectIDsAfterSearch",Xe(c),c[0].items)},convertedObjectIDs:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&i("convertedObjectIDs",Xe(c),c[0].items)},convertedFilters:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&t.apply(void 0,["convertedFilters"].concat(c))},viewedObjectIDs:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&c.reduce(function(s,l){var m=l.items,p=Bn(l,Mo);return[].concat(Ge(s),Ge(Uo(ve(ve({},p),{},{objectIDs:(m==null?void 0:m.map(function(v){return v.objectID}))||p.objectIDs})).map(function(v){return{items:m,payload:v}})))},[]).forEach(function(s){var l=s.items;return i("viewedObjectIDs",[s.payload],l)})},viewedFilters:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&t.apply(void 0,["viewedFilters"].concat(c))}}}function Bo(t){var e=t.items.reduce(function(r,n){var o;return r[n.__autocomplete_indexName]=((o=r[n.__autocomplete_indexName])!==null&&o!==void 0?o:[]).concat(n),r},{});return Object.keys(e).map(function(r){return{index:r,items:e[r],algoliaSource:["autocomplete"]}})}function Dt(t){return t.objectID&&t.__autocomplete_indexName&&t.__autocomplete_queryID}function ke(t){return ke=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ke(t)}function ie(t){return function(e){if(Array.isArray(e))return kt(e)}(t)||function(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}(t)||function(e,r){if(e){if(typeof e=="string")return kt(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return kt(e,r)}}(t)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function kt(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&Ko({onItemsChange:n,items:p,insights:c,state:m}))}},0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(l){var m=l.setContext,p=l.onSelect,v=l.onActive;a("addAlgoliaAgent","insights-plugin"),m({algoliaInsightsPlugin:{__algoliaSearchParameters:{clickAnalytics:!0},insights:c}}),p(function(d){var h=d.item,y=d.state,b=d.event;Dt(h)&&o({state:y,event:b,insights:c,item:h,insightsEvents:[G({eventName:"Item Selected"},Ar({item:h,items:u.current}))]})}),v(function(d){var h=d.item,y=d.state,b=d.event;Dt(h)&&i({state:y,event:b,insights:c,item:h,insightsEvents:[G({eventName:"Item Active"},Ar({item:h,items:u.current}))]})})},onStateChange:function(l){var m=l.state;s({state:m})},__autocomplete_pluginOptions:t}}function lt(t,e){var r=e;return{then:function(n,o){return lt(t.then(et(n,r,t),et(o,r,t)),r)},catch:function(n){return lt(t.catch(et(n,r,t)),r)},finally:function(n){return n&&r.onCancelList.push(n),lt(t.finally(et(n&&function(){return r.onCancelList=[],n()},r,t)),r)},cancel:function(){r.isCanceled=!0;var n=r.onCancelList;r.onCancelList=[],n.forEach(function(o){o()})},isCanceled:function(){return r.isCanceled===!0}}}function Tr(t){return lt(t,{isCanceled:!1,onCancelList:[]})}function et(t,e,r){return t?function(n){return e.isCanceled?n:t(n)}:r}function Rr(t,e,r,n){if(!r)return null;if(t<0&&(e===null||n!==null&&e===0))return r+t;var o=(e===null?-1:e)+t;return o<=-1||o>=r?n===null?null:0:o}function qr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function Lr(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r0},reshape:function(i){return i.sources}},t),{},{id:(r=t.id)!==null&&r!==void 0?r:"autocomplete-".concat(To++),plugins:o,initialState:ae({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},t.initialState),onStateChange:function(i){var a;(a=t.onStateChange)===null||a===void 0||a.call(t,i),o.forEach(function(c){var u;return(u=c.onStateChange)===null||u===void 0?void 0:u.call(c,i)})},onSubmit:function(i){var a;(a=t.onSubmit)===null||a===void 0||a.call(t,i),o.forEach(function(c){var u;return(u=c.onSubmit)===null||u===void 0?void 0:u.call(c,i)})},onReset:function(i){var a;(a=t.onReset)===null||a===void 0||a.call(t,i),o.forEach(function(c){var u;return(u=c.onReset)===null||u===void 0?void 0:u.call(c,i)})},getSources:function(i){return Promise.all([].concat(Go(o.map(function(a){return a.getSources})),[t.getSources]).filter(Boolean).map(function(a){return function(c,u){var s=[];return Promise.resolve(c(u)).then(function(l){return Promise.all(l.filter(function(m){return!!m}).map(function(m){if(m.sourceId,s.includes(m.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(m.sourceId)," is not unique."));s.push(m.sourceId);var p={getItemInputValue:function(d){return d.state.query},getItemUrl:function(){},onSelect:function(d){(0,d.setIsOpen)(!1)},onActive:vt,onResolve:vt};Object.keys(p).forEach(function(d){p[d].__default=!0});var v=Lr(Lr({},p),m);return Promise.resolve(v)}))})}(a,i)})).then(function(a){return ze(a)}).then(function(a){return a.map(function(c){return ae(ae({},c),{},{onSelect:function(u){c.onSelect(u),e.forEach(function(s){var l;return(l=s.onSelect)===null||l===void 0?void 0:l.call(s,u)})},onActive:function(u){c.onActive(u),e.forEach(function(s){var l;return(l=s.onActive)===null||l===void 0?void 0:l.call(s,u)})},onResolve:function(u){c.onResolve(u),e.forEach(function(s){var l;return(l=s.onResolve)===null||l===void 0?void 0:l.call(s,u)})}})})})},navigator:ae({navigate:function(i){var a=i.itemUrl;n.location.assign(a)},navigateNewTab:function(i){var a=i.itemUrl,c=n.open(a,"_blank","noopener");c==null||c.focus()},navigateNewWindow:function(i){var a=i.itemUrl;n.open(a,"_blank","noopener")}},t.navigator)})}function Te(t){return Te=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Te(t)}function Fr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function rt(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var Wr,xt,ot,je=null,Kr=(Wr=-1,xt=-1,ot=void 0,function(t){var e=++Wr;return Promise.resolve(t).then(function(r){return ot&&e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Me(t){return Me=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Me(t)}var fi=["props","refresh","store"],mi=["inputElement","formElement","panelElement"],pi=["inputElement"],vi=["inputElement","maxLength"],di=["sourceIndex"],hi=["sourceIndex"],yi=["item","source","sourceIndex"];function Jr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function R(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function bi(t){var e=t.props,r=t.refresh,n=t.store,o=re(t,fi),i=function(a,c){return c!==void 0?"".concat(a,"-").concat(c):a};return{getEnvironmentProps:function(a){var c=a.inputElement,u=a.formElement,s=a.panelElement;function l(m){!n.getState().isOpen&&n.pendingRequests.isEmpty()||m.target===c||[u,s].some(function(p){return v=p,d=m.target,v===d||v.contains(d);var v,d})===!1&&(n.dispatch("blur",null),e.debug||n.pendingRequests.cancelAll())}return R({onTouchStart:l,onMouseDown:l,onTouchMove:function(m){n.getState().isOpen!==!1&&c===e.environment.document.activeElement&&m.target!==c&&c.blur()}},re(a,mi))},getRootProps:function(a){return R({role:"combobox","aria-expanded":n.getState().isOpen,"aria-haspopup":"listbox","aria-owns":n.getState().isOpen?"".concat(e.id,"-list"):void 0,"aria-labelledby":"".concat(e.id,"-label")},a)},getFormProps:function(a){return a.inputElement,R({action:"",noValidate:!0,role:"search",onSubmit:function(c){var u;c.preventDefault(),e.onSubmit(R({event:c,refresh:r,state:n.getState()},o)),n.dispatch("submit",null),(u=a.inputElement)===null||u===void 0||u.blur()},onReset:function(c){var u;c.preventDefault(),e.onReset(R({event:c,refresh:r,state:n.getState()},o)),n.dispatch("reset",null),(u=a.inputElement)===null||u===void 0||u.focus()}},re(a,pi))},getLabelProps:function(a){var c=a||{},u=c.sourceIndex,s=re(c,di);return R({htmlFor:"".concat(i(e.id,u),"-input"),id:"".concat(i(e.id,u),"-label")},s)},getInputProps:function(a){var c;function u(y){(e.openOnFocus||n.getState().query)&&le(R({event:y,props:e,query:n.getState().completion||n.getState().query,refresh:r,store:n},o)),n.dispatch("focus",null)}var s=a||{},l=(s.inputElement,s.maxLength),m=l===void 0?512:l,p=re(s,vi),v=fe(n.getState()),d=function(y){return!!(y&&y.match($o))}(((c=e.environment.navigator)===null||c===void 0?void 0:c.userAgent)||""),h=v!=null&&v.itemUrl&&!d?"go":"search";return R({"aria-autocomplete":"both","aria-activedescendant":n.getState().isOpen&&n.getState().activeItemId!==null?"".concat(e.id,"-item-").concat(n.getState().activeItemId):void 0,"aria-controls":n.getState().isOpen?"".concat(e.id,"-list"):void 0,"aria-labelledby":"".concat(e.id,"-label"),value:n.getState().completion||n.getState().query,id:"".concat(e.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:h,spellCheck:"false",autoFocus:e.autoFocus,placeholder:e.placeholder,maxLength:m,type:"search",onChange:function(y){le(R({event:y,props:e,query:y.currentTarget.value.slice(0,m),refresh:r,store:n},o))},onKeyDown:function(y){(function(b){var _=b.event,S=b.props,O=b.refresh,g=b.store,P=si(b,ci);if(_.key==="ArrowUp"||_.key==="ArrowDown"){var C=function(){var M=S.environment.document.getElementById("".concat(S.id,"-item-").concat(g.getState().activeItemId));M&&(M.scrollIntoViewIfNeeded?M.scrollIntoViewIfNeeded(!1):M.scrollIntoView(!1))},L=function(){var M=fe(g.getState());if(g.getState().activeItemId!==null&&M){var Ot=M.item,St=M.itemInputValue,$e=M.itemUrl,B=M.source;B.onActive(te({event:_,item:Ot,itemInputValue:St,itemUrl:$e,refresh:O,source:B,state:g.getState()},P))}};_.preventDefault(),g.getState().isOpen===!1&&(S.openOnFocus||g.getState().query)?le(te({event:_,props:S,query:g.getState().query,refresh:O,store:g},P)).then(function(){g.dispatch(_.key,{nextActiveItemId:S.defaultActiveItemId}),L(),setTimeout(C,0)}):(g.dispatch(_.key,{}),L(),C())}else if(_.key==="Escape")_.preventDefault(),g.dispatch(_.key,null),g.pendingRequests.cancelAll();else if(_.key==="Tab")g.dispatch("blur",null),g.pendingRequests.cancelAll();else if(_.key==="Enter"){if(g.getState().activeItemId===null||g.getState().collections.every(function(M){return M.items.length===0}))return void(S.debug||g.pendingRequests.cancelAll());_.preventDefault();var x=fe(g.getState()),k=x.item,N=x.itemInputValue,U=x.itemUrl,F=x.source;if(_.metaKey||_.ctrlKey)U!==void 0&&(F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P)),S.navigator.navigateNewTab({itemUrl:U,item:k,state:g.getState()}));else if(_.shiftKey)U!==void 0&&(F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P)),S.navigator.navigateNewWindow({itemUrl:U,item:k,state:g.getState()}));else if(!_.altKey){if(U!==void 0)return F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P)),void S.navigator.navigate({itemUrl:U,item:k,state:g.getState()});le(te({event:_,nextState:{isOpen:!1},props:S,query:N,refresh:O,store:g},P)).then(function(){F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P))})}}})(R({event:y,props:e,refresh:r,store:n},o))},onFocus:u,onBlur:vt,onClick:function(y){a.inputElement!==e.environment.document.activeElement||n.getState().isOpen||u(y)}},p)},getPanelProps:function(a){return R({onMouseDown:function(c){c.preventDefault()},onMouseLeave:function(){n.dispatch("mouseleave",null)}},a)},getListProps:function(a){var c=a||{},u=c.sourceIndex,s=re(c,hi);return R({role:"listbox","aria-labelledby":"".concat(i(e.id,u),"-label"),id:"".concat(i(e.id,u),"-list")},s)},getItemProps:function(a){var c=a.item,u=a.source,s=a.sourceIndex,l=re(a,yi);return R({id:"".concat(i(e.id,s),"-item-").concat(c.__autocomplete_id),role:"option","aria-selected":n.getState().activeItemId===c.__autocomplete_id,onMouseMove:function(m){if(c.__autocomplete_id!==n.getState().activeItemId){n.dispatch("mousemove",c.__autocomplete_id);var p=fe(n.getState());if(n.getState().activeItemId!==null&&p){var v=p.item,d=p.itemInputValue,h=p.itemUrl,y=p.source;y.onActive(R({event:m,item:v,itemInputValue:d,itemUrl:h,refresh:r,source:y,state:n.getState()},o))}}},onMouseDown:function(m){m.preventDefault()},onClick:function(m){var p=u.getItemInputValue({item:c,state:n.getState()}),v=u.getItemUrl({item:c,state:n.getState()});(v?Promise.resolve():le(R({event:m,nextState:{isOpen:!1},props:e,query:p,refresh:r,store:n},o))).then(function(){u.onSelect(R({event:m,item:c,itemInputValue:p,itemUrl:v,refresh:r,source:u,state:n.getState()},o))})}},l)}}}function He(t){return He=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},He(t)}function $r(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function _i(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Bi(t){var e=t.translations,r=e===void 0?{}:e,n=Fi(t,Hi),o=r.noResultsText,i=o===void 0?"No results for":o,a=r.suggestedQueryText,c=a===void 0?"Try searching for":a,u=r.reportMissingResultsText,s=u===void 0?"Believe this query should return results?":u,l=r.reportMissingResultsLinkText,m=l===void 0?"Let us know.":l,p=n.state.context.searchSuggestions;return f.createElement("div",{className:"DocSearch-NoResults"},f.createElement("div",{className:"DocSearch-Screen-Icon"},f.createElement(Li,null)),f.createElement("p",{className:"DocSearch-Title"},i,' "',f.createElement("strong",null,n.state.query),'"'),p&&p.length>0&&f.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},f.createElement("p",{className:"DocSearch-Help"},c,":"),f.createElement("ul",null,p.slice(0,3).reduce(function(v,d){return[].concat(Ui(v),[f.createElement("li",{key:d},f.createElement("button",{className:"DocSearch-Prefill",key:d,type:"button",onClick:function(){n.setQuery(d.toLowerCase()+" "),n.refresh(),n.inputRef.current.focus()}},d))])},[]))),n.getMissingResultsUrl&&f.createElement("p",{className:"DocSearch-Help"},"".concat(s," "),f.createElement("a",{href:n.getMissingResultsUrl({query:n.state.query}),target:"_blank",rel:"noopener noreferrer"},m)))}var Vi=["hit","attribute","tagName"];function Xr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function en(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function tn(t,e){return e.split(".").reduce(function(r,n){return r!=null&&r[n]?r[n]:null},t)}function ce(t){var e=t.hit,r=t.attribute,n=t.tagName;return W(n===void 0?"span":n,en(en({},Ki(t,Vi)),{},{dangerouslySetInnerHTML:{__html:tn(e,"_snippetResult.".concat(r,".value"))||tn(e,r)}}))}function rn(t,e){return function(r){if(Array.isArray(r))return r}(t)||function(r,n){var o=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(o!=null){var i,a,c=[],u=!0,s=!1;try{for(o=o.call(r);!(u=(i=o.next()).done)&&(c.push(i.value),!n||c.length!==n);u=!0);}catch(l){s=!0,a=l}finally{try{u||o.return==null||o.return()}finally{if(s)throw a}}return c}}(t,e)||function(r,n){if(r){if(typeof r=="string")return nn(r,n);var o=Object.prototype.toString.call(r).slice(8,-1);if(o==="Object"&&r.constructor&&(o=r.constructor.name),o==="Map"||o==="Set")return Array.from(r);if(o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return nn(r,n)}}(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function nn(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r|<\/mark>)/g,$i=RegExp(zn.source);function Jn(t){var e,r,n=t;if(!n.__docsearch_parent&&!t._highlightResult)return t.hierarchy.lvl0;var o=((n.__docsearch_parent?(e=n.__docsearch_parent)===null||e===void 0||(e=e._highlightResult)===null||e===void 0||(e=e.hierarchy)===null||e===void 0?void 0:e.lvl0:(r=t._highlightResult)===null||r===void 0||(r=r.hierarchy)===null||r===void 0?void 0:r.lvl0)||{}).value;return o&&$i.test(o)?o.replace(zn,""):o}function Jt(){return Jt=Object.assign||function(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Gi(t){var e=t.translations,r=e===void 0?{}:e,n=Yi(t,Zi),o=r.recentSearchesTitle,i=o===void 0?"Recent":o,a=r.noRecentSearchesText,c=a===void 0?"No recent searches":a,u=r.saveRecentSearchButtonTitle,s=u===void 0?"Save this search":u,l=r.removeRecentSearchButtonTitle,m=l===void 0?"Remove this search from history":l,p=r.favoriteSearchesTitle,v=p===void 0?"Favorite":p,d=r.removeFavoriteSearchButtonTitle,h=d===void 0?"Remove this search from favorites":d;return n.state.status==="idle"&&n.hasCollections===!1?n.disableUserPersonalization?null:f.createElement("div",{className:"DocSearch-StartScreen"},f.createElement("p",{className:"DocSearch-Help"},c)):n.hasCollections===!1?null:f.createElement("div",{className:"DocSearch-Dropdown-Container"},f.createElement(zt,ht({},n,{title:i,collection:n.state.collections[0],renderIcon:function(){return f.createElement("div",{className:"DocSearch-Hit-icon"},f.createElement(Ai,null))},renderAction:function(y){var b=y.item,_=y.runFavoriteTransition,S=y.runDeleteTransition;return f.createElement(f.Fragment,null,f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:s,type:"submit",onClick:function(O){O.preventDefault(),O.stopPropagation(),_(function(){n.favoriteSearches.add(b),n.recentSearches.remove(b),n.refresh()})}},f.createElement(Gr,null))),f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:m,type:"submit",onClick:function(O){O.preventDefault(),O.stopPropagation(),S(function(){n.recentSearches.remove(b),n.refresh()})}},f.createElement(Kt,null))))}})),f.createElement(zt,ht({},n,{title:v,collection:n.state.collections[1],renderIcon:function(){return f.createElement("div",{className:"DocSearch-Hit-icon"},f.createElement(Gr,null))},renderAction:function(y){var b=y.item,_=y.runDeleteTransition;return f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:h,type:"submit",onClick:function(S){S.preventDefault(),S.stopPropagation(),_(function(){n.favoriteSearches.remove(b),n.refresh()})}},f.createElement(Kt,null)))}})))}var Xi=["translations"];function yt(){return yt=Object.assign||function(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var ta=f.memo(function(t){var e=t.translations,r=e===void 0?{}:e,n=ea(t,Xi);if(n.state.status==="error")return f.createElement(Mi,{translations:r==null?void 0:r.errorScreen});var o=n.state.collections.some(function(i){return i.items.length>0});return n.state.query?o===!1?f.createElement(Bi,yt({},n,{translations:r==null?void 0:r.noResultsScreen})):f.createElement(Qi,n):f.createElement(Gi,yt({},n,{hasCollections:o,translations:r==null?void 0:r.startScreen}))},function(t,e){return e.state.status==="loading"||e.state.status==="stalled"}),ra=["translations"];function gt(){return gt=Object.assign||function(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function oa(t){var e=t.translations,r=e===void 0?{}:e,n=na(t,ra),o=r.resetButtonTitle,i=o===void 0?"Clear the query":o,a=r.resetButtonAriaLabel,c=a===void 0?"Clear the query":a,u=r.cancelButtonText,s=u===void 0?"Cancel":u,l=r.cancelButtonAriaLabel,m=l===void 0?"Cancel":l,p=n.getFormProps({inputElement:n.inputRef.current}).onReset;return f.useEffect(function(){n.autoFocus&&n.inputRef.current&&n.inputRef.current.focus()},[n.autoFocus,n.inputRef]),f.useEffect(function(){n.isFromSelection&&n.inputRef.current&&n.inputRef.current.select()},[n.isFromSelection,n.inputRef]),f.createElement(f.Fragment,null,f.createElement("form",{className:"DocSearch-Form",onSubmit:function(v){v.preventDefault()},onReset:p},f.createElement("label",gt({className:"DocSearch-MagnifierLabel"},n.getLabelProps()),f.createElement(Hn,null)),f.createElement("div",{className:"DocSearch-LoadingIndicator"},f.createElement(ki,null)),f.createElement("input",gt({className:"DocSearch-Input",ref:n.inputRef},n.getInputProps({inputElement:n.inputRef.current,autoFocus:n.autoFocus,maxLength:64}))),f.createElement("button",{type:"reset",title:i,className:"DocSearch-Reset","aria-label":c,hidden:!n.state.query},f.createElement(Kt,null))),f.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":m,onClick:n.onClose},s))}var ia=["_highlightResult","_snippetResult"];function aa(t,e){if(t==null)return{};var r,n,o=function(a,c){if(a==null)return{};var u,s,l={},m=Object.keys(a);for(s=0;s=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function ua(t){return function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch{return!1}}()===!1?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(e){return window.localStorage.setItem(t,JSON.stringify(e))},getItem:function(){var e=window.localStorage.getItem(t);return e?JSON.parse(e):[]}}}function un(t){var e=t.key,r=t.limit,n=r===void 0?5:r,o=ua(e),i=o.getItem().slice(0,n);return{add:function(a){var c=a,u=(c._highlightResult,c._snippetResult,aa(c,ia)),s=i.findIndex(function(l){return l.objectID===u.objectID});s>-1&&i.splice(s,1),i.unshift(u),i=i.slice(0,n),o.setItem(i)},remove:function(a){i=i.filter(function(c){return c.objectID!==a.objectID}),o.setItem(i)},getAll:function(){return i}}}var ca=["facetName","facetQuery"];function la(t){var e,r="algoliasearch-client-js-".concat(t.key),n=function(){return e===void 0&&(e=t.localStorage||window.localStorage),e},o=function(){return JSON.parse(n().getItem(r)||"{}")},i=function(c){n().setItem(r,JSON.stringify(c))},a=function(){var c=t.timeToLive?1e3*t.timeToLive:null,u=o(),s=Object.fromEntries(Object.entries(u).filter(function(m){return se(m,2)[1].timestamp!==void 0}));if(i(s),c){var l=Object.fromEntries(Object.entries(s).filter(function(m){var p=se(m,2)[1],v=new Date().getTime();return!(p.timestamp+c2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then(function(){a();var l=JSON.stringify(c);return o()[l]}).then(function(l){return Promise.all([l?l.value:u(),l!==void 0])}).then(function(l){var m=se(l,2),p=m[0],v=m[1];return Promise.all([p,v||s.miss(p)])}).then(function(l){return se(l,1)[0]})},set:function(c,u){return Promise.resolve().then(function(){var s=o();return s[JSON.stringify(c)]={timestamp:new Date().getTime(),value:u},n().setItem(r,JSON.stringify(s)),u})},delete:function(c){return Promise.resolve().then(function(){var u=o();delete u[JSON.stringify(c)],n().setItem(r,JSON.stringify(u))})},clear:function(){return Promise.resolve().then(function(){n().removeItem(r)})}}}function Ee(t){var e=ft(t.caches),r=e.shift();return r===void 0?{get:function(n,o){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return o().then(function(a){return Promise.all([a,i.miss(a)])}).then(function(a){return se(a,1)[0]})},set:function(n,o){return Promise.resolve(o)},delete:function(n){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(n,o){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(n,o,i).catch(function(){return Ee({caches:e}).get(n,o,i)})},set:function(n,o){return r.set(n,o).catch(function(){return Ee({caches:e}).set(n,o)})},delete:function(n){return r.delete(n).catch(function(){return Ee({caches:e}).delete(n)})},clear:function(){return r.clear().catch(function(){return Ee({caches:e}).clear()})}}}function Tt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{serializable:!0},e={};return{get:function(r,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}},i=JSON.stringify(r);if(i in e)return Promise.resolve(t.serializable?JSON.parse(e[i]):e[i]);var a=n(),c=o&&o.miss||function(){return Promise.resolve()};return a.then(function(u){return c(u)}).then(function(){return a})},set:function(r,n){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear:function(){return e={},Promise.resolve()}}}function sa(t){for(var e=t.length-1;e>0;e--){var r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function $n(t,e){return e&&Object.keys(e).forEach(function(r){t[r]=e[r](t)}),t}function bt(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n0?n:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var me={Read:1,Write:2,Any:3},Qn=1,fa=2,Zn=3;function Yn(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Qn;return I(I({},t),{},{status:e,lastUpdate:Date.now()})}function Gn(t){return typeof t=="string"?{protocol:"https",url:t,accept:me.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||me.Any}}var $t="GET",_t="POST";function ma(t,e){return Promise.all(e.map(function(r){return t.get(r,function(){return Promise.resolve(Yn(r))})})).then(function(r){var n=r.filter(function(a){return function(c){return c.status===Qn||Date.now()-c.lastUpdate>12e4}(a)}),o=r.filter(function(a){return function(c){return c.status===Zn&&Date.now()-c.lastUpdate<=12e4}(a)}),i=[].concat(ft(n),ft(o));return{getTimeout:function(a,c){return(o.length===0&&a===0?1:o.length+3+a)*c},statelessHosts:i.length>0?i.map(function(a){return Gn(a)}):e}})}function ln(t,e,r,n){var o=[],i=function(p,v){if(!(p.method===$t||p.data===void 0&&v.data===void 0)){var d=Array.isArray(p.data)?p.data:I(I({},p.data),v.data);return JSON.stringify(d)}}(r,n),a=function(p,v){var d=I(I({},p.headers),v.headers),h={};return Object.keys(d).forEach(function(y){var b=d[y];h[y.toLowerCase()]=b}),h}(t,n),c=r.method,u=r.method!==$t?{}:I(I({},r.data),n.data),s=I(I(I({"x-algolia-agent":t.userAgent.value},t.queryParameters),u),n.queryParameters),l=0,m=function p(v,d){var h=v.pop();if(h===void 0)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:sn(o)};var y={data:i,headers:a,method:c,url:va(h,r.path,s),connectTimeout:d(l,t.timeouts.connect),responseTimeout:d(l,n.timeout)},b=function(S){var O={request:y,response:S,host:h,triesLeft:v.length};return o.push(O),O},_={onSuccess:function(S){return function(O){try{return JSON.parse(O.content)}catch(g){throw function(P,C){return{name:"DeserializationError",message:P,response:C}}(g.message,O)}}(S)},onRetry:function(S){var O=b(S);return S.isTimedOut&&l++,Promise.all([t.logger.info("Retryable failure",eo(O)),t.hostsCache.set(h,Yn(h,S.isTimedOut?Zn:fa))]).then(function(){return p(v,d)})},onFail:function(S){throw b(S),function(O,g){var P=O.content,C=O.status,L=P;try{L=JSON.parse(P).message}catch{}return function(x,k,N){return{name:"ApiError",message:x,status:k,transporterStackTrace:N}}(L,C,g)}(S,sn(o))}};return t.requester.send(y).then(function(S){return function(O,g){return function(P){var C=P.status;return P.isTimedOut||function(L){var x=L.isTimedOut,k=L.status;return!x&&~~k==0}(P)||~~(C/100)!=2&&~~(C/100)!=4}(O)?g.onRetry(O):~~(O.status/100)==2?g.onSuccess(O):g.onFail(O)}(S,_)})};return ma(t.hostsCache,e).then(function(p){return m(ft(p.statelessHosts).reverse(),p.getTimeout)})}function pa(t){var e={value:"Algolia for JavaScript (".concat(t,")"),add:function(r){var n="; ".concat(r.segment).concat(r.version!==void 0?" (".concat(r.version,")"):"");return e.value.indexOf(n)===-1&&(e.value="".concat(e.value).concat(n)),e}};return e}function va(t,e,r){var n=Xn(r),o="".concat(t.protocol,"://").concat(t.url,"/").concat(e.charAt(0)==="/"?e.substr(1):e);return n.length&&(o+="?".concat(n)),o}function Xn(t){return Object.keys(t).map(function(e){return bt("%s=%s",e,(r=t[e],Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]"?JSON.stringify(t[e]):t[e]));var r}).join("&")}function sn(t){return t.map(function(e){return eo(e)})}function eo(t){var e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return I(I({},t),{},{request:I(I({},t.request),{},{headers:I(I({},t.request.headers),e)})})}var da=function(t){var e=t.appId,r=function(i,a,c){var u={"x-algolia-api-key":c,"x-algolia-application-id":a};return{headers:function(){return i===st.WithinHeaders?u:{}},queryParameters:function(){return i===st.WithinQueryParameters?u:{}}}}(t.authMode!==void 0?t.authMode:st.WithinHeaders,e,t.apiKey),n=function(i){var a=i.hostsCache,c=i.logger,u=i.requester,s=i.requestsCache,l=i.responsesCache,m=i.timeouts,p=i.userAgent,v=i.hosts,d=i.queryParameters,h={hostsCache:a,logger:c,requester:u,requestsCache:s,responsesCache:l,timeouts:m,userAgent:p,headers:i.headers,queryParameters:d,hosts:v.map(function(y){return Gn(y)}),read:function(y,b){var _=cn(b,h.timeouts.read),S=function(){return ln(h,h.hosts.filter(function(g){return(g.accept&me.Read)!=0}),y,_)};if((_.cacheable!==void 0?_.cacheable:y.cacheable)!==!0)return S();var O={request:y,mappedRequestOptions:_,transporter:{queryParameters:h.queryParameters,headers:h.headers}};return h.responsesCache.get(O,function(){return h.requestsCache.get(O,function(){return h.requestsCache.set(O,S()).then(function(g){return Promise.all([h.requestsCache.delete(O),g])},function(g){return Promise.all([h.requestsCache.delete(O),Promise.reject(g)])}).then(function(g){var P=se(g,2);return P[0],P[1]})})},{miss:function(g){return h.responsesCache.set(O,g)}})},write:function(y,b){return ln(h,h.hosts.filter(function(_){return(_.accept&me.Write)!=0}),y,cn(b,h.timeouts.write))}};return h}(I(I({hosts:[{url:"".concat(e,"-dsn.algolia.net"),accept:me.Read},{url:"".concat(e,".algolia.net"),accept:me.Write}].concat(sa([{url:"".concat(e,"-1.algolianet.com")},{url:"".concat(e,"-2.algolianet.com")},{url:"".concat(e,"-3.algolianet.com")}]))},t),{},{headers:I(I(I({},r.headers()),{"content-type":"application/x-www-form-urlencoded"}),t.headers),queryParameters:I(I({},r.queryParameters()),t.queryParameters)})),o={transporter:n,appId:e,addAlgoliaAgent:function(i,a){n.userAgent.add({segment:i,version:a})},clearCache:function(){return Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then(function(){})}};return $n(o,t.methods)},ha=function(t){return function(e,r){return e.method===$t?t.transporter.read(e,r):t.transporter.write(e,r)}},to=function(t){return function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={transporter:t.transporter,appId:t.appId,indexName:e};return $n(n,r.methods)}},fn=function(t){return function(e,r){var n=e.map(function(o){return I(I({},o),{},{params:Xn(o.params||{})})});return t.transporter.read({method:_t,path:"1/indexes/*/queries",data:{requests:n},cacheable:!0},r)}},mn=function(t){return function(e,r){return Promise.all(e.map(function(n){var o=n.params,i=o.facetName,a=o.facetQuery,c=fo(o,ca);return to(t)(n.indexName,{methods:{searchForFacetValues:ro}}).searchForFacetValues(i,a,I(I({},r),c))}))}},ya=function(t){return function(e,r,n){return t.transporter.read({method:_t,path:bt("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},n)}},ga=function(t){return function(e,r){return t.transporter.read({method:_t,path:bt("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},r)}},ro=function(t){return function(e,r,n){return t.transporter.read({method:_t,path:bt("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:r},cacheable:!0},n)}},ba=1,_a=2,Oa=3;function no(t,e,r){var n,o={appId:t,apiKey:e,timeouts:{connect:1,read:2,write:30},requester:{send:function(i){return new Promise(function(a){var c=new XMLHttpRequest;c.open(i.method,i.url,!0),Object.keys(i.headers).forEach(function(m){return c.setRequestHeader(m,i.headers[m])});var u,s=function(m,p){return setTimeout(function(){c.abort(),a({status:0,content:p,isTimedOut:!0})},1e3*m)},l=s(i.connectTimeout,"Connection timeout");c.onreadystatechange=function(){c.readyState>c.OPENED&&u===void 0&&(clearTimeout(l),u=s(i.responseTimeout,"Socket timeout"))},c.onerror=function(){c.status===0&&(clearTimeout(l),clearTimeout(u),a({content:c.responseText||"Network request failed",status:c.status,isTimedOut:!1}))},c.onload=function(){clearTimeout(l),clearTimeout(u),a({content:c.responseText,status:c.status,isTimedOut:!1})},c.send(i.data)})}},logger:(n=Oa,{debug:function(i,a){return ba>=n&&console.debug(i,a),Promise.resolve()},info:function(i,a){return _a>=n&&console.info(i,a),Promise.resolve()},error:function(i,a){return console.error(i,a),Promise.resolve()}}),responsesCache:Tt(),requestsCache:Tt({serializable:!1}),hostsCache:Ee({caches:[la({key:"".concat("4.19.1","-").concat(t)}),Tt()]}),userAgent:pa("4.19.1").add({segment:"Browser",version:"lite"}),authMode:st.WithinQueryParameters};return da(I(I(I({},o),r),{},{methods:{search:fn,searchForFacetValues:mn,multipleQueries:fn,multipleSearchForFacetValues:mn,customRequest:ha,initIndex:function(i){return function(a){return to(i)(a,{methods:{search:ga,searchForFacetValues:ro,findAnswers:ya}})}}}}))}no.version="4.19.1";var Sa=["footer","searchBox"];function Be(){return Be=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Pa(t){var e=t.appId,r=t.apiKey,n=t.indexName,o=t.placeholder,i=o===void 0?"Search docs":o,a=t.searchParameters,c=t.maxResultsPerGroup,u=t.onClose,s=u===void 0?Ji:u,l=t.transformItems,m=l===void 0?an:l,p=t.hitComponent,v=p===void 0?Di:p,d=t.resultsFooterComponent,h=d===void 0?function(){return null}:d,y=t.navigator,b=t.initialScrollY,_=b===void 0?0:b,S=t.transformSearchClient,O=S===void 0?an:S,g=t.disableUserPersonalization,P=g!==void 0&&g,C=t.initialQuery,L=C===void 0?"":C,x=t.translations,k=x===void 0?{}:x,N=t.getMissingResultsUrl,U=t.insights,F=U!==void 0&&U,M=k.footer,Ot=k.searchBox,St=Ea(k,Sa),$e=wa(f.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),B=$e[0],oo=$e[1],Xt=f.useRef(null),jt=f.useRef(null),er=f.useRef(null),Qe=f.useRef(null),he=f.useRef(null),Q=f.useRef(10),tr=f.useRef(typeof window<"u"?window.getSelection().toString().slice(0,64):"").current,ee=f.useRef(L||tr).current,rr=function(w,D,T){return f.useMemo(function(){var H=no(w,D);return H.addAlgoliaAgent("docsearch","3.5.2"),/docsearch.js \(.*\)/.test(H.transporter.userAgent.value)===!1&&H.addAlgoliaAgent("docsearch-react","3.5.2"),T(H)},[w,D,T])}(e,r,O),oe=f.useRef(un({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(n),limit:10})).current,ye=f.useRef(un({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(n),limit:oe.getAll().length===0?7:4})).current,ge=f.useCallback(function(w){if(!P){var D=w.type==="content"?w.__docsearch_parent:w;D&&oe.getAll().findIndex(function(T){return T.objectID===D.objectID})===-1&&ye.add(D)}},[oe,ye,P]),io=f.useCallback(function(w){if(B.context.algoliaInsightsPlugin&&w.__autocomplete_id){var D=w,T={eventName:"Item Selected",index:D.__autocomplete_indexName,items:[D],positions:[w.__autocomplete_id],queryID:D.__autocomplete_queryID};B.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(T)}},[B.context.algoliaInsightsPlugin]),be=f.useMemo(function(){return Ei({id:"docsearch",defaultActiveItemId:0,placeholder:i,openOnFocus:!0,initialState:{query:ee,context:{searchSuggestions:[]}},insights:F,navigator:y,onStateChange:function(w){oo(w.state)},getSources:function(w){var D=w.query,T=w.state,H=w.setContext,Z=w.setStatus;if(!D)return P?[]:[{sourceId:"recentSearches",onSelect:function(A){var V=A.item,_e=A.event;ge(V),at(_e)||s()},getItemUrl:function(A){return A.item.url},getItems:function(){return ye.getAll()}},{sourceId:"favoriteSearches",onSelect:function(A){var V=A.item,_e=A.event;ge(V),at(_e)||s()},getItemUrl:function(A){return A.item.url},getItems:function(){return oe.getAll()}}];var Y=!!F;return rr.search([{query:D,indexName:n,params:Rt({attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(Q.current),"hierarchy.lvl2:".concat(Q.current),"hierarchy.lvl3:".concat(Q.current),"hierarchy.lvl4:".concat(Q.current),"hierarchy.lvl5:".concat(Q.current),"hierarchy.lvl6:".concat(Q.current),"content:".concat(Q.current)],snippetEllipsisText:"…",highlightPreTag:"",highlightPostTag:"",hitsPerPage:20,clickAnalytics:Y},a)}]).catch(function(A){throw A.name==="RetryError"&&Z("error"),A}).then(function(A){var V=A.results[0],_e=V.hits,co=V.nbHits,wt=on(_e,function(Et){return Jn(Et)},c);T.context.searchSuggestions.length0&&(nr(),he.current&&he.current.focus())},[ee,nr]),f.useEffect(function(){function w(){if(jt.current){var D=.01*window.innerHeight;jt.current.style.setProperty("--docsearch-vh","".concat(D,"px"))}}return w(),window.addEventListener("resize",w),function(){window.removeEventListener("resize",w)}},[]),f.createElement("div",Be({ref:Xt},uo({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container",B.status==="stalled"&&"DocSearch-Container--Stalled",B.status==="error"&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(w){w.target===w.currentTarget&&s()}}),f.createElement("div",{className:"DocSearch-Modal",ref:jt},f.createElement("header",{className:"DocSearch-SearchBar",ref:er},f.createElement(oa,Be({},be,{state:B,autoFocus:ee.length===0,inputRef:he,isFromSelection:!!ee&&ee===tr,translations:Ot,onClose:s}))),f.createElement("div",{className:"DocSearch-Dropdown",ref:Qe},f.createElement(ta,Be({},be,{indexName:n,state:B,hitComponent:v,resultsFooterComponent:h,disableUserPersonalization:P,recentSearches:ye,favoriteSearches:oe,inputRef:he,translations:St,getMissingResultsUrl:N,onItemClick:function(w,D){io(w),ge(w),at(D)||s()}}))),f.createElement("footer",{className:"DocSearch-Footer"},f.createElement(Ii,{translations:M}))))}function Qt(){return Qt=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&arguments[1]!==void 0?arguments[1]:window;return typeof e=="string"?r.document.querySelector(e):e}(t.container,t.environment))}export{Da as default}; diff --git a/assets/index.html--IRrqB2R.js b/assets/index.html--IRrqB2R.js new file mode 100644 index 000000000..d9dc83602 --- /dev/null +++ b/assets/index.html--IRrqB2R.js @@ -0,0 +1 @@ +import{_ as s,r as a,o as h,c as u,b as t,a as e,w as d,d as l,e as o}from"./app-9djxHuta.js";const c={},_=t("h1",{id:"🎡社团活动",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#🎡社团活动","aria-hidden":"true"},"#"),l(" 🎡社团活动")],-1),p={class:"table-of-contents"},b=o('

提示

欢迎社联和各社团与南科手册合作,本页免费提供广告位。详情请查看 贡献页面

注册社团列表

',2),f=o('

相信刚结束高中三年的你们对于丰富多彩的大学生活肯定是充满了期待。没错,大学生活怎么能只有学习学习和学习呢?!没有参加过什么社团组织的话, 我敢打赌你的大学四年会留下遗憾的(赌一包辣条敢不敢)。

社团

学校的社团组织种类很多,同时,当你发现你感兴趣的东西没有响应的社团时,也可以去各个群里吼几嗓子(滑稽),相信总会有那么一帮志同道合的小伙伴,大家可以一起创建起社团,造福自己,造福南科!(啊~~~~)

重头戏当然是秋季学期的百团大战!到那时各个社团都会出动抢人,想尽一切办法给自己的社团增添人气。想象一下,那么多社团一起摆摊宣传,那场面肯定比赶大集还热闹。当然,这也是萌新们了解社团,加入社团的大好时机!如果你想加入社团而又不知从何下手的话,这场百团大战一定不要错过。

提示

不同的社团会由不同的书院来管理,因此有一些社团名称前会带有某个书院的名称,但并不代表只有这个书院的同学才可以加入哦。我们的社团都是面向全校开放、活动的,所以不管你是哪个书院的学生,都可以去寻找自己想去的社团哦。

南科大目前约有在册学生团体数百个,涵盖了思想政治类、志愿公益类、学术科技类、体育竞技类、创新创业类、文化艺术类、自助互益类及其他类别。另外,同学们如果有自己创建学生团体的想法,可依据相应流程创建学生团体。

社团组织简介

团学组织

即校团委和团委指导下的组织。

  • 校团委及其指导下的团学组织:南方科技大学学生会、社团联合会、义工联合会

  • 书院指导的团学组织:学长团、各书院团总支、学生会(自管会)各班级的团学组织:团支委和班委校职能部门指导的学生团体

  • 党委公共关系与宣传部指导的“学生新闻社”招生办公室指导的“招生宣传协会”等

  • 国际学术团体分支及校科研教学单位指导的学生团体:电气和电子工程师协会(IEEE)、美国光学学会(OSA)、国际光学工程学会(SPIE)

体育竞技类学生团体

  • 书院运动项目院队:男足、女足、男篮、女篮、羽毛球队,游泳队等

  • 体育中心指导下的体育竞技校队:校游泳队、校羽毛球队,校定向运动协会;校舞蹈团等;

  • 在社团联合会登记的体育特色社团:

社团名称
乒乓球社
定向越野社
清羽飞扬羽毛球社
搏击社
女子篮球社
炽焱足球社
排球社
跆拳道社
篮球社
轮滑社
散打社
川衡社
南科武学社
篮球社
滑板社
雁落弓社
电竞社
自行车社
女子篮球社
瑜伽社

志愿公益类学生团体

这类学生团体以服务社会、公益环保为主要活动内容。加入这类学生团体,能让你深入了解社会需求,培养社会责任感,同时还能提高你的社交能力、组织策划能力,并有机会结交一些社会人士。

社团名称
绿色营自然保育社
招生宣传社团
猫社
手语社

义工联合会

南方科技大学义工联合会(Southern University Volunteer Association)简称南科大义工联,英文简称“SUVA”,成立于2017年5月,是一个新兴的校级学生组织。义工联的成立是为了整合校内公益力量,进一步保障义工权益,促进志愿活动规范化、公益组织专业化,营造全校的公益氛围。

下辖社团:

社团名称
南科大应急救援队
南科大招协
南科公益
义工联合会—教职工子女分队

思想政治类

社团名称
学生研学社
军事爱好者社团

其它在社团联合会登记的学生社团

文化艺术类社团

在理工科大学艺术家的心,这是一些以文化修养、艺术技巧为主要内容的学生社团,唱,跳,rap应有尽有;加入这类社团,能找到一群有相同志趣的小伙伴,增强彼此的技艺交流中,还可以增强对艺术的理解。

',25),g=t("thead",null,[t("tr",null,[t("th",null,"社团名称")])],-1),x=t("tr",null,[t("td",null,"桥牌社")],-1),y={href:"https://sustc.wiki/%E5%8D%97%E6%96%B9%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6%E4%BA%A4%E5%93%8D%E4%B9%90%E5%9B%A2",target:"_blank",rel:"noopener noreferrer"},E=t("tr",null,[t("td",null,"科幻协会社团")],-1),m=t("tr",null,[t("td",null,"SCAP动漫社")],-1),k=t("tr",null,[t("td",null,"NOVA街舞杜")],-1),A=t("tr",null,[t("td",null,"轻音社")],-1),v=t("tr",null,[t("td",null,"文学社")],-1),B=t("tr",null,[t("td",null,"东亚神话与邦乐研究社")],-1),S=t("tr",null,[t("td",null,"Penbeat社")],-1),V=t("tr",null,[t("td",null,"魔方社")],-1),q=t("tr",null,[t("td",null,"Dauber画社")],-1),z=t("tr",null,[t("td",null,"致仁烘焙社")],-1),I=t("tr",null,[t("td",null,"音乐剧社")],-1),N=t("tr",null,[t("td",null,"桌游社")],-1),D=t("tr",null,[t("td",null,"橡胶调酒社")],-1),L=t("tr",null,[t("td",null,"铜琴社")],-1),w=t("tr",null,[t("td",null,"电子音乐社")],-1),C=t("tr",null,[t("td",null,"日本语言学习社")],-1),P=t("tr",null,[t("td",null,"电影沙龙社")],-1),R=t("tr",null,[t("td",null,"围棋社")],-1),T=t("tr",null,[t("td",null,"推理社")],-1),O=t("tr",null,[t("td",null,"辩论与口才社")],-1),U=t("tr",null,[t("td",null,"拉丁杜")],-1),M=t("tr",null,[t("td",null,"文化创意社")],-1),W=t("tr",null,[t("td",null,"Wink舞社")],-1),j=t("tr",null,[t("td",null,"弈林棋社")],-1),F=t("tr",null,[t("td",null,"吉他社")],-1),G=t("tr",null,[t("td",null,"书画社")],-1),H=t("tr",null,[t("td",null,"万智牌社")],-1),J=t("tr",null,[t("td",null,"摄影社")],-1),K=t("tr",null,[t("td",null,"精灵宝可梦中心社")],-1),Q=t("tr",null,[t("td",null,"孟荀学社")],-1),X=o('

学术科技类社团

把自己所学的各类理论知识运用到实践中,将知识迅速转化,是一件很棒的事呢。加入这类社团,能够加深你对知识学习的理解,提高你的实际动手能力和利用知识解决实际问题的能力。

社团名称
航模社
模拟联合国社
工业设计社
天文社
国际材料研究学会(MRS)南科大分会社团
科普社团
电子和电子工程(IEEE)南科大学生分会社团
计算机研究协会社团
虚拟现实技术社
翻译社

创新创业类创新创业社团

能让你有机会接触到项目实际操作的流程和管理,了解市场需求,学习创业技能。

社团名称
创新创业协会社
家教社

筹备社团

社团名称
大学生就业与职业发展社团(筹)
游戏王社(筹)
网球社(筹)

Tips

如何选择心仪的社团

  1. 【学业为主,立足实际】

    南科大学研任务繁重,同学们时间与精力有限,应合理规划社团活动与学习时间,选择一至两个社团为佳。

  2. 【依据爱好,立足社况】

    基于学校的情况与社团的发展状况,了解不同社团组织形式、规模、组织能力、运作模式、以往业绩,依据自己的优势及爱好做出判断。

  3. 【评估双方,立足于己】

    了解过社团的相关情况后,评估一下自己加入目标社团需要投入的时间和精力、自己的期许与对社团的付出,做到知已知彼,不能盲目加入。

  4. 【谨慎创社,立足于情】

    南科大目前社团种类众多,不少社团面临着能否保持长期活力的问题。决定创立新社团之前,要先调查学校是否有类似性质的社团,避免部分社员精力耗散。充分规划社团发展前景,保持社团长期的生命力。

关于社团,学长学姐还想说:

  1. 社团跟选书院没关系!!

    不同社团可能归属在不同书院名下,但并没有什么影响,每个社团都面向全体南科大学生。

  2. 如何了解社团?

    除了会收到各种宣传手册,开学后还会有“百团大战”大型活动,届时大多数社团都会开设摊位进行展示,吸引感兴趣的萌新们加入~另外,也推荐找相关的学长学姐了解情况哦。

  3. 量力而行

    社团虽有趣,但要量力而行,学会取舍。一个社团愉快,两个社团充实,三个就过多了。

  4. 社团有专业老师吗?

    大部分运动类社团,如舞蹈社、羽毛球社、武术社……每个星期都会有几个小时的固定锻炼/上课时间;会有专门的教练/老师上课教学;优秀的社员还可以代表学校参赛;有些非运动类社团也会有指导老师,请具体咨询。

  5. 选择热爱的社团

    不建议加入社团然后长期划水。若真的想从中学到东⻄、交到朋友,要愿意主动花时间。所以建议选择自己真正热爱并能坚持参与的社团。

  6. 社团氛围的营造

    一个积极活跃的社团就像一个大家庭,社员之间坦诚相待,约饭约练习,有很好的归属感。而一个社团是否有活力,也往往靠社员们的热情参与和长期坚持。所以加入社团后一定要学会合理安排时间,积极参与,共同把社团建设成一个大家庭!

参考资料

本页面的编写参考了树德书院学长团所编写的《南科行前记》中的内容。

',15);function Y(Z,$){const r=a("router-link"),n=a("RouterLink"),i=a("ExternalLinkIcon");return h(),u("div",null,[_,t("nav",p,[t("ul",null,[t("li",null,[e(r,{to:"#注册社团列表"},{default:d(()=>[l("注册社团列表")]),_:1})]),t("li",null,[e(r,{to:"#社团"},{default:d(()=>[l("社团")]),_:1})]),t("li",null,[e(r,{to:"#社团组织简介"},{default:d(()=>[l("社团组织简介")]),_:1}),t("ul",null,[t("li",null,[e(r,{to:"#团学组织"},{default:d(()=>[l("团学组织")]),_:1})]),t("li",null,[e(r,{to:"#体育竞技类学生团体"},{default:d(()=>[l("体育竞技类学生团体")]),_:1})]),t("li",null,[e(r,{to:"#志愿公益类学生团体"},{default:d(()=>[l("志愿公益类学生团体")]),_:1})]),t("li",null,[e(r,{to:"#其它在社团联合会登记的学生社团"},{default:d(()=>[l("其它在社团联合会登记的学生社团")]),_:1})]),t("li",null,[e(r,{to:"#文化艺术类社团"},{default:d(()=>[l("文化艺术类社团")]),_:1})]),t("li",null,[e(r,{to:"#学术科技类社团"},{default:d(()=>[l("学术科技类社团")]),_:1})]),t("li",null,[e(r,{to:"#创新创业类创新创业社团"},{default:d(()=>[l("创新创业类创新创业社团")]),_:1})])])]),t("li",null,[e(r,{to:"#tips"},{default:d(()=>[l("Tips")]),_:1}),t("ul",null,[t("li",null,[e(r,{to:"#如何选择心仪的社团"},{default:d(()=>[l("如何选择心仪的社团")]),_:1})]),t("li",null,[e(r,{to:"#关于社团-学长学姐还想说"},{default:d(()=>[l("关于社团,学长学姐还想说:")]),_:1})])])]),t("li",null,[e(r,{to:"#参考资料"},{default:d(()=>[l("参考资料")]),_:1})])])]),b,t("ul",null,[t("li",null,[e(n,{to:"/organizations/registered-organization-2021.html"},{default:d(()=>[l("南方科技大学社团联合会注册社团名单(2020-2021)")]),_:1})]),t("li",null,[e(n,{to:"/organizations/registered-organization-2020.html"},{default:d(()=>[l("南方科技大学社团联合会注册社团名单(2019-2020)")]),_:1})]),t("li",null,[e(n,{to:"/organizations/registered-organization-2019.html"},{default:d(()=>[l("南方科技大学社团联合会注册社团名单(2018-2019)")]),_:1})])]),f,t("table",null,[g,t("tbody",null,[x,t("tr",null,[t("td",null,[t("a",y,[l("西乐社"),e(i)])])]),E,m,k,A,v,B,S,V,q,z,I,N,D,L,w,C,P,R,T,O,U,M,W,j,F,G,H,J,K,Q])]),X])}const lt=s(c,[["render",Y],["__file","index.html.vue"]]);export{lt as default}; diff --git a/assets/index.html-09lKpzMb.js b/assets/index.html-09lKpzMb.js new file mode 100644 index 000000000..a4042cd88 --- /dev/null +++ b/assets/index.html-09lKpzMb.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-8daa1a0e","path":"/","title":"📚南科手册","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"牛娃课程评价社区","slug":"牛娃课程评价社区","link":"#牛娃课程评价社区","children":[]},{"level":2,"title":"如果你是新生...","slug":"如果你是新生","link":"#如果你是新生","children":[]},{"level":2,"title":"飞跃手册:申请与校招经验","slug":"飞跃手册-申请与校招经验","link":"#飞跃手册-申请与校招经验","children":[]},{"level":2,"title":"校园地图","slug":"校园地图","link":"#校园地图","children":[]},{"level":2,"title":"版权信息","slug":"版权信息","link":"#版权信息","children":[]},{"level":2,"title":"For International Students","slug":"for-international-students","link":"#for-international-students","children":[]},{"level":2,"title":"支持与备案信息","slug":"支持与备案信息","link":"#支持与备案信息","children":[{"level":3,"title":"关于广告","slug":"关于广告","link":"#关于广告","children":[]}]}],"git":{"updatedTime":1692710509000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":51},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":30},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":2},{"name":"yuki","email":"chenjf2020@mail.sustech.edu.cn","commits":2},{"name":"ZiJian Zhang","email":"doomspec@outlook.com","commits":1}]},"filePathRelative":"README.md"}');export{e as data}; diff --git a/assets/index.html-0FeczQFx.js b/assets/index.html-0FeczQFx.js new file mode 100644 index 000000000..91d995b2e --- /dev/null +++ b/assets/index.html-0FeczQFx.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-425958ce","path":"/service/student-train-ticket/","title":"火车票学生优惠使用指南","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"写卡","slug":"写卡","link":"#写卡","children":[]},{"level":2,"title":"充磁","slug":"充磁","link":"#充磁","children":[]},{"level":2,"title":"验证","slug":"验证","link":"#验证","children":[]},{"level":2,"title":"购票","slug":"购票","link":"#购票","children":[]},{"level":2,"title":"接续换乘","slug":"接续换乘","link":"#接续换乘","children":[]},{"level":2,"title":"进站","slug":"进站","link":"#进站","children":[]},{"level":2,"title":"后言","slug":"后言","link":"#后言","children":[]}],"git":{"updatedTime":1686154305000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":2},{"name":"ByteInt","email":"68625666+ByteInt@users.noreply.github.com","commits":1},{"name":"Zhou-Yicheng","email":"52224018+Zhou-Yicheng@users.noreply.github.com","commits":1},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"service/student-train-ticket/README.md"}');export{e as data}; diff --git a/assets/index.html-0ThRdflu.js b/assets/index.html-0ThRdflu.js new file mode 100644 index 000000000..6af3e6c3e --- /dev/null +++ b/assets/index.html-0ThRdflu.js @@ -0,0 +1 @@ +import{_ as r,r as n,o as s,c as l,b as e,d as t,a as o,e as c}from"./app-9djxHuta.js";const h="/assets/matlab-6g9-imFB.png",i="/assets/matlab1-7dEAoyTc.png",d="/assets/matlab2-dVpy0Rho.png",_={},u=e("h1",{id:"matlab-激活",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#matlab-激活","aria-hidden":"true"},"#"),t(" MATLAB 激活")],-1),m=e("h2",{id:"创建-mathworks-帐户",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#创建-mathworks-帐户","aria-hidden":"true"},"#"),t(" 创建 MathWorks 帐户")],-1),p=e("code",null,"MathWorks",-1),f={href:"https://ww2.mathworks.cn/mwaccount/register?ssoCheck=true&uri=/mwaccount/",target:"_blank",rel:"noopener noreferrer"},k=e("p",null,[t("若有疑问可以咨询 "),e("code",null,"MathWorks"),t(" 客服或者易老师:yiha__at__mail.sustech.edu.cn")],-1),g=e("h2",{id:"安装包下载",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#安装包下载","aria-hidden":"true"},"#"),t(" 安装包下载")],-1),b={href:"https://ww2.mathworks.cn/login?ssoCheck=true&uri=%2Fmwaccount%2F",target:"_blank",rel:"noopener noreferrer"},w=e("li",null,[e("p",null,"登录后自动系统自动关联软件许可证,并提供产品多版本的下载链接"),e("p",null,[e("img",{src:h,alt:"fig"})]),e("p",null,[e("img",{src:i,alt:"fig"})])],-1),x=c('

安装与激活

  1. 安装时选择 MathWorks 账户登录即可。

    fig

参考链接

',3),M={href:"https://ww2.mathworks.cn/support/contact_us.html",target:"_blank",rel:"noopener noreferrer"};function W(B,V){const a=n("ExternalLinkIcon");return s(),l("div",null,[u,m,e("ol",null,[e("li",null,[t("用学校邮箱注册 "),p,t(" 账号(必须为学校邮箱否则无法使用)"),e("a",f,[t("注册链接"),o(a)])])]),k,g,e("ol",null,[e("li",null,[e("p",null,[t("用学校邮箱登录"),e("a",b,[t("MathWorks"),o(a)])])]),w]),x,e("ul",null,[e("li",null,[e("a",M,[t("联系MathWorks支持人员"),o(a)])])])])}const N=r(_,[["render",W],["__file","index.html.vue"]]);export{N as default}; diff --git a/assets/index.html-2HopNPQr.js b/assets/index.html-2HopNPQr.js new file mode 100644 index 000000000..09bf0fdda --- /dev/null +++ b/assets/index.html-2HopNPQr.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-dbd38712","path":"/emergency/","title":"应急处理","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"紧急医疗","slug":"紧急医疗","link":"#紧急医疗","children":[]},{"level":2,"title":"校内AED地图©南科大应急救援队","slug":"校内aed地图©南科大应急救援队","link":"#校内aed地图©南科大应急救援队","children":[]},{"level":2,"title":"校内AED实景地图","slug":"校内aed实景地图","link":"#校内aed实景地图","children":[]},{"level":2,"title":"校内急救箱地图©南科大应急救援队","slug":"校内急救箱地图©南科大应急救援队","link":"#校内急救箱地图©南科大应急救援队","children":[]},{"level":2,"title":"应急手册©南科大应急救援队","slug":"应急手册©南科大应急救援队","link":"#应急手册©南科大应急救援队","children":[]}],"git":{"updatedTime":1668847114000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":11},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":2}]},"filePathRelative":"emergency/README.md"}');export{e as data}; diff --git a/assets/index.html-2LBhv4zi.js b/assets/index.html-2LBhv4zi.js new file mode 100644 index 000000000..889a1489c --- /dev/null +++ b/assets/index.html-2LBhv4zi.js @@ -0,0 +1 @@ +import{_ as a,o as e,c as r,e as h}from"./app-9djxHuta.js";const d={},i=h('

📗教材与图书借还

教材借还

每年的学期初和结束时图书馆都会邮件通知借教材和还教材的时间和地点,大家可以根据自己需求借一些上课可能用到的教材。但是需要记得在学期结束的时候即使按照邮件通知即使归还图书,逾否则逾期的话可能要交逾期费。

图书馆书籍借还

如何找到想要的书?

登陆图书馆首页,在“馆藏书刊”检索中输入该书的题名(刊名)/责任者(作者)/主题词等信息,点击搜索,从检索出的书目信息中,挑选自己想要的图书,并记录该书的索书号,根据图书的楼层分布及索书号到书库查找图书.

如何利用自助借还书机借书、还书?

借书步骤:自助借还书机——“借书”——校园卡放在屏幕右下方的感应区——将书错落地放置于感应区(一次最好不超过5本)——“确认”;还书步骤:自助借还书机——“还书”——将书错落地放置于感应区(一次最好不超过5本)——确认还书信息是否准确——信息无误后将书放入还书箱。

怎样查看个人借书情况和还书期限?

  1. 持本人校园卡在自助借还书机点击“查询”按钮查看;

  2. 打开图书馆网站——登录“我的图书馆”——“我的借阅”或“待还书”——查看;

  3. 关注图书馆微信(网站首页下方扫码),在微信订阅号中下方“服务”栏——“图书续借”

每个读者的借阅权限是多少册图书,借期为多长时间?

可借20册书,借期30天。

',12),n=[i];function t(c,s){return e(),r("div",null,n)}const l=a(d,[["render",t],["__file","index.html.vue"]]);export{l as default}; diff --git a/assets/index.html-2dCBsaVT.js b/assets/index.html-2dCBsaVT.js new file mode 100644 index 000000000..5232e8255 --- /dev/null +++ b/assets/index.html-2dCBsaVT.js @@ -0,0 +1 @@ +import{_ as r,r as d,o as t,c as n,b as e,d as a,a as c,e as s}from"./app-9djxHuta.js";const i={},l=e("h1",{id:"eduroam-学术网路漫游",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#eduroam-学术网路漫游","aria-hidden":"true"},"#"),a(" eduroam(学术网路漫游)")],-1),u=e("p",null,"eduroam(education roaming) 是专为科研和教育机构开发的安全的环球跨域无线漫游认证服务,目前已覆盖全球八十余个国家和地区的超过6000家科研机构和教育机构。加入 Eduroam 联盟的机构成员可使用本机构提供的合法账号,在全球已加入 Eduroam 联盟的机构内实现无线网络访问的无障碍漫游。",-1),h=e("h2",{id:"注册",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#注册","aria-hidden":"true"},"#"),a(" 注册")],-1),_={href:"http://eduroam.user.sustech.edu.cn",target:"_blank",rel:"noopener noreferrer"},m=s('

配置

  • 用户名(身份):xxxx@sustech.edu.cn (教职工) / your_studentID@mail.sustech.edu.cn (学生)
  • 密码:eduroam系统登录密码(非CAS登录密码)
  • 加密类型:802.1x / EAP协议
  • EAP方法:PEAP
  • 阶段2身份验证:MSCHAPv2
  • CA证书:不验证
',2);function x(f,p){const o=d("ExternalLinkIcon");return t(),n("div",null,[l,u,h,e("p",null,[e("a",_,[a("http://eduroam.user.sustech.edu.cn"),c(o)])]),m])}const A=r(i,[["render",x],["__file","index.html.vue"]]);export{A as default}; diff --git a/assets/index.html-2hIXvrDO.js b/assets/index.html-2hIXvrDO.js new file mode 100644 index 000000000..00e73dcce --- /dev/null +++ b/assets/index.html-2hIXvrDO.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-66061b92","path":"/service/network/apply-for-vpn/","title":"申请回校VPN","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1642647258000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":2},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":1},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"service/network/apply-for-vpn/README.md"}');export{e as data}; diff --git a/assets/index.html-3rNoT6NO.js b/assets/index.html-3rNoT6NO.js new file mode 100644 index 000000000..a0ecef8fe --- /dev/null +++ b/assets/index.html-3rNoT6NO.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-22cd7d0c","path":"/facility/panolens/","title":"全景看校园","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1625151702000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"facility/panolens/README.md"}');export{t as data}; diff --git a/assets/index.html-4Wri6Lmr.js b/assets/index.html-4Wri6Lmr.js new file mode 100644 index 000000000..689d6f14c --- /dev/null +++ b/assets/index.html-4Wri6Lmr.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-96167c50","path":"/calendar/","title":"📅校历","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"【当前学期】2023 春季学期","slug":"【当前学期】2023-春季学期","link":"#【当前学期】2023-春季学期","children":[]},{"level":2,"title":"历史校历(存档)","slug":"历史校历-存档","link":"#历史校历-存档","children":[]}],"git":{"updatedTime":1682160151000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":13},{"name":"liziwl","email":"leezisy@gmail.com","commits":7},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":1},{"name":"chenyuheng","email":"pass@chenyuheng.cn","commits":1}]},"filePathRelative":"calendar/README.md"}');export{e as data}; diff --git a/assets/index.html-4fQfP8H0.js b/assets/index.html-4fQfP8H0.js new file mode 100644 index 000000000..c1411c44c --- /dev/null +++ b/assets/index.html-4fQfP8H0.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-3692bb1f","path":"/service/ssc/","title":"","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"我应该怎样优雅就诊","slug":"我应该怎样优雅就诊","link":"#我应该怎样优雅就诊","children":[]},{"level":2,"title":"Step 1","slug":"step-1","link":"#step-1","children":[{"level":3,"title":"注意事项","slug":"注意事项","link":"#注意事项","children":[]}]},{"level":2,"title":"Step 2","slug":"step-2","link":"#step-2","children":[]},{"level":2,"title":"Step 3","slug":"step-3","link":"#step-3","children":[]},{"level":2,"title":"Step 4","slug":"step-4","link":"#step-4","children":[{"level":3,"title":"温馨提示","slug":"温馨提示","link":"#温馨提示","children":[]}]}],"git":{"updatedTime":1625241398000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":2},{"name":"liziwl","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"service/ssc/README.md"}');export{e as data}; diff --git a/assets/index.html-5Yg8OkmQ.js b/assets/index.html-5Yg8OkmQ.js new file mode 100644 index 000000000..af7e5c116 --- /dev/null +++ b/assets/index.html-5Yg8OkmQ.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-be92ea7e","path":"/site-help/","title":"❓站点帮助","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"添加南科手册到桌面","slug":"添加南科手册到桌面","link":"#添加南科手册到桌面","children":[{"level":3,"title":"Andoid","slug":"andoid","link":"#andoid","children":[]},{"level":3,"title":"iOS","slug":"ios","link":"#ios","children":[]},{"level":3,"title":"桌面设备(Windows/Mac OS X)","slug":"桌面设备-windows-mac-os-x","link":"#桌面设备-windows-mac-os-x","children":[]}]}],"git":{"updatedTime":1596728606000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":2},{"name":"Yuheng","email":"pass@chenyuheng.cn","commits":1}]},"filePathRelative":"site-help/README.md"}');export{e as data}; diff --git a/assets/index.html-6dbUUccD.js b/assets/index.html-6dbUUccD.js new file mode 100644 index 000000000..2b67f0cf4 --- /dev/null +++ b/assets/index.html-6dbUUccD.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-181cc452","path":"/contact/professor-emails/","title":"教授邮件列表","lang":"zh-CN","frontmatter":{"sidebar":"auto"},"headers":[{"level":2,"title":"理学院","slug":"理学院","link":"#理学院","children":[{"level":3,"title":"数学系","slug":"数学系","link":"#数学系","children":[]},{"level":3,"title":"物理系","slug":"物理系","link":"#物理系","children":[]},{"level":3,"title":"化学系","slug":"化学系","link":"#化学系","children":[]},{"level":3,"title":"地球与空间科学系","slug":"地球与空间科学系","link":"#地球与空间科学系","children":[]},{"level":3,"title":"统计与数据科学系","slug":"统计与数据科学系","link":"#统计与数据科学系","children":[]}]},{"level":2,"title":"工学院","slug":"工学院","link":"#工学院","children":[{"level":3,"title":"力学与航空航天工程系","slug":"力学与航空航天工程系","link":"#力学与航空航天工程系","children":[]},{"level":3,"title":"机械与能源工程系","slug":"机械与能源工程系","link":"#机械与能源工程系","children":[]},{"level":3,"title":"材料科学与工程系","slug":"材料科学与工程系","link":"#材料科学与工程系","children":[]},{"level":3,"title":"电子与电气工程系","slug":"电子与电气工程系","link":"#电子与电气工程系","children":[]},{"level":3,"title":"计算机科学与工程系","slug":"计算机科学与工程系","link":"#计算机科学与工程系","children":[]},{"level":3,"title":"海洋科学与工程系","slug":"海洋科学与工程系","link":"#海洋科学与工程系","children":[]},{"level":3,"title":"生物医学工程系","slug":"生物医学工程系","link":"#生物医学工程系","children":[]},{"level":3,"title":"环境科学与工程学院","slug":"环境科学与工程学院","link":"#环境科学与工程学院","children":[]},{"level":3,"title":"深港微电子学院","slug":"深港微电子学院","link":"#深港微电子学院","children":[]},{"level":3,"title":"系统设计与智能制造学院","slug":"系统设计与智能制造学院","link":"#系统设计与智能制造学院","children":[]}]},{"level":2,"title":"生命科学学院","slug":"生命科学学院","link":"#生命科学学院","children":[{"level":3,"title":"生物系","slug":"生物系","link":"#生物系","children":[]},{"level":3,"title":"基础免疫与微生物学系","slug":"基础免疫与微生物学系","link":"#基础免疫与微生物学系","children":[]},{"level":3,"title":"系统生物学系","slug":"系统生物学系","link":"#系统生物学系","children":[]},{"level":3,"title":"化学生物学系","slug":"化学生物学系","link":"#化学生物学系","children":[]},{"level":3,"title":"神经生物学系","slug":"神经生物学系","link":"#神经生物学系","children":[]}]},{"level":2,"title":"医学院","slug":"医学院","link":"#医学院","children":[{"level":3,"title":"医学神经科学系","slug":"医学神经科学系","link":"#医学神经科学系","children":[]},{"level":3,"title":"药理学系","slug":"药理学系","link":"#药理学系","children":[]},{"level":3,"title":"生物化学系","slug":"生物化学系","link":"#生物化学系","children":[]},{"level":3,"title":"人类细胞生物和遗传学系","slug":"人类细胞生物和遗传学系","link":"#人类细胞生物和遗传学系","children":[]},{"level":3,"title":"公共卫生及应急管理学院","slug":"公共卫生及应急管理学院","link":"#公共卫生及应急管理学院","children":[]}]},{"level":2,"title":"商学院","slug":"商学院","link":"#商学院","children":[{"level":3,"title":"金融系","slug":"金融系","link":"#金融系","children":[]},{"level":3,"title":"信息系统与管理工程系","slug":"信息系统与管理工程系","link":"#信息系统与管理工程系","children":[]}]},{"level":2,"title":"人文社会科学学院","slug":"人文社会科学学院","link":"#人文社会科学学院","children":[{"level":3,"title":"人文科学中心","slug":"人文科学中心","link":"#人文科学中心","children":[]},{"level":3,"title":"社会科学中心暨社会科学高等研究院","slug":"社会科学中心暨社会科学高等研究院","link":"#社会科学中心暨社会科学高等研究院","children":[]},{"level":3,"title":"高等教育研究中心","slug":"高等教育研究中心","link":"#高等教育研究中心","children":[]},{"level":3,"title":"语言中心","slug":"语言中心","link":"#语言中心","children":[]},{"level":3,"title":"艺术中心","slug":"艺术中心","link":"#艺术中心","children":[]}]},{"level":2,"title":"创新创业学院","slug":"创新创业学院","link":"#创新创业学院","children":[{"level":3,"title":"创新创业学院","slug":"创新创业学院-1","link":"#创新创业学院-1","children":[]}]},{"level":2,"title":"创新创意设计学院","slug":"创新创意设计学院","link":"#创新创意设计学院","children":[{"level":3,"title":"创新创意设计学院","slug":"创新创意设计学院-1","link":"#创新创意设计学院-1","children":[]}]},{"level":2,"title":"教学单位","slug":"教学单位","link":"#教学单位","children":[{"level":3,"title":"思想政治教育与研究中心","slug":"思想政治教育与研究中心","link":"#思想政治教育与研究中心","children":[]},{"level":3,"title":"体育中心","slug":"体育中心","link":"#体育中心","children":[]}]},{"level":2,"title":"科研单位","slug":"科研单位","link":"#科研单位","children":[{"level":3,"title":"杰曼诺夫数学中心","slug":"杰曼诺夫数学中心","link":"#杰曼诺夫数学中心","children":[]},{"level":3,"title":"格拉布斯研究院","slug":"格拉布斯研究院","link":"#格拉布斯研究院","children":[]},{"level":3,"title":"量子科学与工程研究院","slug":"量子科学与工程研究院","link":"#量子科学与工程研究院","children":[]},{"level":3,"title":"前沿与交叉科学研究院","slug":"前沿与交叉科学研究院","link":"#前沿与交叉科学研究院","children":[]}]},{"level":2,"title":"公共平台","slug":"公共平台","link":"#公共平台","children":[{"level":3,"title":"公共分析测试中心","slug":"公共分析测试中心","link":"#公共分析测试中心","children":[]}]}],"git":{"updatedTime":1683536510000,"contributors":[{"name":"Fros1er","email":"34234343+Fros1er@users.noreply.github.com","commits":2}]},"filePathRelative":"contact/professor-emails/README.md"}');export{l as data}; diff --git a/assets/index.html-7tWl3Tx6.js b/assets/index.html-7tWl3Tx6.js new file mode 100644 index 000000000..f6678a692 --- /dev/null +++ b/assets/index.html-7tWl3Tx6.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-0e92d420","path":"/if-you-are-a-freshman/preview/","title":"蓢村拾遗:南科大冷知识2021","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"【1】九山一水、校猫与校树","slug":"【1】九山一水、校猫与校树","link":"#【1】九山一水、校猫与校树","children":[]},{"level":2,"title":"【2】校名题词","slug":"【2】校名题词","link":"#【2】校名题词","children":[]},{"level":2,"title":"【3】消失的村委楼","slug":"【3】消失的村委楼","link":"#【3】消失的村委楼","children":[]},{"level":2,"title":"【4】世界级榜单与屏幕","slug":"【4】世界级榜单与屏幕","link":"#【4】世界级榜单与屏幕","children":[]},{"level":2,"title":"【5】九华与琳恩","slug":"【5】九华与琳恩","link":"#【5】九华与琳恩","children":[]},{"level":2,"title":"【6】豪华厕所与独立卫浴","slug":"【6】豪华厕所与独立卫浴","link":"#【6】豪华厕所与独立卫浴","children":[]},{"level":2,"title":"【7】学生状况调查","slug":"【7】学生状况调查","link":"#【7】学生状况调查","children":[]},{"level":2,"title":"Ref","slug":"ref","link":"#ref","children":[]}],"git":{"updatedTime":1660916295000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":2}]},"filePathRelative":"if-you-are-a-freshman/preview/README.md"}');export{e as data}; diff --git a/assets/index.html-8COzvKhO.js b/assets/index.html-8COzvKhO.js new file mode 100644 index 000000000..3dc4a9256 --- /dev/null +++ b/assets/index.html-8COzvKhO.js @@ -0,0 +1 @@ +import{_ as c,r,o as a,c as d,b as t,d as e,a as n,w as o,e as i}from"./app-9djxHuta.js";const g={},m=i('

📺媒体与网站

官方媒体

校级

',3),h=t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"名称"),t("th",{style:{"text-align":"center"}},"网址/微信号"),t("th",{style:{"text-align":"center"}},"二维码")])],-1),x=t("td",{style:{"text-align":"center"}},"南方科技大学主页",-1),_={style:{"text-align":"center"}},u={href:"https://sustech.edu.cn",target:"_blank",rel:"noopener noreferrer"},p=t("td",{style:{"text-align":"center"}},null,-1),y=t("td",{style:{"text-align":"center"}},"南方科技大学Bilibili",-1),q={style:{"text-align":"center"}},w={href:"https://space.bilibili.com/330683960",target:"_blank",rel:"noopener noreferrer"},S=t("td",{style:{"text-align":"center"}},null,-1),f=t("td",{style:{"text-align":"center"}},"南方科技大学Twitter",-1),b={style:{"text-align":"center"}},z={href:"https://twitter.com/sustechsz",target:"_blank",rel:"noopener noreferrer"},j=t("td",{style:{"text-align":"center"}},null,-1),T=t("td",{style:{"text-align":"center"}},"南方科技大学Facebook",-1),E={style:{"text-align":"center"}},U={href:"https://www.facebook.com/SUSTechSZ/",target:"_blank",rel:"noopener noreferrer"},k=t("td",{style:{"text-align":"center"}},null,-1),B=t("tr",null,[t("td",{style:{"text-align":"center"}},"南方科技大学微信公众号"),t("td",{style:{"text-align":"center"}},"SUSTech14325"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=SUSTech14325#.jpg",class:"wx-qr medium-zoom-image"})])],-1),C=i('

院、系、部门级

名称网址/微信号二维码
南科大团委SUSTech_Youth
南科大研究生SUSTechGRAD
南科大理学院gh_7cd0accb5726
南科大工学院SUSTech_CoE
南科大医学院SUSTech_Med
南科大商学院cobsustech
南科大创新创业学院SUSTech_iCollege
南科人文gh_dfe75a665840
南科大计算机系SUSTech-CSE
南科大电子系sustc_ee
南科大校友会gh_292ed725cdfc

书院

名称网址/微信号二维码
致仁书院gh_67d6ddcf1965
树仁书院sustcshuren
致诚书院SUSTech_ZhiCheng
树德书院sustc_shude
树礼书院SUSTCsl
致新书院SUSTech_zhixin

信息类公众号

名称网址/微信号二维码
南方科技大学图书馆SUSTechLib
南科大语言中心SUSTechCLESUSTechCLE
南方科技大学教学信息平台SUSTC_TAO
南科大招生SUSTech_zsb
南科大学生事务中心gh_5f30bf8a4656
南科大就业指导中心gh_e9b225f6358f
南科大国际合作部gh_d466c32bf2d7
南科大行政服务中心SUSTC-ASC
南科大后勤服务campusop
南科大总务君campusoperation

学生组织与社团

名称网址/微信号二维码
南科大信息平台(学生会)SUSTC_Info
南科新知(新闻社)gh_db61459fa255
南科大义工联SUSTC_Volunteers

自媒体

微信公众号

',10),A=t("thead",null,[t("tr",null,[t("th",{style:{"text-align":"center"}},"名称"),t("th",{style:{"text-align":"center"}},"微信号"),t("th",{style:{"text-align":"center"}},"介绍"),t("th",{style:{"text-align":"center"}},"二维码")])],-1),L={style:{"text-align":"center"}},D={href:"https://sustc.wiki/%E4%B8%B2%E4%B8%B2%E7%A7%91%E6%8A%80",target:"_blank",rel:"noopener noreferrer"},H=t("td",{style:{"text-align":"center"}},"mo_mo_da_mua",-1),F=t("td",{style:{"text-align":"center"}},"串串是南科大史上第一位卖串转型成网红的号主,“站对了风口,母猪都能吹起来”诚不我欺。2017年成绩惊人,其代表性推送多次被某院士(的朋友圈)引用,不愧为南科大新媒体界之标杆。",-1),G=t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=mo_mo_da_mua#.jpg",class:"wx-qr medium-zoom-image"})],-1),I=t("tr",null,[t("td",{style:{"text-align":"center"}},"千字纹"),t("td",{style:{"text-align":"center"}},"yuancg27"),t("td",{style:{"text-align":"center"}},"用可能错误的观点,可能真诚的态度,以及可能笨拙的书写,对抗可能无意义的生命。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=yuancg27#.jpg",class:"wx-qr medium-zoom-image"})])],-1),M=t("tr",null,[t("td",{style:{"text-align":"center"}},"少爷和陈老师"),t("td",{style:{"text-align":"center"}},"gh_907391e11ad8"),t("td",{style:{"text-align":"center"}},"(院长的)个人习作练习本"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=gh_907391e11ad8#.jpg",class:"wx-qr medium-zoom-image"})])],-1),v={style:{"text-align":"center"}},N={href:"https://sustc.wiki/%E4%BD%A0%E7%A7%91%E5%91%A8%E6%9C%AB",target:"_blank",rel:"noopener noreferrer"},V=t("td",{style:{"text-align":"center"}},"joydiet",-1),R=t("td",{style:{"text-align":"center"}},"扎根妮可的野生周末菌。",-1),Z=t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=joydiet#.jpg",class:"wx-qr medium-zoom-image"})],-1),O={style:{"text-align":"center"}},Y={href:"https://sustc.wiki/%E5%8D%97%E7%A7%91%E5%85%88%E7%9F%A5",target:"_blank",rel:"noopener noreferrer"},J=t("td",{style:{"text-align":"center"}},"gh_189f9ac8413e",-1),K=t("td",{style:{"text-align":"center"}},"在这里读懂南科。",-1),P=t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=gh_189f9ac8413e#.jpg",class:"wx-qr medium-zoom-image"})],-1),Q=t("tr",null,[t("td",{style:{"text-align":"center"}},"南科每日见闻"),t("td",{style:{"text-align":"center"}},"sustechdailynews"),t("td",{style:{"text-align":"center"}},"南科每日见闻致力于打造南科大洋葱新闻的频道,读者却发现里面大实话比假新闻还多,感人至深。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=sustechdailynews#.jpg",class:"wx-qr medium-zoom-image"})])],-1),W=t("tr",null,[t("td",{style:{"text-align":"center"}},"LGBT在南科"),t("td",{style:{"text-align":"center"}},"SUSTC_LGBT"),t("td",{style:{"text-align":"center"}},"把LGBT在南科分享到南科大家长群,家长马上就不愿意了:“南科大这么多同性恋?还得开个号?”他们实在是跟不上潮流了,家长就该知道,这个公众号的粉丝里,腐女比基佬还多!"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=SUSTC_LGBT#.jpg",class:"wx-qr medium-zoom-image"})])],-1),X=t("tr",null,[t("td",{style:{"text-align":"center"}},"南科大表白墙"),t("td",{style:{"text-align":"center"}},"gh_6fe1a8d532fa"),t("td",{style:{"text-align":"center"}},"有些人没人爱,只能去南科大表白墙给心爱的人表白。一看这阅读量,你说一没人爱的表白墙,你还指望它保佑你?"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=gh_6fe1a8d532fa#.jpg",class:"wx-qr medium-zoom-image"})])],-1),$={style:{"text-align":"center"}},tt={href:"https://sustc.wiki/index.php?title=%E5%8D%97%E7%A7%91%E6%95%B0%E6%8D%AE&action=edit&redlink=1",target:"_blank",rel:"noopener noreferrer"},et=t("td",{style:{"text-align":"center"}},"SUSTech-data",-1),nt=t("td",{style:{"text-align":"center"}},"南科数据用7个人的工作量,完成了串串1个人的推文效果;调查了南科大三千人的生活数据,获得了一百来个阅读量。",-1),st=t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=SUSTech-data#.jpg",class:"wx-qr medium-zoom-image"})],-1),rt=t("tr",null,[t("td",{style:{"text-align":"center"}},"MH的情诗"),t("td",{style:{"text-align":"center"}},"gh_56faa346030c"),t("td",{style:{"text-align":"center"}},"MH的情诗从来没有写过情诗,都是他自己写给自己的,蛮不容易的小伙子,里面有自拍,赏脸进去找找吧。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=gh_56faa346030c#.jpg",class:"wx-qr medium-zoom-image"})])],-1),it=t("td",{style:{"text-align":"center"}},"BelleEau",-1),lt=t("td",{style:{"text-align":"center"}},"belleeau",-1),ct={style:{"text-align":"center"}},at={href:"https://sustc.wiki/%E6%9E%AB%E4%B8%B9",target:"_blank",rel:"noopener noreferrer"},dt=t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=belleeau#.jpg",class:"wx-qr medium-zoom-image"})],-1),ot=t("tr",null,[t("td",{style:{"text-align":"center"}},"StudioGlorire"),t("td",{style:{"text-align":"center"}},"studiogloire"),t("td",{style:{"text-align":"center"}},"StudioGloire见证了冯小漠从白手起家到过气网红的宝贵青春年华。难得的一个坚守文字气息没有蹭热度的公众号,然后果然也没啥人看。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=studiogloire#.jpg",class:"wx-qr medium-zoom-image"})])],-1),gt=t("tr",null,[t("td",{style:{"text-align":"center"}},"双层"),t("td",{style:{"text-align":"center"}},"gh_2b62fead6a8a"),t("td",{style:{"text-align":"center"}},"双层是鹏总的一个小号,听说是他在某报社做新媒体时练手用的。鹏总有花不完的钱,用不完的公众号,幸好女朋友只有一个。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=gh_2b62fead6a8a#.jpg",class:"wx-qr medium-zoom-image"})])],-1),mt={style:{"text-align":"center"}},ht={href:"https://sustc.wiki/index.php?title=%E9%93%AE%E9%94%8B%E5%AA%92%E4%BD%93%E5%B7%A5%E4%BD%9C%E5%AE%A4&action=edit&redlink=1",target:"_blank",rel:"noopener noreferrer"},xt=t("td",{style:{"text-align":"center"}},"Incisive_Blade_Media",-1),_t=t("td",{style:{"text-align":"center"}},"铮锋是南科大所有自媒体的爸爸,当然,爸爸上了年纪之后,之所以能当爸爸,并不是因为说话精彩,也不是因为人气旺,纯粹就是因为年纪大而已。",-1),ut=t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=Incisive_Blade_Media#.jpg",class:"wx-qr medium-zoom-image"})],-1),pt=t("tr",null,[t("td",{style:{"text-align":"center"}},"揽雀尾"),t("td",{style:{"text-align":"center"}},"HaggittLee"),t("td",{style:{"text-align":"center"}},"揽雀尾记录的是南科大黑帮文化核心人物李岩松的发家史,最近没怎么看见更新,要么是他又在忙着发家,要么是我取关了。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=HaggittLee#.jpg",class:"wx-qr medium-zoom-image"})])],-1),yt=t("tr",null,[t("td",{style:{"text-align":"center"}},"张废椅"),t("td",{style:{"text-align":"center"}},"BigHwa2333"),t("td",{style:{"text-align":"center"}},"南科大的文艺公众号有两种:蹭热度涨粉丝,不要脸的;要脸有原则,曲高和寡的。张废椅是第三种,不要脸也没粉丝的,的确是一张废椅了。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=BigHwa2333#.jpg",class:"wx-qr medium-zoom-image"})])],-1),qt=t("tr",null,[t("td",{style:{"text-align":"center"}},"蠢的猫"),t("td",{style:{"text-align":"center"}},"meowumeow"),t("td",{style:{"text-align":"center"}},"蠢的猫是钉总做影评的号,影评号有写得比电影好看的,有文章蹭电影热度的,而这个号有人关注,纯粹因为名字有猫。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=meowumeow#.jpg",class:"wx-qr medium-zoom-image"})])],-1),wt=t("tr",null,[t("td",{style:{"text-align":"center"}},"ShiwoH"),t("td",{style:{"text-align":"center"}},"Shiwo_H"),t("td",{style:{"text-align":"center"}},"当代艺术很难理解:可以放个小便池,叫装置艺术品;劈开一字马写毛笔字,成了大师;公众号一年一更,还特有道理,说“这儿啥都没有”。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=Shiwo_H#.jpg",class:"wx-qr medium-zoom-image"})])],-1),St=t("tr",null,[t("td",{style:{"text-align":"center"}},"草莓味大侠"),t("td",{style:{"text-align":"center"}},"gh_3b8708014fed"),t("td",{style:{"text-align":"center"}},"不要关注草莓味大侠,因为这个公众号号主对待推文如对待qq空间的说说一样。当然,评论区也是这样。别浪费时间了。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=gh_3b8708014fed#.jpg",class:"wx-qr medium-zoom-image"})])],-1),ft=t("tr",null,[t("td",{style:{"text-align":"center"}},"巧克力琼脂"),t("td",{style:{"text-align":"center"}},"gh_1f42309c3eee"),t("td",{style:{"text-align":"center"}},"巧克力琼脂发挥强大的文言文功底,全文分析了著名的《诸葛亮骂死王司徒》,成功把已经红遍大江南北的名文又搞冷场了。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=gh_1f42309c3eee#.jpg",class:"wx-qr medium-zoom-image"})])],-1),bt=t("tr",null,[t("td",{style:{"text-align":"center"}},"徵羽"),t("td",{style:{"text-align":"center"}},"zy170504"),t("td",{style:{"text-align":"center"}},"徵羽 非常有 成为一个诗人 的潜质 特别是喜欢 把一段话 分行"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=zy170504#.jpg",class:"wx-qr medium-zoom-image"})])],-1),zt=t("tr",null,[t("td",{style:{"text-align":"center"}},"没有墨水"),t("td",{style:{"text-align":"center"}},"myms-wanan"),t("td",{style:{"text-align":"center"}},"微信公众号服务能有力地推进文化大发展大繁荣,什么小学生作文都能往上放。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=myms-wanan#.jpg",class:"wx-qr medium-zoom-image"})])],-1),jt=t("tr",null,[t("td",{style:{"text-align":"center"}},"FishmanInFishland"),t("td",{style:{"text-align":"center"}},"gh_b13ae4ee27df"),t("td",{style:{"text-align":"center"}},"FISH是一个行为艺术家,曾经他想做一个“一夜蹿红”的行为艺术,没成功,后来他要做一个“退出江湖”。成功了。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=gh_b13ae4ee27df#.jpg",class:"wx-qr medium-zoom-image"})])],-1),Tt=t("tr",null,[t("td",{style:{"text-align":"center"}},"二十七号病床"),t("td",{style:{"text-align":"center"}},"gh_f9504b1ff650"),t("td",{style:{"text-align":"center"}},"一个曾经做日历失败了,然后转行做3D打印硬糖的老板娘…"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=gh_f9504b1ff650#.jpg",class:"wx-qr medium-zoom-image"})])],-1),Et=t("tr",null,[t("td",{style:{"text-align":"center"}},"只允许含有中文英文数字"),t("td",{style:{"text-align":"center"}},"gh_624f22da5bd3"),t("td",{style:{"text-align":"center"}},"如果一个公众号的关注量有负数,那么一定属于一个讲数学问题的公众号。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=gh_624f22da5bd3#.jpg",class:"wx-qr medium-zoom-image"})])],-1),Ut=t("tr",null,[t("td",{style:{"text-align":"center"}},"Scheddi的小世界"),t("td",{style:{"text-align":"center"}},"gh_71b51070297a"),t("td",{style:{"text-align":"center"}},"这位德语名字的小世界,一直在等待插图,这是个小到没有插图的世界。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=gh_71b51070297a#.jpg",class:"wx-qr medium-zoom-image"})])],-1),kt=t("tr",null,[t("td",{style:{"text-align":"center"}},"过饱和醋酸钠溶液"),t("td",{style:{"text-align":"center"}},"supersaturatedNaAc"),t("td",{style:{"text-align":"center"}},"过饱和醋酸钠是一种没有醋酸的酸味,也没有别的钠盐好用的东西。说明至少有一个优点,就是对自己的号定位准确。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=supersaturatedNaAc#.jpg",class:"wx-qr medium-zoom-image"})])],-1),Bt={style:{"text-align":"center"}},Ct={href:"https://sustc.wiki/index.php?title=%E5%8D%97%E7%A7%91%E5%8D%B1%E5%BA%9F&action=edit&redlink=1",target:"_blank",rel:"noopener noreferrer"},At=t("td",{style:{"text-align":"center"}},"wefailed",-1),Lt=t("td",{style:{"text-align":"center"}},"它就像它的微信号说的那样。",-1),Dt=t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=wefailed#.jpg",class:"wx-qr medium-zoom-image"})],-1),Ht=t("tr",null,[t("td",{style:{"text-align":"center"}},"川哥沙雕搬运"),t("td",{style:{"text-align":"center"}},"shadiaochuan"),t("td",{style:{"text-align":"center"}},"这是一个不定期搬运沙雕图、推荐电影、甚至小编还会自掏腰包请大家免费听歌的公众号。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=shadiaochuan#.jpg",class:"wx-qr medium-zoom-image"})])],-1),Ft=t("tr",null,[t("td",{style:{"text-align":"center"}},"黑色肥肠"),t("td",{style:{"text-align":"center"}},"HSFC1997"),t("td",{style:{"text-align":"center"}},"喜欢在寂寥无人、蠢蠢欲动的夜晚进行一些单身狗式的过度思考。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=HSFC1997#.jpg",class:"wx-qr medium-zoom-image"})])],-1),Gt={style:{"text-align":"center"}},It={href:"https://sustc.wiki/index.php?title=%E5%95%B5%E9%97%BB&action=edit&redlink=1",target:"_blank",rel:"noopener noreferrer"},Mt=t("td",{style:{"text-align":"center"}},"sustechbowen",-1),vt=t("td",{style:{"text-align":"center"}},"知道了自己保研消息的博姥爷干了两件事情:一个是感谢自己的导师,还有一个是开了这个公众号吹牛。看着啵宝就像看时尚杂志——月入5k的人,教月入2k的人怎么过月入2w的生活。",-1),Nt=t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=sustechbowen#.jpg",class:"wx-qr medium-zoom-image"})],-1),Vt=t("tr",null,[t("td",{style:{"text-align":"center"}},[t("s",null,"南科周末")]),t("td",{style:{"text-align":"center"}},"DeltaLeo"),t("td",{style:{"text-align":"center"}},"南科周末正在努力学习UC浏览器的技术,特别是如何不要脸地抄袭别人的头条。"),t("td",{style:{"text-align":"center"}},[t("img",{src:"https://open.weixin.qq.com/qr/code?username=DeltaLeo#.jpg",class:"wx-qr medium-zoom-image"})])],-1),Rt=t("h2",{id:"网站",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#网站","aria-hidden":"true"},"#"),e(" 网站")],-1),Zt={href:"https://suste.ch",target:"_blank",rel:"noopener noreferrer"},Ot={href:"https://nanke.suste.ch",target:"_blank",rel:"noopener noreferrer"},Yt={href:"https://sustech-application.github.io/SUSTech-Alumni-Map/",target:"_blank",rel:"noopener noreferrer"},Jt={href:"https://sustechflow.top/",target:"_blank",rel:"noopener noreferrer"},Kt={href:"https://sustech-application.com?utm_source=online",target:"_blank",rel:"noopener noreferrer"};function Pt(Qt,Wt){const s=r("ExternalLinkIcon"),l=r("RouterLink");return a(),d("div",null,[m,t("table",null,[h,t("tbody",null,[t("tr",null,[x,t("td",_,[t("a",u,[e("https://sustech.edu.cn"),n(s)])]),p]),t("tr",null,[y,t("td",q,[t("a",w,[e("https://space.bilibili.com/330683960"),n(s)])]),S]),t("tr",null,[f,t("td",b,[t("a",z,[e("https://twitter.com/sustechsz"),n(s)])]),j]),t("tr",null,[T,t("td",E,[t("a",U,[e("https://www.facebook.com/SUSTechSZ/"),n(s)])]),k]),B])]),C,t("table",null,[A,t("tbody",null,[t("tr",null,[t("td",L,[t("a",D,[e("串串科技"),n(s)])]),H,F,G]),I,M,t("tr",null,[t("td",v,[t("a",N,[e("你科周末"),n(s)])]),V,R,Z]),t("tr",null,[t("td",O,[t("a",Y,[e("南科先知"),n(s)])]),J,K,P]),Q,W,X,t("tr",null,[t("td",$,[t("a",tt,[e("南科数据"),n(s)])]),et,nt,st]),rt,t("tr",null,[it,lt,t("td",ct,[e("BelleEau用了个法语名字,在这么多表里不一的公众号群体里,这是难得的名字和内容如此一致的,都像靡靡之音。这个法语名字音译成白露,太矫情,就该叫:水得漂亮。顺便一提,目前的公众号文章作者叫做"),t("a",at,[e("枫丹"),n(s)]),e(" 。")]),dt]),ot,gt,t("tr",null,[t("td",mt,[t("a",ht,[e("铮锋媒体工作室"),n(s)])]),xt,_t,ut]),pt,yt,qt,wt,St,ft,bt,zt,jt,Tt,Et,Ut,kt,t("tr",null,[t("td",Bt,[t("a",Ct,[e("南科危废"),n(s)])]),At,Lt,Dt]),Ht,Ft,t("tr",null,[t("td",Gt,[t("s",null,[t("a",It,[e("啵闻"),n(s)])])]),Mt,vt,Nt]),Vt])]),Rt,t("ul",null,[t("li",null,[e("南科导航|南科大网址导航 "),t("a",Zt,[e("https://suste.ch"),n(s)])]),t("li",null,[e("南科一路|在这里,读懂南科 "),t("a",Ot,[e("https://nanke.suste.ch"),n(s)])]),t("li",null,[e("校友地图 "),t("a",Yt,[e("https://sustech-application.github.io/SUSTech-Alumni-Map/"),n(s)])]),t("li",null,[e("SUSTech Flow | 公开评教网站 "),t("a",Jt,[e("https://sustechflow.top/"),n(s)])]),t("li",null,[e("飞跃手册 "),t("a",Kt,[e("https://sustech-application.com"),n(s)])])]),t("p",null,[t("em",null,[e("欲查看其他服务网站,请参见"),n(l,{to:"/service/"},{default:o(()=>[e("服务")]),_:1}),e("一节。")])])])}const $t=c(g,[["render",Pt],["__file","index.html.vue"]]);export{$t as default}; diff --git a/assets/index.html-CZmMbVOJ.js b/assets/index.html-CZmMbVOJ.js new file mode 100644 index 000000000..1a082d90e --- /dev/null +++ b/assets/index.html-CZmMbVOJ.js @@ -0,0 +1,105 @@ +import{_ as o,r as p,o as i,c as l,b as n,d as s,a as e,e as t}from"./app-9djxHuta.js";const c={},r=n("h1",{id:"校内远程桌面使用指北",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#校内远程桌面使用指北","aria-hidden":"true"},"#"),s(" 校内远程桌面使用指北")],-1),u={href:"https://github.com/jerrylususu",target:"_blank",rel:"noopener noreferrer"},d=t('

提示

本文初版写于2020年12月,文中所述内容可能已发生变化。请参考各贡献者的修订以获取最新情报。

远程桌面是什么?

远程桌面,是一种远程访问技术,可以从其他设备连接到你的电脑,并访问所有应用、文件和资源,就像坐在自己的电脑前一样。换句话说,这是一项可以把不属于自己的设备(如机房电脑)当成自己的设备使用的技术。

作为一项技术,远程桌面有不同的实现。在 Windows 环境下,最常见的远程桌面实现为 Remote Desktop Protocol (RDP,远程桌面协议),Windows 为其提供了完善的支持。在 Linux 环境下,最常见的远程桌面实现为 Virtual Network Computing (VNC)。其他厂家也有自己的远程桌面实现,如 TeamViewer,AnyDesk,ToDesk,向日葵,甚至于 QQ 的「远程协助」。

本文将着眼于 Windows 环境下 RDP 的配置(即从 Windows 设备连接到 Windows 设备),这也是校内最常见的用例。

(若需要从 iOS / Android / Mac 端远程控制 Windows,可以直接在应用商店中搜索安装 RD Client,iPad 端最新版本支持完整的鼠标操作。若需要从 Windows 端远程控制 Mac,除了 Mac 提供的 VNC 之外,推荐使用流畅性更高的第三方软件,例如 NoMachine 等。)

远程桌面的典型使用场景

  • 购买了重量较重的游戏本或不便于携带的台式机在宿舍,但是想从图书馆、实验室等位置使用。
  • 在参加计算机系的实验课程时,使用宿舍或实验室内性能强大的设备进行编译操作,而不必被机房性能羸弱的电脑限制。
  • 在图书馆专心复习时,仍能访问宿舍电脑上存储的课件、笔记、电子书等资料。
  • 在教室 Pre 的时候发现自己忘了携带所需的资料,可以使用远程桌面从宿舍电脑上取回。
  • 在校内有 WiFi 信号覆盖的位置使用远程桌面连接回宿舍电脑继续工作/学习,而无需手动维持不同设备(如笔记本和台式机)间的数据同步状态。
  • 在宿舍床上使用 iPad 等平板类设备游玩床下电脑中的 Galgame。

不建议使用远程桌面的场景

',9),k=n("li",null,"玩大型游戏、看电影/视频(RDP 主要为日常工作使用优化,变化频繁的画面使用 Steam Remote Play 等技术更适合)",-1),m={href:"https://www.appinn.com/landrop-files-transfer-tools/",target:"_blank",rel:"noopener noreferrer"},v={href:"https://send.cra.moe/",target:"_blank",rel:"noopener noreferrer"},b=n("blockquote",null,[n("p",null,"下称自己的设备为「服务端」,机房/教室/图书馆等的设备为「客户端」")],-1),h=n("h2",{id:"服务端配置",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#服务端配置","aria-hidden":"true"},"#"),s(" 服务端配置")],-1),_={href:"https://support.microsoft.com/zh-cn/windows/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2-5fe128d5-8fb1-7a23-3b8a-41e636865e8c",target:"_blank",rel:"noopener noreferrer"},g={href:"https://github.com/stascorp/rdpwrap",target:"_blank",rel:"noopener noreferrer"},f={href:"https://www.iplaysoft.com/rdp-wrapper-library.html",target:"_blank",rel:"noopener noreferrer"},w=n("code",null,"rdpwrap.ini",-1),P={href:"https://github.com/stascorp/rdpwrap/issues",target:"_blank",rel:"noopener noreferrer"},y=n("code",null,"rdpwrap.ini",-1),q={href:"https://b23.tv/TTaRTD",target:"_blank",rel:"noopener noreferrer"},I={href:"https://docs.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/clients/change-listening-port",target:"_blank",rel:"noopener noreferrer"},A=n("s",null,"(此为信息中心的限制,为防止病毒通过远程桌面传播,默认阻断了 3389 端口上的 TCP 链接)",-1),C=n("li",null,[n("p",null,[s("查看并记录自己的 IP 地址:打开「任务管理器」,切换到「性能」标签页,在左侧找到「Wi-Fi」,在右侧找到「IPv4 地址」并记录。(通常为以小数点分割的一组数字,如 "),n("code",null,"10.XX.XX.XX"),s(")")])],-1),S=n("blockquote",null,[n("p",null,"注:如有可能,建议使用网线直接连接。使用 WiFi 可能导致在高峰期时的延迟抖动。")],-1),D={start:"4"},E={href:"https://www.zerotier.com/",target:"_blank",rel:"noopener noreferrer"},x={href:"https://b23.tv/MzHzMi",target:"_blank",rel:"noopener noreferrer"},T=n("h3",{id:"一键开启远程桌面功能并修改端口为-13389-的注册表文件",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#一键开启远程桌面功能并修改端口为-13389-的注册表文件","aria-hidden":"true"},"#"),s(" 一键开启远程桌面功能并修改端口为 13389 的注册表文件:")],-1),M={href:"https://github.com/BadBoyGuangzhi",target:"_blank",rel:"noopener noreferrer"},N=n("code",null,"xxx.reg",-1),W={href:"https://raw.githubusercontent.com/SUSTC/sustech-online-ng/master/docs/files/rdp-13389.reg",target:"_blank",rel:"noopener noreferrer"},H=t(`
Windows Registry Editor Version 5.00
+
+[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server]
+"fDenyTSConnections"=dword:00000000
+
+[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\Wds\\rdpwd\\Tds\\tcp]
+"PortNumber"=dword:0000344d
+
+[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp]
+"PortNumber"=dword:0000344d
+
+[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\SharedAccess\\Parameters\\FirewallPolicy\\FirewallRules]
+"{4043AE3F-5762-46B6-A755-23E34F020290}"="v2.30|Action=Allow|Active=TRUE|Dir=In|Protocol=17|LPort=13389|Name=RDP-13389-UDP|"
+
+[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\SharedAccess\\Parameters\\FirewallPolicy\\FirewallRules]
+"{8A4F4940-93E0-4BFC-B35F-2C89A6AD260F}"="v2.30|Action=Allow|Active=TRUE|Dir=In|Protocol=6|LPort=13389|Name=RDP-13389-TCP|"
+
+[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon]
+"DisableCAD"=dword:00000001
+

从客户端连接

  1. 在「开始」菜单中选择「Windows 附件 / 远程桌面」(或使用 Win+R 打开「运行」窗口,然后输入 mstsc,按下回车)
  2. 在「计算机」文本框中输入自己的 IP 和端口号,用英文冒号分割。(例:10.XX.XX.XX:YYYY
  3. 点击「连接」按钮
  4. 在弹出的认证窗口中输入自己的用户名和密码(如果服务端使用的是微软账户,需要输入微软账户的邮箱和密码)
  5. 在证书确认窗口点击「是」
  6. 如果一切正常,应该能见到远程设备的桌面了。

用于在校内网通过邮箱获取服务端IP地址的 Python 脚本:

`,4),R={href:"https://github.com/KagaJiankui",target:"_blank",rel:"noopener noreferrer"},F=t(`
获取IP的脚本
# coding: utf-8
+
+import smtplib
+import time
+import datetime
+from email.mime.text import MIMEText
+from email.header import Header
+import socket
+
+_local_ip = None
+
+mail_info = {
+    'recv_address': 'recv@example.sustech.com', #你的接收端邮箱地址
+    'sender_name': 'send@example.sustech.com', #你的发送端邮箱地址
+    'sender_pwd': 'authenticationcode', #授权码(用于qq或163邮箱)
+    'smtp_server': 'smtp.example.com', #smtp发送服务器(在邮箱帮助页面查看)
+    'subject': '远程电脑IP信息已更新',
+    'content': '您的校内网IP信息: {}'
+}
+
+
+def send_message(content):
+    # 设置发送邮件的内容
+    msg = MIMEText(content, 'plain', 'utf-8')
+    msg['From'] = Header(mail_info.get('sender_name'))
+    msg['Subject'] = Header(mail_info.get('subject'), 'utf-8')
+    msg['To'] = Header(mail_info.get('recv_address'))
+    # 发送邮件
+    smtp = smtplib.SMTP()
+    smtp.connect(mail_info['smtp_server'])
+    smtp.login(mail_info['sender_name'], mail_info['sender_pwd'])
+    smtp.sendmail(mail_info['sender_name'], mail_info['recv_address'],msg.as_string())
+    try:
+        smtp.quit()
+    except smtplib.SMTPException as e:
+        e = "Failed to close SMTP session."
+
+
+def get_host_ip():
+    """
+    这个方法是目前见过最优雅获取本机服务器的IP方法了。没有任何的依赖,也没有去猜测机器上的网络设备信息。
+    而且是利用 UDP 协议来实现的,生成一个UDP包,把自己的 IP 放如到 UDP 协议头中,然后从UDP包中获取本机的IP。
+    这个方法并不会真实的向外部发包,所以用抓包工具是看不到的。但是会申请一个 UDP 的端口,所以如果经常调用也会比较耗时的,这里如果需要可以将查询到的IP给缓存起来,性能可以获得很大提升。
+    :return:
+    """
+    global _local_ip
+    s = None
+    try:
+        if not _local_ip:
+            s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+            s.connect(('8.8.8.8', 80))
+            _local_ip = s.getsockname()[0]
+        return _local_ip
+    finally:
+        if s:
+            s.close()
+
+
+def mail_ip_send(ip_real):
+    """
+    使用邮件发送IP地址.
+    """
+    info_dict = "校内网IP: " + ip_real + "\\n" + datetime.datetime.now().strftime(
+        "%Y-%m-%d %H:%M:%S %Z") + "\\n"
+    print(info_dict)
+    send_message(info_dict)
+
+
+ip_val = get_host_ip()
+num = 0
+seconds_sleep = 5  # 检测IP地址的时间间隔
+itr = 4 * 3600 / seconds_sleep  # IP地址无变动时默认发送邮件的小时数
+while 1:
+    ip_real = get_host_ip()
+    h = datetime.datetime.now().hour
+    if (ip_real != ip_val) & ((h <= 3) | (h >= 7)) | num == 0:  #晚上3点到早7点之间不发送IP
+        mail_ip_send(ip_real)
+        ip_val = ip_real
+    num += 1
+    if num >= itr:
+        mail_ip_send(ip_real)
+        ip_val = ip_real
+        num = 0
+    time.sleep(seconds_sleep)
+

本脚本要求python>3.0 与对应的依赖。建议使用您的私人邮箱而非学校提供的邮箱作为收发端。在您的台式机或游戏本上直接运行脚本:

$ python ./mailer.py #将文件保存为mailer.py
+
`,3),L={href:"https://www.appinn.com/rbtray/",target:"_blank",rel:"noopener noreferrer"},B={href:"https://www.appinn.com/rbtray/",target:"_blank",rel:"noopener noreferrer"},V=t('

当您的移动端设备与您的主机连接到同一局域网时,您可以使用这个 IP 地址与对应的端口号连接到您的远程桌面、SSH、Jupyter 等应用的服务端。

在图书馆使用远程桌面

在南科大的三个图书馆中,都有公共的电脑区域,使用此区域的电脑作为远程桌面的客户端也是不错的选择。(笔者自测可以提升 50% ~ 200% 不等的工作/学习效率。)

不同图书馆间电脑对比如下表。

图书馆电脑设备数(约)操作系统屏幕分辨率连接速度
琳恩~50Windows 71080p, 100% DPI百兆
一丹~100Windows 101080p, 125% DPI千兆
涵泳~10Windows 101080p, 125% DPI千兆

在图书馆使用远程桌面的时候,以下几点可以帮助你获得更好的体验:

  1. 如果觉得卡顿,可以在连接前在「体验」标签页中设置连接速度为 WAN (10 Mbps 或更高速度,高延迟) ,并取消勾选「拖动时显示窗口内容」和「菜单和窗口动画」。
  2. 可以携带一条有线耳机插入主机的前端耳机插口(通常为绿色),以在远程桌面中使从服务端获取音频(听歌)。注意每次连接的时候远端设备音量会被设置为 100。
  3. 使用完成后,在关闭远程桌面之外,最好手动关机/重启公用电脑。即使登出了公用电脑(恢复输入学号/密码界面),远程桌面的连接信息(IP,端口号,用户名等)依然会保存在远程桌面应用中,存在泄露个人信息的可能。
  4. 可以安装一个其他远程桌面软件(笔者自己使用 ToDesk)备用,以防因网络波动导致服务端 IP 改变无法连接。

注:在图书馆如果不想远程桌面,但是却想用公用电脑的屏幕,可以携带一根 HDMI / DP / miniDP 转 DVI 转接线。三个图书馆的公用电脑的屏幕的接口均为 VGA + DVI,其中 VGA 接口连接主机,DVI 接口未连接。不建议为了使用屏幕而断开连接主机的 VGA 线,这会为图书馆的维护人员带来困扰。

',8);function Y(X,O){const a=p("ExternalLinkIcon");return i(),l("div",null,[r,n("p",null,[s("by "),n("a",u,[s("@jerrylususu"),e(a)])]),d,n("ul",null,[k,n("li",null,[s("复制体积较大的文件(RDP 对在不同设备间转移小文件十分合适,但文件体积过大可能造成网络阻塞,操作卡死。如有需要转移大文件的需求,可使用 "),n("a",m,[s("LANDrop"),e(a)]),s(","),n("a",v,[s("校内 Send 文件分享"),e(a)]),s(" 等工具)")])]),b,h,n("ol",null,[n("li",null,[n("p",null,[n("a",_,[s("开启「远程桌面」功能。"),e(a)]),s("(此功能需要专业版本 Windows,家庭版本可以使用 GitHub 上的开源工具 "),n("a",g,[s("RDPWrap"),e(a)]),s(" 开启此功能,"),n("a",f,[s("教程"),e(a)]),s(")。")]),n("p",null,[s("注:若按照教程仍然无法开启功能,则可能是服务端 "),w,s(" 文件与当前 Windows 版本不匹配,可以从 "),n("a",P,[s("Github Issues"),e(a)]),s(" 或其他地方获取 "),y,s(" 文件并替换。详情可参考此 "),n("a",q,[s("B站视频演示"),e(a)]),s("。")])]),n("li",null,[n("p",null,[n("a",I,[s("设置远程桌面端口为非 3389 端口"),e(a)]),s(" ,并记住这个端口号 "),A,s(" ,此限制实测在工学院和慧园地区已取消,其他地区待认证。")])]),C]),S,n("ol",D,[n("li",null,[s("(非必需设置)如果想从非校园网络访问远程设备,可以尝试使用 "),n("a",E,[s("ZeroTier One"),e(a)]),s(" 等软件 "),n("a",x,[s("配置内网穿透"),e(a)]),s(" 功能。")])]),T,n("p",null,[s("by "),n("a",M,[s("@BadBoyGuangzhi"),e(a)])]),n("p",null,[s("打开记事本,复制下方文本到记事本内,另存为 "),N,s(" 文件,右键管理员运行即可(已经开启过的也可以使用此文件修改端口为13389,不会重复添加导致冲突)。或者也可以直接使用成品 "),n("a",W,[s("点我下载成品"),e(a)])]),H,n("p",null,[s("by "),n("a",R,[s("@KagaJiankui"),e(a)])]),F,n("p",null,[s("该脚本便会自动检测当前IP地址并发送到您指定的接收端邮箱中。若检测到IP地址变动或经过您指定的等待小时数,脚本即重复发送IP地址。直接运行脚本会占用一个命令行窗口。如果想要隐藏该窗口,可使用 "),n("a",L,[s("RBTray"),e(a)]),s(" 等最小化至托盘类工具,或使用 "),n("a",B,[s("NSSM"),e(a)]),s(" 等工具将该脚本以系统服务的方式运行。")]),V])}const K=o(c,[["render",Y],["__file","index.html.vue"]]);export{K as default}; diff --git a/assets/index.html-CxZQq7P1.js b/assets/index.html-CxZQq7P1.js new file mode 100644 index 000000000..de26feb66 --- /dev/null +++ b/assets/index.html-CxZQq7P1.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-48519846","path":"/service/sakai/","title":"Sakai | 文件分享","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"教程","slug":"教程","link":"#教程","children":[]}],"git":{"updatedTime":1592970118000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":2},{"name":"liziwl","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"service/sakai/README.md"}');export{e as data}; diff --git a/assets/index.html-DCwbGcUp.js b/assets/index.html-DCwbGcUp.js new file mode 100644 index 000000000..e2217fabd --- /dev/null +++ b/assets/index.html-DCwbGcUp.js @@ -0,0 +1 @@ +import{_ as l,r as s,o as h,c,b as e,d as t,a,w as r,e as d}from"./app-9djxHuta.js";const u={},_=d('

如果你是新生...

提示

右键/长按链接在新窗口打开,以获得更好的阅读效果!

提示

本文写于 2020年8月,部分内容可能已经过时。

到校之前,你可以

加入新生群

',5),E={href:"https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md",target:"_blank",rel:"noopener noreferrer"},f=d('

致仁书院2020新生咨询群:913306082

树仁书院2020新生咨询群:1097888660

致诚书院2020新生咨询群:1106061970

树德书院2020新生咨询群:1033070328

致新书院2020新生咨询群:1128902987

树礼书院2020新生咨询群:807844572

2020全国迎新群(官方):834277170

非官方的2020群:1102473263

云游南科大的校园

',2),p=e("em",null,"(由于疫情缘故,全景航拍都是2019暑假拍摄的,今年没有更新。全景里面的许多建筑都已经完工,在开学之后就可以使用啦!)",-1),A=e("p",null,[e("img",{src:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/facility/campus-pano.jpg",alt:"湖畔全景"})],-1),B={href:"https://www.sustech.edu.cn/zh/gallery.html",target:"_blank",rel:"noopener noreferrer"},b={id:"关注几个公众号",tabindex:"-1"},m=e("a",{class:"header-anchor",href:"#关注几个公众号","aria-hidden":"true"},"#",-1),x={href:"https://suste.ch/",target:"_blank",rel:"noopener noreferrer"},y={href:"https://sustc.wiki/%E7%89%B9%E6%AE%8A:%E6%89%80%E6%9C%89%E9%A1%B5%E9%9D%A2?from=&to=&namespace=0&hideredirects=1",target:"_blank",rel:"noopener noreferrer"},g=e("h3",{id:"了解课程与培养方案",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#了解课程与培养方案","aria-hidden":"true"},"#"),t(" 了解课程与培养方案")],-1),k=e("p",null,"培养方案和课程详述(syllabus)将会陪伴你大学四年,不妨在有空时翻阅一下,寻找你心水的专业与课程。",-1),C={href:"https://mirrors.sustech.edu.cn/courses/%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/2021%E7%BA%A7%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/",target:"_blank",rel:"noopener noreferrer"},v={href:"https://mirrors.sustech.edu.cn/courses/curriculum_for_international_students/",target:"_blank",rel:"noopener noreferrer"},w=e("p",null,"你也可以现行了解入学后的分级考试都会涉及哪些内容,并决定自己收否需要参加某些考试。",-1),D=e("h3",{id:"读一读来自学长学姐的建议",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#读一读来自学长学姐的建议","aria-hidden":"true"},"#"),t(" 读一读来自学长学姐的建议")],-1),F=e("h3",{id:"或者是南科大网红老师推荐的书单",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#或者是南科大网红老师推荐的书单","aria-hidden":"true"},"#"),t(" 或者是南科大网红老师推荐的书单?")],-1),q=e("h3",{id:"再来看看有没有你感兴趣的社团",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#再来看看有没有你感兴趣的社团","aria-hidden":"true"},"#"),t(" 再来看看有没有你感兴趣的社团")],-1),N=e("h3",{id:"当然-衣食住行也相当重要",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#当然-衣食住行也相当重要","aria-hidden":"true"},"#"),t(" 当然,衣食住行也相当重要")],-1),Q=e("h4",{id:"先了解一下住宿环境",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#先了解一下住宿环境","aria-hidden":"true"},"#"),t(" 先了解一下住宿环境")],-1),L=e("h4",{id:"校内都有啥吃的",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#校内都有啥吃的","aria-hidden":"true"},"#"),t(" 校内都有啥吃的?")],-1),R=e("h4",{id:"东西在哪里买",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#东西在哪里买","aria-hidden":"true"},"#"),t(" 东西在哪里买?")],-1),V=e("h4",{id:"想健身",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#想健身","aria-hidden":"true"},"#"),t(" 想健身?")],-1),z=e("h3",{id:"要是我提早到了深圳",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#要是我提早到了深圳","aria-hidden":"true"},"#"),t(" 要是我提早到了深圳...")],-1),I=e("strong",null,"没提早到也没关系",-1),S=d('

到校之后,你可以...

按照新生报到检查单中的内容进行报到。

',2),T={id:"了解如何连接校园网络",tabindex:"-1"},j=e("a",{class:"header-anchor",href:"#了解如何连接校园网络","aria-hidden":"true"},"#",-1),H={id:"看看其他的实用技巧",tabindex:"-1"},M=e("a",{class:"header-anchor",href:"#看看其他的实用技巧","aria-hidden":"true"},"#",-1),W={id:"添加黄页中提到的常用qq群",tabindex:"-1"},G=e("a",{class:"header-anchor",href:"#添加黄页中提到的常用qq群","aria-hidden":"true"},"#",-1),J=e("h2",{id:"最后",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#最后","aria-hidden":"true"},"#"),t(" 最后...")],-1);function K(O,P){const o=s("ExternalLinkIcon"),n=s("RouterLink"),i=s("Badge");return h(),c("div",null,[_,e("p",null,[t("根据迎新网上的提示,加入新生群,在QQ群内向学长学姐提出你想问的问题。提问之前,别忘了先看看"),e("a",E,[t("《提问的智慧》"),a(o)]),t("。")]),f,e("p",null,[t("查看南科手册的"),a(n,{to:"/facility/"},{default:r(()=>[t("🏫建筑与设施部分")]),_:1}),t(",看看校园内都有哪些建筑,他们的功能都是什么。或是在"),a(n,{to:"/facility/#%E5%85%A8%E6%99%AF%E7%9C%8B%E6%A0%A1%E5%9B%AD"},{default:r(()=>[t("全景看校园")]),_:1}),t(",一窥航拍的南科大。"),p,t("。")]),A,e("p",null,[t("你也可以在南科大官网中的"),e("a",B,[t("南科视界"),a(o)]),t("栏目查看最新的校园照片。")]),e("h3",b,[m,t(" 关注几个公众号"),a(i,{text:"Recommend",type:"tip"})]),e("p",null,[t("除了南科大的官方公众号和书院公众号,你也可以关注新闻社运营的"),a(n,{to:"/media/#%E5%AD%A6%E7%94%9F%E7%BB%84%E7%BB%87%E4%B8%8E%E7%A4%BE%E5%9B%A2"},{default:r(()=>[t("南科新知")]),_:1}),t(",或是由学生自主运营的"),a(n,{to:"/media/#%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7"},{default:r(()=>[t("你科周末")]),_:1}),t("。从官方与学生的角度,全面地了解南科大。当然,在"),a(n,{to:"/media/#%F0%9F%93%BA%E5%AA%92%E4%BD%93%E4%B8%8E%E7%BD%91%E7%AB%99"},{default:r(()=>[t("📺媒体与网站")]),_:1}),t("部分中的其他公众号或是"),e("a",x,[t("网站"),a(o)]),t("中,你或许能够了解南科大的更多"),e("a",y,[t("轶事"),a(o)]),t("。")]),g,k,e("ul",null,[e("li",null,[a(n,{to:"/study/by-shude-college/advice-on-study.html#%E5%85%A5%E5%AD%A6%E8%80%83%E8%AF%95%E7%9A%84%E5%BB%BA%E8%AE%AE"},{default:r(()=>[t("🎓学在南科/课程")]),_:1})]),e("li",null,[e("a",C,[t("2020级本科人才培养方案"),a(o)])]),e("li",null,[e("a",v,[t("Curriculum for International Students (2020)"),a(o)])])]),w,D,e("ul",null,[e("li",null,[a(n,{to:"/study/by-shude-college/advice-on-study.html"},{default:r(()=>[t("学习建议 by 树德书院")]),_:1})]),e("li",null,[a(n,{to:"/study/by-shude-college/info-on-study.html"},{default:r(()=>[t("学习制度与信息 by 树德书院")]),_:1})])]),F,e("ul",null,[e("li",null,[a(n,{to:"/study/book-list-by-prof-yuan/2018/"},{default:r(()=>[t("袁长庚老师所推荐的新生书单")]),_:1})])]),q,e("ul",null,[e("li",null,[a(n,{to:"/organizations/#%E7%A4%BE%E5%9B%A2"},{default:r(()=>[t("🎡社团活动")]),_:1})])]),N,e("ul",null,[e("li",null,[a(n,{to:"/life/"},{default:r(()=>[t("👨‍🎓生活在南科")]),_:1})])]),Q,e("ul",null,[e("li",null,[a(n,{to:"/life/dormitory/"},{default:r(()=>[t("👨‍🎓生活在南科/住在南科")]),_:1})])]),L,e("ul",null,[e("li",null,[a(n,{to:"/life/catering/"},{default:r(()=>[t("☕️餐饮")]),_:1})])]),R,e("ul",null,[e("li",null,[a(n,{to:"/life/#%E8%B6%85%E5%B8%82"},{default:r(()=>[t("🏪超市")]),_:1})])]),V,e("ul",null,[e("li",null,[a(n,{to:"/life/sports-facility/"},{default:r(()=>[t("🏊‍♀️运动设施")]),_:1})])]),z,e("p",null,[t("不妨去探索"),a(n,{to:"/surroundings/"},{default:r(()=>[t("学校周边的设施")]),_:1}),t("。")]),e("p",null,[I,t(",你也可以先规划如何"),a(n,{to:"/transport/#%F0%9F%97%BA%E6%8A%B5%E8%BE%BE%E5%8D%97%E6%96%B9%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6"},{default:r(()=>[t("抵达学校")]),_:1}),t(",看看深圳市内都有"),a(n,{to:"/transport/#%E5%B8%82%E5%86%85%E4%BA%A4%E9%80%9A"},{default:r(()=>[t("哪些交通方式")]),_:1}),t("。")]),S,e("h4",T,[j,t(" 了解"),a(n,{to:"/service/network/"},{default:r(()=>[t("如何连接校园网络")]),_:1})]),e("h4",H,[M,t(" 看看其他的"),a(n,{to:"/service/"},{default:r(()=>[t("实用技巧")]),_:1})]),e("h4",W,[G,t(" 添加"),a(n,{to:"/contact/"},{default:r(()=>[t("黄页")]),_:1}),t("中提到的常用QQ群")]),J,e("p",null,[t("把南科手册添加到浏览器的收藏夹或是桌面!("),a(n,{to:"/site-help/"},{default:r(()=>[t("没错,南科手册也可以作为一个本地应用运行")]),_:1}),t(")你会发现你在未来会经常需要用到它~")])])}const X=l(u,[["render",K],["__file","index.html.vue"]]);export{X as default}; diff --git a/assets/index.html-DFxgCp2O.js b/assets/index.html-DFxgCp2O.js new file mode 100644 index 000000000..186f5b3b8 --- /dev/null +++ b/assets/index.html-DFxgCp2O.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-622da02f","path":"/service/matlab/","title":"MATLAB 激活","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"创建 MathWorks 帐户","slug":"创建-mathworks-帐户","link":"#创建-mathworks-帐户","children":[]},{"level":2,"title":"安装包下载","slug":"安装包下载","link":"#安装包下载","children":[]},{"level":2,"title":"安装与激活","slug":"安装与激活","link":"#安装与激活","children":[]},{"level":2,"title":"参考链接","slug":"参考链接","link":"#参考链接","children":[]}],"git":{"updatedTime":1592970118000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":1},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"service/matlab/README.md"}');export{e as data}; diff --git a/assets/index.html-DblpyXQa.js b/assets/index.html-DblpyXQa.js new file mode 100644 index 000000000..a4214ef0b --- /dev/null +++ b/assets/index.html-DblpyXQa.js @@ -0,0 +1 @@ +import{_ as c,r as s,o as l,c as h,a as n,b as e,d as t,w as d}from"./app-9djxHuta.js";const u="/assets/CC-BY-SA_icon-OV5rpqYe.svg",_={},p=e("h1",{id:"📚南科手册",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#📚南科手册","aria-hidden":"true"},"#"),t(" 📚南科手册")],-1),f=e("ul",null,[e("li",null,"为 SUSTecher 提供快捷信息查询服务。"),e("li",null,"移动端须点击左上角,打开目录。"),e("li",null,[e("a",{href:"/miniapp"},"微信小程序,点击这里"),t("。")]),e("li",null,[e("a",{href:"/about"},"内容有问题?功能提建议?手册招维护!")])],-1),g={style:{display:"none"}},m=e("symbol",{id:"link-icon",viewBox:"0 0 100 100"},[e("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),t(),e("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})],-1),b=[m],x={class:"tg"},k=e("th",{class:"tg-0lax"},[e("h3",null,"快捷入口"),e("ul",null,[e("li",null,[e("a",{href:"https://www.sustech.edu.cn/",target:"_blank",rel:"noopener noreferrer"},[t("官网链接 "),e("svg",{"aria-hidden":"true",x:"0px",y:"0px",width:"15",height:"15",class:"icon outbound"},[e("use",{href:"#link-icon"})])])]),e("li",null,[e("a",{href:"https://lib.sustech.edu.cn/",target:"_blank",rel:"noopener noreferrer"},[t("图书馆 "),e("svg",{"aria-hidden":"true",x:"0px",y:"0px",width:"15",height:"15",class:"icon outbound"},[e("use",{href:"#link-icon"})])])]),e("li",null,[e("a",{href:"https://mail.sustech.edu.cn",target:"_blank",rel:"noopener noreferrer"},[t("邮箱服务 "),e("svg",{"aria-hidden":"true",x:"0px",y:"0px",width:"15",height:"15",class:"icon outbound"},[e("use",{href:"#link-icon"})])])]),e("li",null,[e("a",{href:"https://ehall.sustech.edu.cn/new/index.html",target:"_blank",rel:"noopener noreferrer"},[t("服务大厅 "),e("svg",{"aria-hidden":"true",x:"0px",y:"0px",width:"15",height:"15",class:"icon outbound"},[e("use",{href:"#link-icon"})])])]),e("li",null,[e("a",{href:"https://sakai.sustech.edu.cn",target:"_blank",rel:"noopener noreferrer"},[t("Sakai "),e("svg",{"aria-hidden":"true",x:"0px",y:"0px",width:"15",height:"15",class:"icon outbound"},[e("use",{href:"#link-icon"})])]),t(", "),e("a",{href:"https://bb.sustech.edu.cn/",target:"_blank",rel:"noopener noreferrer"},[t("Blackboard"),e("svg",{"aria-hidden":"true",x:"0px",y:"0px",width:"15",height:"15",class:"icon outbound"},[e("use",{href:"#link-icon"})])])]),e("li",null,[e("a",{href:"https://pms.sustech.edu.cn",target:"_blank",rel:"noopener noreferrer"},[t("联创打印"),e("svg",{"aria-hidden":"true",x:"0px",y:"0px",width:"15",height:"15",class:"icon outbound"},[e("use",{href:"#link-icon"})])]),t(", "),e("a",{href:"http://172.18.1.141/",target:"_blank",rel:"noopener noreferrer"},[t("(备用)"),e("svg",{"aria-hidden":"true",x:"0px",y:"0px",width:"15",height:"15",class:"icon outbound"},[e("use",{href:"#link-icon"})])])]),e("li",null,[e("a",{href:"https://campuscard.sustech.edu.cn/epay/thirdconsume/qrcode",target:"_blank",rel:"noopener noreferrer"},[t("校园卡二维码 "),e("svg",{"aria-hidden":"true",x:"0px",y:"0px",width:"15",height:"15",class:"icon outbound"},[e("use",{href:"#link-icon"})])])])])],-1),E={class:"tg-0lax"},A=e("h3",null,[e("a",{href:"./transport/"},[t("交通 / 地图"),e("svg",{"aria-hidden":"true",x:"0px",y:"0px",width:"15",height:"15",class:"icon outbound"},[e("use",{href:"#link-icon"})])])],-1),B=e("li",null,[e("a",{href:"./transport/bustimer.html"},"巴士时刻表与车辆位置查看")],-1),v=e("li",null,[e("a",{href:"https://sustech.online/facility/"},"校园街景")],-1),y={href:"https://nces.cra.moe/"},w=e("li",null,[e("a",{href:"http://live.cra.moe/"},"校园风景直播")],-1),C=e("div",{class:"emergency"},[e("p",null,[e("a",{href:"./emergency"},[t("紧急情况?AED,药箱,就医,失窃,前往「应急处理」"),e("svg",{"aria-hidden":"true",x:"0px",y:"0px",width:"15",height:"15",class:"icon outbound"},[e("use",{href:"#link-icon"})])])])],-1),S={id:"牛娃课程评价社区",tabindex:"-1"},z=e("a",{class:"header-anchor",href:"#牛娃课程评价社区","aria-hidden":"true"},"#",-1),D={href:"https://nces.cra.moe/",target:"_blank",rel:"noopener noreferrer"},F={href:"https://icourse.club/",target:"_blank",rel:"noopener noreferrer"},N={id:"如果你是新生",tabindex:"-1"},T=e("a",{class:"header-anchor",href:"#如果你是新生","aria-hidden":"true"},"#",-1),q=e("a",{href:"./if-you-are-a-freshman/preview"},"蓢村拾遗:南科大冷知识2021",-1),I={class:"custom-container tip"},L=e("p",{class:"custom-container-title"},"数说大一",-1),U={href:"https://luckychen.site/about-us/",target:"_blank",rel:"noopener noreferrer"},V={href:"https://luckychen.site/",target:"_blank",rel:"noopener noreferrer"},Y={href:"https://luckychen.site/%E6%95%B0%E8%AF%B4%E5%A4%A7%E4%B8%80/",target:"_blank",rel:"noopener noreferrer"},P={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/college/zhicheng/2022%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5by%E8%87%B4%E8%AF%9A%E4%B9%A6%E9%99%A2.pdf",target:"_blank",rel:"noopener noreferrer"},R={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/college/zhicheng/2022%E8%87%B4%E8%AF%9A%E5%AE%A3%E4%BC%A0%E6%89%8B%E5%86%8C.pdf",target:"_blank",rel:"noopener noreferrer"},G={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/college/zhiren/%E8%87%B4%E4%BB%81%E4%B9%A6%E9%99%A2%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E6%89%8B%E5%86%8C2022.pdf",target:"_blank",rel:"noopener noreferrer"},M={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/freshman-handbook/2022.pdf",target:"_blank",rel:"noopener noreferrer"},O={id:"飞跃手册-申请与校招经验",tabindex:"-1"},W=e("a",{class:"header-anchor",href:"#飞跃手册-申请与校招经验","aria-hidden":"true"},"#",-1),j={href:"https://sustech-application.com?utm_source=online",target:"_blank",rel:"noopener noreferrer"},Q=e("strong",null,"飞跃手册具有一定的时效性",-1),H=e("h2",{id:"校园地图",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#校园地图","aria-hidden":"true"},"#"),t(" 校园地图")],-1),J=e("p",null,[t("由sustech.online团队制作的校园地图。地图底图采用南科大2022版最新规划图,并添加校园巴士线路,打印机,商店,收发室等实用信息。"),e("a",{href:"./transport/bustimer"},"(尝试新版交互式校园地图!可全屏,实时定位)")],-1),K=e("iframe",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/pdfjs/web/viewer.html?file=https://mirrors.sustech.edu.cn/site/sustech-online/documents/campus-map/%E5%8D%97%E6%96%B9%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6%E6%A0%A1%E5%9B%AD%E5%9C%B0%E5%9B%BE-v3-2.pdf",width:"100%",height:"600"},null,-1),X={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/campus-map/%E5%8D%97%E6%96%B9%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6%E6%A0%A1%E5%9B%AD%E5%9C%B0%E5%9B%BE-v3-2.pdf",target:"_blank",rel:"noopener noreferrer"},Z=e("strong",null,"3.2",-1),$=e("h2",{id:"版权信息",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#版权信息","aria-hidden":"true"},"#"),t(" 版权信息")],-1),ee=e("p",null,[e("img",{src:u,alt:""})],-1),te={href:"https://creativecommons.org/licenses/by-sa/4.0/deed.zh",target:"_blank",rel:"noopener noreferrer"},ne={class:"custom-container warning"},re=e("p",{class:"custom-container-title"},"注意事项",-1),oe=e("p",null,"CC-BY-SA协议允许您自由地共享(在任何媒介以任何形式复制、发行本作品),演绎(修改、转换或以本作品为基础进行创作,在任何用途下,甚至商业目的)。",-1),se=e("p",null,"但惟须遵守以下条件:",-1),le=e("strong",null,"署名",-1),he={href:"https://creativecommons.org/licenses/by-sa/4.0/deed.zh#",target:"_blank",rel:"noopener noreferrer"},ie={href:"https://creativecommons.org/licenses/by-sa/4.0/deed.zh#",target:"_blank",rel:"noopener noreferrer"},ae=e("strong",null,"相同方式共享",-1),ce={href:"https://creativecommons.org/licenses/by-sa/4.0/deed.zh#",target:"_blank",rel:"noopener noreferrer"},de=e("strong",null,"没有附加限制",-1),ue={href:"https://creativecommons.org/licenses/by-sa/4.0/deed.zh#",target:"_blank",rel:"noopener noreferrer"},_e=e("p",null,"做出特别声明的内容,版权按声明执行。",-1),pe=e("h2",{id:"for-international-students",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#for-international-students","aria-hidden":"true"},"#"),t(" For International Students")],-1),fe={href:"https://support.google.com/chrome/answer/173424",target:"_blank",rel:"noopener noreferrer"},ge=e("h2",{id:"支持与备案信息",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#支持与备案信息","aria-hidden":"true"},"#"),t(" 支持与备案信息")],-1),me=e("h3",{id:"关于广告",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#关于广告","aria-hidden":"true"},"#"),t(" 关于广告")],-1),be={href:"https://ad.weixin.qq.com/",target:"_blank",rel:"noopener noreferrer"},xe={href:"https://www.google.com/adsense/",target:"_blank",rel:"noopener noreferrer"},ke=e("p",null,"我们将尽力确保:",-1),Ee=e("ul",null,[e("li",null,"应急处理页面内不会出现广告"),e("li",null,"其他页面内的广告不多于一个")],-1),Ae=e("hr",null,null,-1),Be={href:"https://mirrors.sustech.edu.cn/",target:"_blank",rel:"noopener noreferrer"},ve={href:"https://www.cra.moe/",target:"_blank",rel:"noopener noreferrer"},ye=e("hr",null,null,-1),we={href:"https://beian.miit.gov.cn/",target:"_blank",rel:"noopener noreferrer"};function Ce(Se,ze){const i=s("WeatherSpan"),o=s("Badge"),r=s("ExternalLinkIcon"),a=s("RouterLink");return l(),h("div",null,[p,n(i),f,(l(),h("svg",g,b)),e("table",x,[e("thead",null,[e("tr",null,[k,e("th",E,[A,e("ul",null,[B,v,e("li",null,[e("a",y,[t("牛娃课程评价社区"),n(o,{text:"春季选课",type:"danger"})])]),w])])])])]),C,e("h2",S,[z,t(" 牛娃课程评价社区 "),n(o,{text:"选课合作",type:"tip"})]),e("p",null,[e("a",D,[t("牛娃课程评价社区"),n(r)]),t("(NCES,Niuwa Curriculum Evaluation System)是南科大学生的课程评价社区,因此,只有拥有南科大邮箱的同学或老师才可以注册账户。"),e("a",F,[t("中科大同款评教系统"),n(r)]),t(",赓续教改初心。NCES现已支持通过课程名称,代码及教师快速检索课程并直达课程大纲,更加方便你的选课!")]),e("h2",N,[T,t(" 如果你是新生... "),n(o,{text:"For Freshman",type:"tip"})]),e("p",null,[t("如果你是准大一的同学,可以先看看冯小漠为大家整理南科大的非正统历史故事"),q,t("。"),n(a,{to:"/if-you-are-a-freshman/2021.html"},{default:d(()=>[t("点击这里")]),_:1}),t("看看我们为 2021年的学生准备的 Quickstart of SUSTech,了解并开启你的大学生活!")]),e("div",I,[L,e("ul",null,[e("li",null,[e("p",null,[t("你也可以阅读基于"),e("a",U,[t("南科大同学"),n(r)]),t("大创项目的调查研究成果:")]),e("ul",null,[e("li",null,[e("p",null,[e("a",V,[t("https://luckychen.site/"),n(r)]),t(" 帮助入学前、大一上、大一下阶段的你更好地适应大学的学习与生活,进而找到自己的发展方向。")])]),e("li",null,[e("p",null,[e("a",Y,[t("https://luckychen.site/数说大一/"),n(r)]),t(" 《数说大一》——基于392份问卷的统计结果告诉你大一专业选择会遇到的困难。")])])])])])]),e("ul",null,[e("li",null,[e("em",null,[t("致诚书院发布的 "),e("a",P,[t("2022致诚新生手册.pdf"),n(r)]),t("及"),e("a",R,[t("致诚书院宣传手册"),n(r)])]),t(":包括书院简介,院系师资,书院品牌,特色空间,社团组织")]),e("li",null,[e("em",null,[t("致仁书院发布的 "),e("a",G,[t("致仁书院新生攻略手册.pdf"),n(r)])]),t(":包括入学指南,生活服务,快乐学习,班级事务")]),e("li",null,[e("em",null,[t("学工部出品的2022本科新生入学指南可在此处下载:"),e("a",M,[t("2022级本科新生入学指南.pdf"),n(r)])])])]),e("h2",O,[W,t(" 飞跃手册:申请与校招经验 "),n(o,{text:"秋季特别合作",type:"tip"})]),e("p",null,[e("a",j,[t("南科大飞跃手册"),n(r)]),t("共有五部分,分别为英语学习,海外交流,选校经验,申请注意事项和个人申请总结,力求为 “如何在南方科技大学为申请国内、海外高校和入职优秀企业做出更全面的准备“ 这一问题作出解答。需要特别指出的是,"),Q,t(",比如一些热门专业每年的申请形式都会发生极大变化,再比如当我们谈及“xx专业19fall是史上最难申请的一年”,这有可能意味着20fall会更难申请,所以参考往年飞跃手册时请注意。")]),H,J,K,e("p",null,[e("a",X,[t("点击这里"),n(r)]),t("下载矢量PDF版本,目前版本:"),Z,t(",2022年8月更新。")]),$,ee,e("p",null,[t("未做特别声明的内容,均按照"),e("a",te,[t("CC-BY-SA 4.0"),n(r)]),t("协议进行分发。")]),e("div",ne,[re,oe,se,e("ol",null,[e("li",null,[le,t(" — 您必须给出"),e("a",he,[t("适当的署名"),n(r)]),t(",提供指向本许可协议的链接,同时"),e("a",ie,[t("标明是否(对原始作品)作了修改"),n(r)]),t("。您可以用任何合理的方式来署名,但是不得以任何方式暗示许可人为您或您的使用背书。")]),e("li",null,[ae,t(" — 如果您再混合、转换或者基于本作品进行创作,您必须基于"),e("a",ce,[t("与原先许可协议相同的许可协议"),n(r)]),t(" 分发您贡献的作品。")]),e("li",null,[de,t(" — 您不得适用法律术语或者 "),e("a",ue,[t("技术措施"),n(r)]),t(" 从而限制其他人做许可协议允许的事情。")])])]),_e,pe,e("p",null,[t("Please use the "),e("a",fe,[t("Google translation tool in Chrome"),n(r)]),t(" to translate the manual.")]),ge,me,e("p",null,[t("南科手册的建设与运营均由同学独立完成。为了令「南科手册」能够稳定运行,我们可能会在某些页面的底部和小程序中开屏页面中展示由"),e("a",be,[t("微信"),n(r)]),t("和"),e("a",xe,[t("Google"),n(r)]),t("提供的广告以维持服务器和CDN的开销,敬请谅解。")]),ke,Ee,Ae,e("p",null,[t("🚧 本站由 "),e("a",Be,[t("SUSTech OSS Mirrors"),n(r)]),t(" 提供部分静态资源及图片的加速服务,"),e("a",ve,[t("SUSTech CRA"),n(r)]),t(" 提供技术支持")]),ye,e("p",null,[t("🏛️ "),e("a",we,[t("粤ICP备18047383号"),n(r)])])])}const Fe=c(_,[["render",Ce],["__file","index.html.vue"]]);export{Fe as default}; diff --git a/assets/index.html-F4TyLGnu.js b/assets/index.html-F4TyLGnu.js new file mode 100644 index 000000000..a61b0d65e --- /dev/null +++ b/assets/index.html-F4TyLGnu.js @@ -0,0 +1 @@ +import{_ as o,r as a,o as h,c as i,b as t,d as e,a as r,w as d,e as s}from"./app-9djxHuta.js";const u={},E=s('

🎓学在南科

学号(SID)

学号是学校在入学分班后为同学分配的识别码,在整个学校中唯一。

课程

',5),c={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/syllabus/sustech-course-catalogue-20200730.pdf",target:"_blank",rel:"noopener noreferrer"},A=t("h3",{id:"课程详述",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#课程详述","aria-hidden":"true"},"#"),e(" 课程详述")],-1),B={href:"https://nces.cra.moe",target:"_blank",rel:"noopener noreferrer"},_={href:"https://mirrors.sustech.edu.cn/courses/%E6%95%99%E5%AD%A6%E5%A4%A7%E7%BA%B2%E6%B1%87%E6%80%BB/",target:"_blank",rel:"noopener noreferrer"},f={href:"https://course-tao.sustech.edu.cn/kcxxweb/KcxxwebChinesePC",target:"_blank",rel:"noopener noreferrer"},p={href:"https://dl.cra.moe/courseware/",target:"_blank",rel:"noopener noreferrer"},C=t("h3",{id:"📖学习建议与攻略",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#📖学习建议与攻略","aria-hidden":"true"},"#"),e(" 📖学习建议与攻略")],-1),b=t("ul",null,[t("li",null,[t("em",null,"包括入学考试,专业选课,英语学习等信息")])],-1),m=t("ul",null,[t("li",null,[t("em",null,"包括暑假学习建议、大学学习准备、入学考试准备、个人提升。")])],-1),g=t("ul",null,[t("li",null,[t("em",null,"包含GPA表、专业概览、选课指导、学习资源、图书馆学习攻略、学籍管理。")])],-1),x=t("h3",{id:"毕业生质量报告",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#毕业生质量报告","aria-hidden":"true"},"#"),e(" 毕业生质量报告")],-1),k={href:"https://www.sustech.edu.cn/uploads/files/2021/01/06113735_69394.pdf",target:"_blank",rel:"noopener noreferrer"},D={href:"http://career.sustech.edu.cn/detail/news?id=588518",target:"_blank",rel:"noopener noreferrer"},F={href:"http://career.sustech.edu.cn/detail/news?id=664725",target:"_blank",rel:"noopener noreferrer"},y=s('

GPA换算表(本科)

等级A+AA-B+BB-C+CC-D+DD-F
绩点4.003.943.853.733.553.323.092.782.422.081.631.150
百分 参考97~ 10093~ 9690~ 9287~ 8983~ 8680~ 8277~ 7973~ 7670~ 7267~ 6963~ 6660~ 62<60
',2),w={class:"custom-container tip"},v=t("p",{class:"custom-container-title"},"提示",-1),P={href:"https://github.com/chenyuheng/SUSTech-GPA-Calculator",target:"_blank",rel:"noopener noreferrer"},S=s('

GPA换算表(研究生)

等级A+ / AA-B+BB-C+CC-D+DF
绩点4.03.73.33.02.72.32.01.71.31.00
百分 参考95~ 10090~ 9485~ 8980~ 8477~ 7973~ 7670~ 7267~ 6963~ 6660~ 62<60

学生手册

',3),G={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/manual/%E5%8D%97%E6%96%B9%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6%E5%AD%A6%E7%94%9F%E6%89%8B%E5%86%8C2022-%E6%9C%AC%E7%A7%91.pdf",target:"_blank",rel:"noopener noreferrer"},L={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/manual/%E5%8D%97%E6%96%B9%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6%E5%AD%A6%E7%94%9F%E6%89%8B%E5%86%8C2021-%E6%9C%AC%E7%A7%91.pdf",target:"_blank",rel:"noopener noreferrer"},I={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/manual/%E5%8D%97%E6%96%B9%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6%E5%AD%A6%E7%94%9F%E6%89%8B%E5%86%8C2020-%E6%9C%AC%E7%A7%91.pdf",target:"_blank",rel:"noopener noreferrer"},N={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/manual/%E5%8D%97%E6%96%B9%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6%E5%AD%A6%E7%94%9F%E6%89%8B%E5%86%8C2020-%E6%9C%AC%E7%A7%91.pdf",target:"_blank",rel:"noopener noreferrer"},V=t("h2",{id:"培养方案-本科",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#培养方案-本科","aria-hidden":"true"},"#"),e(" 培养方案(本科)")],-1),j={href:"https://mirrors.sustech.edu.cn/courses/%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/2022%E7%BA%A7%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/",target:"_blank",rel:"noopener noreferrer"},K={href:"https://mirrors.sustech.edu.cn/courses/%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/2021%E7%BA%A7%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/",target:"_blank",rel:"noopener noreferrer"},Q={href:"https://mirrors.sustech.edu.cn/courses/curriculum_for_international_students/2021/",target:"_blank",rel:"noopener noreferrer"},R={href:"https://mirrors.sustech.edu.cn/courses/%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/2020%E7%BA%A7%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/",target:"_blank",rel:"noopener noreferrer"},T={href:"https://mirrors.sustech.edu.cn/courses/curriculum_for_international_students/2020/",target:"_blank",rel:"noopener noreferrer"},U={href:"https://mirrors.sustech.edu.cn/courses/%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/2019%E7%BA%A7%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/",target:"_blank",rel:"noopener noreferrer"},z={href:"https://mirrors.sustech.edu.cn/courses/%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/2018%E7%BA%A7%E6%9C%AC%E7%A7%91%E7%94%9F%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88%EF%BC%88%E9%80%82%E7%94%A8%E4%BA%8E%E7%AC%AC%E4%BA%8C%E5%AD%A6%E5%B9%B4%E7%BB%93%E6%9D%9F%E6%97%B6%EF%BC%8C%E7%94%B3%E8%AF%B7%E8%BF%9B%E5%85%A5%E4%B8%93%E4%B8%9A%EF%BC%89/",target:"_blank",rel:"noopener noreferrer"},q={href:"https://mirrors.sustech.edu.cn/courses/%E6%9C%AC%E7%A7%91%E4%BA%BA%E6%89%8D%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88/2018%E7%BA%A7%E6%9C%AC%E7%A7%91%E7%94%9F%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88%EF%BC%88%E9%80%82%E7%94%A8%E4%BA%8E%E7%AC%AC%E4%B8%80%E5%AD%A6%E5%B9%B4%E7%BB%93%E6%9D%9F%E6%97%B6%EF%BC%8C%E7%94%B3%E8%AF%B7%E8%BF%9B%E5%85%A5%E4%B8%93%E4%B8%9A%EF%BC%89/",target:"_blank",rel:"noopener noreferrer"},H={href:"http://tao.sustech.edu.cn/page/id-184.html",target:"_blank",rel:"noopener noreferrer"},J=s('

📗教材与图书借还

院系开放信息

计算机科学与工程系

',4),M={href:"https://wiki.compass.college",target:"_blank",rel:"noopener noreferrer"},O=s('

人文中心

语言中心

',3),W={href:"https://www.bilibili.com/video/BV1334y1d7L9",target:"_blank",rel:"noopener noreferrer"},X=t("ul",null,[t("li",null,"涉及学术英语、学术写作、阅读方法、邮件礼仪等。")],-1);function Y(Z,$){const n=a("ExternalLinkIcon"),l=a("RouterLink");return h(),i("div",null,[E,t("ul",null,[t("li",null,[t("a",c,[e("南方科技大学课程简介(2020年7月30日更新)"),r(n)])])]),A,t("p",null,[e("包含课程简介,纲要与考核形式。推荐使用NCES评课社区 "),t("a",B,[e("https://nces.cra.moe"),r(n)]),e(" 进行检索,可使用课程名称,课程代码,授课老师等关键词进行查询。")]),t("ul",null,[t("li",null,[t("p",null,[t("a",_,[e("下载课程大纲PDF"),r(n)])])]),t("li",null,[t("p",null,[e("教工部提供的查看渠道:"),t("a",f,[e("https://course-tao.sustech.edu.cn/kcxxweb/KcxxwebChinesePC"),r(n)]),e(" (需CAS登陆)")])]),t("li",null,[t("p",null,[t("a",p,[e("课程资料"),r(n)]),e(":从 QQ 群等互联网来源获取并整理的课程资料。")])])]),C,t("ul",null,[t("li",null,[r(l,{to:"/study/paper-tools.html"},{default:d(()=>[e("一些好用工具🔧")]),_:1}),e(":查重,文献管理,参考格式化,翻译,语言检查,同义转写。")]),t("li",null,[r(l,{to:"/study/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E5%AD%A6%E4%B9%A0%E7%AF%87.html"},{default:d(()=>[e("致诚书院新生攻略学习篇(2021)")]),_:1}),b]),t("li",null,[r(l,{to:"/study/by-shude-college/advice-on-study.html"},{default:d(()=>[e("学习建议 by 树德书院(2020)")]),_:1}),m]),t("li",null,[r(l,{to:"/study/by-shude-college/info-on-study.html"},{default:d(()=>[e("学习制度与信息 by 树德书院(2020)")]),_:1}),g])]),x,t("ul",null,[t("li",null,[t("a",k,[e("南方科技大学 2019 年度本科毕业生就业质量报告"),r(n)])]),t("li",null,[t("a",D,[e("南方科技大学 2020 年度本科毕业生就业质量报告"),r(n)])]),t("li",null,[t("a",F,[e("南方科技大学 2021 届毕业生就业质量年度报告"),r(n)])])]),y,t("div",w,[v,t("p",null,[e("推荐使用同学开发的"),t("a",P,[e("网页版GPA计算器"),r(n)]),e("快速计算GPA。")])]),S,t("ul",null,[t("li",null,[t("a",G,[e("2022本科"),r(n)])]),t("li",null,[t("a",L,[e("2021本科"),r(n)])]),t("li",null,[t("a",I,[e("2020本科"),r(n)])]),t("li",null,[t("a",N,[e("2019本科"),r(n)])])]),V,t("ul",null,[t("li",null,[t("p",null,[t("a",j,[e("2022级本科人才培养方案"),r(n)])])]),t("li",null,[t("p",null,[t("a",K,[e("2021级本科人才培养方案"),r(n)])]),t("ul",null,[t("li",null,[t("a",Q,[e("Curriculum for International Students (2021)"),r(n)])])])]),t("li",null,[t("p",null,[t("a",R,[e("2020级本科人才培养方案"),r(n)])]),t("ul",null,[t("li",null,[t("a",T,[e("Curriculum for International Students (2020)"),r(n)])])])]),t("li",null,[t("p",null,[t("a",U,[e("2019级"),r(n)])])]),t("li",null,[t("p",null,[t("a",z,[e("2018级(第二学年结束时进入专业)"),r(n)])])]),t("li",null,[t("p",null,[t("a",q,[e("2018级(第一学年结束时进入专业)"),r(n)])])]),t("li",null,[t("p",null,[t("a",H,[e("培养方案总览/南方科技大学教工部"),r(n)])])])]),J,t("ul",null,[t("li",null,[r(l,{to:"/study/cse/innovative-project.html"},{default:d(()=>[e("创新实践项目汇总")]),_:1})]),t("li",null,[t("a",M,[e("计算机安全/渗透测试公开教学与学术队伍"),r(n)])])]),O,t("ul",null,[t("li",null,[t("a",W,[e("【南科大语言中心】如何适应大学生活 Adjusting to University Life (B站)"),r(n)]),X])])])}const et=o(u,[["render",Y],["__file","index.html.vue"]]);export{et as default}; diff --git a/assets/index.html-GPglhz3l.js b/assets/index.html-GPglhz3l.js new file mode 100644 index 000000000..255b40763 --- /dev/null +++ b/assets/index.html-GPglhz3l.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-83a77034","path":"/service/network/remote-desktop/","title":"校内远程桌面使用指北","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"远程桌面是什么?","slug":"远程桌面是什么","link":"#远程桌面是什么","children":[]},{"level":2,"title":"远程桌面的典型使用场景","slug":"远程桌面的典型使用场景","link":"#远程桌面的典型使用场景","children":[]},{"level":2,"title":"不建议使用远程桌面的场景","slug":"不建议使用远程桌面的场景","link":"#不建议使用远程桌面的场景","children":[]},{"level":2,"title":"服务端配置","slug":"服务端配置","link":"#服务端配置","children":[{"level":3,"title":"一键开启远程桌面功能并修改端口为 13389 的注册表文件:","slug":"一键开启远程桌面功能并修改端口为-13389-的注册表文件","link":"#一键开启远程桌面功能并修改端口为-13389-的注册表文件","children":[]}]},{"level":2,"title":"从客户端连接","slug":"从客户端连接","link":"#从客户端连接","children":[{"level":3,"title":"用于在校内网通过邮箱获取服务端IP地址的 Python 脚本:","slug":"用于在校内网通过邮箱获取服务端ip地址的-python-脚本","link":"#用于在校内网通过邮箱获取服务端ip地址的-python-脚本","children":[]}]},{"level":2,"title":"在图书馆使用远程桌面","slug":"在图书馆使用远程桌面","link":"#在图书馆使用远程桌面","children":[]}],"git":{"updatedTime":1655976342000,"contributors":[{"name":"Falken Sakurai","email":"58453886+KagaJiankui@users.noreply.github.com","commits":2},{"name":"Neko Null","email":"jerrylu.mail@qq.com","commits":2},{"name":"Sakuranetin","email":"58973019+Sakuranetin@users.noreply.github.com","commits":2},{"name":"BadBoyGuangzhi","email":"87311458+BadBoyGuangzhi@users.noreply.github.com","commits":1},{"name":"Neko Null","email":"11712709@mail.sustc.edu.cn","commits":1},{"name":"liziwl","email":"leezisy@gmail.com","commits":1},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"service/network/remote-desktop/README.md"}');export{e as data}; diff --git a/assets/index.html-GqujHE2o.js b/assets/index.html-GqujHE2o.js new file mode 100644 index 000000000..98242b145 --- /dev/null +++ b/assets/index.html-GqujHE2o.js @@ -0,0 +1 @@ +import{_ as i,r,o as c,c as d,b as t,d as e,a as n,w as p,e as l}from"./app-9djxHuta.js";const o="/assets/unifound-home-KwZl9eOQ.png",g="/assets/print-6kGhpibK.png",_="/assets/print-1-3wmHB-f5.jpeg",h="/assets/print-2-m8eNSzoT.jpeg",x="/assets/print-3-ipovTwCB.jpeg",y="/assets/print-4-4uTQn0p0.jpeg",m="/assets/print-5-jT5e6jii.jpeg",u="/assets/copy-1-J6k3XspF.jpeg",f="/assets/copy-2-_0fTm8Mu.jpeg",A="/assets/copy-3-Ce_cOVMe.jpeg",j="/assets/copy-4-w3mR318j.jpeg",b="/assets/copy-5-hKktSqSx.jpeg",k="/assets/pms-p1-HqscRncN.png",N="/assets/pms-p2-OzA2_Nu_.png",B="/assets/pms-p3-lnwKkcsW.png",w="/assets/pms-p4-G4KBqnVq.png",S="/assets/pms-p4-G4KBqnVq.png",q="/assets/pms-p6-BZrD9Ugs.png",D="/assets/pms-p7-DY-A_oFG.png",V="/assets/pms-p8-pPNg_pVJ.png",K="/assets/unifound-1-H9l9OSVW.jpeg",E="/assets/unifound-2-NKKRBwHt.jpeg",T="/assets/unifound-3-NG1hd-77.jpeg",C="/assets/unifound-4-M1Yshlai.png",R="/assets/unifound-5-x_jt3FzV.jpeg",v="/assets/unifound-6-olNh-qAZ.jpeg",F="/assets/unifound-7-NcPipp4R.jpeg",G="/assets/unifound-8-Bp45vDhW.jpeg",L="/assets/unifound-9-Fnq6Wd7h.jpeg",O="/assets/unifound-10-ngE4wPzS.png",P="/assets/scan-2-0-KFLwn75T.jpeg",W="/assets/scan-2-1-5nSBK4Tj.jpeg",H="/assets/scan-2-4-SitOkdDi.jpeg",z={},M=l('

🖨️联创打印系统

学校在校园各处通过联创打印系统为同学提供打印,复印及扫描服务。

报障

若打印机出现故障或缺纸,可以通过拨打信息中心电话88010777报障。

打印/复印一体机地点

',5),U=t("strong",null,"提示",-1),Y={href:"http://pms.sustech.edu.cn/client/new/cprintPc/printDev.html",target:"_blank",rel:"noopener noreferrer"},Z=l('
名称纸质功能
琳恩图书馆一楼彩色A4 打印,复印,扫描,支持彩色
琳恩图书馆三楼彩色A4打印,复印,扫描,支持彩色
第一教学楼二楼彩色A4 打印,复印,扫描,支持彩色
第一科研楼二楼彩色A4 打印,复印,扫描,支持彩色
第一科研楼三楼黑白A4打印,复印,扫描,
第二科研楼四楼彩色A4打印,复印,扫描,支持彩色
第二科研楼四楼黑白A4、A3打印,复印,扫描,
第二科研楼五楼彩色A4打印,复印,扫描,支持彩色
生物楼(第三科研楼)一楼彩色A4、A3打印,复印,扫描,支持彩色
台州楼(第四科研楼)一楼黑白A4、A3打印,复印,扫描,
一丹图书馆一楼黑白A4、A3打印,复印,扫描,
一丹图书馆二楼黑白A4、A3打印,复印,扫描,
一丹图书馆二楼彩色A4、A3打印,复印,扫描,支持彩色
书院1栋大厅彩色A4打印,复印,扫描,支持彩色
书院2栋大厅黑白A4打印,复印,扫描,
书院3栋大厅彩色A4打印,复印,扫描,支持彩色
书院3栋大厅黑白A4打印,复印,扫描,
新生宿舍11栋2楼A4打印,复印,扫描,支持彩色
涵泳图书馆一楼彩色A4、A3打印,复印,扫描,支持彩色
教师公寓三栋一楼A4打印,复印,扫描,支持彩色
荔园1栋二楼彩色A4打印,复印,扫描,支持彩色
荔园1栋二楼黑白A4打印,复印,扫描
创园一栋三楼A4打印,复印,扫描,支持彩色
创园五栋一楼黑白A4打印,复印,扫描,
创园七栋一楼黑白A4打印,复印,扫描,
创园九栋一楼彩色A4打印,复印,扫描,支持彩色
慧园1栋二楼彩色A4打印,复印,扫描,支持彩色
慧园5栋三楼黑白A4、A3打印,复印,扫描,
欣园二栋活动室一楼彩色A4打印,复印,扫描,支持彩色
欣园四栋一楼彩色A4打印,复印,扫描,支持彩色
',1),I={href:"http://pms.sustech.edu.cn/client/new/cprintPc/printDev.html",target:"_blank",rel:"noopener noreferrer"},J=t("p",null,[t("strong",null,"虽然在打印系统上显示支持A3纸张,但实际上这些打印机一般不会装载A3纸张,也就无法打印出A3幅面的文档了。")],-1),Q=t("h2",{id:"打印教程",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#打印教程","aria-hidden":"true"},"#"),e(" 打印教程")],-1),X=t("h3",{id:"通过浏览器",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#通过浏览器","aria-hidden":"true"},"#"),e(" 通过浏览器")],-1),$=t("p",null,[t("strong",null,"(适用于大多数操作系统)")],-1),tt={href:"http://pms.sustech.edu.cn",target:"_blank",rel:"noopener noreferrer"},et={href:"http://172.18.1.141",target:"_blank",rel:"noopener noreferrer"},nt=t("strong",null,"提示",-1),st=t("code",null,"pms.sustech.edu.cn",-1),lt=t("code",null,"172.18.1.92",-1),rt=t("code",null,"172.18.1.93",-1),at=t("em",null,"fully qualified domain name",-1),it={href:"http://pms.sustech.edu.cn",target:"_blank",rel:"noopener noreferrer"},ct={href:"http://172.18.1.141",target:"_blank",rel:"noopener noreferrer"},dt=t("p",null,"点击云打印,登陆账户,按照提示操作。",-1),pt=t("p",null,[t("img",{src:o,alt:"Home"})],-1),ot=t("p",null,[t("img",{src:g,alt:"print"})],-1),gt=t("h3",{id:"通过本地程序",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#通过本地程序","aria-hidden":"true"},"#"),e(" 通过本地程序")],-1),_t=t("p",null,[t("strong",null,"仅限Windows系统")],-1),ht={href:"http://172.18.1.141/client/UniOpmClient_Setup.exe",target:"_blank",rel:"noopener noreferrer"},xt=t("li",null,[t("p",null,"在电脑中找到所需打印的文档,然后点击右键选择打印;按照系统要求操作即可,操作完毕后可以在打印文档列表中找到该文档。")],-1),yt=l('

  1. 前往打印点打印文件:点击自助打印,转换页面后在感应区放置校园卡(若打印多张需多次放置)即可到打印机旁等待任务完成,取走文件。

初始界面

打印初始界面

打印确认(多个任务需重复刷卡)

打印成功界面

复印教程

  1. 携带校园卡及所需打印文件至打印点;
  2. 点击自助复印,转换页面后在感应区放置校园卡,然后到打印机电子版面进行操作。

  1. 点击快速复印图标进入如下页面可对复印进行编辑,其中其他栏中包括缩小放大,双面复印,多合一等功能,在这里不做过多介绍,大家可以自行尝试。

复印初始界面

  1. 点击开始按键即可开始复印(注意:如若需要正反扫描,或是多合一时要在第一张扫描完成且屏幕上方弹出提示窗口后对文件进行手动翻面并再次点击开始图标)。

其他栏

双面(正反面复印)

多合一(将所需复印的多面文件复印至单面)

  1. 注意:在放置文件时,若是A4大小,请不要超过扫描机上方刻度的A4线位置,否则超出部分将无法被扫描并复印。

扫描教程

理光 Ricoh 机型

由 冯晨曦 贡献 2022年4月2日

施乐 Xerox/佳能 Canon机型

由 郭欣格 贡献

  1. 刷卡

  2. 点击机器上的 扫描仪,进入扫描界面

  3. 如果出来的是这个让人看起来就很绝望想把机器砸了的界面

    先冷静一下,点击右边的 简单画面

    然后就会变得很友好了:

  4. 清晰度设置

    点击左上角的 扫描设置,设置扫描清晰度,一般直接设成最高(600dpi):

  5. 设置文件类型

    点击左下角的 文件类型

    • 单页:扫描结果会变成每份只有一面内容的 pdf 上传
    • 多页:扫描结果会合并成一个多面的 pdf 上传
    • 文件类型:根据需要
    • PDF 文件设置:有兴趣的可以自行百度,一般用不上,不需要设置
  6. 设置文件上传位置

    文件夹 → SCAN

    文件会保存在你刷的校园卡的联创里,如图:

    亦可选择直接发到自己的邮箱中,不过需要先再点击一开始的 简单模式,进入设置界面:

    选择 手动输入,输入自己的邮箱

  7. 点击机器上的开始

  8. 结束扫描

    需先点击 # 键,再刷卡退出

富士 Fujifilm机型

1.携带校园卡及所需扫描文件至打印点;

2.点击自助扫描,转换页面后在感应区放置校园卡,然后到打印机电子版面进行操作。

扫描准备页面

3.点击快速扫描图标进入如下页面,点击目的地进行接收地址填写

初始页面

4.地址填写:选择本地文件夹(扫描仪的邮件发送系统已失效)。

确认页面

6.页面转跳后进入初始页面,并可看到将要接收扫描邮件的电子邮箱。在此页面可设置扫描参数,并可继续添加电子邮件地址。确认无误后点击开始按键即开始扫描。

参考资料

',44),mt={href:"https://mp.weixin.qq.com/s/NVTW8LRSUpr793Dho8GYxA",target:"_blank",rel:"noopener noreferrer"};function ut(ft,At){const s=r("ExternalLinkIcon"),a=r("RouterLink");return c(),d("div",null,[M,t("blockquote",null,[t("p",null,[U,e(": 前去打印前可提前在"),t("a",Y,[e("「打印点」页面(内网)"),n(s)]),e("确认打印点可用状态。")])]),Z,t("p",null,[e("数据来自"),t("a",I,[e("联创打印系统"),n(s)]),e("。这些打印点的详细地图可以参考"),n(a,{to:"/#%E6%A0%A1%E5%9B%AD%E5%9C%B0%E5%9B%BE"},{default:p(()=>[e("校园地图")]),_:1}),e("。")]),J,Q,X,$,t("p",null,[e("用浏览器打开联创网页:"),t("a",tt,[e("http://pms.sustech.edu.cn"),n(s)]),e(",如果打不开可尝试"),t("a",et,[e("http://172.18.1.141"),n(s)])]),t("blockquote",null,[t("p",null,[nt,e(": "),st,e("这个域名只在学校内网的DNS服务器("),lt,e("和"),rt,e(")上提供(因为它不是一个"),at,e(",不会被公共的DNS服务器所收录)。如果哪天突然发现"),t("a",it,[e("http://pms.sustech.edu.cn"),n(s)]),e("打不开了但是"),t("a",ct,[e("http://172.18.1.141"),n(s)]),e("可以打开,可以考虑检查一下自己电脑是否采用了学校内网的DNS服务器。")])]),dt,pt,ot,gt,_t,t("ol",null,[t("li",null,[t("p",null,[e("在云打印主页下载驱动程序并安装:"),t("a",ht,[e("下载链接(内网)"),n(s)])])]),xt]),yt,t("ul",null,[t("li",null,[t("a",mt,[e("南科大生存必备技能 | 联创打印管理系统指南/南科新知"),n(s)])])])])}const bt=i(z,[["render",ut],["__file","index.html.vue"]]);export{bt as default}; diff --git a/assets/index.html-HRY79phe.js b/assets/index.html-HRY79phe.js new file mode 100644 index 000000000..11b015c70 --- /dev/null +++ b/assets/index.html-HRY79phe.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-9e1961f8","path":"/service/network/eduroam/","title":"eduroam(学术网路漫游)","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"注册","slug":"注册","link":"#注册","children":[]},{"level":2,"title":"配置","slug":"配置","link":"#配置","children":[]}],"git":{"updatedTime":1638418660000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":1},{"name":"sparkcyf","email":"spark@cra.ac.cn","commits":1}]},"filePathRelative":"service/network/eduroam/README.md"}');export{e as data}; diff --git a/assets/index.html-HS2bcuK2.js b/assets/index.html-HS2bcuK2.js new file mode 100644 index 000000000..aa3f9ae81 --- /dev/null +++ b/assets/index.html-HS2bcuK2.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as t,e}from"./app-9djxHuta.js";const i="/assets/sakai-1-gdIu9juD.png",c="/assets/sakai-2-ZZGlPs7t.png",o="/assets/sakai-3-yJEYBaFd.png",r="/assets/sakai-4-NMHOlmrU.png",n="/assets/sakai-5-cj7Fmjqo.png",p={},l=e('

Sakai | 文件分享

众所周知,Sakai 在校园网环境下访问非常快,通过其传输 或者 分享文件也非常方便,更可免受外网访问速度的限制。

教程

  1. 进入个人空间

  2. 选择上传文件

  3. 编辑访问权限

    访问红框内网址(https://sakai.sustech.edu.cn/x/VgWvyf)即可下载文件。

',4),_=[l];function d(h,m){return a(),t("div",null,_)}const k=s(p,[["render",d],["__file","index.html.vue"]]);export{k as default}; diff --git a/assets/index.html-KWbX328X.js b/assets/index.html-KWbX328X.js new file mode 100644 index 000000000..1e9edb7ea --- /dev/null +++ b/assets/index.html-KWbX328X.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-29860ed0","path":"/service/mail-and-express/","title":"📦邮件与快递收发","lang":"zh-CN","frontmatter":{"sidebar":"auto"},"headers":[{"level":2,"title":"收发室","slug":"收发室","link":"#收发室","children":[]},{"level":2,"title":"自助快递柜","slug":"自助快递柜","link":"#自助快递柜","children":[]},{"level":2,"title":"如何寄件","slug":"如何寄件","link":"#如何寄件","children":[]},{"level":2,"title":"Q&A","slug":"q-a","link":"#q-a","children":[{"level":3,"title":"快递柜是否支持自助寄件?","slug":"快递柜是否支持自助寄件","link":"#快递柜是否支持自助寄件","children":[]},{"level":3,"title":"快递显示已签收却没有收到取件通知?","slug":"快递显示已签收却没有收到取件通知","link":"#快递显示已签收却没有收到取件通知","children":[]},{"level":3,"title":"快递派送地址与收件地址不一致?","slug":"快递派送地址与收件地址不一致","link":"#快递派送地址与收件地址不一致","children":[]},{"level":3,"title":"哪些物品是不能快递的?","slug":"哪些物品是不能快递的","link":"#哪些物品是不能快递的","children":[]}]},{"level":2,"title":"联系电话","slug":"联系电话","link":"#联系电话","children":[]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"updatedTime":1661487854000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":2},{"name":"Ruan","email":"47767371+Ryyyc@users.noreply.github.com","commits":1},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"service/mail-and-express/README.md"}');export{l as data}; diff --git a/assets/index.html-L7TOtjL2.js b/assets/index.html-L7TOtjL2.js new file mode 100644 index 000000000..00d36cf21 --- /dev/null +++ b/assets/index.html-L7TOtjL2.js @@ -0,0 +1 @@ +import{_ as n,r,o as d,c as o,b as e,d as a,a as i,w as c,e as t}from"./app-9djxHuta.js";const p="/assets/interior-KIYZNKgg.jpg",l={},u=e("h1",{id:"🏠住在南科",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#🏠住在南科","aria-hidden":"true"},"#"),a(" 🏠住在南科")],-1),m=e("p",null,[e("em",null,"本节部分由树德书院学长团提供。")],-1),f=e("h2",{id:"宿舍平面图",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#宿舍平面图","aria-hidden":"true"},"#"),a(" 宿舍平面图")],-1),_=t('

概况

大一新生将会统一入住二期宿舍11栋(新生楼),它位于湖畔与荔园之间。

宿舍共17层楼,每层楼22个房间,每一间住4名学生,配置为上床下桌。宿舍的床尺寸是2050mm*1000mm,可以作为买床单、被子、蚊帐的参考。

设施

宿舍内部 一间典型的新生楼宿舍内景

储物柜

分为衣柜(橘黄色的柜子)、两床间共享的阶梯型储物柜(内部分为小隔间,最下面可以放一个大行李箱)、鞋柜、鞋柜上面还有一个储物柜(分成两格)。

用电器

室内空调(冷热兼有)、电风扇(两个)注意室内不允许用大功率用电器哦, 比如锅、吹风机、卷发棒等(可以去洗漱间用, 配有公共的吹风机),还建议买一个电插板。

公共设施

公共卫生间、公共浴室(单间的)、公共洗衣房(在2楼,男女生洗衣机与甩干机分开使用)、晾衣房(可以买个晾衣杆哦)、饮水机、冰箱(放入冰箱内的食物需要进行登记, 如果食物坏掉, 宿管阿姨会直接扔掉)、活动室(吃饭休息、看书、聊天都行)、微波炉(热夜宵,注意用电安全哦)、垃圾桶(洗漱的地方有一个大垃圾桶, 但是不要把宿舍里面的垃圾袋直接扔进去哦)。

宿舍公约

是分好宿舍后和舍友们一起制定的一些条约, 比如几点熄灯, 怎么打扫卫生,倒垃圾等相关事宜, 一个好的宿舍公约可以让宿舍更加的温馨整洁哦。

宿舍生活上的其他问题

怎么对付蚊子?

  1. 物理防御——蚊帐。蚊帐不但可以防蚊,还可以营造一小片私人空间
  2. 化学防御——无比滴,驱蚊花露水
  3. 物理伤害——苍蝇拍,电蚊拍,巴掌
  4. 化学伤害——杀虫剂(不建议使用电蚊香)

杀虫剂

深圳4、5月份的蟑螂最多,但其他时候也可能会在宿舍遇见。北方来的小朋友很有可能被突然窜出来的小强吓到(北方来的学姐深有体会)。用字典拍死绝对不是处理蟑螂的最好方法,因为这样你会:

成功牺牲一部字典并将在未来邂逅更多蟑螂(因为蟑螂尾部有卵荚,拍扁蟑螂会使蟑螂卵遗留在宿舍各处)

所以,最好的办法就是用杀虫剂/气雾剂灭掉它,购买蟑螂屋物理粘附也可以。

洗洁精,洁厕灵,洗手液等

为了避免出现吃完饭发现没有洗洁精的情况,建议大家来到学校后抽个时间和室友一起把这些必备的清洁物品买齐。

警告

84消毒液不能和洁厕灵一起用!!!高中化学第7题做过嗷!!

除湿袋

深圳天气非常潮湿,如果不做好除湿工作又连逢阴雨天,被子和衣服都会变的湿漉漉的。因此建议在床头和衣柜里都挂上除湿袋。如果条件允许,也可以宿舍一同购买除湿器。

烘干器

不需要买很贵的,200r左右即可。

深圳阴雨天气较多,一些内衣遇到阴天较难干,被子、鞋子等也不方便使用公共烘干机,所以条件允许的话在宿舍有一个烘干机会带来许多方便。

雨伞,雨衣

深圳的天气变幻莫测,尤其在夏季,一会儿烈日当空,一会儿突降暴雨。建议准备晴雨伞,防晒又防雨。总之时刻拿着一把伞总是没有错的, 晒了撑着, 下雨也撑着。

',30),g={id:"防晒",tabindex:"-1"},x=e("a",{class:"header-anchor",href:"#防晒","aria-hidden":"true"},"#",-1),b=t('

深圳太太太太热了,紫外线也很强,一年中有7个月要穿短袖。所以不做好防晒工作的话,很容易就晒黑了。(尤其是胳膊上会有明显的黑白分界)。

物业

提示

24小时物业电话 88015047

校内物业很给力。但需要和物业约时间,以保证工作人员来修理时宿舍内有人陪同

书立,文件夹

随着学习的深入,做过的作业、quiz以及其他书本会越来越多,若不加以收拾,书桌总是乱糟糟的。如果用文件夹把做过的作业和quiz收拾起来,再用书立把每门课的资料分开,桌面会清爽有序很多。

怎么洗衣服洗鞋

宿舍楼下会有洗衣房,洗衣烘干洗鞋全部承包!你需要的只是:

  1. 微信公众号关注“海尔洗衣”(洗衣房里会有二维码) 或者下载APP“海尔洗衣”
  2. 一个桶盆:装衣服。可以用记号笔写上名字或者房间号,防止拿错
  3. 洗衣液

注意

男女洗衣房不能混用;

袜子、内衣只能自己洗,不能放洗衣机哦!

空间利用的小建议

使用床头挂篮储物

使用床头挂篮储物

充分利用书柜

充分利用书柜

健忘症必备神器

健忘症必备神器

',17);function v(w,y){const s=r("RouterLink"),h=r("Badge");return d(),o("div",null,[u,m,f,e("p",null,[a("包含湖畔,荔园,欣园宿舍的楼层平面图,"),i(s,{to:"/life/dormitory/dorm-floor-plan.html"},{default:c(()=>[a("请至此页面查看")]),_:1}),a("。")]),_,e("h3",g,[x,a(" 防晒"),i(h,{text:"这一条主要是给妹子们看的",type:"tip"})]),b])}const N=n(l,[["render",v],["__file","index.html.vue"]]);export{N as default}; diff --git a/assets/index.html-LSU6emEz.js b/assets/index.html-LSU6emEz.js new file mode 100644 index 000000000..4de0beaaa --- /dev/null +++ b/assets/index.html-LSU6emEz.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-3692ee77","path":"/service/tax/","title":"如何申报退税?-- 年度个人所得税年度汇算","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"TL.DR 太长不读","slug":"tl-dr-太长不读","link":"#tl-dr-太长不读","children":[]},{"level":2,"title":"导读","slug":"导读","link":"#导读","children":[]},{"level":2,"title":"学生党办理汇算清缴情况","slug":"学生党办理汇算清缴情况","link":"#学生党办理汇算清缴情况","children":[{"level":3,"title":"需申请退税情况举例:","slug":"需申请退税情况举例","link":"#需申请退税情况举例","children":[]}]},{"level":2,"title":"申报准备","slug":"申报准备","link":"#申报准备","children":[]},{"level":2,"title":"简易申报与标准申报的操作流程","slug":"简易申报与标准申报的操作流程","link":"#简易申报与标准申报的操作流程","children":[{"level":3,"title":"一、简易申报","slug":"一、简易申报","link":"#一、简易申报","children":[]},{"level":3,"title":"二、标准申报","slug":"二、标准申报","link":"#二、标准申报","children":[]}]},{"level":2,"title":"特别提醒","slug":"特别提醒","link":"#特别提醒","children":[]}],"git":{"updatedTime":1642689624000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"service/tax/README.md"}');export{l as data}; diff --git a/assets/index.html-LiHkw1k6.js b/assets/index.html-LiHkw1k6.js new file mode 100644 index 000000000..30970451c --- /dev/null +++ b/assets/index.html-LiHkw1k6.js @@ -0,0 +1 @@ +import{_ as s,o as t,c as n,b as e,d as l}from"./app-9djxHuta.js";const c={},o=e("h1",{id:"全景看校园",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#全景看校园","aria-hidden":"true"},"#"),l(" 全景看校园")],-1),r=e("iframe",{allowfullscreen:"",src:"https://mirrors.sustech.edu.cn/site/sustech-online/panolens/night.html"},null,-1),i=e("iframe",{allowfullscreen:"",src:"https://mirrors.sustech.edu.cn/site/sustech-online/panolens/underhill.html"},null,-1),h=e("iframe",{allowfullscreen:"",src:"https://mirrors.sustech.edu.cn/site/sustech-online/panolens/lakeside.html"},null,-1),a=e("iframe",{allowfullscreen:"",src:"https://mirrors.sustech.edu.cn/site/sustech-online/panolens/liyuan.html"},null,-1),u=e("iframe",{allowfullscreen:"",src:"https://mirrors.sustech.edu.cn/site/sustech-online/panolens/huiyuan.html"},null,-1),d=e("iframe",{allowfullscreen:"",src:"https://mirrors.sustech.edu.cn/site/sustech-online/panolens/aoe.html"},null,-1),_=[o,r,i,h,a,u,d];function m(f,p){return t(),n("div",null,_)}const w=s(c,[["render",m],["__file","index.html.vue"]]);export{w as default}; diff --git a/assets/index.html-McKlvxzv.js b/assets/index.html-McKlvxzv.js new file mode 100644 index 000000000..30ac1d611 --- /dev/null +++ b/assets/index.html-McKlvxzv.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-f4bc5604","path":"/miniapp/","title":"南科手册-微信小程序","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"南科手册Times","slug":"南科手册times","link":"#南科手册times","children":[]}],"git":{"updatedTime":1632137863000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"miniapp/README.md"}');export{e as data}; diff --git a/assets/index.html-Mvu6Jn_l.js b/assets/index.html-Mvu6Jn_l.js new file mode 100644 index 000000000..4bf62da25 --- /dev/null +++ b/assets/index.html-Mvu6Jn_l.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-6bba5e58","path":"/service/network/ipv6/","title":"校内 IPv6 设置教程","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"IPv6 桥接","slug":"ipv6-桥接","link":"#ipv6-桥接","children":[]},{"level":2,"title":"IPv6 NAT ©️ 戴郭轶","slug":"ipv6-nat-©️-戴郭轶","link":"#ipv6-nat-©️-戴郭轶","children":[]}],"git":{"updatedTime":1680677727000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":3},{"name":"DreamWalkerXZ","email":"dreamwalkerxz@outlook.com","commits":1},{"name":"ntdgy","email":"ntdgy2001@gmail.com","commits":1}]},"filePathRelative":"service/network/ipv6/README.md"}');export{e as data}; diff --git a/assets/index.html-MwEf6Jgr.js b/assets/index.html-MwEf6Jgr.js new file mode 100644 index 000000000..a40abec5b --- /dev/null +++ b/assets/index.html-MwEf6Jgr.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-fb711be8","path":"/study/book-list-by-prof-yuan/2018/","title":"袁长庚老师为新生推荐的书单(2018)","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"《镜子:照出你看不见的世界史》,爱德华多·加莱亚诺著,广西师范大学出版社2012年","slug":"《镜子-照出你看不见的世界史》-爱德华多·加莱亚诺著-广西师范大学出版社2012年","link":"#《镜子-照出你看不见的世界史》-爱德华多·加莱亚诺著-广西师范大学出版社2012年","children":[]},{"level":2,"title":"《万历十五年》,黄仁宇著,中华书局2006年","slug":"《万历十五年》-黄仁宇著-中华书局2006年","link":"#《万历十五年》-黄仁宇著-中华书局2006年","children":[]},{"level":2,"title":"《笑谈大先生》,陈丹青著,广西师范大学出版社2011年","slug":"《笑谈大先生》-陈丹青著-广西师范大学出版社2011年","link":"#《笑谈大先生》-陈丹青著-广西师范大学出版社2011年","children":[]},{"level":2,"title":"《当呼吸化为空气》,保罗·卡拉尼什著,浙江文艺出版社2016年","slug":"《当呼吸化为空气》-保罗·卡拉尼什著-浙江文艺出版社2016年","link":"#《当呼吸化为空气》-保罗·卡拉尼什著-浙江文艺出版社2016年","children":[]},{"level":2,"title":"《小王子的领悟》,周保松著,上海三联书店2018年","slug":"《小王子的领悟》-周保松著-上海三联书店2018年","link":"#《小王子的领悟》-周保松著-上海三联书店2018年","children":[]},{"level":2,"title":"《梵高传》,史蒂芬·奈菲、格雷高里·怀特·史密斯著,译林出版社2015年版","slug":"《梵高传》-史蒂芬·奈菲、格雷高里·怀特·史密斯著-译林出版社2015年版","link":"#《梵高传》-史蒂芬·奈菲、格雷高里·怀特·史密斯著-译林出版社2015年版","children":[]},{"level":2,"title":"《月亮和六便士》,毛姆著,上海译文出版社2016年版(译者傅惟慈)","slug":"《月亮和六便士》-毛姆著-上海译文出版社2016年版-译者傅惟慈","link":"#《月亮和六便士》-毛姆著-上海译文出版社2016年版-译者傅惟慈","children":[]},{"level":2,"title":"《他们说,我是幸运的》,艾丽斯·西伯德著,北京联合出版公司2016年版","slug":"《他们说-我是幸运的》-艾丽斯·西伯德著-北京联合出版公司2016年版","link":"#《他们说-我是幸运的》-艾丽斯·西伯德著-北京联合出版公司2016年版","children":[]},{"level":2,"title":"《大背叛:科学中的欺诈》,霍勒斯·贾德森著,三联书店2018年版","slug":"《大背叛-科学中的欺诈》-霍勒斯·贾德森著-三联书店2018年版","link":"#《大背叛-科学中的欺诈》-霍勒斯·贾德森著-三联书店2018年版","children":[]}],"git":{"updatedTime":1640077007000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":3}]},"filePathRelative":"study/book-list-by-prof-yuan/2018/README.md"}');export{l as data}; diff --git a/assets/index.html-O9yoYIf6.js b/assets/index.html-O9yoYIf6.js new file mode 100644 index 000000000..39362e5a9 --- /dev/null +++ b/assets/index.html-O9yoYIf6.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-89ac2bec","path":"/service/network/choose-a-pad/","title":"选择一台合适的平板电脑","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"我需要平板电脑吗?","slug":"我需要平板电脑吗","link":"#我需要平板电脑吗","children":[]},{"level":2,"title":"iPad还是其他的Android平板?","slug":"ipad还是其他的android平板","link":"#ipad还是其他的android平板","children":[]},{"level":2,"title":"需要买笔吗?","slug":"需要买笔吗","link":"#需要买笔吗","children":[]}],"git":{"updatedTime":1596610487000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"service/network/choose-a-pad/README.md"}');export{e as data}; diff --git a/assets/index.html-OFTRfvV8.js b/assets/index.html-OFTRfvV8.js new file mode 100644 index 000000000..4585dd7c5 --- /dev/null +++ b/assets/index.html-OFTRfvV8.js @@ -0,0 +1 @@ +import{_ as i,r as a,o as c,c as h,b as e,d as t,a as n,w as l,e as r}from"./app-9djxHuta.js";const d="/assets/AED地图_救援队地图组-LaysqPt_.jpg",_="/assets/急救箱地图_救援队地图组-mG1yk4G2.jpg",u={},p=r('

应急处理

医疗

紧急医疗

',3),g=e("li",null,"拨打医疗急救 120",-1),m=e("li",null,"如果在校内,先拨打24小时客服中心电话 0755-88010123。物业有应急处理包,会尽快赶来救助;再拨打120。或者还有学校物业保安部值班电话 0755-88015047。",-1),E=e("li",null,"还可以打学校医疗中心医生的电话 18218715551 (24h,只要医生没有睡觉就可以接通), 或是学校急救电话 0755-88010120。",-1),f=r('

校内AED地图©南科大应急救援队

校内AED实景地图

',3),A={href:"http://hzh2015.cn:81/AED_map",target:"_blank",rel:"noopener noreferrer"},x={href:"https://sustc.wiki/AED",target:"_blank",rel:"noopener noreferrer"},b=r('

校内急救箱地图©南科大应急救援队

提示

不保证急救箱药品齐全,如缺少药品请向相关组织反馈进行补充。

应急手册©南科大应急救援队

',4),k={href:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/emergency/%E5%BA%94%E6%80%A5%E6%89%8B%E5%86%8CEmergency_manual2020.pdf",target:"_blank",rel:"noopener noreferrer"},B=e("li",null,"包含心肺复苏,止血,包扎,固定,休克,气道异物梗阻,中暑,踩踏事故,消防事故,烧伤、烫伤,触电,食物中毒,毒蛇咬伤,被动物咬伤,溺水,运动损伤,脑梗,脑溢血,心肌梗塞,高原反应,皮肤过敏等指引。",-1),D=e("li",null,"建议平时阅读学习。",-1),w=e("li",null,"应急救援队广告位:附属医院举办周期性的心肺复苏术和AED使用实践培训,狮子会开展周期性的献血活动,欢迎大家关注。",-1),y=e("h1",{id:"财物",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#财物","aria-hidden":"true"},"#"),t(" 财物")],-1),v={href:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/emergency/%E7%9B%91%E6%8E%A7%E8%B0%83%E5%8F%96%E5%AE%A1%E6%89%B9%E6%B5%81%E7%A8%8B%E5%8F%8A%E7%94%B3%E8%AF%B7%E8%A1%A8.pdf",target:"_blank",rel:"noopener noreferrer"},L=r("
  • 拨打匪警 110,立案侦查。根据《广东省高级人民法院 广东省人民检察院关于确定盗窃刑事案件数额标准的通知》(粤高法发〔2013〕16号)盗窃数额定量标准为:一类地区包括广州、深圳、珠海、佛山、中山、东莞等六个市,盗窃数额较大的起点掌握在三千元以上数额巨大的起点掌握在十万元以上数额特别巨大的起点掌握在五十万元以上
  • 离学校最近的是塘朗派出所,地址:南山区塘兴路11号,电话:0755-26552833。
  • ",2);function j(N,V){const o=a("RouterLink"),s=a("ExternalLinkIcon");return c(),h("div",null,[p,e("ol",null,[g,m,E,e("li",null,[t("经过紧急处理后,可查看 "),n(o,{to:"/service/medical-treatment/"},{default:l(()=>[t("🏥就医指南")]),_:1}),t("。")])]),f,e("ul",null,[e("li",null,[t("南科大校内AED地图©HZH:"),e("a",A,[t("http://hzh2015.cn:81/AED_map"),n(s)])]),e("li",null,[t("南科大校内AED地图©sustc.wiki:"),e("a",x,[t("https://sustc.wiki/AED"),n(s)])])]),b,e("ul",null,[e("li",null,[e("a",k,[t("手册链接(点此)"),n(s)])]),B,D,w]),y,e("ul",null,[e("li",null,[e("a",v,[t("监控调取审批流程及申请表"),n(s)]),t(":(1)联系事件发生所在区域的安管员进行确认。经确认属实后填写《监控查看申请表》;(2)学生申请查监控,需所属书院院长审批;(3)部门职工申请查监控,需所属部门负责人或负责人秘书审批。;(4)审批过的申请表交安保部,由安保项目负责人请示安全、健康与环境办公室负责人签字后,协同中控室工作人员调取。")]),L])])}const F=i(u,[["render",j],["__file","index.html.vue"]]);export{F as default}; diff --git a/assets/index.html-PYp5z5YW.js b/assets/index.html-PYp5z5YW.js new file mode 100644 index 000000000..c63ab4a8f --- /dev/null +++ b/assets/index.html-PYp5z5YW.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-1fa222d4","path":"/service/network/","title":"🌐网络与信息中心 (its@sustech.edu.cn)","lang":"zh-CN","frontmatter":{"sidebar":"auto"},"headers":[{"level":2,"title":"校内局域网","slug":"校内局域网","link":"#校内局域网","children":[{"level":3,"title":"接入网络","slug":"接入网络","link":"#接入网络","children":[]},{"level":3,"title":"其他有关网络的问题","slug":"其他有关网络的问题","link":"#其他有关网络的问题","children":[]}]},{"level":2,"title":"互联网","slug":"互联网","link":"#互联网","children":[{"level":3,"title":"出口","slug":"出口","link":"#出口","children":[]}]},{"level":2,"title":"电信自费宽带","slug":"电信自费宽带","link":"#电信自费宽带","children":[]},{"level":2,"title":"信息中心","slug":"信息中心","link":"#信息中心","children":[]},{"level":2,"title":"我可以请求信息中心做什么?","slug":"我可以请求信息中心做什么","link":"#我可以请求信息中心做什么","children":[]},{"level":2,"title":"选择合适的电子产品","slug":"选择合适的电子产品","link":"#选择合适的电子产品","children":[]},{"level":2,"title":"校内网络使用技巧","slug":"校内网络使用技巧","link":"#校内网络使用技巧","children":[]},{"level":2,"title":"同学自行运营的千兆网络加速服务","slug":"同学自行运营的千兆网络加速服务","link":"#同学自行运营的千兆网络加速服务","children":[]}],"git":{"updatedTime":1677322509000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":12},{"name":"liziwl","email":"leezisy@gmail.com","commits":4},{"name":"Fros1er","email":"34234343+Fros1er@users.noreply.github.com","commits":1},{"name":"Neko Null","email":"jerrylu.mail@qq.com","commits":1},{"name":"Satori Komeiji","email":"126173295+satori-k@users.noreply.github.com","commits":1},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":1},{"name":"yuki","email":"chenjf2020@mail.sustech.edu.cn","commits":1}]},"filePathRelative":"service/network/README.md"}');export{e as data}; diff --git a/assets/index.html-Q1h43n03.js b/assets/index.html-Q1h43n03.js new file mode 100644 index 000000000..f85bc3db3 --- /dev/null +++ b/assets/index.html-Q1h43n03.js @@ -0,0 +1 @@ +import{_ as s,r as a,o as r,c,b as e,d as t,a as i}from"./app-9djxHuta.js";const d={},h=e("h1",{id:"南科手册-微信小程序",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#南科手册-微信小程序","aria-hidden":"true"},"#"),t(" 南科手册-微信小程序")],-1),l=e("h2",{id:"南科手册times",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#南科手册times","aria-hidden":"true"},"#"),t(" 南科手册Times")],-1),_=["src"],m={href:"https://sustech.online",target:"_blank",rel:"noopener noreferrer"};function f(n,p){const o=a("ExternalLinkIcon");return r(),c("div",null,[h,l,e("img",{src:n.$withBase("./qr-code.jpg"),alt:"foo","max-width":"200"},null,8,_),e("p",null,[t("微信小程序无法跳转到第三方链接,体验完整版请访问 "),e("a",m,[t("https://sustech.online"),i(o)]),t("。")])])}const x=s(d,[["render",f],["__file","index.html.vue"]]);export{x as default}; diff --git a/assets/index.html-QKyRG-5V.js b/assets/index.html-QKyRG-5V.js new file mode 100644 index 000000000..4ab4e835c --- /dev/null +++ b/assets/index.html-QKyRG-5V.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-1549b190","path":"/service/network/choose-a-router/","title":"📶选择一台合适的路由器","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"我有需要购买路由器吗?","slug":"我有需要购买路由器吗","link":"#我有需要购买路由器吗","children":[]},{"level":2,"title":"Wi-Fi5还是Wi-Fi6?","slug":"wi-fi5还是wi-fi6","link":"#wi-fi5还是wi-fi6","children":[]},{"level":2,"title":"我应该重点关注什么?","slug":"我应该重点关注什么","link":"#我应该重点关注什么","children":[]},{"level":2,"title":"按照价格选择","slug":"按照价格选择","link":"#按照价格选择","children":[{"level":3,"title":"100元左右","slug":"_100元左右","link":"#_100元左右","children":[]},{"level":3,"title":"200-400元","slug":"_200-400元","link":"#_200-400元","children":[]},{"level":3,"title":"400元+","slug":"_400元","link":"#_400元","children":[]}]},{"level":2,"title":"我需要软路由吗?","slug":"我需要软路由吗","link":"#我需要软路由吗","children":[]}],"git":{"updatedTime":1606729025000,"contributors":[{"name":"Wenxuan SHI","email":"whexy@outlook.com","commits":1},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"service/network/choose-a-router/README.md"}');export{e as data}; diff --git a/assets/index.html-R3DTxKmq.js b/assets/index.html-R3DTxKmq.js new file mode 100644 index 000000000..ffe84962b --- /dev/null +++ b/assets/index.html-R3DTxKmq.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-45d74ec0","path":"/service/work-wechat/","title":"企业微信","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"通过企业微信登陆CAS","slug":"通过企业微信登陆cas","link":"#通过企业微信登陆cas","children":[]},{"level":2,"title":"使用企业微信联系同学","slug":"使用企业微信联系同学","link":"#使用企业微信联系同学","children":[]}],"git":{"updatedTime":1596333743000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"service/work-wechat/README.md"}');export{e as data}; diff --git a/assets/index.html-RE3zg6bW.js b/assets/index.html-RE3zg6bW.js new file mode 100644 index 000000000..a26b2c404 --- /dev/null +++ b/assets/index.html-RE3zg6bW.js @@ -0,0 +1 @@ +import{_ as o,r as i,o as h,c as s,b as t,d as e,a as l,w as c,e as d}from"./app-9djxHuta.js";const u={},p=d('

    📇黄页

    电话与邮件

    座机默认区号0755

    24h 校内服务热线(a.k.a. 物业热线,报修用,查号用): 88010123

    一般办公时间

    • 周一至周五
    • 上午 8:30 - 12:00
    • 下午 2:00 - 5:30

    教学

    ',7),_=d('
  • 教授邮件列表

  • 学生事务中心

    • 南科大中心二楼(中心餐厅楼上)
    • 电话:88010555
    • 公共邮箱:servicescenter@sustech.edu.cn
    • 综合事务
      • 档案、医保、卡证户籍、奖助补贷、银行、移动等事务。
    • 本科生教学事务
      • 选课、退课、成绩单打印、学分认定、学籍备案等事务。
    • 研究生事务
      • 综合事务、教务教学、社区管理等事务。
    • 国际生事务
      • 本科国际生、交换生、海外学习等事务。
    • 社区服务
      • 医疗保险、本科生户籍、本科生公寓管理、门禁管理。
  • ',2),f={href:"https://geo.sustech.edu.cn/gygjhzb/",target:"_blank",rel:"noopener noreferrer"},b={href:"https://gs.sustech.edu.cn/callus",target:"_blank",rel:"noopener noreferrer"},g={href:"http://tao.sustech.edu.cn/department/index.html",target:"_blank",rel:"noopener noreferrer"},q=t("ul",null,[t("li",null,"办公地点: 南科大中心三楼 303,306"),t("li",null,"公共邮箱(教学事务): tao@sustech.edu.cn"),t("li",null,"学生学习服务邮箱: tao-sls@sustech.edu.cn"),t("li",null,"选课咨询电话: 88010300")],-1),k={href:"https://zs.sustech.edu.cn/",target:"_blank",rel:"noopener noreferrer"},x={href:"https://lib.sustech.edu.cn/page/contact.html?locale=zh_CN",target:"_blank",rel:"noopener noreferrer"},m=d('

    物流、餐饮、康体、后勤

    名称地址电话工作时间
    行政服务前台行政楼一楼88010596
    信息中心88010777
    专家公寓86664284
    欣园收发室欣园1栋880106488:30-13:00; 14:00-19:00
    慧园收发室慧园7栋88010649
    书院收发室书院5栋88010111
    荔园收发室荔园8栋88015011
    二期收发室二期13栋88010670
    学生餐厅88015026
    教工餐厅88015023
    荔园餐厅88015237
    西餐厅88015240
    茶餐厅88015244
    场馆预订服务专家公寓2栋二楼880106508:00-22:00

    失物招领处

    区域具体位置
    教学楼,科研楼一教201对面的玻璃房
    食堂食堂一楼小卖部(卖饮料处),一楼打饭刷卡的地方
    图书馆一楼前台,各层楼口移动推车
    宿舍区一栋学生事务中心,三栋物业办公室
    行政楼一楼前台
    风雨操场物业管理玻璃房
    大操场,教师公寓一带专家公寓二栋一楼
    荔园食堂二楼卖饮料处,荔园一栋208(教室管理处)
    欣园宿管值班室(好像是在欣园一栋)

    给个小建议,捡到校园卡的同学可以直接给失主发邮件,反正学号名字校园卡上都有。

    医疗与安全

    • 医疗服务由校医疗中心提供,中心内设有内科、外科、口腔科等专科诊室,配有药房、理疗室、治疗室、留观室等功能辅助诊室。

      • 地点: 学生服务楼一楼
      • 服务时间: 周一至周五,上午 8:30-12:00,下午 14:00-17:00
      • 联系电话
        • 全科门诊:88010120
        • 药房:88010499
        • 投诉建议:88010499
        • 社康管理中心投诉、建议、咨询:13632658609
      • 24小时急诊联系电话: 18218715551
      • 急诊范围: 发热、急腹症、外伤等
    • 安保 | 报警: 88010110

    心理成长

    心理咨询服务资源:

    • 【网上服务大厅预约】(首推预约方式) :

      登陆学校官网 ---> “网站导航” ---> “常用系统” ---> “网上服务大厅”(ehall.sustech.edu.cn) ---> 搜索“心理健康管理” 应用 ---> 进行预约

    • 【邮箱预约】

      邮箱:counseling@sustech.edu.cn

      来信请注明姓名、年级、班级、手机号码和个人空闲的时段。

    • 【电话预约】

      紧急或特殊情况下也可通过电话预约:

      0755-88010576(周一至周五8:30—12:00, 14:00-17:30)

    心理中心为我校学生设立了24小时心理热线和24小时QQ在线咨询,均由校外专业心理机构的心理咨询师提供心理咨询服务:

    • 【24小时热线(00:00-24:00)】

      拨打400-098-0708转9

    • 【24小时QQ在线咨询】

      2853301071(添加QQ通过学校名称和学号验证)

    • 如有紧急情况,可拨打深圳心理援助及危机干预热线:(康宁医院)400-995-995-9,0755-25629459

    • 参加团体咨询/辅导、讲座、沙龙等

      请留意 counseling@sustech.edu.cn 邮箱发布的信息

      微信公众号:南科大心理成长中心

    行政

    • 党政办公室: 88010229

    更多官方部门的联系方式

    ',15),v={href:"https://www.sustech.edu.cn/zh/contact_us.html",target:"_blank",rel:"noopener noreferrer"},E=t("h2",{id:"邮政与快递地址",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#邮政与快递地址","aria-hidden":"true"},"#"),e(" 邮政与快递地址")],-1),w=t("div",{class:"custom-container tip"},[t("p",{class:"custom-container-title"},"提示"),t("p",null,"以下地址以书院(湖畔)一栋101室为例")],-1),j={id:"邮政地址",tabindex:"-1"},y=t("a",{class:"header-anchor",href:"#邮政地址","aria-hidden":"true"},"#",-1),B=d('

    中文

    邮政编码: 518055

    中华人民共和国

    广东省,深圳市,南山区,学苑大道1088号南方科技大学

    书院收发室/书院1栋101

    英文

    Zip Code: 518055

    Residential College Mail Room / Room 101, Residential College 1

    Southern University of Science and Technology , 1088 Xueyuan Avenue,

    Nanshan District, Shenzhen, Guangdong

    P.R. China

    ',4),A={id:"快递地址",tabindex:"-1"},Q=t("a",{class:"header-anchor",href:"#快递地址","aria-hidden":"true"},"#",-1),C=t("blockquote",null,[t("p",null,"广东省 深圳市 南山区 桃源街道"),t("p",null,"学苑大道1088号南方科技大学湖畔收发室")],-1),R=t("h2",{id:"报销抬头",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#报销抬头","aria-hidden":"true"},"#"),e(" 报销抬头")],-1),z={href:"https://gs.sustech.edu.cn/upload/files/%E9%99%84%E4%BB%B67-%E5%8D%97%E6%96%B9%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6%E6%8A%A5%E8%B4%A6%E6%9C%8D%E5%8A%A1%E6%8C%87%E5%8D%97%EF%BC%882019%E5%B9%B4%E7%89%88%EF%BC%89.pdf",target:"_blank",rel:"noopener noreferrer"},S=d('

    名称:南方科技大学

    地址:深圳市南山区学苑大道1088号

    电话:0755-88010000

    开户银行:中信银行深圳分行营业部

    银行账号:8110301013200282614

    统一社会信用代码或纳税人识别号:124403005521093031

    发票信息请再次向财务或秘书确认,以防损失。

    常用Q群

    • 部分可以直接点击群名,自动跳转到 QQ / TIM 页面。
    • 部分需要手动输入群号。
    ',4),D={id:"必备",tabindex:"-1"},N=t("a",{class:"header-anchor",href:"#必备","aria-hidden":"true"},"#",-1),T=t("blockquote",null,[t("p",null,"⬇️ 禁止表情包和水群")],-1),F={href:"https://jq.qq.com/?_wv=1027&k=5m0gQxh",target:"_blank",rel:"noopener noreferrer"},I=t("ul",null,[t("li",null,"南科大信息交流2群: 586560037"),t("li",null,"南科大信息交流3群: 780680110")],-1),V={href:"https://jq.qq.com/?_wv=1027&k=5bgf2pv",target:"_blank",rel:"noopener noreferrer"},L={href:"https://jq.qq.com/?_wv=1027&k=5Y9aSvl",target:"_blank",rel:"noopener noreferrer"},U={href:"https://jq.qq.com/?_wv=1027&k=5Nu4eyz",target:"_blank",rel:"noopener noreferrer"},O=t("blockquote",null,[t("p",null,"⬇️ 含水量🌊较大")],-1),X=t("ul",null,[t("li",null,"南科大新总群: 652842755")],-1),J=t("h3",{id:"餐饮、住宿",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#餐饮、住宿","aria-hidden":"true"},"#"),e(" 餐饮、住宿")],-1),K={href:"https://jq.qq.com/?_wv=1027&k=5fnRInv",target:"_blank",rel:"noopener noreferrer"},M=t("ul",null,[t("li",null,"Tips: 物业热线 24h:0755-88010123")],-1),P=t("li",null,"湖畔食堂意见反馈: 399521317",-1),Y=t("li",null,"荔园食堂反馈群: 623182724",-1),G=t("h3",{id:"交易",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#交易","aria-hidden":"true"},"#"),e(" 交易")],-1),Z={href:"https://jq.qq.com/?_wv=1027&k=5Fc4zu8",target:"_blank",rel:"noopener noreferrer"},H=t("ul",null,[t("li",null,"网络跳蚤市场发布群2:531403522"),t("li",null,"网络跳蚤市场发布群3:750238890")],-1),W={href:"https://jq.qq.com/?_wv=1027&k=5XiJaPQ",target:"_blank",rel:"noopener noreferrer"},$={href:"https://jq.qq.com/?_wv=1027&k=5oICKR3",target:"_blank",rel:"noopener noreferrer"},tt={href:"https://jq.qq.com/?_wv=1027&k=5n46UdU",target:"_blank",rel:"noopener noreferrer"},et=t("ul",null,[t("li",null,"南科大兼职信息交流群2群:701041894")],-1),lt={href:"https://jq.qq.com/?_wv=1027&k=5sx9zJY",target:"_blank",rel:"noopener noreferrer"},rt=t("h3",{id:"游戏",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#游戏","aria-hidden":"true"},"#"),e(" 游戏")],-1),dt={href:"https://jq.qq.com/?_wv=1027&k=RqyOVIml",target:"_blank",rel:"noopener noreferrer"},nt={href:"https://jq.qq.com/?_wv=1027&k=pKU1VXyF",target:"_blank",rel:"noopener noreferrer"},it=t("li",null,"Steam: 198498987",-1),at=t("li",null,"宝可梦: 221623648",-1),ot=t("h3",{id:"其他",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#其他","aria-hidden":"true"},"#"),e(" 其他")],-1),ht={href:"https://jq.qq.com/?_wv=1027&k=5D8EgDF",target:"_blank",rel:"noopener noreferrer"},st=d('

    美食外卖

    提示

    下面的餐饮服务均为校外商家运营,南科手册不对其做担保。部分可能已经不再服务。

    大部分外卖仅能放在校门口(五号门,六号门,七号门),个别外卖可以送达宿舍楼下。

    QQ群

    • 挑东西凑单群:688705412

    • 香喷喷的蛋炒饭啊:814371752

    • 南科大烤冷面:581112298

    • 烤冷面二群:637366756

    • 南园小筑美食外卖群:640426124

    • 南风点点咨询群一群:434861612

    • 一点点奶茶凑单群:638896518

    • 益禾堂配送南科大一群:882972978

    • 湖畔外卖有偿帮带群:751258581

    微信公众号

    • 南园小筑

    • 南风点点nkd

    • 挑东西

    微信小程序

    • 至尊东北特色烤冷面
    ',8);function ct(ut,pt){const r=i("ExternalLinkIcon"),n=i("Badge"),a=i("RouterLink");return h(),s("div",null,[p,t("ul",null,[_,t("li",null,[t("p",null,[t("a",f,[e("国际合作部 | 关于我们"),l(r)])])]),t("li",null,[t("p",null,[t("a",b,[e("研究生院 | 联系方式"),l(r)])])]),t("li",null,[t("p",null,[t("a",g,[e("教学工作部 | 联系方式"),l(r)])]),q]),t("li",null,[t("p",null,[t("a",k,[e("招生办公室 (本科入学)"),l(r)]),e(": 88010500,88010507")])]),t("li",null,[t("p",null,[t("a",x,[e("琳恩图书馆"),l(r)]),e(": 88010800")])])]),m,t("ul",null,[t("li",null,[t("a",v,[e("联系我们/南方科技大学"),l(r)])])]),E,w,t("h3",j,[y,e(" 邮政地址"),l(n,{text:"适用于挂号信,成绩单等",type:"tip"})]),B,t("h3",A,[Q,e(" 快递地址"),l(n,{text:"适用于快递",type:"tip"})]),C,t("p",null,[e("更多快递相关信息,请参考"),l(a,{to:"/service/mail-and-express/"},{default:c(()=>[e("邮件与快递收发")]),_:1}),e("一节。")]),R,t("p",null,[e("参考"),t("a",z,[e("南方科技大学报账服务指南(2019年版)"),l(r)]),e(":")]),S,t("h3",D,[N,e(" 必备 "),l(n,{text:"推荐加入",type:"tip"})]),T,t("ul",null,[t("li",null,[t("a",F,[e("南科大信息交流群"),l(r)]),e(": 286147538 "),I]),t("li",null,[t("a",V,[e("南科大Lost and Found"),l(r)]),e(": 181846101")]),t("li",null,[t("a",L,[e("南科大失物招领 2 群"),l(r)]),e(": 427987486")]),t("li",null,[t("a",U,[e("南科大-学术信息发布"),l(r)]),e(": 99070167")])]),O,X,J,t("ul",null,[t("li",null,[t("a",K,[e("SUSTech 学生物业交流群"),l(r)]),e(": 216385635 "),M]),P,Y]),G,t("ul",null,[t("li",null,[t("a",Z,[e("网络跳蚤市场发布群"),l(r)]),e(": 347989867 "),H]),t("li",null,[t("a",W,[e("南科大校内交易平台1"),l(r)]),e(": 313483540")]),t("li",null,[t("a",$,[e("南科大的二手书市"),l(r)]),e(": 438891088")]),t("li",null,[t("a",tt,[e("南科大兼职信息交流群"),l(r)]),e(": 263608699 "),et]),t("li",null,[t("a",lt,[e("ROTATOЯ 南科自行车维护"),l(r)]),e(": 191061786")])]),rt,t("ul",null,[t("li",null,[t("a",dt,[e("任天堂"),l(r)]),e(": 635493940")]),t("li",null,[t("a",nt,[e("游戏主机/全平台"),l(r)]),e(": 251465954")]),it,at]),ot,t("ul",null,[t("li",null,[e("本手册!"),t("a",ht,[e("🌟南科手册"),l(r)]),e(": 905618908")])]),st])}const ft=o(u,[["render",ct],["__file","index.html.vue"]]);export{ft as default}; diff --git a/assets/index.html-Rn0CMyBn.js b/assets/index.html-Rn0CMyBn.js new file mode 100644 index 000000000..101897174 --- /dev/null +++ b/assets/index.html-Rn0CMyBn.js @@ -0,0 +1,13 @@ +import{_ as p,r as i,o as r,c as o,b as e,d as s,a as t,e as n}from"./app-9djxHuta.js";const c="/assets/image-Tn--NV9Q.png",l="/assets/image-1-enLCWUG_.png",d="/assets/image-2-E5XuMcaW.png",m="/assets/image-3-lxfxCfrp.png",g="/assets/image-4-1024x143-r1AdkDak.png",v="/assets/image-5-1024x257-Ebc34T6H.png",u="/assets/image-6-1024x333-xBg4nvNU.png",_="/assets/image-7-A3UB4PVN.png",h="/assets/image-8-1024x484-FUvhPpZ8.png",b="/assets/image-9-1024x435-HEkG9ILK.png",P="/assets/image-10-1024x161-5FprX9av.png",f="/assets/image-11-1024x983-w1eSTSoW.png",I="/assets/image-13-1024x530-vyIsUyfj.png",x="/assets/image-12-lKG68wdA.png",k="/assets/image-14-1024x783-YCwUlyLm.png",w="/assets/image-15-1024x173-BLa4ZQw3.png",A="/assets/image-16-1024x538-VeFxW03J.png",N="/assets/image-18-N2AY0YpI.png",T={},E=e("h1",{id:"校内-ipv6-设置教程",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#校内-ipv6-设置教程","aria-hidden":"true"},"#"),s(" 校内 IPv6 设置教程")],-1),S=e("p",null,"本篇教程是在南方科技大学的网络环境下写成。据我所知,下发128位前缀 IPv6 地址的学校不止南科大一所,本篇教程事实上具有普适性,其他大学的同学也可以进行参考。",-1),W=e("p",null,"事实上,在中国电信的家宽一般下发56位前缀的地址,也可使用本方法,但并无必要,可直接由路由分配地址无需 NAT。",-1),C=e("p",null,"南科大的 IPv6 下发的地址是 128位前缀,换言之,子网大小为 1,仅够一台设备使用。为了让一个物理网口下的多个设备共享网络,常见的解决方案是(1)交换机(2)路由器。两者的区别想必需要用到此教程的同学应该了解,这里仅介绍具体配置。",-1),D=e("h2",{id:"ipv6-桥接",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#ipv6-桥接","aria-hidden":"true"},"#"),s(" IPv6 桥接")],-1),U={href:"https://www.miit.gov.cn/jgsj/txs/wjfb/art/2020/art_ed97eb9802da4f168acb823227663f1b.html",target:"_blank",rel:"noopener noreferrer"},O=n('

    在南科大校园网下,在 IPv6 的设置中选择 “桥接模式” 或 ”中继模式“,下级设备应该能分配到 2001 开头的公网 IPv6 地址。

    IPv6 NAT ©️ 戴郭轶

    一些同学如果有特殊需求可能会使用 OpenWrt,里面有丰富的插件提供多样的服务。

    这篇教程可以说是一篇咕咕咕了很久的教程,大概是在去年才开学的时候,当时公网限速在 700KB/s,所以就买了新路由3刷了 OpenWrt 进行多拨来解除限速,(现在解除了,最快能够跑到 90MB/s 左右,没有必要使用多拨来提升带宽)。不过当时也花了很久配置 IPv6 的经验,可能仍值得分享。

    由于南科大的分配的128位前缀的地址,子网空间不足,需要使用本该被淘汰掉的 NAT 网络地址转换使得下级设备能够联网,正确配置后的效果如下:

    img

    同时北洋园和蒲公英pt均能正常识别(需要在OpenWrt开启 UPnP ):

    img

    img

    (PS:不要学我IPv6不打码直接发,因为 v6 默认就是公网地址,我在发完教程后会使用新的地址)

    电脑能成功获取内网IPv6,同时手机也能获得64位的 v6 地址,正常访问 v6 网络:

    img

    相应的流程并不复杂,只需要一台刷入OpenWrt的路由器,一台电脑,WinSCP(可选),以及足够的耐心。

    首先,我们需要登录进入路由器的后台管理页面,依次点击网络-接口:

    将全局网络选项前缀进行修改,我个人使用的是 fd34:fe56:7891:2f3a::/64;可以按照自己喜好选择一个内网前缀。

    img

    随后单击lan一栏的修改,我们需要修改一下内网的设置,滑到下方,点击高级设置,按照下图进行勾选:

    img

    然后点击IPv6设置,路由器通告服务和DHCPv6服务修改为服务器模式,NDP代理设置为禁用,DHCPv6选择无状态的+有状态的,并勾选总是通告默认路由:

    img

    完成后点击保存&应用。

    随后进入wan口的设置,勾选上使用内置的IPv6管理

    img

    随后进入wan6口的设置,将协议修改为DHCPv6客户端,请求IPv6地址为force,请求指定长度的IPv6前缀为已禁用:

    img

    进入高级设置,勾选上使用内置的IPv6管理,强制链路和使用默认网关:

    img

    之后选择网络-DHCP/DNS,进入高级设置,取消勾选禁止解析IPv6 DNS记录:

    img

    进入网络-防火墙:

    将转发改为接受,下面的区域也需要改:

    img

    进入自定义规则,粘贴如下内容:

    img

    WAN6=eth0.2
    +LAN=br-lan
    +ip6tables -t nat -A POSTROUTING -o $WAN6 -j MASQUERADE
    +ip6tables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    +

    其中 eth0.2br-lan 需要修改为你网络-接口中显示的内容:

    img

    2023.3.22 更新:

    在新版本的linux/openwrt 中,iptables 已经被 nftables 取代,上述命令可能执行失败,我们可以使用以下命令来解决: ip6tables -t nat -I POSTROUTING -s `uci get network.globals.ula_prefix` -j MASQUERADE 这样就无需上述防火墙自定义规则的配置了。

    如果有多拨需求的,提醒一下需要在负载均衡中将 defalut-rule 的备用成员改成默认(使用主路由表),由于我重新刷机做的教程且现在没有多拨的必要,就不演示了,没有需求的可以略过这一点。

    经过如上配置,重启路由器后,在网络,诊断中应该能够成功 ping 通 openwrt.org 的v6了,说明你的路由器已经成功接入 IPv6 网络了:

    img

    ',42),B={href:"https://www.test-IPv6.com/",target:"_blank",rel:"noopener noreferrer"},L=n(`
    route -A inet6 add default gw fe80::3e8c:93ff:fed0:83c2 dev eth0.2
    +/etc/init.d/firewall restart
    +/etc/init.d/network restart
    +

    其中,第一行的fe80开头的一串v6地址需要修改为本机的默认网关,可以在状态-概览下获得,如图:

    img

    ',3),y={href:"https://www.test-IPv6.com/",target:"_blank",rel:"noopener noreferrer"},j=n('

    img

    但是,如果路由器关机重启后,我们刚才输入的三行代码会丢失,也就是会回到路由器有 IPv6 而电脑无法连接 IPv6 的状态,这个时候我们就需要编辑一个开机自启的脚本,让路由器再开机时自动添加:

    具体操作为:使用 WinSCP 连接并登陆进入路由器,在 /etc/hotplug.d/iface/ 目录下新建名为 restart-IPv6 的文件,修改内容为:

    #!/bin/sh
    +[ "$ACTION" = ifup ] || exit 0
    +route -A inet6 add default gw fe80::3e8c:93ff:fed0:83c2 dev eth0.2
    +

    2023.3.22 更新: 如果无法在防火墙自定义规则处修改,请在脚本中添加相关命令。

    最后一行需要修改成和刚才一样的内容,然后给予可执行权限。

    没有 WinSCP 的可以在终端内输入以下内容:

    vim /etc/hotplug.d/iface/restart-IPv6
    +

    然后再文本框中输入上面的三行内容,按 Esc 后退出 insert 模式,输入 :wq 退出。

    然后给予可执行权限:

    chmod +x /etc/hotplug.d/iface/restart-IPv6
    +

    img

    这个时候,恭喜你,成功配置IPv6了哦~

    对了,如果有挂pt需求的同学,别忘了在服务-UPnP中打开哦~

    还存在一些应该是OpenWrt本身的问题,在使用IPv6的时候,无法手动配置端口转发,UPnP的端口转发是成功的,但是在防火墙下无法配置,使用 Socat 也没有成功。

    感谢阅读!如果有什么问题或者建议,可以和我发邮件联系。

    我的个人邮箱为:ntdgy2001@gmail.com / 12011211@mail.sustech.edu.cn

    ',17),H={href:"https://ntdgy.top/ntdgy/30.html",target:"_blank",rel:"noopener noreferrer"};function R(V,G){const a=i("ExternalLinkIcon");return r(),o("div",null,[E,S,W,C,D,e("p",null,[s("根据工信部"),e("a",U,[s("《关于开展2019年IPv6网络就绪专项行动的通知》"),t(a)]),s(" 的要求,“新部署的家庭网关设备应全部支持IPv6,并默认配置支持IPv4/IPv6双栈,能够为网关下挂设备分配 IPv6 地址”。同学们新购买的路由器应该都支持 IPv6。例如水星等,国产路由器一般会将 IPv6 与 IPv4的设置分开。")]),O,e("p",null,[s("但是如果我们打开 "),e("a",B,[s("https://www.test-IPv6.com/"),t(a)]),s(" ,我们电脑还是没有连上v6的,这里就需要我们修改流量转发的路由表了,使用ssh工具连上路由器,没有的可以点击系统-TTYD终端:依次输入一下代码:")]),L,e("p",null,[s("而后面的eth0.2就是你网口的编号了,和防火墙哪那里一样,这个时候我们再打开 "),e("a",y,[s("https://www.test-IPv6.com/"),t(a)]),s(" ,可以发现,我们电脑已经接入IPv6了:")]),j,e("p",null,[s("原文章地址(NAT 部分)©️ 戴郭轶:["),e("a",H,[s("https://ntdgy.top/ntdgy/30/"),t(a)]),s("]")])])}const M=p(T,[["render",R],["__file","index.html.vue"]]);export{M as default}; diff --git a/assets/index.html-SYw5rwJf.js b/assets/index.html-SYw5rwJf.js new file mode 100644 index 000000000..7a2dbf02e --- /dev/null +++ b/assets/index.html-SYw5rwJf.js @@ -0,0 +1 @@ +import{_ as e,o as a,c as t,e as r}from"./app-9djxHuta.js";const s="/assets/cas-login--EGDNo6t.png",n={},c=r('

    企业微信

    学校为每位入学的同学开通企业微信,同学在入学后微信关注南方科技大学企业微信号即可激活企业微信。

    通过企业微信登陆CAS

    CAS认证界面

    在绑定企业微信后,使用企业微信扫描右侧绿框中的二维码即可登录CAS。

    使用企业微信联系同学

    目前,学生在企业微信中可以向任意一位本科生,研究生及博士生发起聊天。若对方未安装企业微信,消息将会在微信中显示。

    在企业微信的个人页面,也可查看同学的手机号以方便电话联系。由于企业微信个人信息页带有个人姓名和电话的水印,在截图后请谨慎分享。

    ',8),o=[c];function i(d,h){return a(),t("div",null,o)}const p=e(n,[["render",i],["__file","index.html.vue"]]);export{p as default}; diff --git a/assets/index.html-TpqHSfUW.js b/assets/index.html-TpqHSfUW.js new file mode 100644 index 000000000..7a8eba1ef --- /dev/null +++ b/assets/index.html-TpqHSfUW.js @@ -0,0 +1 @@ +import{_ as t,r as s,o as n,c as l,b as e,d as a,a as r,e as c}from"./app-9djxHuta.js";const d="/assets/schedule-2gA_GM7X.png",i="/assets/get-link-mulcz4lU.png",h="/assets/ics-url-4aQtz63O.png",p="/assets/bb-due-macos-UHdW8Lz3.png",_="/assets/bb-due-gcal-3HDioHdf.png",u={},b=e("h1",{id:"bb-将blackboard中作业-ddl等日程添加到系统日历",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#bb-将blackboard中作业-ddl等日程添加到系统日历","aria-hidden":"true"},"#"),a(" BB | 将Blackboard中作业,DDL等日程添加到系统日历")],-1),g=e("h2",{id:"什么是ics",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#什么是ics","aria-hidden":"true"},"#"),a(" 什么是ICS")],-1),m={href:"https://tools.ietf.org/html/rfc5545",target:"_blank",rel:"noopener noreferrer"},f=c('

    这种日历格式可以被方便的添加到各大系统提供的“日历”应用中。

    从Blackboard上获取ICS链接

    在Blackboard主页上,点击左侧卡片中的“日程表”。

    日程表

    在页面的左下角,可以看到一个“获取外部日程表链接

    获取外部日程表链接

    点击后,Blackboard会生成一个形如 https://bb.sustech.edu.cn/webapps/calendar/calendarFeed/12345678abcdefg/learn.ics的URL。

    URL

    将URL导入iCloud(适用于IOS/MacOS设备)

    ',9),k={href:"https://support.apple.com/zh-cn/HT202361",target:"_blank",rel:"noopener noreferrer"},C=e("p",null,"导入后的效果:",-1),x=e("p",null,[e("img",{src:p,alt:"iCloud"})],-1),B=e("h2",{id:"将url导入google-calendar",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#将url导入google-calendar","aria-hidden":"true"},"#"),a(" 将URL导入Google Calendar")],-1),L={href:"https://support.google.com/calendar/answer/37100?co=GENIE.Platform%3DDesktop&hl=zh-Hans",target:"_blank",rel:"noopener noreferrer"},I=e("p",null,"导入后的效果:",-1),S=e("p",null,[e("img",{src:_,alt:"Google Calendar"})],-1),G=e("p",null,"Google Calendar是许多安装有Google Play服务的Android手机的默认日历应用。",-1),R=e("h2",{id:"将url导入国产手机系统",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#将url导入国产手机系统","aria-hidden":"true"},"#"),a(" 将URL导入国产手机系统")],-1),U=e("p",null,"截止2020年6月,小米和华为手机暂未支持这一功能。",-1);function H(z,D){const o=s("ExternalLinkIcon");return n(),l("div",null,[b,g,e("p",null,[a("ICS是一种电子日历格式,它于2009年被列入RFC标准 "),e("a",m,[a("RFC5545: Internet Calendaring and Scheduling Core Object Specification (iCalendar))"),r(o)])]),f,e("p",null,[a("见"),e("a",k,[a("HT202361: 使用 iCloud 日历订阅"),r(o)]),a("。")]),C,x,B,e("p",null,[a("见"),e("a",L,[a("Google Calendar: 借助计算机程序同步您的日历"),r(o)]),a("。")]),I,S,G,R,U])}const N=t(u,[["render",H],["__file","index.html.vue"]]);export{N as default}; diff --git a/assets/index.html-UCUkpvFj.js b/assets/index.html-UCUkpvFj.js new file mode 100644 index 000000000..62752580f --- /dev/null +++ b/assets/index.html-UCUkpvFj.js @@ -0,0 +1 @@ +import{_ as n,r,o as d,c as s,b as e,a as i,w as t,d as a,e as h}from"./app-9djxHuta.js";const o={},c=e("h1",{id:"👨‍🎓生活在南科",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#👨‍🎓生活在南科","aria-hidden":"true"},"#"),a(" 👨‍🎓生活在南科")],-1),u=e("h2",{id:"住宿",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#住宿","aria-hidden":"true"},"#"),a(" 住宿")],-1),_=e("li",null,[e("p",null,[e("a",{href:"./dormitory"},"🏠住在南科")]),e("p",null,"宿舍概况,设置及Q&A,由树德书院《南科行前记》团队提供。")],-1),E=e("p",null,"包括新生宿舍、洗衣房介绍,还有一些 tips,由致诚书院大学长团提供。",-1),B=e("h2",{id:"社团",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#社团","aria-hidden":"true"},"#"),a(" 社团")],-1),f=e("p",null,"包括如何选择社团和致诚书院特色社团介绍,由致诚书院大学长团提供。",-1),p=e("h2",{id:"校内介绍",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#校内介绍","aria-hidden":"true"},"#"),a(" 校内介绍")],-1),x=e("p",null,"包括食堂、学习场所、运动场所、活动场所的介绍,由致诚书院大学长团提供。",-1),A=h('

    餐饮

    超市

    ',3),m=h('

    新生宿舍楼下的微喔超市是校内最大的超市,品类也最齐全。

    理发店

    • 教师公寓3栋楼下,可以理发,烫发,旁边是生活服务中心。

    🏊‍♀️运动设施

    介绍校内的所有运动设施,包含地点,开馆时间和简介。

    Tips

    • 出入校门、食堂买饭买水果买饮品、进出宿舍楼等都需要刷校园卡。校门口保安管的比较严格,进出会严查校园卡。学校没有封闭校门时间,随时进出都没问题。但是如果超过晚上十二点进入宿舍大门,要到宿管那里签上名字。
    • 如果打车想要进入学校,在车里朝着保安举一下校园卡,给门口保安展示,保安就会让你进来。
    • 关于校园卡,请参考“校园卡”一节。
    ',8);function b(g,F){const l=r("RouterLink");return d(),s("div",null,[c,u,e("ul",null,[_,e("li",null,[e("p",null,[i(l,{to:"/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E5%AE%BF%E8%88%8D%E7%94%9F%E6%B4%BB%E7%AF%87.html"},{default:t(()=>[a("新生攻略之宿舍生活篇(2021)")]),_:1})]),E])]),B,e("ul",null,[e("li",null,[e("p",null,[i(l,{to:"/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E7%A4%BE%E5%9B%A2%E7%AF%87.html"},{default:t(()=>[a("新生攻略之社团篇(2021)")]),_:1})]),f])]),p,e("ul",null,[e("li",null,[e("p",null,[i(l,{to:"/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E6%A0%A1%E5%86%85%E4%BB%8B%E7%BB%8D%E7%AF%87.html"},{default:t(()=>[a("新生攻略之校内介绍篇(2021)")]),_:1})]),x]),e("li",null,[e("p",null,[i(l,{to:"/life/vehicle-charger.html"},{default:t(()=>[a("充电桩分布")]),_:1}),a(":新能源车,两轮电动车,四轮电动车。")])])]),A,e("p",null,[a("湖畔,荔园,欣园,新生宿舍楼下均有超市,具体位置可参考手册首页的"),i(l,{to:"/#%E6%A0%A1%E5%9B%AD%E5%9C%B0%E5%9B%BE"},{default:t(()=>[a("地图")]),_:1}),a("。")]),m])}const y=n(o,[["render",b],["__file","index.html.vue"]]);export{y as default}; diff --git a/assets/index.html-VQtryoLc.js b/assets/index.html-VQtryoLc.js new file mode 100644 index 000000000..11ac771f4 --- /dev/null +++ b/assets/index.html-VQtryoLc.js @@ -0,0 +1 @@ +import{_ as l,r as a,o,c as s,b as e,d as n,a as t,e as h}from"./app-9djxHuta.js";const i={},c=e("h1",{id:"帮助我们完善",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#帮助我们完善","aria-hidden":"true"},"#"),n(" 帮助我们完善")],-1),d={href:"https://github.com/SUSTech-CRA/sustech-online-ng",target:"_blank",rel:"noopener noreferrer"},u={href:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng",target:"_blank",rel:"noopener noreferrer"},_={href:"https://github.com/SUSTech-CRA/sustech-online-wxapp",target:"_blank",rel:"noopener noreferrer"},p={href:"https://github.com/SUSTech-CRA/sustech-online-daily-blog",target:"_blank",rel:"noopener noreferrer"},f=e("h2",{id:"如何贡献-建议",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#如何贡献-建议","aria-hidden":"true"},"#"),n(" 如何贡献 / 建议")],-1),b=e("li",null,[e("p",null,"Pull request"),e("ol",null,[e("li",null,"Fork 后,进行修改。"),e("li",null,"发起 Merge 请求。")])],-1),g=e("li",null,[e("p",null,"邮件提交"),e("ol",null,[e("li",null,"发送邮件到 support__at__mail.sustech.online (__at__ 替换为 @)")])],-1),m=e("p",null,"代理提交",-1),x={href:"https://jq.qq.com/?_wv=1027&k=5D8EgDF",target:"_blank",rel:"noopener noreferrer"},k=e("li",null,"提交规范编写的Word,Markdown 文件给管理员。",-1),S=e("li",null,"管理员整理上传。",-1),w=h('

    编写规范

    • 使用 Markdown 和 raw HTML / JavaScript 语言

    贡献者


    内容

    感谢以下组织对南科手册所做的贡献(排名不分先后)

    • 树德书院先锋团

    • 致诚书院大学长团

    • 学生新闻社《南科新知》

    开发 & 维护

    李子强 ◇ 樊青远 ◇ 陈宇恒

    计算支持

    感谢以下个人 / 组织对南科手册所提供的计算支持(排名不分先后)

    孙常超 ◇ 计算机研究协会 CRA

    软件支持

    ',13),T={href:"https://www.jetbrains.com/community/opensource/#support",target:"_blank",rel:"noopener noreferrer"},C=e("h4",{id:"南科手册同时参考了",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#南科手册同时参考了","aria-hidden":"true"},"#"),n(" 南科手册同时参考了:")],-1),A={href:"https://fresh.geekpie.club/",target:"_blank",rel:"noopener noreferrer"},R={href:"https://new.zjuqsc.com/",target:"_blank",rel:"noopener noreferrer"};function U(q,v){const r=a("ExternalLinkIcon");return o(),s("div",null,[c,e("p",null,[n("主项目托管在 "),e("a",d,[n("SUSTech-CRA/sustech-online-ng"),t(r)])]),e("ul",null,[e("li",null,[n("镜像:"),e("a",u,[n("Git@SUSTech"),t(r)])])]),e("p",null,[n("小程序托管在 "),e("a",_,[n("SUSTech-CRA/sustech-online-wxapp"),t(r)])]),e("p",null,[n("快讯网托管在 "),e("a",p,[n("SUSTech-CRA/sustech-online-daily-blog"),t(r)])]),f,e("ol",null,[b,g,e("li",null,[m,e("ol",null,[e("li",null,[n("进入"),e("a",x,[n("南科手册 QQ群"),t(r)]),n(": 905618908")]),k,S])])]),w,e("p",null,[n("本手册的部分交互组件开发使用了 "),e("a",T,[n("Jetbrains Open Source License"),t(r)]),n(" 。")]),C,e("ul",null,[e("li",null,[e("p",null,[e("a",A,[n("上海科技大学新生手册"),t(r)])])]),e("li",null,[e("p",null,[e("a",R,[n("浙江大学求是潮"),t(r)])])])])])}const L=l(i,[["render",U],["__file","index.html.vue"]]);export{L as default}; diff --git a/assets/index.html-Vi28LQ9_.js b/assets/index.html-Vi28LQ9_.js new file mode 100644 index 000000000..3850686f1 --- /dev/null +++ b/assets/index.html-Vi28LQ9_.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-1500d063","path":"/news/","title":"更新日志","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"2021-02-21","slug":"_2021-02-21","link":"#_2021-02-21","children":[]},{"level":2,"title":"2021-01-31","slug":"_2021-01-31","link":"#_2021-01-31","children":[]},{"level":2,"title":"2021-01-25","slug":"_2021-01-25","link":"#_2021-01-25","children":[]},{"level":2,"title":"2021-01-23","slug":"_2021-01-23","link":"#_2021-01-23","children":[]},{"level":2,"title":"2021-01-04","slug":"_2021-01-04","link":"#_2021-01-04","children":[]},{"level":2,"title":"2020-12-26","slug":"_2020-12-26","link":"#_2020-12-26","children":[]},{"level":2,"title":"2020-12-24","slug":"_2020-12-24","link":"#_2020-12-24","children":[]},{"level":2,"title":"2020-12-23","slug":"_2020-12-23","link":"#_2020-12-23","children":[]}],"git":{"updatedTime":1613892781000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":4},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":2}]},"filePathRelative":"news/README.md"}');export{l as data}; diff --git a/assets/index.html-W9nTO2Kr.js b/assets/index.html-W9nTO2Kr.js new file mode 100644 index 000000000..8e58572ef --- /dev/null +++ b/assets/index.html-W9nTO2Kr.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-28ddfa13","path":"/service/","title":"🖥服务与技巧","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"SID (Student ID) 相关","slug":"sid-student-id-相关","link":"#sid-student-id-相关","children":[{"level":3,"title":"🆔学号","slug":"🆔学号","link":"#🆔学号","children":[]},{"level":3,"title":"💳校园卡&学生证","slug":"💳校园卡-学生证","link":"#💳校园卡-学生证","children":[]}]},{"level":2,"title":"信息服务","slug":"信息服务","link":"#信息服务","children":[{"level":3,"title":"🌐校园网络","slug":"🌐校园网络","link":"#🌐校园网络","children":[]},{"level":3,"title":"Ehall","slug":"ehall","link":"#ehall","children":[]},{"level":3,"title":"计算机研究协会(CRA)","slug":"计算机研究协会-cra","link":"#计算机研究协会-cra","children":[]},{"level":3,"title":"牛娃小镇","slug":"牛娃小镇","link":"#牛娃小镇","children":[]},{"level":3,"title":"飞跃手册:申请与校招经验","slug":"飞跃手册-申请与校招经验","link":"#飞跃手册-申请与校招经验","children":[]}]},{"level":2,"title":"退税","slug":"退税","link":"#退税","children":[]},{"level":2,"title":"教学相关","slug":"教学相关","link":"#教学相关","children":[{"level":3,"title":"👨‍🏫Sakai","slug":"👨‍🏫sakai","link":"#👨‍🏫sakai","children":[]},{"level":3,"title":"🖨联创打印系统","slug":"🖨联创打印系统","link":"#🖨联创打印系统","children":[]},{"level":3,"title":"👨‍🏫BlackBoard","slug":"👨‍🏫blackboard","link":"#👨‍🏫blackboard","children":[]}]},{"level":2,"title":"通讯相关","slug":"通讯相关","link":"#通讯相关","children":[{"level":3,"title":"📧电子邮件服务","slug":"📧电子邮件服务","link":"#📧电子邮件服务","children":[]},{"level":3,"title":"💬企业微信","slug":"💬企业微信","link":"#💬企业微信","children":[]}]},{"level":2,"title":"📦邮件与快递收发","slug":"📦邮件与快递收发","link":"#📦邮件与快递收发","children":[]},{"level":2,"title":"🏥医疗服务/就诊","slug":"🏥医疗服务-就诊","link":"#🏥医疗服务-就诊","children":[]},{"level":2,"title":"软件授权","slug":"软件授权","link":"#软件授权","children":[{"level":3,"title":"学校已购买的软件与服务","slug":"学校已购买的软件与服务","link":"#学校已购买的软件与服务","children":[]},{"level":3,"title":"教育邮箱福利","slug":"教育邮箱福利","link":"#教育邮箱福利","children":[]},{"level":3,"title":"非官方Windows套件激活服务","slug":"非官方windows套件激活服务","link":"#非官方windows套件激活服务","children":[]}]},{"level":2,"title":"图书馆服务","slug":"图书馆服务","link":"#图书馆服务","children":[{"level":3,"title":"讨论间","slug":"讨论间","link":"#讨论间","children":[]},{"level":3,"title":"电子数据库","slug":"电子数据库","link":"#电子数据库","children":[]},{"level":3,"title":"图书馆荐购","slug":"图书馆荐购","link":"#图书馆荐购","children":[]},{"level":3,"title":"教工/学生邮箱的报刊减免","slug":"教工-学生邮箱的报刊减免","link":"#教工-学生邮箱的报刊减免","children":[]}]},{"level":2,"title":"什么值得买","slug":"什么值得买","link":"#什么值得买","children":[{"level":3,"title":"生活好物","slug":"生活好物","link":"#生活好物","children":[]},{"level":3,"title":"电子设备","slug":"电子设备","link":"#电子设备","children":[]},{"level":3,"title":"平板电脑","slug":"平板电脑","link":"#平板电脑","children":[]}]},{"level":2,"title":"校园标识 / 文档模版","slug":"校园标识-文档模版","link":"#校园标识-文档模版","children":[]}],"git":{"updatedTime":1693063828000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":21},{"name":"liziwl","email":"leezisy@gmail.com","commits":17},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":4},{"name":"Changxu MIAO","email":"changxumiao@yahoo.com","commits":2},{"name":"Da Hao","email":"v@daidahao.me","commits":2},{"name":"Yuheng","email":"pass@chenyuheng.cn","commits":2},{"name":"Jizhou Wu","email":"wuchichou@gmail.com","commits":1},{"name":"Shilong Li","email":"47763046+lethal233@users.noreply.github.com","commits":1},{"name":"lethal233","email":"11811407@mail.sustech.edu.cn","commits":1},{"name":"yuki","email":"chenjf2020@mail.sustech.edu.cn","commits":1}]},"filePathRelative":"service/README.md"}');export{l as data}; diff --git a/assets/index.html-W_Mp_7sR.js b/assets/index.html-W_Mp_7sR.js new file mode 100644 index 000000000..bfe0f964e --- /dev/null +++ b/assets/index.html-W_Mp_7sR.js @@ -0,0 +1 @@ +import{_ as c,r as o,o as d,c as u,b as e,d as t,a as r,w as a,e as i}from"./app-9djxHuta.js";const n="/assets/streetview-TzWISs--.svg",_={},p=e("h1",{id:"🏫建筑与设施",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#🏫建筑与设施","aria-hidden":"true"},"#"),t(" 🏫建筑与设施")],-1),g={id:"校园街景",tabindex:"-1"},f=e("a",{class:"header-anchor",href:"#校园街景","aria-hidden":"true"},"#",-1),m={class:"custom-container tip"},b=e("p",{class:"custom-container-title"},"提示",-1),y=e("code",null,"2022年4月",-1),k={href:"https://sparktour.me/2021/06/16/campus-streetview/",target:"_blank",rel:"noopener noreferrer"},x={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#gate1,265,10,90,10",target:"_blank",rel:"noopener noreferrer"},E=e("iframe",{src:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#gate1,265,10,90,10",name:"iframe_window",width:"100%",height:"600",scrolling:"no",allowfullscreen:"true",webkitallowfullscreen:"true",mozallowfullscreen:"true"},null,-1),B=i('

    校园地图与主要建筑

    校园地图

    上图是南科大的校园平面图。在校园内,建筑大都处于校园西侧。

    致新书院绘制的卡通版地图

    (如果您想直接看带有地点标记的互动式全景图以了解学校,请直接翻到本页底部。)

    新校区(一般称为山下)

    一期校园

    上图中,左上角为国际会议中心,左下角为正在建设中的理学院;中下位置为行政楼和琳恩图书馆,中上方从左到右为第四科研楼到第一科研楼;正中间从左到右是第二教学楼,检测中心和第一教学楼;右侧为南科大中心。

    理学院

    ',9),w={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node421,280,5,120,0",target:"_blank",rel:"noopener noreferrer"},j=e("img",{src:n,alt:"进入街景"},null,-1),A=e("p",null,[e("img",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/College_of_Science_Building_of_Southern_University_of_Science_and_Technology_202205.jpg",alt:"理学院"})],-1),D=e("p",null,"理学院已于2022年中完工并完成内部装修,现在从一号门进入南科大,看到的第一个建筑就是理学院。",-1),S=e("h4",{id:"琳恩图书馆",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#琳恩图书馆","aria-hidden":"true"},"#"),t(" 琳恩图书馆")],-1),C={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node100,220,5,90,0",target:"_blank",rel:"noopener noreferrer"},v=e("img",{src:n,alt:"进入街景"},null,-1),T=e("p",null,[e("img",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/library-and-administration-building.jpg",alt:"图书馆与行政楼"})],-1),z=e("p",null,"琳恩图书馆是南科大的第一个,也是最大图书馆,在2020年前,他同时是南科大的唯一图书馆。图书馆名字中“LYNN”的来历,是因为一位匿名的香港友好人士向南方科技大学教育基金会捐赠港币2000万元,因此他将图书馆冠名为“琳恩图书馆”(LYNN LIBRARY)。",-1),F={href:"https://sustc.wiki/%E7%90%B3%E6%81%A9%E5%9B%BE%E4%B9%A6%E9%A6%86",target:"_blank",rel:"noopener noreferrer"},N=e("h4",{id:"行政楼",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#行政楼","aria-hidden":"true"},"#"),t(" 行政楼")],-1),q={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node358,220,5,90,0",target:"_blank",rel:"noopener noreferrer"},L=e("img",{src:n,alt:"进入街景"},null,-1),G=e("p",null,[t("南科大是因为去行政化出名,但学校还是建了一栋独立的行政楼。在行政楼中长期办公的除了校领导和行政人员,主要还有校宣传部,信息中心和校园卡服务中心:如果需要"),e("strong",null,"挂失,补办校园卡"),t(",需要去行政楼一楼的校园卡服务中心办理。")],-1),U=e("strong",null,"面包房",-1),K={href:"https://mp.weixin.qq.com/s/bw6Nl_gBkOiqtAXXMQW-Mw",target:"_blank",rel:"noopener noreferrer"},H=e("strong",null,"行政楼厕所",-1),R=e("h4",{id:"第一教学楼",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#第一教学楼","aria-hidden":"true"},"#"),t(" 第一教学楼")],-1),I={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node134,295,20,100,0",target:"_blank",rel:"noopener noreferrer"},M=e("img",{src:n,alt:"进入街景"},null,-1),V=i('

    第一教学楼

    简称“一教”。在学校二期工程完成之前,本科生绝大部分基础课都会在第一教学楼上。

    一教分为南北两翼,南翼主要是教室:一楼的大部分教室都是可以容纳150人+的大型教室,平时主要用于上通识基础课和思政课;二楼主要用作了自习室;三楼和四楼有几间教室平时固定用于英语课程,其他的教室则是用于人数较少的课程。

    北翼则大部分为实验室:一楼为电子系实验室,二楼为化学系实验室,三楼四楼则是生物系实验室。北翼的外墙是一块LED大屏幕,平时用于播放讲座信息或是学校的宣传片,晚上会放新闻联播。

    ',4),X={href:"https://amap.com/place/B0FFK1Q96N",target:"_blank",rel:"noopener noreferrer"},Y=e("p",null,"在一教的楼顶可以看到整个山下,和建设中的公共教学楼和理学院。",-1),P=e("h4",{id:"检测中心",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#检测中心","aria-hidden":"true"},"#"),t(" 检测中心")],-1),Q={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node126,330,20,90,0",target:"_blank",rel:"noopener noreferrer"},W=e("img",{src:n,alt:"进入街景"},null,-1),O=e("p",null,"内部主要是一些实验室,包括安装了光刻设备的超净间等。",-1),J=e("h4",{id:"第二教学楼",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#第二教学楼","aria-hidden":"true"},"#"),t(" 第二教学楼")],-1),Z={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node117,180,20,90,0",target:"_blank",rel:"noopener noreferrer"},$=e("img",{src:n,alt:"进入街景"},null,-1),ee=i('

    ~~ 第二教学楼主要教室都是机房(2019年换的电脑是i7-8700K+1080Ti),一般会用于上电子系,计算机系的实验课和一些电脑测评/考试。~~ 二教还有一间多功能教室,现在一般用于乐器排练和美术课程。

    第三教学楼

    第三教学楼位于南科大中心与理学院和琳恩图书馆遥遥相望,毗邻商学院大楼。为5层建筑,其中一楼、二楼为阶梯教室以及混合教学教室,三楼为授课型教室,四楼为研讨型教室,五楼为教学机房,共56间教室,教室使用总面积为5800平。

    实测学校对第三教学楼设备不限速(Fair Use@Up to 1000Mbps)不同于其他建筑对科研教学网段限速50Mbps。

    5楼教学机房电脑配置

    • 501, 502, 503, 505, 506, 508: i7 10700K + 32G + 1TB SSD + 4TB HDD + RTX 4000
    • 504: i7 7700K + 16G + 256G SSD + 2TB HDD + P4000
    • 507: i7 7700K + 16G + 1T SSD + 4TB HDD + P4000
    • 509: i7 7700K + 16G + 512G SSD + 2TB HDD + GTX1080
    • 510: i7 7700K + 16G + 512G SSD + 2TB HDD + P4000

    由于每个机房安装的软件都不一样,所以可以根据课程安排来选择机房。

    ',5),te={class:"custom-container warning"},re=e("p",{class:"custom-container-title"},"注意",-1),se={href:"https://www.appinn.com/landrop-files-transfer-tools/",target:"_blank",rel:"noopener noreferrer"},ne={href:"https://send.cra.moe/",target:"_blank",rel:"noopener noreferrer"},ie=e("h4",{id:"第一科研楼",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#第一科研楼","aria-hidden":"true"},"#"),t(" 第一科研楼")],-1),oe={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node168,80,30,120,0",target:"_blank",rel:"noopener noreferrer"},le=e("img",{src:n,alt:"进入街景"},null,-1),ae=i('

    学校一期建筑之一,包含各种实验室。内部是一个大天井,二楼有一个给机器人或者是智能机械的测试平台。

    第二科研楼

    主要是实验室和教授办公室。

    第三科研楼

    主要是实验室和教授办公室。冷冻电镜也设置于此。

    第四科研楼(台州楼)

    ',6),he={href:"http://zj.ifeng.com/a/20190118/7173526_0.shtml",target:"_blank",rel:"noopener noreferrer"},ce=e("h4",{id:"南科大中心-学生食堂",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#南科大中心-学生食堂","aria-hidden":"true"},"#"),t(" 南科大中心(学生食堂)")],-1),de={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node1013,80,10,120,0",target:"_blank",rel:"noopener noreferrer"},ue=e("img",{src:n,alt:"进入街景"},null,-1),_e=e("h5",{id:"学生餐厅",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#学生餐厅","aria-hidden":"true"},"#"),t(" 学生餐厅")],-1),pe=e("p",null,"学校的第一个食堂,由南科大运营,旧食堂一楼是打菜,南科大中心食堂一楼有一些特色菜(如潮汕粉面,小炒,石锅饭,日料等。",-1),ge=e("h5",{id:"一丹图书馆",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#一丹图书馆","aria-hidden":"true"},"#"),t(" 一丹图书馆")],-1),fe=e("p",null,"南科大的第二个图书馆,内含24小时自习空间。",-1),me=e("h4",{id:"国际会议中心",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#国际会议中心","aria-hidden":"true"},"#"),t(" 国际会议中心")],-1),be={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node230,280,10,120,0",target:"_blank",rel:"noopener noreferrer"},ye=e("img",{src:n,alt:"进入街景"},null,-1),ke=i('

    国际会议中心

    湖畔

    湖畔宿舍航拍

    在上图中,中间按顺时针顺序依次是是湖畔宿舍,九华苑,游泳馆和风雨操场。

    湖畔宿舍群

    ',5),xe={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node568,190,20,110,0",target:"_blank",rel:"noopener noreferrer"},Ee=e("img",{src:n,alt:"进入街景"},null,-1),Be=i('

    致仁书院

    湖畔宿舍目前主要居住致仁书院树德书院致诚书院的同学。其中,湖畔1-3栋是四人间,4-6栋则是双人间。湖畔1栋楼下是学生事务中心,3栋的楼下有一间小超市,5栋楼下则是收发室。

    湖畔沿湖一侧有若干建筑,包括书院活动室湖畔健身房舞蹈房。这些建筑的上面是一个大阳台,可以从六栋旁边的楼梯上去。

    书院活动室上方的阳台

    南科人当然是住在南科大宿舍里面了。南科大现阶段三大宿舍区:湖畔、荔园、欣园,选书院的结果已经出来了,宿舍在哪里大家应该都有所了解。在介绍宿舍区之前,先给大家普及一下教学楼的位置:南科大教学区域主要分为两块:第一、第二教学楼区域和荔园教学楼区域,俗称山上和山下。湖畔宿舍区位于这两大教学区的中间位置,去哪儿上课都比较方便;荔园紧贴着荔园教学区,不过到一教上课就需要下山;欣园在山顶,位置最远,上课必须下山。在校内正在建设的二期宿舍据说很漂亮,不过那是2019年的事情了。

    不管之后会不会有什么宿舍的调整,毕竟这是每个人都要花很多时间呆的地方,还是先要把自己的寝室好好地装饰装饰。之前大家在网上羡慕的各种“最美寝室”,终于也能自己动手布置了。地板、茶几、贴纸,提升寝室格调;置物架、收纳盒、挂袋,提高生活效率;衣柜灯、小挂钩、脚踏垫,注重生活细节;LED挂灯、木头钟,提高学习效率……创意无限,大胆想象,把寝室变成自己心中的样子吧。

    ',6),we={href:"https://sustc.wiki/%E6%B9%96%E7%95%94",target:"_blank",rel:"noopener noreferrer"},je=i('
    楼栋入住学生归属
    1致仁
    2致仁
    3致诚
    4研究生
    5研究生、树德
    6研究生、树德

    九华苑

    ',2),Ae={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node1005,95,0,120,0",target:"_blank",rel:"noopener noreferrer"},De=e("img",{src:n,alt:"进入街景"},null,-1),Se=e("p",null,"一共有九栋别墅,主要居住院士级别的教授,因此也被同学称之为“院士楼”。平时门口的保安不太欢迎同学上去,可能会赶人。",-1),Ce=e("h4",{id:"风雨操场",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#风雨操场","aria-hidden":"true"},"#"),t(" 风雨操场")],-1),ve={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node611,270,5,120,0",target:"_blank",rel:"noopener noreferrer"},Te=e("img",{src:n,alt:"进入街景"},null,-1),ze=i('

    风雨操场

    风雨操场的南侧包括排球场搏击馆室内篮球场,风雨操场的二层有一个废弃的网球场(可能是因为怕网球打伤人)。室内设施没有空调,夏天会比较热。大一上的体育课大都会在此处进行。

    游泳馆

    包含一个标准游泳池和旁边的更衣室。游泳池需要凭校园卡换取手牌入场,一般不对校外人员开放。

    ',4),Fe={href:"https://sustc.wiki/%E6%B8%B8%E6%B3%B3%E9%A6%86",target:"_blank",rel:"noopener noreferrer"},Ne=e("h3",{id:"二期宿舍",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#二期宿舍","aria-hidden":"true"},"#"),t(" 二期宿舍")],-1),qe={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node1000,250,5,130,0",target:"_blank",rel:"noopener noreferrer"},Le=e("img",{src:n,alt:"进入街景"},null,-1),Ge=e("p",null,[e("img",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/p2-dormitory.jpg",alt:"二期宿舍10栋与餐厅"})],-1),Ue=i('

    二期宿舍中部有一个两层的二期宿舍学生餐厅,西侧则有一个小型图书馆,学校对他的定位更像是“自习室”。

    楼栋入住学生归属
    7博士生
    8博士生
    9博士生
    10博士生
    11新生楼(大一学生)
    12研究生
    13树德
    14致新
    15树仁
    16树礼
    17研究生

    工学院

    ',4),Ke={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node965,265,20,120,10",target:"_blank",rel:"noopener noreferrer"},He=e("img",{src:n,alt:"进入街景"},null,-1),Re=e("p",null,[e("img",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/Engineering_College_Building_of_Southern_University_of_Science_and_Technology_Under_Construction.jpg",alt:"建设中的工学院"})],-1),Ie=e("p",null,"上图是正在建设中的工学院。",-1),Me=e("p",null,"工学院分为南座和北座。",-1),Ve=e("h3",{id:"荔园",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#荔园","aria-hidden":"true"},"#"),t(" 荔园")],-1),Xe={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node899,300,20,120,10",target:"_blank",rel:"noopener noreferrer"},Ye=e("img",{src:n,alt:"进入街景"},null,-1),Pe=e("p",null,"值得一提的是,荔园,创园,慧园与欣园都是原二线关外工业区厂房改建而成的。",-1),Qe=e("p",null,[e("img",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/liyuan-huiyuann-xinyuan.jpg",alt:"荔园,慧园与欣园"})],-1),We=e("p",null,"在上图中,左上角是荔园与创园,左下角是慧园,右侧是欣园。",-1),Oe=e("p",null,[e("img",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/liyuan-gate.jpg",alt:"荔园入口"})],-1),Je=e("p",null,"荔园的1,2,5栋主要是教室和实验室,余下部分则为宿舍区域。",-1),Ze=e("p",null,[e("img",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/liyuan-block1.jpg",alt:"荔园一栋"})],-1),$e=e("p",null,"荔园5栋的1,2楼是餐厅,由外包商运营。6栋楼下有一个超市。",-1),et={href:"https://sustc.wiki/%E8%8D%94%E5%9B%AD",target:"_blank",rel:"noopener noreferrer"},tt=i('

    创园

    许多院系的实验室和办公区域设置于创园。其中,创园一栋由于进驻了学校的一些机构和校办公司,因此装修水平明显较其他栋高级。

    慧园

    许多院系的实验室和办公区域设置于创园。

    欣园

    ',5),rt={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node856,180,10,90,0",target:"_blank",rel:"noopener noreferrer"},st=e("img",{src:n,alt:"进入街景"},null,-1),nt=e("p",null,"欣园主要是宿舍区。",-1),it={href:"https://sustc.wiki/%E6%AC%A3%E5%9B%AD",target:"_blank",rel:"noopener noreferrer"},ot=i('

    校园东南区域

    校园东南区域

    在上图中,左侧是田径场和润扬体育馆,中间是教师公寓,右侧是学术交流中心与人文社会科学学院。

    教师公寓与专家公寓

    ',4),lt={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node520,220,10,70,0",target:"_blank",rel:"noopener noreferrer"},at=e("img",{src:n,alt:"进入街景"},null,-1),ht=e("p",null,"八栋建筑中,有六栋为教师公寓,两栋为专家公寓。",-1),ct=e("p",null,"教师公寓主要供教职人员居住,一楼设有一间教工餐厅和传言只有faculty才能进的 Faculty Club。森林印务也设置于此。",-1),dt=e("p",null,"专家公寓对外开放,以宾馆的形式运营,一楼有一间西餐厅,一间中餐厅和一间报告厅。",-1),ut=e("blockquote",null,[e("p",null,"家长要来学校,住宿的首选当然是专家公寓。就在校内,房间内饰朴素干净,价钱也很亲民,比校外的酒店会便宜100左右。要提醒的是专家公寓是不接受电话预定的,必须要亲自去前台预定。尤其是校园开放日的那几天,房间会非常紧张,最好是提前3到5天预定好。")],-1),_t={href:"https://sustc.wiki/%E4%B8%93%E5%AE%B6%E5%85%AC%E5%AF%93",target:"_blank",rel:"noopener noreferrer"},pt=e("h4",{id:"棒球场",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#棒球场","aria-hidden":"true"},"#"),t(" 棒球场")],-1),gt={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node520,300,10,90,0",target:"_blank",rel:"noopener noreferrer"},ft=e("img",{src:n,alt:"进入街景"},null,-1),mt={href:"https://newshub.sustech.edu.cn/zh/html/201912/30570.html",target:"_blank",rel:"noopener noreferrer"},bt=e("h4",{id:"办公楼-新行政楼-与人文社科学院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#办公楼-新行政楼-与人文社科学院","aria-hidden":"true"},"#"),t(" 办公楼(新行政楼)与人文社科学院")],-1),yt={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node458,0,10,120,0",target:"_blank",rel:"noopener noreferrer"},kt=e("img",{src:n,alt:"进入街景"},null,-1),xt=e("h3",{id:"运动场",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#运动场","aria-hidden":"true"},"#"),t(" 运动场")],-1),Et=e("h4",{id:"润扬体育馆",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#润扬体育馆","aria-hidden":"true"},"#"),t(" 润扬体育馆")],-1),Bt={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202106/#node448,132,11,70",target:"_blank",rel:"noopener noreferrer"},wt=e("img",{src:n,alt:"进入街景"},null,-1),jt=e("p",null,[e("img",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/润杨体育馆.jpg",alt:"润杨体育馆"})],-1),At={href:"https://newshub.sustech.edu.cn/zh/html/201909/26624.html",target:"_blank",rel:"noopener noreferrer"},Dt=e("p",null,"体育馆南侧目前是野战场地,学校购置了基于红外线的模拟枪,可以打真人CS。这里还有一面攀岩墙。",-1),St=e("h4",{id:"松禾体育场-田径场",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#松禾体育场-田径场","aria-hidden":"true"},"#"),t(" 松禾体育场(田径场)")],-1),Ct={href:"https://mirrors.sustech.edu.cn/site/sustech-pano/202204/#node915,290,10,120,0",target:"_blank",rel:"noopener noreferrer"},vt=e("img",{src:n,alt:"进入街景"},null,-1),Tt=e("p",null,[e("img",{src:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/松禾体育场.jpg",alt:"松禾体育场"})],-1),zt={href:"https://newshub.sustech.edu.cn/zh/html/201704/5996.html",target:"_blank",rel:"noopener noreferrer"},Ft=i('

    步行公园(后山)

    步行公园

    上图的左侧为长岭陂水库,中间为步行公园,右侧为润扬体育馆,远处的轨道为长岭陂地铁站。

    在后山(步行公园)上可以望见长岭陂水库,智园,长岭陂地铁站和正在建设中的医学院。

    后山的体育馆后方的位置有一块石头,在二期宿舍建成之前是学校的最高点,可以看到整个校园。

    大沙河

    一号门所见的大沙河

    大沙河发源自长岭陂水库泄洪渠,并流经南科大的南侧。

    航拍全景看校园

    注意

    航拍图像拍摄于2019年6月,校园内部分建筑此时仍在修建。自此之后,学校原则上不再允许学生在校内飞行无人机。

    湖畔全景

    同学自行拍摄的互动式校园全景

    一次观看全部全景图像

    分区观看

    ',14),Nt={href:"https://mirrors.sustech.edu.cn/site/sustech-online/panolens/night.html",target:"_blank",rel:"noopener noreferrer"},qt={href:"https://mirrors.sustech.edu.cn/site/sustech-online/panolens/underhill.html",target:"_blank",rel:"noopener noreferrer"},Lt={href:"https://mirrors.sustech.edu.cn/site/sustech-online/panolens/lakeside.html",target:"_blank",rel:"noopener noreferrer"},Gt={href:"https://mirrors.sustech.edu.cn/site/sustech-online/panolens/liyuan.html",target:"_blank",rel:"noopener noreferrer"},Ut={href:"https://mirrors.sustech.edu.cn/site/sustech-online/panolens/huiyuan.html",target:"_blank",rel:"noopener noreferrer"},Kt={href:"https://mirrors.sustech.edu.cn/site/sustech-online/panolens/aoe.html",target:"_blank",rel:"noopener noreferrer"},Ht=e("h2",{id:"南科制霸-标记去过的校园地点",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#南科制霸-标记去过的校园地点","aria-hidden":"true"},"#"),t(" 南科制霸 -- 标记去过的校园地点")],-1),Rt={href:"https://zhiba.sustech.online",target:"_blank",rel:"noopener noreferrer"},It=e("p",null,[e("img",{src:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/facility/南科制霸.png",alt:"pic"})],-1),Mt=e("h2",{id:"图片版权",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#图片版权","aria-hidden":"true"},"#"),t(" 图片版权")],-1),Vt={href:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/facility/campus-map.png",target:"_blank",rel:"noopener noreferrer"},Xt={href:"https://creativecommons.org/licenses/by-sa/4.0/deed.zh",target:"_blank",rel:"noopener noreferrer"},Yt={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/library-and-administration-building.jpg",target:"_blank",rel:"noopener noreferrer"},Pt={href:"https://commons.wikimedia.org/wiki/File:Arial_image_of_the_sports_center_of_SUSTech.jpg",target:"_blank",rel:"noopener noreferrer"},Qt={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/%E6%B9%96%E7%95%94%E9%98%B3%E5%8F%B0.jpg",target:"_blank",rel:"noopener noreferrer"},Wt={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/sports-center.jpg",target:"_blank",rel:"noopener noreferrer"},Ot={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/Engineering_College_Building_of_Southern_University_of_Science_and_Technology_Under_Construction.jpg",target:"_blank",rel:"noopener noreferrer"},Jt={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/underhill.jpg",target:"_blank",rel:"noopener noreferrer"},Zt={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/%E7%AC%AC%E4%B8%80%E6%95%99%E5%AD%A6%E6%A5%BC.jpg",target:"_blank",rel:"noopener noreferrer"},$t={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/interview-center.jpg",target:"_blank",rel:"noopener noreferrer"},er={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/lakeside-aerial.jpg",target:"_blank",rel:"noopener noreferrer"},tr={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/zhiren-college.jpg",target:"_blank",rel:"noopener noreferrer"},rr={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/p2-dormitory.jpg",target:"_blank",rel:"noopener noreferrer"},sr={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/liyuan-huiyuann-xinyuan.jpg",target:"_blank",rel:"noopener noreferrer"},nr={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/southwest.jpg",target:"_blank",rel:"noopener noreferrer"},ir={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/hill.jpg",target:"_blank",rel:"noopener noreferrer"},or={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/%E6%B6%A6%E6%9D%A8%E4%BD%93%E8%82%B2%E9%A6%86.jpg",target:"_blank",rel:"noopener noreferrer"},lr={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/%E6%9D%BE%E7%A6%BE%E4%BD%93%E8%82%B2%E5%9C%BA.jpg",target:"_blank",rel:"noopener noreferrer"},ar={href:"https://mirrors.sustech.edu.cn/site/sustech-online/img/facility/buildings/%E5%A4%A7%E6%B2%99%E6%B2%B3-gate1.jpg",target:"_blank",rel:"noopener noreferrer"},hr={href:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/facility/campus-pano.jpg",target:"_blank",rel:"noopener noreferrer"};function cr(dr,ur){const h=o("Badge"),s=o("ExternalLinkIcon"),l=o("RouterLink");return d(),u("div",null,[p,e("h2",g,[f,t(" 校园街景"),r(h,{text:"2022年4月更新",type:"tip"})]),e("div",m,[b,e("p",null,[t("街景图像拍摄于"),y,t(",若想了解街景拍摄的流程,请参考"),e("a",k,[t("此链接"),r(s)]),t("。")])]),e("p",null,[e("a",x,[t("点击此处"),r(s)]),t("或通过下方的嵌入页面查看校园街景地图!")]),E,B,e("p",null,[e("a",w,[j,r(s)])]),A,D,S,e("p",null,[e("a",C,[v,r(s)])]),T,z,e("ul",null,[e("li",null,[e("a",F,[t("琳恩图书馆的历史"),r(s)])])]),N,e("p",null,[e("a",q,[L,r(s)])]),G,e("p",null,[t("行政楼的一楼还有一个早上会卖面包,一些饮品的"),U,t("和在南科大校内人尽皆知的"),e("a",K,[H,r(s)]),t("。")]),R,e("p",null,[e("a",I,[M,r(s)])]),V,e("p",null,[t("一教的北侧有一个"),e("a",X,[t("赛百味"),r(s)]),t(",一般在课间会排队。")]),Y,P,e("p",null,[e("a",Q,[W,r(s)])]),O,J,e("p",null,[e("a",Z,[$,r(s)])]),ee,e("div",te,[re,e("p",null,[t("如果重新启动计算机,所有数据都将丢失。如果没有U盘,又需要传输文件,可使用 "),e("a",se,[t("LANDrop"),r(s)]),t(","),e("a",ne,[t("校内 Send 文件分享"),r(s)]),t(" 等工具。如果您需要保存机房数据,安装软件或其他需求联系song.wz@sustech.edu.cn")])]),ie,e("p",null,[e("a",oe,[le,r(s)])]),ae,e("p",null,[t("主要是实验室和教授办公室。为什么叫台州楼呢?这栋楼里面有一个"),e("a",he,[t("“南方科技大学台州研究院”"),r(s)]),t(",然后校长的籍贯也是台州,也可能有点关系。")]),ce,e("p",null,[e("a",de,[ue,r(s)])]),_e,pe,e("p",null,[t("详细内容请见"),r(l,{to:"/life/catering/#%E5%AD%A6%E7%94%9F%E9%A4%90%E5%8E%85%EF%BC%88%E4%B8%80%E6%9C%9F%EF%BC%89"},{default:a(()=>[t("餐饮/学生餐厅(一期)")]),_:1}),t("。")]),ge,fe,me,e("p",null,[e("a",be,[ye,r(s)])]),ke,e("p",null,[e("a",xe,[Ee,r(s)])]),Be,e("ul",null,[e("li",null,[e("a",we,[t("湖畔的更多历史"),r(s)])])]),je,e("p",null,[e("a",Ae,[De,r(s)])]),Se,Ce,e("p",null,[e("a",ve,[Te,r(s)])]),ze,e("ul",null,[e("li",null,[e("a",Fe,[t("游泳馆"),r(s)])])]),Ne,e("p",null,[e("a",qe,[Le,r(s)])]),Ge,e("p",null,[t("于2019年8月落成的新宿舍区域,也是未来大部分同学(本科生,研究生,博士生)的居住区域。但与湖畔宿舍相比,二期宿舍缺少独立卫生间,宿舍面积也相对更小一些,但二期宿舍全部配备了电梯。关于11栋新生楼的特殊调度策略有个小技巧可以破解让电梯停到非调度楼层:"),r(l,{to:"/facility/building-11-elevator.html"},{default:a(()=>[t("如何“破解”11栋电梯")]),_:1}),t("。")]),Ue,e("p",null,[e("a",Ke,[He,r(s)])]),Re,Ie,Me,Ve,e("p",null,[e("a",Xe,[Ye,r(s)])]),Pe,Qe,We,Oe,Je,Ze,$e,e("ul",null,[e("li",null,[e("a",et,[t("荔园"),r(s)])])]),tt,e("p",null,[e("a",rt,[st,r(s)])]),nt,e("ul",null,[e("li",null,[e("a",it,[t("欣园"),r(s)])])]),ot,e("p",null,[e("a",lt,[at,r(s)])]),ht,ct,dt,ut,e("ul",null,[e("li",null,[e("a",_t,[t("专家公寓"),r(s)])])]),pt,e("p",null,[e("a",gt,[ft,r(s)])]),e("p",null,[t("位于专家公寓南侧,使用率不是很高。每年会举办一次"),e("a",mt,[t("“海峡两岸学生棒球联赛”"),r(s)]),t("。")]),bt,e("p",null,[e("a",yt,[kt,r(s)])]),xt,Et,e("p",null,[e("a",Bt,[wt,r(s)])]),jt,e("p",null,[t("叫“润扬体育馆”的原因是因为体育馆是润杨集团"),e("a",At,[t("冠名"),r(s)]),t("的。")]),Dt,St,e("p",null,[e("a",Ct,[vt,r(s)])]),Tt,e("p",null,[t("由松禾资本"),e("a",zt,[t("冠名"),r(s)]),t("。")]),Ft,e("ul",null,[e("li",null,[e("a",Nt,[t("夜景全景"),r(s)])]),e("li",null,[e("a",qt,[t("一期校园(校园南侧)"),r(s)])]),e("li",null,[e("a",Lt,[t("湖畔(校园中心)"),r(s)])]),e("li",null,[e("a",Gt,[t("荔园,二期宿舍(校园北侧)"),r(s)])]),e("li",null,[e("a",Ut,[t("慧园,欣园(校园东北侧)"),r(s)])]),e("li",null,[e("a",Kt,[t("工学院 (校园西北侧)"),r(s)])])]),Ht,e("ul",null,[e("li",null,[e("a",Rt,[t("https://zhiba.sustech.online"),r(s)])])]),It,Mt,e("ul",null,[e("li",null,[t("CC0 "),e("ul",null,[e("li",null,[e("a",Vt,[t("校园地图"),r(s)]),t("/深圳规划局")])])]),e("li",null,[e("a",Xt,[t("CC BY-SA 4.0"),r(s)]),e("ul",null,[e("li",null,[e("a",Yt,[t("图书馆与行政楼"),r(s)]),t("/sparktour")]),e("li",null,[e("a",Pt,[t("风雨操场"),r(s)]),t("/sparktour")]),e("li",null,[e("a",Qt,[t("书院活动室上方的阳台"),r(s)]),t("/sparktour")]),e("li",null,[e("a",Wt,[t("风雨操场"),r(s)]),t("/sparktour")]),e("li",null,[e("a",Ot,[t("建设中的工学院"),r(s)]),t("/sparktour")])])]),e("li",null,[t("权利归作者所有 "),e("ul",null,[e("li",null,[e("a",Jt,[t("一期校园"),r(s)]),t("/sparktour")]),e("li",null,[e("a",Zt,[t("第一教学楼"),r(s)]),t("/南方科技大学")]),e("li",null,[e("a",$t,[t("国际会议中心"),r(s)]),t("/南方科技大学")]),e("li",null,[e("a",er,[t("湖畔宿舍航拍"),r(s)]),t("/sparktour")]),e("li",null,[e("a",tr,[t("致仁书院"),r(s)]),t("/南方科技大学")]),e("li",null,[e("a",rr,[t("二期宿舍10栋与餐厅"),r(s)]),t("/南方科技大学")]),e("li",null,[e("a",sr,[t("荔园,慧园与欣园"),r(s)]),t("/sparktour")]),e("li",null,[e("a",nr,[t("校园东南区域"),r(s)]),t("/sparktour")]),e("li",null,[e("a",ir,[t("步行公园"),r(s)]),t("/sparktour")]),e("li",null,[e("a",or,[t("润杨体育馆"),r(s)]),t("/南方科技大学")]),e("li",null,[e("a",lr,[t("松禾体育场"),r(s)]),t("/南方科技大学")]),e("li",null,[e("a",ar,[t("一号门所见的大沙河"),r(s)]),t("/南方科技大学")]),e("li",null,[e("a",hr,[t("湖畔全景"),r(s)]),t("/sparktour")])])])])])}const pr=c(_,[["render",cr],["__file","index.html.vue"]]);export{pr as default}; diff --git a/assets/index.html-XO6z0qBK.js b/assets/index.html-XO6z0qBK.js new file mode 100644 index 000000000..4747c1d56 --- /dev/null +++ b/assets/index.html-XO6z0qBK.js @@ -0,0 +1 @@ +import{_ as c,r as o,o as r,c as a,b as e,d as n,a as t,w as i}from"./app-9djxHuta.js";const u={},h=e("h1",{id:"使用-ssl-vpn-说明",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#使用-ssl-vpn-说明","aria-hidden":"true"},"#"),n(" 使用 SSL VPN 说明")],-1),_={href:"https://vpn.sustech.edu.cn/com/welcome.html",target:"_blank",rel:"noopener noreferrer"},d={href:"https://vpn.sustech.edu.cn/com/installClient.html",target:"_blank",rel:"noopener noreferrer"},p=e("ul",null,[e("li",null,"Windows 电脑需用 IE 浏览器打开,并信任证书。"),e("li",null,"Mac 电脑需用 Safari 浏览器打开,并信任证书。"),e("li",null,"如需使用 Chrome 浏览器访问,会提示“您的连接不是私密连接”,点击旁边空白区域,输入“thisisunsafe”。")],-1),m=e("li",null,[n("打开客户端,选择账号登录,填写配置 "),e("ul",null,[e("li",null,"服务器地址:https://vpn.sustech.edu.cn"),e("li",null,"用户名:8位学号"),e("li",null,"密码:VPN 系统密码(可能与 CAS 密码不同)")])],-1),f=e("p",null,[e("em",null,"提示:此VPN的用途仅限回校访问数据库,无法作为其他用途。")],-1);function v(x,k){const s=o("RouterLink"),l=o("ExternalLinkIcon");return r(),a("div",null,[h,e("p",null,[n("查看如何"),t(s,{to:"/service/network/apply-for-vpn/"},{default:i(()=>[n("申请回校 VPN")]),_:1}),n("。")]),e("ol",null,[e("li",null,[n("下载客户端 "),e("a",_,[n("https://vpn.sustech.edu.cn/com/welcome.html"),t(l)]),n(" 或者 "),e("a",d,[n("https://vpn.sustech.edu.cn/com/installClient.html"),t(l)]),p]),m]),f])}const V=c(u,[["render",v],["__file","index.html.vue"]]);export{V as default}; diff --git a/assets/index.html-XqhRopeI.js b/assets/index.html-XqhRopeI.js new file mode 100644 index 000000000..fb0c14b14 --- /dev/null +++ b/assets/index.html-XqhRopeI.js @@ -0,0 +1 @@ +import{_ as e,r as h,o as r,c as d,b as i,d as l,a as n,e as u}from"./app-9djxHuta.js";const t="/assets/catering_map-J_P_LKY6.jpg",c={},s=i("h1",{id:"☕️餐饮",tabindex:"-1"},[i("a",{class:"header-anchor",href:"#☕️餐饮","aria-hidden":"true"},"#"),l(" ☕️餐饮")],-1),o=i("blockquote",null,[i("p",null,"对于南科人来说,光顾得最频繁的餐厅当属校内食堂了。据不完全统计,只是学生食堂,每天就有4000+的客流量。出校吃饭的时间成本太昂贵,上课前下课后在食堂填饱空虚的胃是最好的选择。平心而论,南科大的伙食质量还是很OK的。价格也足够平民,正常情况下每餐成本可以控制在8-12元之间,很少有超过15元的。笔者在刚开学的时候爱上了食堂的肉末面,连着吃了一整个月。拉面,肉夹馍,小炒,白切鸡盖饭,夜宵特供麻辣烫,冬季限定小火锅……即使在平凡的食堂菜单中也能找到吃后可以感慨“人间值得”的好菜。")],-1),f={href:"https://mp.weixin.qq.com/s/5wzuZjQ9uJacp4ioScBVww",target:"_blank",rel:"noopener noreferrer"},x=u('

    南方科技大学餐饮地图

    校内餐厅

    第二学生餐厅

    二期学生宿舍9栋

    • 餐厅位置:二期学生宿舍9栋一层
    • 供应品种:大众菜系、水饺、风味面食
    • 营业时间:
      • 早餐:07:00-09:00
      • 午餐:11:00-13:00
      • 晚餐:17:00-19:00
      • 夜宵:19:00-22:00 (仅周一至周五开放)
    • 经理电话:崔经理 18898832662

    二期学生宿舍10栋

    • 餐厅位置:二期学生宿舍10栋一层、二层
    • 供应品种:大众菜系、早餐肠粉、风味汤粉、卤水套餐、西式套餐、夜宵、烧烤
    • 营业时间:
      • 早餐:07:00-09:00
      • 午餐:11:00-13:00
      • 晚餐:17:00-19:00
      • 夜宵:19:00-22:00 (仅周一至周五开放)
    • 经理电话:崔经理 18898832662

    中心餐厅

    • 餐厅位置:南科大中心一层
    • 供应品种:大众菜系、早餐肠粉、风味粥粉面、铁锅拌饭广式烧味、精美小炒、麻辣烫、小卖部、平价水果
    • 外包档口:肯德基、面点王、茶米相期
    • 营业时间:
      • 早餐:07:00-09:00
      • 午餐:11:00-13:00
      • 晚餐:17:00-19:00
    • 经理电话:杜经理 13760335494

    荔园餐厅

    荔园6栋一层

    • 餐厅位置:荔园6栋一层
    • 供应品种:大众菜系、卤水套餐、粥饼档、素菜
    • 营业时间:
      • 早餐:07:00-09:00
      • 午餐:11:00-13:00
      • 晚餐:17:00-19:00
    • 经理电话:黄经理 13430934058

    荔园6栋二层

    • 餐厅位置:荔园6栋二层
    • 供应品种:精美小炒、特色菜
    • 外包档口:广东靓汤、西北面食、日韩料理
    • 营业时间:
      • 早餐:07:00-09:00
      • 午餐:11:00-13:00
      • 晚餐:17:00-19:00
    • 经理电话:黄经理 13430934058

    创园教工餐厅

    • 餐厅位置:创园2栋一层
    • 供应品种:大众菜系 (午餐)、特色川湘菜 (晚餐)
    • 营业时间:
      • 午餐:11:00-13:00
      • 晚餐:17:00-21:00
    • 经理电话:黄经理 13430934058

    教工餐厅(仅教职工使用)

    • 餐厅位置:教师公寓2栋一层
    • 供应品种:大众菜系、特色菜、风味面食
    • 营业时间:
      • 早餐:07:00-09:00
      • 午餐:11:00-13:00
      • 晚餐:17:20-19:00
    • 经理电话:赵经理 13456850850

    Faculty Club(仅教职工使用)

    • 餐厅位置:教师公寓1、2栋之间
    • 供应品种:大众菜系、特色菜
    • 营业时间:
      • 午餐:11:20-13:00
      • 晚餐:17:20-19:00
    • 经理电话:赵经理 13456850850

    茶餐厅

    • 餐厅位置:专家公寓1栋一层
    • 供应品种:粤菜、客家菜、各地风味菜
    • 营业时间:
      • 午餐:11:30-14:00
      • 晚餐:17:30-21:00
    • 经理电话:赵经理 13456850850

    西餐厅

    • 餐厅位置:专家公寓2栋一层
    • 供应品种:西餐
    • 营业时间:07:30-22:00
    • 经理电话:赵经理 13456850850

    南科麦香屋

    • 餐厅位置:教师公寓2栋一层
    • 供应品种:面包、西点
    • 营业时间:07:30-19:00
    • 经理电话:赵经理 13456850850

    湖畔学生餐厅

    • 餐厅位置:大榕树旁一层、二层
    • 供应品种:特色风味
    • 营业时间:
      • 早餐:06:30-09:30
      • 午餐:10:30-13:30
      • 晚餐:16:30-19:00
      • 夜宵:19:00-22:30
    • 经理电话:段经理 15012847432

    欣园餐厅

    • 餐厅位置:欣园5栋一层
    • 供应品种:待定
    • 营业时间:待定
    • 经理电话:段经理 15012847432

    入驻餐饮

    瑞幸咖啡

    • 餐饮地点:工学院南楼一层、理学院一层大厅
    • 营业时间:07:00-22:00
    • 联系电话:
      • 工学院店:18320284061
      • 理学院店:13066805920

    星巴克

    • 餐饮地点:琳恩图书馆一层
    • 营业时间:07:00-18:00
    • 联系电话:13049844587

    Illy Cafe(学者咖啡)

    • 餐饮地点:第二科研楼一层
    • 营业时间:08:30-20:30
    • 联系电话:13798280743

    赛百味

    • 餐饮地点:第一教学楼一层
    • 营业时间:07:20-22:00
    • 联系电话:13603051823

    果卉鲜

    • 餐饮地点:教师公寓1栋一层
    • 营业时间:10:00-21:00
    • 联系电话:18389693592
    • 特色:无人售卖

    校外餐饮

    周边一节。

    ',43);function b(_,p){const a=h("ExternalLinkIcon");return r(),d("div",null,[s,o,i("p",null,[i("em",null,[l("——南科新知:"),i("a",f,[l("吃喝住行指南 | 新生攻略Vol.2"),n(a)])])]),x])}const k=e(c,[["render",b],["__file","index.html.vue"]]);export{k as default}; diff --git a/assets/index.html-Z1BkoEPU.js b/assets/index.html-Z1BkoEPU.js new file mode 100644 index 000000000..9e7a25a1d --- /dev/null +++ b/assets/index.html-Z1BkoEPU.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-369295b4","path":"/service/sid/","title":"学号(SID)","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"学号的含义","slug":"学号的含义","link":"#学号的含义","children":[]}],"git":{"updatedTime":1626484504000,"contributors":[{"name":"elantrean","email":"elantreanfu@gmail.com","commits":2},{"name":"Ryyyc","email":"47767371+Ryyyc@users.noreply.github.com","commits":1},{"name":"liziwl","email":"leezisy@gmail.com","commits":1},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"service/sid/README.md"}');export{e as data}; diff --git a/assets/index.html-ZHMZGsTo.js b/assets/index.html-ZHMZGsTo.js new file mode 100644 index 000000000..6125b6059 --- /dev/null +++ b/assets/index.html-ZHMZGsTo.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-c73889da","path":"/facility/","title":"🏫建筑与设施","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"校园街景","slug":"校园街景","link":"#校园街景","children":[]},{"level":2,"title":"校园地图与主要建筑","slug":"校园地图与主要建筑","link":"#校园地图与主要建筑","children":[{"level":3,"title":"新校区(一般称为山下)","slug":"新校区-一般称为山下","link":"#新校区-一般称为山下","children":[]},{"level":3,"title":"理学院","slug":"理学院","link":"#理学院","children":[]},{"level":3,"title":"湖畔","slug":"湖畔","link":"#湖畔","children":[]},{"level":3,"title":"二期宿舍","slug":"二期宿舍","link":"#二期宿舍","children":[]},{"level":3,"title":"工学院","slug":"工学院","link":"#工学院","children":[]},{"level":3,"title":"荔园","slug":"荔园","link":"#荔园","children":[]},{"level":3,"title":"创园","slug":"创园","link":"#创园","children":[]},{"level":3,"title":"慧园","slug":"慧园","link":"#慧园","children":[]},{"level":3,"title":"欣园","slug":"欣园","link":"#欣园","children":[]},{"level":3,"title":"校园东南区域","slug":"校园东南区域","link":"#校园东南区域","children":[]},{"level":3,"title":"运动场","slug":"运动场","link":"#运动场","children":[]},{"level":3,"title":"步行公园(后山)","slug":"步行公园-后山","link":"#步行公园-后山","children":[]},{"level":3,"title":"大沙河","slug":"大沙河","link":"#大沙河","children":[]}]},{"level":2,"title":"航拍全景看校园","slug":"航拍全景看校园","link":"#航拍全景看校园","children":[{"level":3,"title":"同学自行拍摄的互动式校园全景","slug":"同学自行拍摄的互动式校园全景","link":"#同学自行拍摄的互动式校园全景","children":[]}]},{"level":2,"title":"南科制霸 -- 标记去过的校园地点","slug":"南科制霸-标记去过的校园地点","link":"#南科制霸-标记去过的校园地点","children":[]},{"level":2,"title":"图片版权","slug":"图片版权","link":"#图片版权","children":[]}],"git":{"updatedTime":1670081743000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":26},{"name":"liziwl","email":"leezisy@gmail.com","commits":7},{"name":"OSA","email":"osa@sustech.edu.cn","commits":1},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":1},{"name":"xyhibari","email":"114352590+xyhibari@users.noreply.github.com","commits":1}]},"filePathRelative":"facility/README.md"}');export{l as data}; diff --git a/assets/index.html-ZyzAQ8AP.js b/assets/index.html-ZyzAQ8AP.js new file mode 100644 index 000000000..610aed3b6 --- /dev/null +++ b/assets/index.html-ZyzAQ8AP.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-69b23ddf","path":"/transport/","title":"🚄交通","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"🚌校园巴士","slug":"🚌校园巴士","link":"#🚌校园巴士","children":[{"level":3,"title":"校园巴士线路图","slug":"校园巴士线路图","link":"#校园巴士线路图","children":[]}]},{"level":2,"title":"来往南方科技大学的交通","slug":"来往南方科技大学的交通","link":"#来往南方科技大学的交通","children":[{"level":3,"title":"公交","slug":"公交","link":"#公交","children":[]},{"level":3,"title":"地铁","slug":"地铁","link":"#地铁","children":[]}]},{"level":2,"title":"市内交通","slug":"市内交通","link":"#市内交通","children":[{"level":3,"title":"深圳地铁线路图(2023年)","slug":"深圳地铁线路图-2023年","link":"#深圳地铁线路图-2023年","children":[]},{"level":3,"title":"乘坐市内公共交通","slug":"乘坐市内公共交通","link":"#乘坐市内公共交通","children":[]},{"level":3,"title":"🚕出租车","slug":"🚕出租车","link":"#🚕出租车","children":[]},{"level":3,"title":"🚗自驾车","slug":"🚗自驾车","link":"#🚗自驾车","children":[]}]},{"level":2,"title":"🗺抵达南方科技大学","slug":"🗺抵达南方科技大学","link":"#🗺抵达南方科技大学","children":[{"level":3,"title":"🛤从铁路抵达","slug":"🛤从铁路抵达","link":"#🛤从铁路抵达","children":[]},{"level":3,"title":"✈️从机场抵达","slug":"✈️从机场抵达","link":"#✈️从机场抵达","children":[]}]},{"level":2,"title":"来往附近城市的交通","slug":"来往附近城市的交通","link":"#来往附近城市的交通","children":[{"level":3,"title":"香港","slug":"香港","link":"#香港","children":[]},{"level":3,"title":"广州","slug":"广州","link":"#广州","children":[]}]}],"git":{"updatedTime":1671159794000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":23},{"name":"liziwl","email":"leezisy@gmail.com","commits":10},{"name":"Page","email":"68625666+ByteInt@users.noreply.github.com","commits":1},{"name":"Stang","email":"pmx42@live.cn","commits":1},{"name":"chenyuheng","email":"pass@chenyuheng.cn","commits":1}]},"filePathRelative":"transport/README.md"}');export{l as data}; diff --git a/assets/index.html-_1kqW3EY.js b/assets/index.html-_1kqW3EY.js new file mode 100644 index 000000000..1a785a1bf --- /dev/null +++ b/assets/index.html-_1kqW3EY.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-d42194b6","path":"/life/freshman-register/","title":"新生报到","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"报到前任务","slug":"报到前任务","link":"#报到前任务","children":[]},{"level":2,"title":"现场报到","slug":"现场报到","link":"#现场报到","children":[]},{"level":2,"title":"报到后","slug":"报到后","link":"#报到后","children":[]}],"git":{"updatedTime":1597232870000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":2}]},"filePathRelative":"life/freshman-register/README.md"}');export{e as data}; diff --git a/assets/index.html-_UO9iQZw.js b/assets/index.html-_UO9iQZw.js new file mode 100644 index 000000000..be10cd3c6 --- /dev/null +++ b/assets/index.html-_UO9iQZw.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-76cff034","path":"/service/email/","title":"电子邮件服务","lang":"zh-CN","frontmatter":{},"headers":[{"level":3,"title":"申请别名","slug":"申请别名","link":"#申请别名","children":[]},{"level":3,"title":"容量不足怎么办","slug":"容量不足怎么办","link":"#容量不足怎么办","children":[]},{"level":2,"title":"通过网页收发邮件","slug":"通过网页收发邮件","link":"#通过网页收发邮件","children":[{"level":3,"title":"通过 QQ 电脑客户端进入企业邮网页","slug":"通过-qq-电脑客户端进入企业邮网页","link":"#通过-qq-电脑客户端进入企业邮网页","children":[]}]},{"level":2,"title":"在移动设备上收发邮件","slug":"在移动设备上收发邮件","link":"#在移动设备上收发邮件","children":[{"level":3,"title":"参数","slug":"参数","link":"#参数","children":[]},{"level":3,"title":"微信","slug":"微信","link":"#微信","children":[]},{"level":3,"title":"苹果自带邮件应用(Mail.app)","slug":"苹果自带邮件应用-mail-app","link":"#苹果自带邮件应用-mail-app","children":[]},{"level":3,"title":"QQ邮箱客户端","slug":"qq邮箱客户端","link":"#qq邮箱客户端","children":[]},{"level":3,"title":"Outlook客户端","slug":"outlook客户端","link":"#outlook客户端","children":[]},{"level":3,"title":"安卓手机通用教程","slug":"安卓手机通用教程","link":"#安卓手机通用教程","children":[]}]},{"level":2,"title":"在计算机上收发邮件","slug":"在计算机上收发邮件","link":"#在计算机上收发邮件","children":[{"level":3,"title":"Windows自带的邮件应用","slug":"windows自带的邮件应用","link":"#windows自带的邮件应用","children":[]},{"level":3,"title":"MacOS自带的邮件应用","slug":"macos自带的邮件应用","link":"#macos自带的邮件应用","children":[]},{"level":3,"title":"Outlook桌面版","slug":"outlook桌面版","link":"#outlook桌面版","children":[]}]},{"level":2,"title":"我想给老师发邮件,但不知道老师的邮箱该怎么办?","slug":"我想给老师发邮件-但不知道老师的邮箱该怎么办","link":"#我想给老师发邮件-但不知道老师的邮箱该怎么办","children":[]},{"level":2,"title":"更多阅读/参考","slug":"更多阅读-参考","link":"#更多阅读-参考","children":[]}],"git":{"updatedTime":1662182259000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":7},{"name":"liziwl","email":"leezisy@gmail.com","commits":3},{"name":"Yuheng","email":"pass@chenyuheng.cn","commits":2}]},"filePathRelative":"service/email/README.md"}');export{l as data}; diff --git a/assets/index.html-a1CPosgU.js b/assets/index.html-a1CPosgU.js new file mode 100644 index 000000000..2a3a2e2fb --- /dev/null +++ b/assets/index.html-a1CPosgU.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-296d1d15","path":"/service/network/use-vpn/","title":"使用 SSL VPN 说明","lang":"zh-CN","frontmatter":{},"headers":[],"git":{"updatedTime":1649688463000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":3},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"service/network/use-vpn/README.md"}');export{e as data}; diff --git a/assets/index.html-a6AZwlDl.js b/assets/index.html-a6AZwlDl.js new file mode 100644 index 000000000..ecba34f4f --- /dev/null +++ b/assets/index.html-a6AZwlDl.js @@ -0,0 +1 @@ +import{_ as r,a as d,b as s,c as o}from"./1-sxH-Yy_l.js";import{_ as h,r as c,o as p,c as _,b as t,d as e,a,e as l}from"./app-9djxHuta.js";const I="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjAiIGhlaWdodD0iMjAiPjxsaW5lYXJHcmFkaWVudCBpZD0icyIgeDI9IjAiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNiYmIiIHN0b3Atb3BhY2l0eT0iLjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3Atb3BhY2l0eT0iLjEiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iciI+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiByeD0iMyIgZmlsbD0iI2ZmZiIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI3IpIj48cmVjdCB3aWR0aD0iNDMiIGhlaWdodD0iMjAiIGZpbGw9IiM1NTUiLz48cmVjdCB4PSI0MyIgd2lkdGg9IjE3IiBoZWlnaHQ9IjIwIiBmaWxsPSIjODQ2ZTc0Ii8+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiBmaWxsPSJ1cmwoI3MpIi8+PC9nPjxnIGZpbGw9IiNmZmYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJWZXJkYW5hLEdlbmV2YSxEZWphVnUgU2FucyxzYW5zLXNlcmlmIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBmb250LXNpemU9IjExMCI+PHRleHQgeD0iMjI1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iMjI1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iNTA1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSI3MCI+OTwvdGV4dD48dGV4dCB4PSI1MDUiIHk9IjE0MCIgdHJhbnNmb3JtPSJzY2FsZSguMSkiIHRleHRMZW5ndGg9IjcwIj45PC90ZXh0PjwvZz48L3N2Zz4=",n="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjAiIGhlaWdodD0iMjAiPjxsaW5lYXJHcmFkaWVudCBpZD0icyIgeDI9IjAiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNiYmIiIHN0b3Atb3BhY2l0eT0iLjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3Atb3BhY2l0eT0iLjEiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iciI+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiByeD0iMyIgZmlsbD0iI2ZmZiIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI3IpIj48cmVjdCB3aWR0aD0iNDMiIGhlaWdodD0iMjAiIGZpbGw9IiM1NTUiLz48cmVjdCB4PSI0MyIgd2lkdGg9IjE3IiBoZWlnaHQ9IjIwIiBmaWxsPSIjMDBhMmUxIi8+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiBmaWxsPSJ1cmwoI3MpIi8+PC9nPjxnIGZpbGw9IiNmZmYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJWZXJkYW5hLEdlbmV2YSxEZWphVnUgU2FucyxzYW5zLXNlcmlmIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBmb250LXNpemU9IjExMCI+PHRleHQgeD0iMjI1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iMjI1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iNTA1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSI3MCI+MzwvdGV4dD48dGV4dCB4PSI1MDUiIHk9IjE0MCIgdHJhbnNmb3JtPSJzY2FsZSguMSkiIHRleHRMZW5ndGg9IjcwIj4zPC90ZXh0PjwvZz48L3N2Zz4=",m={},b=l('

    🛍周边

    提示

    点击地名,可以直接跳转到高德地图进行导航。

    🛍大型商城

    ',3),u={id:"塘朗城",tabindex:"-1"},Z=t("a",{class:"header-anchor",href:"#塘朗城","aria-hidden":"true"},"#",-1),g={href:"https://ditu.amap.com/place/B0FFFY0U1M",target:"_blank",rel:"noopener noreferrer"},B=l('

    塘朗站

    塘朗站B出口即达。

    常见的连锁餐饮店铺
    麦当劳
    海底捞
    达美乐披萨
    黄记煌三汁焖锅
    港七茶餐厅
    大家乐
    华润万家乐购

    宝能城

    塘朗站

    常见的连锁餐饮店铺
    麦当劳
    肯德基
    必胜客
    小龙坎火锅
    探鱼
    尊宝披萨
    肥韬茶餐厅
    常见的饮料店铺
    一点点
    沪上阿姨
    喜茶
    奈雪的茶
    Coco都可
    ',7),j={id:"益田假日里",tabindex:"-1"},x=t("a",{class:"header-anchor",href:"#益田假日里","aria-hidden":"true"},"#",-1),G={href:"https://ditu.amap.com/place/B0FFKYACVH",target:"_blank",rel:"noopener noreferrer"},P=t("p",null,[t("img",{src:r,alt:""}),t("strong",null,"大学城站")],-1),H=t("p",null,"大学城站D出口即达。",-1),M={id:"九方",tabindex:"-1"},f=t("a",{class:"header-anchor",href:"#九方","aria-hidden":"true"},"#",-1),W={href:"https://ditu.amap.com/place/B0FFKAS8AB",target:"_blank",rel:"noopener noreferrer"},Y=t("p",null,[t("img",{src:d,alt:""}),t("strong",null,"红山站")],-1),N=t("p",null,"红山站A1出口,步行650米即达,步行约8分钟。",-1),R=t("p",null,"大型mall;价位适中,离学较近;商场种类齐全;商场内部有不错的电影院。",-1),A={id:"西丽天虹",tabindex:"-1"},k=t("a",{class:"header-anchor",href:"#西丽天虹","aria-hidden":"true"},"#",-1),y={href:"https://ditu.amap.com/place/B02F37SNGW",target:"_blank",rel:"noopener noreferrer"},z=t("p",null,[t("img",{src:r,alt:""}),t("strong",null,"西丽站"),e(",地铁25分钟")],-1),L=t("p",null,"价位较低,离学校特别近;商场超市种类齐全;商场附近有较多买衣服的平价小店;商场附近就有电影院和美食店(如木屋烧烤、肯德基、必胜客)。",-1),w={id:"民治大润发",tabindex:"-1"},D=t("a",{class:"header-anchor",href:"#民治大润发","aria-hidden":"true"},"#",-1),S={href:"https://ditu.amap.com/place/B02F38JKVB",target:"_blank",rel:"noopener noreferrer"},C=t("p",null,[t("img",{src:r,alt:""}),t("strong",null,"民治站"),e(",地铁30分钟")],-1),T=t("p",null,"价位较低,离学校特别近;商场超市种类齐全;附近有很多小吃;大润发上层是电影院,性价比较高;有木屋烧烤、肯德基、必胜客、鸡排等。",-1),F=t("div",{class:"custom-container tip"},[t("p",{class:"custom-container-title"},"提示"),t("p",null,"下方的商场距离学校车程均超过30分钟。")],-1),v={id:"星河-coco-city",tabindex:"-1"},Q=t("a",{class:"header-anchor",href:"#星河-coco-city","aria-hidden":"true"},"#",-1),V={href:"https://ditu.amap.com/place/B0FFFQ1HT3",target:"_blank",rel:"noopener noreferrer"},E=t("p",null,[t("img",{src:d,alt:""}),t("strong",null,"白石龙站"),e(",地铁40分钟")],-1),J=t("p",null,"大型mall;价位适中,性价比较高;有不错的电影院;",-1),X={id:"华侨城欢乐海岸",tabindex:"-1"},U=t("a",{class:"header-anchor",href:"#华侨城欢乐海岸","aria-hidden":"true"},"#",-1),O={href:"https://ditu.amap.com/place/B02F38J6TZ",target:"_blank",rel:"noopener noreferrer"},K=t("p",null,[t("img",{src:I,alt:""}),t("strong",null,"深圳湾公园站"),e(",距学校约1小时地铁,25分钟车程。")],-1),q=t("p",null,"华侨城欢乐海岸是个蛮舒服的地方。依海而建,可以饱览深圳湾海景。这里隐藏着一众高端会所,据说可以坐游艇出海。对于普通游客来说,这里消费略高,但也都在可接受范围内,比较适合晚上情侣或者是三四个好友结伴去玩。有水幕电影和灯光喷泉秀。这里也有全球最大的水母展馆和国内最大的珊瑚展厅,简直不要太浪漫。那里的店很多都是音乐餐吧,菜式也偏休闲化。就着麻辣的蒜香的小龙虾喝几杯精酿,一个晚上很轻松地就过去了。",-1),$={id:"海上世界",tabindex:"-1"},tt=t("a",{class:"header-anchor",href:"#海上世界","aria-hidden":"true"},"#",-1),et={href:"https://ditu.amap.com/place/B02F302560",target:"_blank",rel:"noopener noreferrer"},it=t("p",null,[t("img",{src:s,alt:""}),t("strong",null,"海上世界站"),e(",距学校约1小时地铁,40分钟车程。")],-1),at={id:"万象天地",tabindex:"-1"},rt=t("a",{class:"header-anchor",href:"#万象天地","aria-hidden":"true"},"#",-1),ot={href:"https://ditu.amap.com/place/B0FFF540NK",target:"_blank",rel:"noopener noreferrer"},lt=t("p",null,[t("img",{src:o,alt:""}),t("strong",null,"高新园站"),e(",地铁50分钟。"),t("strong",null,"(坐公交更快)")],-1),dt=t("p",null,"华为全球旗舰店座落处;众多大品牌在这里开设了大规模、超人气、高档次的专卖店;众多网红品牌在这里聚集;诚品生活所在地(即将退出深圳市场),记得去打卡!",-1),nt={id:"国贸大厦",tabindex:"-1"},st=t("a",{class:"header-anchor",href:"#国贸大厦","aria-hidden":"true"},"#",-1),ht={href:"https://ditu.amap.com/place/B02F37UQLW",target:"_blank",rel:"noopener noreferrer"},ct=t("p",null,[t("img",{src:o,alt:""}),t("strong",null,"国贸站"),e(",距学校约1小时地铁,40分钟车程。")],-1),pt=t("p",null,"在国贸大厦的顶层有一个旋转餐厅,是邓小平当年发表南巡讲话的地方。接待过很多的中外政要,包括江泽民、胡锦涛、尼克松、布什等等。餐厅地处罗湖中心,一个小时旋转一周,能眺望深圳湾、红树林、梧桐山、罗湖口岸和对面的香港上水,深圳的精华尽收眼底。在那里吃正餐价格有些偏贵,但是吃早茶倒是个不错的选择。早茶是自助的,人均八十左右。",-1),_t=t("p",null,"其实去国贸大厦喝早茶有点“XXX到此一吃”的意思,象征意义大于实际意义。在改革开放四十年风云激荡的起点,看看和小平爷爷当年已截然不同的深圳,感受一下“深圳速度”的神话。从更实际一点的角度来看……牛百叶和鲜虾烧麦还真有点好吃。",-1),It={id:"福田星河coco-park",tabindex:"-1"},mt=t("a",{class:"header-anchor",href:"#福田星河coco-park","aria-hidden":"true"},"#",-1),bt={href:"https://ditu.amap.com/place/B02F37UG37",target:"_blank",rel:"noopener noreferrer"},ut=t("p",null,[t("img",{src:n,alt:""}),t("strong",null,"购物公园站"),e(",距学校约40分钟地铁,23分钟车程。")],-1),Zt=t("p",null,"隆重推荐一下酒吧集中地COCO PARK。COCO PARK的酒吧都比较国际化,很多外国人会来这里。有些酒吧的waiter也是老外,请用英文点单。 COCO PARK里有一家网红士多便利店。白天看起来就是一家普普通通的便利店,还会嫌它货品少。入夜,八点之后,酒吧开放。拉开冰柜里面就是一条暗道,走进去是Speakeasy酒吧。二楼的入口还有机关,蛮有意思的一家店。",-1),gt=t("p",null,"部分推荐酒吧:",-1),Bt=t("p",null,"EDEN:氛围较好,分为内场与外场,内场为夜店,外场为酒吧。外场鸡尾酒均价68元,适合与朋友小酌。",-1),jt=t("p",null,"Sicilia西西里",-1),xt={id:"华强北",tabindex:"-1"},Gt=t("a",{class:"header-anchor",href:"#华强北","aria-hidden":"true"},"#",-1),Pt={href:"https://ditu.amap.com/place/B0FFHOSXAJ",target:"_blank",rel:"noopener noreferrer"},Ht=t("p",null,[t("img",{src:n,alt:""}),t("strong",null,"华新站"),e(",地铁60分钟。")],-1),Mt=t("p",null,"中国最大电子商场之一;有地下商业街和多个购物中心;有深圳文化介绍;附近有图书馆,歌剧院等。",-1),ft={id:"华润万象城",tabindex:"-1"},Wt=t("a",{class:"header-anchor",href:"#华润万象城","aria-hidden":"true"},"#",-1),Yt={href:"https://ditu.amap.com/place/B02F30AAQI",target:"_blank",rel:"noopener noreferrer"},Nt=l('

    大剧院站,地铁50分钟。

    目前深圳最大的购物中心,是集零售、餐饮、娱乐、休闲、文化、康体于一身的“一站式”商业消费中心。购物中心位于罗湖的CBD,深圳书城的旁边。商场里面的环境非常好,很舒适,配套设施也很齐全。商场内有很多世界著名的高端品牌,几乎你能想到的品牌,在这里都能找到。

    🏠城中村

    田寮村

    深圳大学西丽校区南门(惟理门)对面,有一些特色小吃店/餐馆。

    福光新村

    由原址在南科大的福光村搬迁而来,在田寮村西边,有小吃店、餐馆。福光社区工作站有港澳通行证自动续签机。

    塘朗村

    天天吃食堂多少会觉得有些厌倦,不妨周末出门小搓一顿,犒劳一下勤奋又聪明的自己。最烟火气食物都藏在村里。哪家粥铺最好吃?这是一届届总结流传的小秘密。糖水,烧烤,椰子鸡……来自四方的食物很自然的流入城市的洼地,不管你从哪里来,总能在村里找到一碗乡愁。

    在福光新村西边,较大的城中村,可以配钥匙。塘朗社区工作站有港澳通行证自动续签机。

    集悦城

    集悦城有蛮多小酒馆,南科大的学长在那里开了一个叫“海浪15”的酒吧。店主有时候能弄出奇奇怪怪又蛮好喝的特调。店里面还有复古游戏机,浓浓的美帝复古风。个人比较中意MAB,点一杯单一麦芽威士忌不加冰——酒什么价冰什么价,冰一化就没有那种醇香了。

    🍴周边餐饮

    由树德书院学长团整理。

    • 疯码常德米粉:维也纳3好酒店旁,学苑大道1155号107铺,正宗湖南常德粉味,凭校园卡85折(柜台点单)

    • 秦元素:学苑大道与塘朗路交叉口,维也纳3好酒店旁,学苑大道1155-2号,凭校园卡88折(柜台点单)

    • 关中源:水木丹华商业街18号铺,凭校园卡88折(柜台点单)

    • 金达莱:学苑大道南科大雅苑1099号,满100减20元

    • 鱼品记:西丽街道塘朗崇文花园5A栋一楼34号,凭校园卡88折

      • 5-8人 送任意饮料(除苹果醋);8-12人 送一凉菜一荤菜;生日聚会员工帮庆祝送果拼盘+饮料+一荤菜
    • 任我行:南山区崇文花园5b栋商28号,校园卡9折

    • 至尊披萨:南山区塘朗社区唐益路129号塘朗工业园一楼108号铺

      • 美团外卖满40送一瓶饮料;微信电话订餐满100, 7.8折;到店凭校园卡,送两罐饮料
    • 老石烧烤:集悦城门口,凭校园卡88折并赠送饮料

    • 赤焰小串:西丽塘朗村集悦美食城B区4栋01-03号,校园卡9折

    • 一品轩:学苑大道水木丹华园1层-28号一号铺,校园卡88折

    • 原麦多多:桃源街道学苑大道塘朗崇文花园大生优品内,学生证88折

    • 泰渭果园:华晖云门1099号,校园卡9折

    • 轶茶空间:学苑大道1099号华晖云门40号铺,学生证8折

    • 鱼的错:学苑大道1155号塘朗元头巷5栋塘2229号(百果园旁)

    • 尤川麻辣烫:塘朗村54栋

    • 老谭黑鱼:学苑大道田寮大厦1楼

    • 沪上阿姨:学苑大道1155-1号

    • 雪满天:学苑大道1099号华晖云门34号商铺

    • 黄氏正轩:崇文花园东门6A36铺

    • 爽爽甜品:塘朗村1号一楼102铺

    • 益寿轩砂锅粥:西丽街道塘岭路崇文花园5A楼一楼25号

    • unicCoffee&猫咖:学苑大道1155号

    🏨住宿

    ',16),Rt={href:"https://amap.com/place/B0FFGLQ0E9",target:"_blank",rel:"noopener noreferrer"},At={href:"https://amap.com/place/B0FFF9VXYK",target:"_blank",rel:"noopener noreferrer"},kt=t("p",null,"邦拓美诺行政公寓、滨河云居精品公寓是新开业的酒店式公寓,位于2019年开业的塘朗城购物中心的写字楼内。距离地铁站距离小于200米,交通便利。高层的居住条件使得可以俯瞰南科大一号门全景。房间干净,设备齐全而且新,可用空间大,也不失为一个不错的选择。",-1),yt=t("h2",{id:"参考资料",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#参考资料","aria-hidden":"true"},"#"),e(" 参考资料")],-1),zt=t("ul",null,[t("li",null,"树德书院《南科行前记》"),t("li",null,"南科新知新生攻略")],-1);function Lt(wt,Dt){const i=c("ExternalLinkIcon");return p(),_("div",null,[b,t("h3",u,[Z,e(),t("a",g,[e("塘朗城"),a(i)])]),B,t("h3",j,[x,e(),t("a",G,[e("益田假日里"),a(i)])]),P,H,t("h3",M,[f,e(),t("a",W,[e("九方"),a(i)])]),Y,N,R,t("h3",A,[k,e(),t("a",y,[e("西丽天虹"),a(i)])]),z,L,t("h3",w,[D,e(),t("a",S,[e("民治大润发"),a(i)])]),C,T,F,t("h3",v,[Q,e(),t("a",V,[e("星河 Coco City"),a(i)])]),E,J,t("h3",X,[U,e(),t("a",O,[e("华侨城欢乐海岸"),a(i)])]),K,q,t("h3",$,[tt,e(),t("a",et,[e("海上世界"),a(i)])]),it,t("h3",at,[rt,e(),t("a",ot,[e("万象天地"),a(i)])]),lt,dt,t("h3",nt,[st,e(),t("a",ht,[e("国贸大厦"),a(i)])]),ct,pt,_t,t("h3",It,[mt,e(),t("a",bt,[e("福田星河COCO Park"),a(i)])]),ut,Zt,gt,Bt,jt,t("h3",xt,[Gt,e(),t("a",Pt,[e("华强北"),a(i)])]),Ht,Mt,t("h3",ft,[Wt,e(),t("a",Yt,[e("华润万象城"),a(i)])]),Nt,t("p",null,[e("校外的酒店则优先考虑"),t("a",Rt,[e("维也纳"),a(i)]),e("和"),t("a",At,[e("塘朗雅园"),a(i)]),e("。这两家酒店离学校很近,出一号门右转,步行8分钟即可到达。价格略贵,和前台小姐姐说你是南科大学生会有一定折扣。不过雅园的房间会比维也纳略大一些,因此大家可优先考虑雅园。")]),kt,yt,zt])}const Tt=h(m,[["render",Lt],["__file","index.html.vue"]]);export{Tt as default}; diff --git a/assets/index.html-aC3BbhBj.js b/assets/index.html-aC3BbhBj.js new file mode 100644 index 000000000..fd69c89b5 --- /dev/null +++ b/assets/index.html-aC3BbhBj.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-014445c8","path":"/organizations/","title":"🎡社团活动","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"注册社团列表","slug":"注册社团列表","link":"#注册社团列表","children":[]},{"level":2,"title":"社团","slug":"社团","link":"#社团","children":[]},{"level":2,"title":"社团组织简介","slug":"社团组织简介","link":"#社团组织简介","children":[{"level":3,"title":"团学组织","slug":"团学组织","link":"#团学组织","children":[]},{"level":3,"title":"体育竞技类学生团体","slug":"体育竞技类学生团体","link":"#体育竞技类学生团体","children":[]},{"level":3,"title":"志愿公益类学生团体","slug":"志愿公益类学生团体","link":"#志愿公益类学生团体","children":[]},{"level":3,"title":"其它在社团联合会登记的学生社团","slug":"其它在社团联合会登记的学生社团","link":"#其它在社团联合会登记的学生社团","children":[]},{"level":3,"title":"文化艺术类社团","slug":"文化艺术类社团","link":"#文化艺术类社团","children":[]},{"level":3,"title":"学术科技类社团","slug":"学术科技类社团","link":"#学术科技类社团","children":[]},{"level":3,"title":"创新创业类创新创业社团","slug":"创新创业类创新创业社团","link":"#创新创业类创新创业社团","children":[]}]},{"level":2,"title":"Tips","slug":"tips","link":"#tips","children":[{"level":3,"title":"如何选择心仪的社团","slug":"如何选择心仪的社团","link":"#如何选择心仪的社团","children":[]},{"level":3,"title":"关于社团,学长学姐还想说:","slug":"关于社团-学长学姐还想说","link":"#关于社团-学长学姐还想说","children":[]}]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"updatedTime":1658460499000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":9},{"name":"liziwl","email":"leezisy@gmail.com","commits":2},{"name":"NaN","email":"zhangnan1701@gmail.com","commits":1}]},"filePathRelative":"organizations/README.md"}');export{l as data}; diff --git a/assets/index.html-aC5Rcr8V.js b/assets/index.html-aC5Rcr8V.js new file mode 100644 index 000000000..3b93d2d67 --- /dev/null +++ b/assets/index.html-aC5Rcr8V.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-14e6315a","path":"/life/","title":"👨‍🎓生活在南科","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"住宿","slug":"住宿","link":"#住宿","children":[]},{"level":2,"title":"社团","slug":"社团","link":"#社团","children":[]},{"level":2,"title":"校内介绍","slug":"校内介绍","link":"#校内介绍","children":[]},{"level":2,"title":"餐饮","slug":"餐饮","link":"#餐饮","children":[]},{"level":2,"title":"超市","slug":"超市","link":"#超市","children":[]},{"level":2,"title":"理发店","slug":"理发店","link":"#理发店","children":[]},{"level":2,"title":"🏊‍♀️运动设施","slug":"🏊‍♀️运动设施","link":"#🏊‍♀️运动设施","children":[]},{"level":2,"title":"Tips","slug":"tips","link":"#tips","children":[]}],"git":{"updatedTime":1663771006000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":5},{"name":"liziwl","email":"leezisy@gmail.com","commits":4},{"name":"Ruan","email":"47767371+Ryyyc@users.noreply.github.com","commits":1},{"name":"lethal233","email":"11811407@mail.sustech.edu.cn","commits":1}]},"filePathRelative":"life/README.md"}');export{l as data}; diff --git a/assets/index.html-bjBGfI8H.js b/assets/index.html-bjBGfI8H.js new file mode 100644 index 000000000..8c8e746f9 --- /dev/null +++ b/assets/index.html-bjBGfI8H.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-d7188082","path":"/study/","title":"🎓学在南科","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"学号(SID)","slug":"学号-sid","link":"#学号-sid","children":[]},{"level":2,"title":"课程","slug":"课程","link":"#课程","children":[{"level":3,"title":"课程详述","slug":"课程详述","link":"#课程详述","children":[]},{"level":3,"title":"📖学习建议与攻略","slug":"📖学习建议与攻略","link":"#📖学习建议与攻略","children":[]},{"level":3,"title":"毕业生质量报告","slug":"毕业生质量报告","link":"#毕业生质量报告","children":[]},{"level":3,"title":"GPA换算表(本科)","slug":"gpa换算表-本科","link":"#gpa换算表-本科","children":[]},{"level":3,"title":"GPA换算表(研究生)","slug":"gpa换算表-研究生","link":"#gpa换算表-研究生","children":[]}]},{"level":2,"title":"学生手册","slug":"学生手册","link":"#学生手册","children":[]},{"level":2,"title":"培养方案(本科)","slug":"培养方案-本科","link":"#培养方案-本科","children":[]},{"level":2,"title":"📗教材与图书借还","slug":"📗教材与图书借还","link":"#📗教材与图书借还","children":[]},{"level":2,"title":"院系开放信息","slug":"院系开放信息","link":"#院系开放信息","children":[{"level":3,"title":"计算机科学与工程系","slug":"计算机科学与工程系","link":"#计算机科学与工程系","children":[]},{"level":3,"title":"人文中心","slug":"人文中心","link":"#人文中心","children":[]},{"level":3,"title":"语言中心","slug":"语言中心","link":"#语言中心","children":[]}]}],"git":{"updatedTime":1684333226000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":22},{"name":"liziwl","email":"leezisy@gmail.com","commits":11},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":1},{"name":"lethal233","email":"11811407@mail.sustech.edu.cn","commits":1}]},"filePathRelative":"study/README.md"}');export{l as data}; diff --git a/assets/index.html-bosJw3DF.js b/assets/index.html-bosJw3DF.js new file mode 100644 index 000000000..3e4f2665b --- /dev/null +++ b/assets/index.html-bosJw3DF.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-2a23f022","path":"/service/blackboard/retrive-ics-url/","title":"BB | 将Blackboard中作业,DDL等日程添加到系统日历","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"什么是ICS","slug":"什么是ics","link":"#什么是ics","children":[]},{"level":2,"title":"从Blackboard上获取ICS链接","slug":"从blackboard上获取ics链接","link":"#从blackboard上获取ics链接","children":[]},{"level":2,"title":"将URL导入iCloud(适用于IOS/MacOS设备)","slug":"将url导入icloud-适用于ios-macos设备","link":"#将url导入icloud-适用于ios-macos设备","children":[]},{"level":2,"title":"将URL导入Google Calendar","slug":"将url导入google-calendar","link":"#将url导入google-calendar","children":[]},{"level":2,"title":"将URL导入国产手机系统","slug":"将url导入国产手机系统","link":"#将url导入国产手机系统","children":[]}],"git":{"updatedTime":1592970118000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":1},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"service/blackboard/retrive-ics-url/README.md"}');export{l as data}; diff --git a/assets/index.html-dHRysKYB.js b/assets/index.html-dHRysKYB.js new file mode 100644 index 000000000..00c7b0f94 --- /dev/null +++ b/assets/index.html-dHRysKYB.js @@ -0,0 +1 @@ +import{_ as a,r as s,o as r,c,b as e,d as t,a as n,w as i}from"./app-9djxHuta.js";const _="/assets/apply-DKs9a8UR.png",u={},p=e("h1",{id:"申请回校vpn",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#申请回校vpn","aria-hidden":"true"},"#"),t(" 申请回校VPN")],-1),d=e("ol",null,[e("li",null,"下载申请表")],-1),h={href:"http://116.7.234.209/upload/files/its/VPN%E7%94%B3%E8%AF%B7%E8%A1%A8%E5%8D%95.pdf",target:"_blank",rel:"noopener noreferrer"},f={href:"http://zzjg.sustech.edu.cn/list.html?app_alias=oits&sort_alias=4110559ccf52ea13bcd44b6e816843b2&template_type_id=3&title=%E4%B8%8B%E8%BD%BD%E4%B8%93%E5%8C%BA",target:"_blank",rel:"noopener noreferrer"},m=e("p",null,[e("img",{src:_,alt:"例子"})],-1),B=e("p",null,"示例",-1),E=e("ol",{start:"2"},[e("li",null,[e("p",null,"填写申请表")]),e("li",null,[e("p",null,"提交申请表给生活导师或辅导员签字。")]),e("li",null,[e("p",null,[t("将表格发送至 "),e("a",{href:"mailto:its@sustech.edu.cn"},"its@sustech.edu.cn"),t(" 申请。")])])],-1),x=e("p",null,[e("em",null,"提示:此VPN的用途仅限回校访问数据库,无法作为其他用途。")],-1);function k(N,V){const l=s("ExternalLinkIcon"),o=s("RouterLink");return r(),c("div",null,[p,d,e("ul",null,[e("li",null,[e("p",null,[e("a",h,[t("南方科技大学 SSL VPN 用户开通申请表(链接1)"),n(l)])])]),e("li",null,[e("p",null,[e("a",f,[t("南方科技大学 SSL VPN 用户开通申请表(链接2)"),n(l)])]),m])]),B,E,x,e("p",null,[t("查看如何"),n(o,{to:"/service/network/use-vpn/"},{default:i(()=>[t("使用 SSL VPN 客户端说明")]),_:1}),t("。")])])}const v=a(u,[["render",k],["__file","index.html.vue"]]);export{v as default}; diff --git a/assets/index.html-daJSM3Gw.js b/assets/index.html-daJSM3Gw.js new file mode 100644 index 000000000..bb2ad98f2 --- /dev/null +++ b/assets/index.html-daJSM3Gw.js @@ -0,0 +1,39 @@ +import{_ as p,r,o as c,c as d,b as a,a as n,w as t,d as s,e as o}from"./app-9djxHuta.js";const u={},h=a("h1",{id:"🌐网络与信息中心-its-sustech-edu-cn",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#🌐网络与信息中心-its-sustech-edu-cn","aria-hidden":"true"},"#"),s(" 🌐网络与信息中心 (its@sustech.edu.cn)")],-1),k={class:"table-of-contents"},b=o('

    校内局域网

    南科大的校内局域网主要分为主要包含教学/科研/业务计算机的科研教学网段(172.18.0.0/16)和包含大部分师生员工的个人有线与无线设备的普通网段(10.16.0.0/13)。

    在普通网段中,10.20.0.0/1610.16.0.0/16为有线网段,10.22.0.0/16为电信自费宽带网段。

    ',3),v=a("code",null,"2001:DA8:201D::/48",-1),m={href:"http://www.nic.edu.cn/member-cgi/i6obj?query=SUSTC6-CERNET2",target:"_blank",rel:"noopener noreferrer"},_=a("h3",{id:"接入网络",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#接入网络","aria-hidden":"true"},"#"),s(" 接入网络")],-1),g=a("p",null,"南科大师生员工无需为互联网服务付费(电信自费宽带除外)。设备获取的内网IP地址在遵循前述原则下与Mac地址绑定,在较长的时间内不会改变。",-1),f={href:"http://172.16.16.20:8900/home",target:"_blank",rel:"noopener noreferrer"},x=a("ul",null,[a("li",null,"MAC 无感知认证:为无法进行 Web 认证的设备,例如:Nintendo Switch,智能音箱,进行入网认证。"),a("li",null,"查看上网设备"),a("li",null,"查看上网记录")],-1),y=a("h4",{id:"有线网络",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#有线网络","aria-hidden":"true"},"#"),s(" 有线网络")],-1),w=a("p",null,"接入学校有线网络暂时无需认证,接入电信自费宽带的有线网络时需要验证购买过套餐的同学的学号与密码。",-1),q=a("h4",{id:"无线网络",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#无线网络","aria-hidden":"true"},"#"),s(" 无线网络")],-1),E={href:"http://172.16.16.20:803/sustc_cas.php",target:"_blank",rel:"noopener noreferrer"},A={href:"https://www.whexy.com/post/openwrt-zhi-jie-jue-nan-ke-da-xiao-yuan-wang-deng-lu-nan-ti/",target:"_blank",rel:"noopener noreferrer"},C={class:"custom-container details"},S=o(`同学制作的无线网络登陆脚本
    #!/bin/bash
    +source /etc/profile
    +set -e
    +curl https://cas.sustech.edu.cn/cas/login?service=http%3A%2F%2F172.16.16.20%3A803%2Fsustc_cas.php > a.txt
    +s=$(grep -o -E "on\\"\\ value=\\"(.+?)\\"" a.txt)
    +echo $s
    +s=\${s#*\\"}
    +s=\${s#*\\"}
    +s=\${s%%\\"*}
    +echo $s
    +unm=此处填入教/学工号
    +pwd=此处填入密码
    +curl "https://cas.sustech.edu.cn/cas/login?service=http%3A%2F%2F172.16.16.20%3A803%2Fsustc_cas.php" --data "username=$unm&password=$pwd&execution=$s&_eventId=submit&geolocation="
    +
    `,2),$={href:"https://www.whexy.com/post/openwrt-zhi-jie-jue-nan-ke-da-xiao-yuan-wang-deng-lu-nan-ti/",target:"_blank",rel:"noopener noreferrer"},I={id:"湖畔宿舍区域的有线网络",tabindex:"-1"},P=a("a",{class:"header-anchor",href:"#湖畔宿舍区域的有线网络","aria-hidden":"true"},"#",-1),F=a("p",null,[s("湖畔区域墙上的网口仅能以百兆接入校园网。若需以千兆速度接入校园网,可使用AP上的网口接入校园网。"),a("strong",null,"AP上的网口仅能访问校园网内网,但不能访问校外网络"),s("。")],-1),N=a("h3",{id:"其他有关网络的问题",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#其他有关网络的问题","aria-hidden":"true"},"#"),s(" 其他有关网络的问题")],-1),B=a("h4",{id:"在路由器后获取ipv6地址",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#在路由器后获取ipv6地址","aria-hidden":"true"},"#"),s(" 在路由器后获取IPv6地址")],-1),T={href:"https://c.cra.moe/t/topic/38",target:"_blank",rel:"noopener noreferrer"},U=o('

    使用dhcpclient时获取不到IPv6地址

    • 通常是因为学校的DHCPv6服务器不响应DHCPv6 Solicitation造成的。此问题常出现在安装Debian/Ubuntu(使用dhcpclient作为dhcp客户端的发行版中),如果希望快速解决,可以尝试讲dhcp客户端更改为dhcpcd

    互联网

    出口

    ',4),M={href:"https://biddingoffice.sustc.edu.cn/search/news/id/5085/pid",target:"_blank",rel:"noopener noreferrer"},j=a("p",null,"学校目前对普通网段设备不限速(Fair Use@Up to 1000Mbps),对科研教学网段限速50Mbps,对教育网IPv4限速20Mbps,暂不对教育网IPv6限速。",-1),W={id:"电信自费宽带",tabindex:"-1"},D=a("a",{class:"header-anchor",href:"#电信自费宽带","aria-hidden":"true"},"#",-1),R=a("div",{class:"custom-container warning"},[a("p",{class:"custom-container-title"},"注意"),a("p",null,[s("由于学校已经放宽网络限速,电信宽带的性价比较低。建议参考"),a("a",{href:"#%E6%B9%96%E7%95%94%E5%AE%BF%E8%88%8D%E5%8C%BA%E5%9F%9F%E7%9A%84%E6%9C%89%E7%BA%BF%E7%BD%91%E7%BB%9C"},"湖畔宿舍区域的有线网络"),s("一节进行配置。")])],-1),z=a("p",null,"中国电信为居住于湖畔宿舍区的同学提供自费电信宽带。",-1),H=a("p",null,"宽带速率可选50Mbps和100Mbps。其中,100Mbps宽带和手机卡套餐的总价为70元/月。",-1),G=a("p",null,"电信自费宽带也需要使用购买套餐同学的校园卡账户登录后才可使用,登陆方式为Web认证。也有同学制作了第三方脚本以方便快速验证。",-1),L={href:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/service/network/CT_campus_broadband_plan.pdf",target:"_blank",rel:"noopener noreferrer"},O={class:"custom-container details"},V=o(`同学制作的电信自费网络登陆脚本
    loginurl="https://cas.sustech.edu.cn/cas/login"
    +authip="219.134.142.194"
    +# Insert your CAS info below:
    +username="YOUR_USER_NAME_HERE"
    +password="YOUR_PASSWORD_HERE"
    +
    +while [ true ]
    +do
    +	ret_code=\`curl -I -s --connect-timeout 5 http://www.baidu.com -w %{http_code} | tail -n1\`
    +
    +	if [ $ret_code -ne 200 ] ; then
    +		echo "Attempting to log in the enet system"
    +		rm -f /tmp/cascookie
    +
    +		# You may need to modify the following regex for different distros.
    +		routerip=$(ifconfig | grep -A 1 "^eth0.2" | grep -P -o "(?<=inet addr:).*(?=  Bcast)")
    +		eneturl="http://125.88.59.131:10001/sz/sz112/index.jsp?wlanuserip=$routerip&wlanacip=$authip"
    +		execution=$(curl --silent --cookie-jar /tmp/cascookies -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0" -L "$eneturl"  | grep -o 'execution.*/><input type' | grep -o '[^"]\\{50,\\}')
    +
    +		curl --silent --output /dev/null --cookie /tmp/cascookies --cookie-jar /tmp/cascookies -H "Content-Type: application/x-www-form-urlencoded" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0" -L -X POST "$loginurl" --data "username=$username&password=$password&execution=$execution&_eventId=submit&geolocation="
    +	else
    +		echo "Connected to Internet, recheck a second later"
    +	fi
    +	sleep 1s
    +done
    +
    `,2),X={href:"https://github.com/NewbieOrange/SUSTech-EnetLogin",target:"_blank",rel:"noopener noreferrer"},Y=o('

    信息中心

    信息中心老师的联系方式如下:

    岗位名称在岗人员名单联系方式
    主任杨海琨88010799
    副主任孙乔羽88010798
    运维管理管立生88010776
    综合保障刘敬、张炳坤88010780
    信息化管理郑善辉88010779
    招生信息化詹涵舒、韩少亮88010789
    教学信息化宋伟中88010788
    综合信息化朱朝阳88010775
    科技管理尹荣荣88010787
    项目管理陈毅88010726
    ',3),J={href:"http://116.7.234.209/wlzx",target:"_blank",rel:"noopener noreferrer"},K=o('
    • 南科大信息中心沟通群:434226835

    我可以请求信息中心做什么?

    关于学校提供的更多信息服务,请见服务一节

    选择合适的电子产品

    校内网络使用技巧

    ',8),Q={id:"同学自行运营的千兆网络加速服务",tabindex:"-1"},Z=a("a",{class:"header-anchor",href:"#同学自行运营的千兆网络加速服务","aria-hidden":"true"},"#",-1),aa=a("div",{class:"custom-container tip"},[a("p",{class:"custom-container-title"},"提示"),a("p",null,[s("你是否在为湖畔无法使用有线网络,或是校园网游戏丢包而苦恼?现在订阅SUSTC IX,即可以低至30元每月的价格畅享高达1Gbps的电信宽带,性价比远超湖畔电信并保证家庭宽带级别的低丢包率,任何宿舍区域均可订购,可一对一提供安装及技术支持。详情请咨询:qq "),a("strong",null,"2353508907"),s(" 或邮件 "),a("a",{href:"mailto:mai.sakurajima.qwq@gmail.com?subject=SUSTC%20IX%E5%92%A8%E8%AF%A2"},"mai.sakurajima.qwq@gmail.com")])],-1);function sa(na,ea){const e=r("router-link"),i=r("Badge"),l=r("ExternalLinkIcon");return c(),d("div",null,[h,a("nav",k,[a("ul",null,[a("li",null,[n(e,{to:"#校内局域网"},{default:t(()=>[s("校内局域网")]),_:1}),a("ul",null,[a("li",null,[n(e,{to:"#接入网络"},{default:t(()=>[s("接入网络")]),_:1})]),a("li",null,[n(e,{to:"#其他有关网络的问题"},{default:t(()=>[s("其他有关网络的问题")]),_:1})])])]),a("li",null,[n(e,{to:"#互联网"},{default:t(()=>[s("互联网")]),_:1}),a("ul",null,[a("li",null,[n(e,{to:"#出口"},{default:t(()=>[s("出口")]),_:1})])])]),a("li",null,[n(e,{to:"#电信自费宽带"},{default:t(()=>[s("电信自费宽带"),n(i,{text:"不再推荐",type:"warning"})]),_:1})]),a("li",null,[n(e,{to:"#信息中心"},{default:t(()=>[s("信息中心")]),_:1})]),a("li",null,[n(e,{to:"#我可以请求信息中心做什么"},{default:t(()=>[s("我可以请求信息中心做什么?")]),_:1})]),a("li",null,[n(e,{to:"#选择合适的电子产品"},{default:t(()=>[s("选择合适的电子产品")]),_:1})]),a("li",null,[n(e,{to:"#校内网络使用技巧"},{default:t(()=>[s("校内网络使用技巧")]),_:1})]),a("li",null,[n(e,{to:"#同学自行运营的千兆网络加速服务"},{default:t(()=>[s("同学自行运营的千兆网络加速服务"),n(i,{text:"广告",type:"tip"})]),_:1})])])]),b,a("p",null,[s("学校为支持IPv6的设备分配前缀为"),v,s("的IPv6地址。(仅教育网可访问:"),a("a",m,[s("SUSTC6-CERNET2"),n(l)]),s(")")]),_,g,a("p",null,[s("网络接入管理地址:"),a("a",f,[s("http://172.16.16.20:8900/home"),n(l)])]),x,y,w,q,a("p",null,[s("接入无线网络时,需要通过Web认证,输入学号与密码后才可上网,否则只能访问校内局域网,无线网络的认证地址为:"),a("a",E,[s("http://172.16.16.20:803/sustc_cas.php"),n(l)])]),a("p",null,[s("如联网设备不支持通过Web进行验证(如路由器,开发板等),可以尝试使用同学制作的"),a("a",A,[s("第三方脚本"),n(l)]),s("进行联网,或是更改可进行Web认证设备的Mac地址为不支持Web认证设备的Mac地址代为认证。")]),a("details",C,[S,a("p",null,[a("a",$,[s("给路由器写了一个登录南科大校园网的脚本"),n(l)])])]),a("h4",I,[P,s(" 湖畔宿舍区域的有线网络"),n(i,{text:"需特别配置",type:"warning"})]),F,N,B,a("ul",null,[a("li",null,[a("a",T,[s("https://c.cra.moe/t/topic/38"),n(l)])])]),U,a("p",null,[s("学校目前拥有4Gbps电信163出口带宽,2.5Gbps电信CN2出口带宽,以及1.5Gbps教育网出口带宽。"),a("a",M,[n(l)]),s("学校信息中心会将访问境外网站的流量发往CN2出口,因此学校内访问境外网站的质量会显著高于普通电信网络。")]),j,a("h2",W,[D,s(" 电信自费宽带"),n(i,{text:"不再推荐",type:"warning"})]),R,z,H,G,a("p",null,[a("a",L,[s("此处(PDF)"),n(l)]),s("是一份电信为南科大同学提供的学生卡套餐的具体内容(含流量与宿舍宽带)。")]),a("details",O,[V,a("p",null,[a("a",X,[s("NewbieOrange/SUSTech-EnetLogin"),n(l)])])]),Y,a("p",null,[a("a",J,[s("网络信息中心(页面即将停用)"),n(l)])]),K,a("h2",Q,[Z,s(" 同学自行运营的千兆网络加速服务"),n(i,{text:"广告",type:"tip"})]),aa])}const la=p(u,[["render",sa],["__file","index.html.vue"]]);export{la as default}; diff --git a/assets/index.html-eA3azVZi.js b/assets/index.html-eA3azVZi.js new file mode 100644 index 000000000..b409f92c3 --- /dev/null +++ b/assets/index.html-eA3azVZi.js @@ -0,0 +1 @@ +import{_ as i,r as s,o as d,c,b as e,a as n,w as l,d as r,e as o}from"./app-9djxHuta.js";const u={},_=o('

    🖥服务与技巧

    SID (Student ID) 相关

    🆔学号

    💳校园卡&学生证

    ',5),f=e("li",null,[e("a",{href:"./campus-card"},"校园卡")],-1),p=e("h2",{id:"信息服务",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#信息服务","aria-hidden":"true"},"#"),r(" 信息服务")],-1),b=e("h3",{id:"🌐校园网络",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#🌐校园网络","aria-hidden":"true"},"#"),r(" 🌐校园网络")],-1),k=e("li",null,[e("a",{href:"./network"},"校园网络介绍与连接指南"),e("ul",null,[e("li",null,[e("em",null,"(包括无线网络,有线网络与电信自费宽带)")])])],-1),m=e("li",null,[e("a",{href:"./network/eduroam"},"eduroam(学术网路漫游)")],-1),g=e("li",null,[e("a",{href:"./network/ipv6"},"校内 IPv6 设置教程")],-1),x=e("li",null,[e("a",{href:"./network/apply-for-vpn"},"回校 VPN 申请")],-1),w=e("h3",{id:"ehall",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#ehall","aria-hidden":"true"},"#"),r(" Ehall")],-1),S={href:"http://ehall.sustech.edu.cn/publicapp/sys/cjcxapp/index.do",target:"_blank",rel:"noopener noreferrer"},v={href:"http://ehall.sustech.edu.cn/publicapp/sys/pubswzlapp/index.do",target:"_blank",rel:"noopener noreferrer"},C=e("h3",{id:"计算机研究协会-cra",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#计算机研究协会-cra","aria-hidden":"true"},"#"),r(" 计算机研究协会(CRA)")],-1),A=e("p",null,"部分项目与科学计算中心合作部署。",-1),B={href:"https://mirrors.sustech.edu.cn/",target:"_blank",rel:"noopener noreferrer"},T=e("strong",null,"(已开放公网访问)",-1),L={href:"https://mirrors.sustech.edu.cn/git/",target:"_blank",rel:"noopener noreferrer"},P=e("strong",null,"(已开放公网访问)",-1),D={href:"https://speedtest.cra.moe/",target:"_blank",rel:"noopener noreferrer"},E={href:"http://live.cra.moe/",target:"_blank",rel:"noopener noreferrer"},N={href:"https://md.cra.moe/",target:"_blank",rel:"noopener noreferrer"},I=e("strong",null,"(已开放公网访问)",-1),O={href:"https://sharelatex.cra.ac.cn/",target:"_blank",rel:"noopener noreferrer"},y=e("strong",null,"自助注册",-1),M=e("strong",null,"并非以",-1),R=e("code",null,"sustech.edu.cn",-1),V=e("code",null,"sharelatex申请",-1),z=e("code",null,"service@cra.moe",-1),G={href:"https://sharelatex-ext.cra.ac.cn/",target:"_blank",rel:"noopener noreferrer"},U={href:"https://send.cra.moe/",target:"_blank",rel:"noopener noreferrer"},W={href:"https://dl.cra.moe/",target:"_blank",rel:"noopener noreferrer"},F={href:"https://monitor.cra.moe",target:"_blank",rel:"noopener noreferrer"},K={href:"https://nces.cra.moe/",target:"_blank",rel:"noopener noreferrer"},j={href:"https://c.cra.moe",target:"_blank",rel:"noopener noreferrer"},q=e("code",null,"10.20.110.123",-1),J={href:"https://scholar.google.com.hk/",target:"_blank",rel:"noopener noreferrer"},X=e("h3",{id:"牛娃小镇",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#牛娃小镇","aria-hidden":"true"},"#"),r(" 牛娃小镇")],-1),H=e("p",null,"部分项目与计算机研究协会(CRA)合作部署。",-1),Q={href:"https://nces.cra.moe/",target:"_blank",rel:"noopener noreferrer"},Y={href:"https://icourse.club/",target:"_blank",rel:"noopener noreferrer"},Z={href:"https://niko.cra.moe/",target:"_blank",rel:"noopener noreferrer"},$=e("h3",{id:"飞跃手册-申请与校招经验",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#飞跃手册-申请与校招经验","aria-hidden":"true"},"#"),r(" 飞跃手册:申请与校招经验")],-1),ee={href:"https://sustech-application.com?utm_source=online",target:"_blank",rel:"noopener noreferrer"},re=e("strong",null,"飞跃手册具有一定的时效性",-1),ne=e("h2",{id:"退税",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#退税","aria-hidden":"true"},"#"),r(" 退税")],-1),te=o('

    教学相关

    👨‍🏫Sakai

    🖨联创打印系统

    👨‍🏫BlackBoard

    ',6),ae=o('

    通讯相关

    📧电子邮件服务

    💬企业微信

    📦邮件与快递收发

    🏥医疗服务/就诊

    默认转诊医院变更

    学校的社区健康服务中心门诊转诊定点医疗机构已在2021年7月改为南方科技大学医院(西丽人民医院)。本文中的部分内容可能已经过时。

    软件授权

    学校已购买的软件与服务

    ',12),le={href:"http://172.18.7.160/",target:"_blank",rel:"noopener noreferrer"},oe=e("h3",{id:"教育邮箱福利",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#教育邮箱福利","aria-hidden":"true"},"#"),r(" 教育邮箱福利")],-1),se={href:"https://signup.microsoft.com/signup?sku=Education",target:"_blank",rel:"noopener noreferrer"},he=e("ul",null,[e("li",null,"仅有 Office online 套件,OneDrive 1TB 等"),e("li",null,"不含 桌面版 Office 365 许可")],-1),ie={href:"https://www.jetbrains.com/zh/student/",target:"_blank",rel:"noopener noreferrer"},de=e("ul",null,[e("li",null,"包含JetBarins旗下软件的教育授权")],-1),ce={href:"https://education.github.com/pack",target:"_blank",rel:"noopener noreferrer"},ue=e("ul",null,[e("li",null,"包含一年免费.me域名,Digital Ocean一年100美金代金券等服务。")],-1),_e={href:"https://www.autodesk.com.cn/education/free-software/featured",target:"_blank",rel:"noopener noreferrer"},fe=e("ul",null,[e("li",null,"软件授权为教育版")],-1),pe={id:"非官方windows套件激活服务",tabindex:"-1"},be=e("a",{class:"header-anchor",href:"#非官方windows套件激活服务","aria-hidden":"true"},"#",-1),ke={class:"custom-container details"},me=e("p",null,[e("strong",null,"Windows:")],-1),ge={href:"https://docs.microsoft.com/zh-cn/windows-server/get-started/kmsclientkeys#windows-10-all-supported-semi-annual-channel-versions",target:"_blank",rel:"noopener noreferrer"},xe=e("li",null,[r("以管理员身份启动cmd,设置kms服务器"),e("code",null,"slmgr /skms dns.cra.moe"),r(",设置密钥"),e("code",null,"slmgr /ipk [KMS客户端安装程序密钥]")],-1),we=e("li",null,[r("激活:"),e("code",null,"slmgr /ato")],-1),Se=e("p",null,[e("strong",null,"Office:")],-1),ve={href:"https://otp.landian.vip/zh-cn/",target:"_blank",rel:"noopener noreferrer"},Ce={href:"https://www.coolhub.top/archives/14",target:"_blank",rel:"noopener noreferrer"},Ae=e("code",null,"使用 Office Tool Plus 手动激活",-1),Be=e("code",null,"dns.cra.moe",-1),Te=e("p",null,"上述服务仅在学校内网有效。",-1),Le=e("h2",{id:"图书馆服务",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#图书馆服务","aria-hidden":"true"},"#"),r(" 图书馆服务")],-1),Pe=e("p",null,"除了常规的自习室与纸质书刊借阅服务外,图书馆还提供其他服务:",-1),De=e("h3",{id:"讨论间",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#讨论间","aria-hidden":"true"},"#"),r(" 讨论间")],-1),Ee={href:"https://booking.lib.sustech.edu.cn/",target:"_blank",rel:"noopener noreferrer"},Ne=e("p",null,"如果有尚未被预约的讨论间,也可以直接使用。",-1),Ie=e("h3",{id:"电子数据库",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#电子数据库","aria-hidden":"true"},"#"),r(" 电子数据库")],-1),Oe={href:"https://lib.sustech.edu.cn/sjk/list.htm",target:"_blank",rel:"noopener noreferrer"},ye=e("a",{href:"%5Bhttps://lib.sustech.edu.cn/xwfw_154/list.htm%5D"},"从此进入",-1),Me={href:"https://www.cnki.net",target:"_blank",rel:"noopener noreferrer"},Re={href:"https://fsso.cnki.net/Shibboleth.sso/Login?entityID=https://idp.sustech.edu.cn/idp/shibboleth&target=https://fsso.cnki.net/secure/default.aspx&locale=zh_CN",target:"_blank",rel:"noopener noreferrer"},Ve={href:"https://eduai.baidu.com/",target:"_blank",rel:"noopener noreferrer"},ze={href:"https://lib.sustech.edu.cn/2021/0226/c297a2544/page.htm",target:"_blank",rel:"noopener noreferrer"},Ge={href:"https://lib.sustech.edu.cn/2021/0226/c297a2541/page.htm",target:"_blank",rel:"noopener noreferrer"},Ue=e("h3",{id:"图书馆荐购",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#图书馆荐购","aria-hidden":"true"},"#"),r(" 图书馆荐购")],-1),We=e("p",null,"可以通过以下任意方式荐购图书:",-1),Fe=e("li",null,"至图书馆服务台领取荐购单填写信息后交给服务台。",-1),Ke={href:"https://lib.sustech.edu.cn/dzjg/list.htm",target:"_blank",rel:"noopener noreferrer"},je=e("li",null,[r("发送荐购信息至邮箱"),e("a",{href:"mailto:lib_acq@sustech.edu.cn"},"lib_acq@sustech.edu.cn"),r("荐购。")],-1),qe=o('

    教工/学生邮箱的报刊减免

    图书馆数据库包含部分外文报刊,但仅限通过数据库访问;Web端,移动端无法访问。部分报刊官网提供教工/学生订阅减免:

    1. Financial Times, 邮箱注册并通过FT人工审核后免费使用(含APP)
    2. Economist, 提供仅面向学生的费用减免(含APP)
    3. Le Monde, 提供教工/学生减免(含APP)

    什么值得买

    生活好物

    电子设备

    平板电脑

    ',8),Je={href:"https://buyersguide.macrumors.com/",target:"_blank",rel:"noopener noreferrer"},Xe=e("h2",{id:"校园标识-文档模版",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#校园标识-文档模版","aria-hidden":"true"},"#"),r(" 校园标识 / 文档模版")],-1),He={href:"http://files.sustech.edu.cn/",target:"_blank",rel:"noopener noreferrer"},Qe={href:"https://github.com/SUSTC/latex-template",target:"_blank",rel:"noopener noreferrer"};function Ye(Ze,$e){const a=s("RouterLink"),t=s("ExternalLinkIcon"),h=s("Badge");return d(),c("div",null,[_,e("ul",null,[f,e("li",null,[n(a,{to:"/service/student-train-ticket/"},{default:l(()=>[r("火车票学生优惠使用指南")]),_:1})])]),p,b,e("ul",null,[k,m,g,x,e("li",null,[n(a,{to:"/service/network/use-vpn/"},{default:l(()=>[r("使用 SSL VPN 客户端说明")]),_:1})]),e("li",null,[n(a,{to:"/service/network/#%E4%BF%A1%E6%81%AF%E4%B8%AD%E5%BF%83"},{default:l(()=>[r("信息中心相关信息")]),_:1})])]),w,e("ol",null,[e("li",null,[e("a",S,[r("SUSTech ehall | 成绩查询"),n(t)])]),e("li",null,[e("a",v,[r("SUSTech ehall | 失物招领"),n(t)])])]),C,A,e("ol",null,[e("li",null,[e("a",B,[r("💿SUSTech/CCSE/CRA/LUG镜像站"),n(t)]),r(":包含常用镜像与软件源 "),T,r("。")]),e("li",null,[e("a",L,[r("💾Git 服务"),n(t)]),r(":使用GitLab部署的代码托管服务。可用CAS登陆 "),P,r("。")]),e("li",null,[e("a",D,[r("📶校园网测速"),n(t)]),r(":内网测速。")]),e("li",null,[e("a",E,[r("📺校园直播"),n(t)]),r(":日常校园风景直播,可提供校内社团活动、分享会、座谈会直播支持,详情咨询CRA的同学。")]),e("li",null,[e("a",N,[r("📄Markdown"),n(t)]),r(":在线 Markdown 服务,可用CAS登陆 "),I,r("。")]),e("li",null,[e("a",O,[r("📄ShareLaTeX"),n(t)]),r(":在线LaTex服务,Overleaf服务,想体验的同学请"),y,r(",如果邮箱"),M,R,r("结尾,请用南科大邮箱发一封标题为 "),V,r(" 的邮件(写明需要开通账户人的邮箱)到 "),z,r(",看到邮件之后会手动给大家发送邀请。(如果在您在校外,可以通过 "),e("a",G,[r("https://sharelatex-ext.cra.ac.cn/"),n(t)]),r(" 访问)。")]),e("li",null,[e("a",U,[r("📁Send 文件分享"),n(t)]),r(":上传最大10G的文件,并使用链接将文件分享给在校园网下的其他的同学。文件默认于服务上存储10天,最多可保存30天。文件被加密存储于科学计算中心的服务器上,仅链接拥有者可以访问。(后台无法看到文件的内容)您同时也可以在上传文件后主动删除文件或者设置成在一次下载后自动删除文件。")]),e("li",null,[e("a",W,[r("🛠 软件资源下载"),n(t)])]),e("li",null,[e("a",F,[r("🖥️服务状态监控"),n(t)]),r(":校园网络,CRA服务监控。")]),e("li",null,[e("a",K,[r("牛娃课程评价社区"),n(t)]),r(":是南科大学生的课程评价社区,只有拥有南科大邮箱的同学或老师才可以注册账户。")]),e("li",null,[r("🌊"),e("a",j,[r("牛娃广场(反馈社区)"),n(t)]),r(":反馈与交流相关服务,现在已与牛娃小镇共同运营。可使用CAS登陆。")]),e("li",null,[r("DNS123服务:"),q,r(",可通过此服务访问"),e("a",J,[r("Google Scholar"),n(t)]),r("等学术服务。")])]),X,H,e("ol",null,[e("li",null,[e("a",Q,[r("牛娃课程评价社区"),n(t)]),r(":南科大学生的课程评价社区,因此,只有拥有南科大邮箱的同学或老师才可以注册账户。"),e("a",Y,[r("中科大同款评教系统"),n(t)]),r(",赓续教改初心。")]),e("li",null,[e("a",Z,[r("牛娃广场"),n(t)]),r(":校园论坛。")])]),$,e("p",null,[e("a",ee,[r("南科大飞跃手册"),n(t)]),r("共有五部分,分别为英语学习,海外交流,选校经验,申请注意事项和个人申请总结,力求为 “如何在南方科技大学为申请国内、海外高校和入职优秀企业做出更全面的准备“ 这一问题作出解答。需要特别指出的是,"),re,r(",比如一些热门专业每年的申请形式都会发生极大变化,再比如当我们谈及“xx专业19fall是史上最难申请的一年”,这有可能意味着20fall会更难申请,所以参考往年飞跃手册时请注意。")]),ne,e("ul",null,[e("li",null,[n(a,{to:"/service/tax/"},{default:l(()=>[r("如何申报退税?-- 年度个人所得税年度汇算")]),_:1})])]),te,e("ul",null,[e("li",null,[n(a,{to:"/service/blackboard/retrive-ics-url/"},{default:l(()=>[r("Blackboard|将Blackboard中作业,DDL等日程添加到系统日历")]),_:1})])]),ae,e("ol",null,[e("li",null,[n(a,{to:"/service/matlab/"},{default:l(()=>[r("Matlab")]),_:1})]),e("li",null,[r("WPS政府版:请在"),e("a",le,[r("此处(内网)"),n(t)]),r("下载")])]),oe,e("ol",null,[e("li",null,[e("a",se,[r("Office 365"),n(t)]),he]),e("li",null,[e("a",ie,[r("Jetbrains 全家桶"),n(t)]),de]),e("li",null,[e("a",ce,[r("Github Student Pack"),n(t)]),ue]),e("li",null,[e("a",_e,[r("AutoDesk软件"),n(t)]),fe])]),e("h3",pe,[be,r(" 非官方Windows套件激活服务"),n(h,{text:"仅限学习与评估用途",type:"warning"})]),e("details",ke,[me,e("ol",null,[e("li",null,[r("在"),e("a",ge,[r("此处"),n(t)]),r("查找希望激活的Windows版本,记下相应的KMS客户端安装程序密钥。")]),xe,we]),Se,e("ol",null,[e("li",null,[e("a",ve,[r("下载Office Tool Plus"),n(t)])]),e("li",null,[r("参考 "),e("a",Ce,[r("https://www.coolhub.top/archives/14"),n(t)]),r(" 中的 "),Ae,r(" 一节,将KMS服务器设置为"),Be,r("。")])]),Te]),Le,Pe,De,e("p",null,[r("可供小组讨论的隔音空间,一般需要提前预约,"),e("a",Ee,[r("预约系统地址(点此)"),n(t)]),r("。")]),Ne,Ie,e("p",null,[r("截至2020年10月,图书馆共购买了152个数据库。下面列出常用的几个数据库,详细列表请查看图书馆网站上的"),e("a",Oe,[r("《数据库导航》"),n(t)]),r(",如需校外访问,请"),ye,r("。")]),e("ol",null,[e("li",null,[e("a",Me,[r("CNKI中国知网数据库(校内免费下载)"),n(t)])]),e("li",null,[e("a",Re,[r("CNKI中国知网数据库(校外访问入口)"),n(t)])]),e("li",null,[e("a",Ve,[r("百度文库高校版(校内免费下载)"),n(t)])]),e("li",null,[e("a",ze,[r("Wind资讯金融数据库(图书馆三楼/慧园三栋313办公室)"),n(t)])]),e("li",null,[e("a",Ge,[r("新东方多媒体学习库数据库(校内外都可直接使用)"),n(t)])])]),Ue,We,e("ul",null,[Fe,e("li",null,[r("在图书馆"),e("a",Ke,[r("官网荐购页面"),n(t)]),r("填写荐购信息。")]),je]),qe,e("p",null,[r("如需购买苹果产品,请参考"),e("a",Je,[r("macrumors buyers guide"),n(t)]),r("。")]),Xe,e("ul",null,[e("li",null,[r("南科大品牌文化服务网(标识,VI,信纸,ppt模版下载)"),e("a",He,[r("http://files.sustech.edu.cn/"),n(t)]),r("(需CAS认证)")]),e("li",null,[e("a",Qe,[r("SUSTech LaTex 模板目录"),n(t)])])])])}const rr=i(u,[["render",Ye],["__file","index.html.vue"]]);export{rr as default}; diff --git a/assets/index.html-eFzoofSP.js b/assets/index.html-eFzoofSP.js new file mode 100644 index 000000000..96a158491 --- /dev/null +++ b/assets/index.html-eFzoofSP.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-42c1fa44","path":"/service/campus-card/","title":"💳校园卡","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"卡面颜色","slug":"卡面颜色","link":"#卡面颜色","children":[]},{"level":2,"title":"校园卡二维码","slug":"校园卡二维码","link":"#校园卡二维码","children":[]},{"level":2,"title":"充值","slug":"充值","link":"#充值","children":[{"level":3,"title":"现金充值","slug":"现金充值","link":"#现金充值","children":[]},{"level":3,"title":"自助机充值","slug":"自助机充值","link":"#自助机充值","children":[]},{"level":3,"title":"微信充值","slug":"微信充值","link":"#微信充值","children":[]},{"level":3,"title":"支付宝充值","slug":"支付宝充值","link":"#支付宝充值","children":[]},{"level":3,"title":"办公接待卡充值","slug":"办公接待卡充值","link":"#办公接待卡充值","children":[]},{"level":3,"title":"校园宝充值","slug":"校园宝充值","link":"#校园宝充值","children":[]}]},{"level":2,"title":"消费系数","slug":"消费系数","link":"#消费系数","children":[]},{"level":2,"title":"挂失,补办,注销","slug":"挂失-补办-注销","link":"#挂失-补办-注销","children":[{"level":3,"title":"挂失、解挂","slug":"挂失、解挂","link":"#挂失、解挂","children":[]},{"level":3,"title":"补办","slug":"补办","link":"#补办","children":[]},{"level":3,"title":"注销","slug":"注销","link":"#注销","children":[]}]},{"level":2,"title":"模拟校园卡","slug":"模拟校园卡","link":"#模拟校园卡","children":[]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"updatedTime":1620134795000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":2},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":2}]},"filePathRelative":"service/campus-card/README.md"}');export{l as data}; diff --git a/assets/index.html-eZN7hoJc.js b/assets/index.html-eZN7hoJc.js new file mode 100644 index 000000000..832cbba33 --- /dev/null +++ b/assets/index.html-eZN7hoJc.js @@ -0,0 +1 @@ +import{_ as o,r as e,o as a,c as p,b as s,d as t,a as n,e as i}from"./app-9djxHuta.js";const _="/assets/IMG_20210126_195932-nD6GLouo.jpg",c="/assets/IMG_20210126_195856-18hfvpFY.jpg",l="/assets/IMG_20210123_205049-cPc0bUDM.jpg",g="/assets/IMG_20210126_195515-j5iDfCtq.jpg",h="/assets/IMG_20210126_195546-M6kBcnJJ.jpg",d="/assets/IMG_20210126_200439_edit_7106211807769-r72WW1j6.jpg",m="/assets/59cf84079d9ff4f9-ujShyhGG.jpg",u="/assets/IMG_20210126_205908-ncwgn3B3.jpg",f="/assets/IMG_20210126_205402-YGDH55As.jpg",j="/assets/IMG_20210126_210458-maa6HknS.jpg",x="/assets/IMG_20210126_210550-oND9JUxH.jpg",b="/assets/IMG_20210126_210622-FpsRcWyI.jpg",G="/assets/Screenshot_20210128_114248_com.MobileTicket-1oAQbIdG.jpg",I="/assets/IMG_20210126_211345-SA56pTHu.jpg",M={},k=s("h1",{id:"火车票学生优惠使用指南",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#火车票学生优惠使用指南","aria-hidden":"true"},"#"),t(" 火车票学生优惠使用指南")],-1),q=s("p",null,[s("em",null,"由 周翊澄 贡献")],-1),v=s("p",null,"本指南包含对火车票学生优惠的写卡,充磁,验证,购票,进站等操作的说明。",-1),A={href:"https://mp.weixin.qq.com/s/mv_iz01Za4RWPq8qvjnclA",target:"_blank",rel:"noopener noreferrer"},B=i('

    写卡

    第一次使用学生优惠的同学需要将身份证信息写入优惠卡中(优惠卡是学生证中的一页)(图1)

    图1 图1(图源南科大学生事务中心)

    充磁

    学生优惠每学年只能使用4次,因此每年寒假前需要到南科大中心二层学生事务中心进行充磁(大一新生无需充磁) 充磁机器有两种,放在事务中心前台桌上。建议直接咨询前台学生助理,说学生证充磁即可。

    图2 图2

    图3 图3

    自助终端机充磁:选择购票次数充值(图4),放置学生证充磁。高年级或研究生同学如遇到图5情况或充磁后优惠次数不等于4次(图6),请使用小机器充磁。

    图4 图4

    图5 图5

    图6 图6

    小机器充磁:将学生证放置在小机器上(图7),按确认即可。(如找不到小机器请咨询前台学生助理)

    图7 图7

    验证

    学生优惠资质可以登录铁路12306APP在线核验了,线下核验渠道仍保留!

    因为每年学生优惠资质会自动解绑,所以每学年首次使用学生优惠需携带身份证学生证深圳北站自助售票机或售票窗口验证学生优惠资质并且取出报销凭证,走人工验证通道进站。(图8)

    图8 图8

    火车站部分机器无法识别学生证,建议使用自动售票处2和自动售票处3的小机器(图9)验证学生优惠资质并取出报销凭证

    图9 图9

    操作方法(图10 ):选择优惠资质绑定,将学生证身份证依次放置在证件识别区(图11)。选择取报销凭证,将身份证放置在证件识别区。选择信息查询将身份证放置在证件识别区可查询已扣优惠次数(图12)。

    图10 图10

    图11 图11

    图12 图12

    购票

    疫情后,学生票一年四次,全年可买,以每年10月1日为计数界限。

    • 普速列车学生票,硬座为半价,硬卧为(硬卧原价-0.5✖硬座原价)
    • 动车组列车二等座按公布票价的75%计算。某些公布票价很高,而实际票价较低的动车组列车,如果实际票价已经低于公布票价的75%,此时二等座学生票仍可购买,但是将不会获得优惠。

    购票(以12306 App为例)添加乘车人时将旅客类型设置为学生即可。(图13)

    图13 图13

    接续换乘

    如果从深圳到家没有直达的火车,可以在中途车站转乘其他车次列车。这种操作叫做接续换乘

    学生票接续换乘时请注意以下事项:

    1. 请预留足够的换乘时间,包括考虑列车可能的晚点
    2. 换乘可以是不同的车站,但是必须在同一个城市。
    3. 一次学生票机会(一年四次)最多购买三段区间,也就是最多进行两次换乘。前后段都买学生票但是中段不买学生票,会被计作两次学生票。但是只买中间一段区间的学生票也是允许的。
    4. 换乘时间不得超过72小时,否则也会被计作两次。
    5. 理论上只能买最短路程,或直达车经过的线路。实际操作中,只要不是明显的绕路都可以出学生票。

    进站

    • 如果在绑定资质前就购买了车票,乘车前需取出报销凭证并走人工验证通道(图14)进站,之后三次可直接刷身份证进站。(乘车时请随身携带学生证以备工作人员查验)
    • 如果购票前已经绑定了学生资质,则不需要取报销凭证,可直接刷身份证进站乘车。

    图14 图14

    后言

    铁路部门全面实施电子客票对于新生使用学生优惠可能造成一定的困惑,希望本文能给各位同学提供些许帮助。一切以实际情况为准,如遇到困难及时寻求人工帮助,不要和机器作斗争。请大家注意出行安全,保管好重要证件,做好疫情防护,遇到紧急情况可拨打110。本文仓促写成,如有笔误请联系476084612(QQ)。

    南科大交通协会(筹)的成员更正了本文的一些过时内容,希望可以帮助到有需要的同学。也欢迎校内交通爱好者加入 931634170(QQ)。

    参考资料:

    ',39),N={href:"https://kyfw.12306.cn/otn/gonggao/student.html",target:"_blank",rel:"noopener noreferrer"},D={href:"https://mp.weixin.qq.com/s/nl3FuXB1HKKLJjc_NuJPgg",target:"_blank",rel:"noopener noreferrer"};function H(J,P){const r=e("ExternalLinkIcon");return a(),p("div",null,[k,q,v,s("p",null,[t("2022春节火车票特别优惠活动(广东学联提供):"),s("a",A,[t("高校学生补贴-减10元"),n(r)])]),B,s("ul",null,[s("li",null,[s("a",N,[t("中国铁路12306-出行指南-常见问题-学生"),n(r)])]),s("li",null,[s("a",D,[t("转发!学生票优惠次数、票价怎么算?"),n(r)])])])])}const S=o(M,[["render",H],["__file","index.html.vue"]]);export{S as default}; diff --git a/assets/index.html-f3nRAgF_.js b/assets/index.html-f3nRAgF_.js new file mode 100644 index 000000000..932a4796a --- /dev/null +++ b/assets/index.html-f3nRAgF_.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-04710004","path":"/life/dormitory/","title":"🏠住在南科","lang":"zh-CN","frontmatter":{"sidebar":"auto"},"headers":[{"level":2,"title":"宿舍平面图","slug":"宿舍平面图","link":"#宿舍平面图","children":[]},{"level":2,"title":"概况","slug":"概况","link":"#概况","children":[]},{"level":2,"title":"设施","slug":"设施","link":"#设施","children":[{"level":3,"title":"储物柜","slug":"储物柜","link":"#储物柜","children":[]},{"level":3,"title":"用电器","slug":"用电器","link":"#用电器","children":[]},{"level":3,"title":"公共设施","slug":"公共设施","link":"#公共设施","children":[]},{"level":3,"title":"宿舍公约","slug":"宿舍公约","link":"#宿舍公约","children":[]}]},{"level":2,"title":"宿舍生活上的其他问题","slug":"宿舍生活上的其他问题","link":"#宿舍生活上的其他问题","children":[{"level":3,"title":"怎么对付蚊子?","slug":"怎么对付蚊子","link":"#怎么对付蚊子","children":[]},{"level":3,"title":"杀虫剂","slug":"杀虫剂","link":"#杀虫剂","children":[]},{"level":3,"title":"洗洁精,洁厕灵,洗手液等","slug":"洗洁精-洁厕灵-洗手液等","link":"#洗洁精-洁厕灵-洗手液等","children":[]},{"level":3,"title":"除湿袋","slug":"除湿袋","link":"#除湿袋","children":[]},{"level":3,"title":"烘干器","slug":"烘干器","link":"#烘干器","children":[]},{"level":3,"title":"雨伞,雨衣","slug":"雨伞-雨衣","link":"#雨伞-雨衣","children":[]},{"level":3,"title":"防晒","slug":"防晒","link":"#防晒","children":[]},{"level":3,"title":"物业","slug":"物业","link":"#物业","children":[]},{"level":3,"title":"书立,文件夹","slug":"书立-文件夹","link":"#书立-文件夹","children":[]},{"level":3,"title":"怎么洗衣服洗鞋","slug":"怎么洗衣服洗鞋","link":"#怎么洗衣服洗鞋","children":[]},{"level":3,"title":"空间利用的小建议","slug":"空间利用的小建议","link":"#空间利用的小建议","children":[]}]}],"git":{"updatedTime":1658805663000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":5},{"name":"liziwl","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"life/dormitory/README.md"}');export{l as data}; diff --git a/assets/index.html-fkqQJgzI.js b/assets/index.html-fkqQJgzI.js new file mode 100644 index 000000000..867e7a3a9 --- /dev/null +++ b/assets/index.html-fkqQJgzI.js @@ -0,0 +1 @@ +import{_ as n,r as h,o as d,c as t,b as e,d as l,a,e as r}from"./app-9djxHuta.js";const o={},s=r('

    🏊‍♀️运动设施

    本页面树德书院学长团编写。

    游泳馆

    • 位置:风雨操场游泳馆

    • 开放时间:每年约4月初至12月初开放。(具体以邮件通知为准)开放时间为周一16:00-21:30;周二至周日6:30-21:30.

    注意事项

    1. 为保障游泳教学,游泳课时段不对其他人员开放。
    2. 雷雨大风天气等特殊天气,游泳馆将临时闭馆。
    3. 每周一05:30-16:00闭馆对游泳池进行清洗、消毒。
    4. 开馆期间凭本人校园卡进入。
    5. 游泳期间请服从游泳馆管理员及救生员安排,避免发生安全事故。
    6. 场馆预约热线:0755-88010650(内线80650)。

    体能训练中心

    ',7),c=e("li",null,"位置:润扬体育馆",-1),u={href:"http://sport.sustc.edu.cn/booking/public/mobile",target:"_blank",rel:"noopener noreferrer"},_=e("blockquote",null,[e("p",null,"南方科技大学国际体能中心位于润杨体育四楼,是集体能评估、运动康复、体能训练于一体的国际化体能中心,包括身体运动功能分析测力台、人体成分分析仪、量子功能性身体康复训练、肌肉深层按摩器与按摩轴、全速康复训练仪、身体各部位训练机、大型空气压缩机与小型力量综合训练架等训练器材与设备。配套设备包括淋浴、卫生间。同时配有专业指导教练。")],-1),p=e("h3",{id:"注意事项-1",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#注意事项-1","aria-hidden":"true"},"#"),l(" 注意事项")],-1),b=e("ol",null,[e("li",null,"凭预约信息及有效证件入场。"),e("li",null,"穿着运动鞋入场。"),e("li",null,"预约后如果不能在此时间段进场运动,需提前2小时取消预约,否则15日内不能进入该场馆。")],-1),f=e("h2",{id:"搏击馆",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#搏击馆","aria-hidden":"true"},"#"),l(" 搏击馆")],-1),x=e("li",null,"位置:风雨操场搏击馆",-1),k={href:"http://sport.sustc.edu.cn/booking/public/mobile",target:"_blank",rel:"noopener noreferrer"},m=e("blockquote",null,[e("p",null,"南科大搏击训练馆是集武术散打、拳击、自由搏击、脚斗士、摔跤、MMA、巴西柔术、跆拳道等竞技体育专项技术、专项体能训练及实战对抗于一体的国际化训练中心。场馆内配有国际比赛标准的职业搏击擂台、UFC世界搏击最高平台相同标准的日常训练设施装备,以及引进先进的电子教学、测试系统,配置LED显示屏幕。")],-1),g=e("h2",{id:"击剑馆",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#击剑馆","aria-hidden":"true"},"#"),l(" 击剑馆")],-1),q=e("ul",null,[e("li",null,"位置:润扬体育馆一楼"),e("li",null,"练习室开放时间/击剑社活动时间:周四19:00-21:00;周日15:00-17:00")],-1),E=e("h2",{id:"户外运动公园",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#户外运动公园","aria-hidden":"true"},"#"),l(" 户外运动公园")],-1),N=e("li",null,[e("p",null,"位置:润扬体育馆旁")],-1),V={href:"http://sport.sustc.edu.cn/booking/public/mobile",target:"_blank",rel:"noopener noreferrer"},v=r('

    包含攀岩墙和真人CS场地。

    篮球场

    • 位置:风雨操场篮球馆(室内)教师公寓旁(标准篮球场2块)欣园(标准篮球场7块)
    • 开放时间:风雨操场、欣园篮球场:8:00-22:00 教师公寓旁:8:00-12:00、14:00-21:00

    足球场

    • 位置:松禾体育场(11人制标准足球场1块)欣园(5人制标准足球场2块)
    • 开放时间:8:00-22:00

    排球场

    • 位置:风雨操场篮球馆旁边

    • 开放时间:8:00-22:00

    羽毛球场

    • 位置:润杨体育馆(标准羽毛球场10块)
    • 开放时间:8:00-22:00

    网球场

    • 位置:教师公寓旁(标准网球场2块)欣园(标准网球场7块+练习场1块)
    • 开放时间:8:00-22:00

    棒球场

    • 位置:教师公寓到三号门间
    • 开放时间:暂时只在大型赛事开放。

    棒球运动是一种以棒打球为主要特点,集体性、对抗性很强的球类运动项目。它在国际上开展较为广泛,影响较大。

    乒乓球馆

    • 位置:湖畔书院四栋一层二教一层
    • 开放时间:23:00闭馆

    台球馆

    • 位置:湖畔书院二栋一层开放时间:全天

    台球是一项别有趣味的休闲运动。书院楼下有可以免费使用的台球桌,但是领取球和球杆还是要押学生卡的。

    田径场

    • 位置:松禾体育场
    • 开放时间:8:00-22:00(熄灯时间)

    舞蹈房

    • 位置:湖畔舞蹈房(湖畔3栋楼下)荔园舞蹈房(荔园6栋)
    • 开放时间:23:00闭馆

    在舞蹈房,你可以跳优雅的拉丁,酷炫的街舞,或是做舒缓的瑜伽。你可以在这里尽情地释放自我。和相关社团成员一起享用效果更佳哦。

    健身房

    • 位置:湖畔健身房(湖畔三栋楼下)

    • 开放时间:全天不关门,深夜熄灯。

    ',26);function B(C,L){const i=h("ExternalLinkIcon");return d(),t("div",null,[s,e("ul",null,[c,e("li",null,[l("开放时间:预约制,具体见体育中心"),e("a",u,[l("官网-场馆预约"),a(i)])])]),_,p,b,f,e("ul",null,[x,e("li",null,[l("开放时间:预约制,具体见体育中心"),e("a",k,[l("官网-场馆预约"),a(i)])])]),m,g,q,E,e("ul",null,[N,e("li",null,[e("p",null,[l("预约见体育中心"),e("a",V,[l("官网-场馆预约"),a(i)])])])]),v])}const M=n(o,[["render",B],["__file","index.html.vue"]]);export{M as default}; diff --git a/assets/index.html-gNAV24f1.js b/assets/index.html-gNAV24f1.js new file mode 100644 index 000000000..69aab791a --- /dev/null +++ b/assets/index.html-gNAV24f1.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-74bc627b","path":"/about/","title":"帮助我们完善","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"如何贡献 / 建议","slug":"如何贡献-建议","link":"#如何贡献-建议","children":[]},{"level":2,"title":"编写规范","slug":"编写规范","link":"#编写规范","children":[]},{"level":2,"title":"贡献者","slug":"贡献者","link":"#贡献者","children":[{"level":3,"title":"内容","slug":"内容","link":"#内容","children":[]},{"level":3,"title":"开发 & 维护","slug":"开发-维护","link":"#开发-维护","children":[]},{"level":3,"title":"计算支持","slug":"计算支持","link":"#计算支持","children":[]},{"level":3,"title":"软件支持","slug":"软件支持","link":"#软件支持","children":[]}]}],"git":{"updatedTime":1659444199000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":5},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":5}]},"filePathRelative":"about/README.md"}');export{l as data}; diff --git a/assets/index.html-hFvPCg9K.js b/assets/index.html-hFvPCg9K.js new file mode 100644 index 000000000..20dea0ab4 --- /dev/null +++ b/assets/index.html-hFvPCg9K.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-5c3fcdf6","path":"/life/catering/","title":"☕️餐饮","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"校内餐厅","slug":"校内餐厅","link":"#校内餐厅","children":[{"level":3,"title":"第二学生餐厅","slug":"第二学生餐厅","link":"#第二学生餐厅","children":[]},{"level":3,"title":"中心餐厅","slug":"中心餐厅","link":"#中心餐厅","children":[]},{"level":3,"title":"荔园餐厅","slug":"荔园餐厅","link":"#荔园餐厅","children":[]},{"level":3,"title":"创园教工餐厅","slug":"创园教工餐厅","link":"#创园教工餐厅","children":[]},{"level":3,"title":"教工餐厅(仅教职工使用)","slug":"教工餐厅-仅教职工使用","link":"#教工餐厅-仅教职工使用","children":[]},{"level":3,"title":"Faculty Club(仅教职工使用)","slug":"faculty-club-仅教职工使用","link":"#faculty-club-仅教职工使用","children":[]},{"level":3,"title":"茶餐厅","slug":"茶餐厅","link":"#茶餐厅","children":[]},{"level":3,"title":"西餐厅","slug":"西餐厅","link":"#西餐厅","children":[]},{"level":3,"title":"南科麦香屋","slug":"南科麦香屋","link":"#南科麦香屋","children":[]},{"level":3,"title":"湖畔学生餐厅","slug":"湖畔学生餐厅","link":"#湖畔学生餐厅","children":[]},{"level":3,"title":"欣园餐厅","slug":"欣园餐厅","link":"#欣园餐厅","children":[]}]},{"level":2,"title":"入驻餐饮","slug":"入驻餐饮","link":"#入驻餐饮","children":[{"level":3,"title":"瑞幸咖啡","slug":"瑞幸咖啡","link":"#瑞幸咖啡","children":[]},{"level":3,"title":"星巴克","slug":"星巴克","link":"#星巴克","children":[]},{"level":3,"title":"Illy Cafe(学者咖啡)","slug":"illy-cafe-学者咖啡","link":"#illy-cafe-学者咖啡","children":[]},{"level":3,"title":"赛百味","slug":"赛百味","link":"#赛百味","children":[]},{"level":3,"title":"果卉鲜","slug":"果卉鲜","link":"#果卉鲜","children":[]}]},{"level":2,"title":"校外餐饮","slug":"校外餐饮","link":"#校外餐饮","children":[]}],"git":{"updatedTime":1693926181000,"contributors":[{"name":"Jizhou Wu","email":"wuchichou@gmail.com","commits":2},{"name":"liziwl","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"life/catering/README.md"}');export{l as data}; diff --git a/assets/index.html-iHXOZwAB.js b/assets/index.html-iHXOZwAB.js new file mode 100644 index 000000000..2ba6b02db --- /dev/null +++ b/assets/index.html-iHXOZwAB.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-5e590ec6","path":"/service/medical-treatment/","title":"🏥就医指南","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"报销/缴费","slug":"报销-缴费","link":"#报销-缴费","children":[{"level":3,"title":"查询医保消费","slug":"查询医保消费","link":"#查询医保消费","children":[]}]},{"level":2,"title":"挂号","slug":"挂号","link":"#挂号","children":[]},{"level":2,"title":"在校生常用就诊地点","slug":"在校生常用就诊地点","link":"#在校生常用就诊地点","children":[{"level":3,"title":"南科大社康中心","slug":"南科大社康中心","link":"#南科大社康中心","children":[]},{"level":3,"title":"大学城社康中心","slug":"大学城社康中心","link":"#大学城社康中心","children":[]},{"level":3,"title":"福光社康中心","slug":"福光社康中心","link":"#福光社康中心","children":[]},{"level":3,"title":"南方科技大学医院(西丽人民医院) 三级医院","slug":"南方科技大学医院-西丽人民医院-三级医院","link":"#南方科技大学医院-西丽人民医院-三级医院","children":[]},{"level":3,"title":"深圳大学总医院 三级甲等","slug":"深圳大学总医院-三级甲等","link":"#深圳大学总医院-三级甲等","children":[]},{"level":3,"title":"华中科技大学协和深圳医院(南山区人民医院) 三级甲等","slug":"华中科技大学协和深圳医院-南山区人民医院-三级甲等","link":"#华中科技大学协和深圳医院-南山区人民医院-三级甲等","children":[]}]},{"level":2,"title":"Tips","slug":"tips","link":"#tips","children":[]}],"git":{"updatedTime":1665130525000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":5},{"name":"liziwl","email":"leezisy@gmail.com","commits":3}]},"filePathRelative":"service/medical-treatment/README.md"}');export{l as data}; diff --git a/assets/index.html-itv085KC.js b/assets/index.html-itv085KC.js new file mode 100644 index 000000000..077ac9cdb --- /dev/null +++ b/assets/index.html-itv085KC.js @@ -0,0 +1 @@ +import{_ as t,a as l,c as d,b as o}from"./1-sxH-Yy_l.js";import{_ as I,r as h,o as p,c as m,b as e,d as i,a,e as r}from"./app-9djxHuta.js";const n="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjYiIGhlaWdodD0iMjAiPjxsaW5lYXJHcmFkaWVudCBpZD0icyIgeDI9IjAiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNiYmIiIHN0b3Atb3BhY2l0eT0iLjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3Atb3BhY2l0eT0iLjEiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iciI+PHJlY3Qgd2lkdGg9IjY2IiBoZWlnaHQ9IjIwIiByeD0iMyIgZmlsbD0iI2ZmZiIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI3IpIj48cmVjdCB3aWR0aD0iNDMiIGhlaWdodD0iMjAiIGZpbGw9IiM1NTUiLz48cmVjdCB4PSI0MyIgd2lkdGg9IjIzIiBoZWlnaHQ9IjIwIiBmaWxsPSIjNmExZDQ0Ii8+PHJlY3Qgd2lkdGg9IjY2IiBoZWlnaHQ9IjIwIiBmaWxsPSJ1cmwoI3MpIi8+PC9nPjxnIGZpbGw9IiNmZmYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJWZXJkYW5hLEdlbmV2YSxEZWphVnUgU2FucyxzYW5zLXNlcmlmIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBmb250LXNpemU9IjExMCI+PHRleHQgeD0iMjI1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iMjI1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iNTM1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIxMzAiPjExPC90ZXh0Pjx0ZXh0IHg9IjUzNSIgeT0iMTQwIiB0cmFuc2Zvcm09InNjYWxlKC4xKSIgdGV4dExlbmd0aD0iMTMwIj4xMTwvdGV4dD48L2c+PC9zdmc+",g="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjAiIGhlaWdodD0iMjAiPjxsaW5lYXJHcmFkaWVudCBpZD0icyIgeDI9IjAiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNiYmIiIHN0b3Atb3BhY2l0eT0iLjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3Atb3BhY2l0eT0iLjEiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iciI+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiByeD0iMyIgZmlsbD0iI2ZmZiIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI3IpIj48cmVjdCB3aWR0aD0iNDMiIGhlaWdodD0iMjAiIGZpbGw9IiM1NTUiLz48cmVjdCB4PSI0MyIgd2lkdGg9IjE3IiBoZWlnaHQ9IjIwIiBmaWxsPSIjMDAzNWFkIi8+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjIwIiBmaWxsPSJ1cmwoI3MpIi8+PC9nPjxnIGZpbGw9IiNmZmYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtZmFtaWx5PSJWZXJkYW5hLEdlbmV2YSxEZWphVnUgU2FucyxzYW5zLXNlcmlmIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBmb250LXNpemU9IjExMCI+PHRleHQgeD0iMjI1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iMjI1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSIzMzAiPlNaTUM8L3RleHQ+PHRleHQgeD0iNTA1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSI3MCI+NzwvdGV4dD48dGV4dCB4PSI1MDUiIHk9IjE0MCIgdHJhbnNmb3JtPSJzY2FsZSguMSkiIHRleHRMZW5ndGg9IjcwIj43PC90ZXh0PjwvZz48L3N2Zz4=",b={},u=r('

    🚄交通

    🚌校园巴士


    校园巴士线路图

    ',5),x={href:"https://mirrors.sustech.edu.cn/site/sustech-online/documents/campus-map/%E5%8D%97%E6%96%B9%E7%A7%91%E6%8A%80%E5%A4%A7%E5%AD%A6%E6%A0%A1%E5%9B%AD%E5%9C%B0%E5%9B%BE-v3-2.pdf",target:"_blank",rel:"noopener noreferrer"},_=e("strong",null,"3.2",-1),Z=r('

    来往南方科技大学的交通

    公交

    • 南方科技大学(公交站):43路、74路、81路、122路、M459路、M554路
    • 南山智园北(公交站):43路、74路、81路、122路、M459路、M554路
    • 塘朗地铁站(公交站):37路、B818路、M217路、M343路、M393路、M460路、M554路、高峰专线119路、高峰专线120路、高峰专线150路

    地铁

    • 5号线塘朗站,B出口
    • 5号线长岭陂,A出口

    市内交通

    深圳地铁线路图(2023年)

    szmc-system-map-2022

    乘坐市内公共交通

    深圳通

    可用于乘坐市内的公交,地铁,也可在7-11等便利店消费。

    可购买实体卡,或在部分智能手机上开卡。在微信中也有“深圳通”小程序二维码。

    ',13),j={class:"custom-container tip"},B=e("p",{class:"custom-container-title"},"提示",-1),M={href:"https://www.shenzhentong.com/news/skyhui_101004003.html",target:"_blank",rel:"noopener noreferrer"},G=r('

    深圳地铁乘车码

    可用于乘坐深圳地铁,在微信中搜索“腾讯乘车码”小程序

    交通联合卡(TU)

    深圳市公共交通均支持交通联合卡(TU),不过没有深圳通的折扣。

    🚕出租车

    深圳市的出租车均有统一标识,并配有计价器。下车前请拿好发票。建议不要乘坐非正规或无营运资格的私人车辆。如果出租车师傅不熟悉南方科技大学,可以和ta说“到塘朗地铁站附近”。

    出租车收费

    提示

    截至2020年9月,深圳市的出租车已经实现纯电动化。

    ',8),P=e("th",{style:{"text-align":"center"}},"起步价格",-1),A=e("th",{style:{"text-align":"center"}},"起步里程",-1),E=e("th",{style:{"text-align":"center"}},"超过起步里程后价格(里程价)",-1),H=e("th",{style:{"text-align":"center"}},"候时费",-1),w=e("th",{style:{"text-align":"center"}},"夜间附加费(23时—次日6时)",-1),W={style:{"text-align":"center"}},z={href:"https://zh.wikipedia.org/wiki/%E6%B7%B1%E5%9C%B3%E5%87%BA%E7%A7%9F%E8%BD%A6#cite_note-10",target:"_blank",rel:"noopener noreferrer"},y=e("th",{style:{"text-align":"center"}},"燃油附加费",-1),f=e("tbody",null,[e("tr",null,[e("td",{style:{"text-align":"center"}},"10 元"),e("td",{style:{"text-align":"center"}},"2.0 公里"),e("td",{style:{"text-align":"center"}},"2.6 元/千米"),e("td",{style:{"text-align":"center"}},"0.8 元/分钟"),e("td",{style:{"text-align":"center"}},"按起步价和里程价的30%加收"),e("td",{style:{"text-align":"center"}},"25-50千米部分,按里程价加收30% 超过50千米部分,按里程价加收60%"),e("td",{style:{"text-align":"center"}},[i("汽油车1元,"),e("strong",null,"电动车不收"),i("。")])])],-1),v=e("h3",{id:"🚗自驾车",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#🚗自驾车","aria-hidden":"true"},"#"),i(" 🚗自驾车")],-1),D={href:"http://szjj.sz.gov.cn/JGDT/content/post_4489527.html",target:"_blank",rel:"noopener noreferrer"},N=e("li",null,[e("p",null,"深圳“限外”时段为工作日早高峰(7点—9点)和晚高峰(17点30分—19点30分),其余时间段和法定节假日没有任何限制")],-1),Y=e("li",null,[e("p",null,"一台外地车在一个工作日限行时段内无论行驶在几条限行道路被记录的,只认定为一次行驶记录;并且第一次、第二次违反限行规定的不予处罚,自第三次起依法处罚,简称“一日一次、三次起罚”。")],-1),L={href:"https://app4.szjj.sz.gov.cn:9082/hlwzh/xwspace/xw_getXwclCxdjPage.action",target:"_blank",rel:"noopener noreferrer"},R=r('

    提示

    在疫情防控结束后,同学出示校园卡后可以乘的士及私家车进入校园内。

    🗺抵达南方科技大学

    🛤从铁路抵达

    ',3),T={class:"custom-container tip"},S=e("p",{class:"custom-container-title"},"提示",-1),k=e("p",null,"在开学后,你才能获得购买学生票专用的磁条。12306网上订票取票时,需要刷取磁条信息,所以在12306网站购买的学生票无法取出。",-1),C={href:"https://fresh.geekpie.club/%E7%A7%91%E5%A4%A7%E7%94%9F%E6%B4%BB/%E8%A1%8C",target:"_blank",rel:"noopener noreferrer"},Q={id:"🚄高铁深圳北站",tabindex:"-1"},V=e("a",{class:"header-anchor",href:"#🚄高铁深圳北站","aria-hidden":"true"},"#",-1),U=r('

    深圳北站位于龙华,是深圳最大的高铁站。由于他离南方科技大学仅两站地铁,若你从市外到达南方科技大学,这一般是最方便的选择

    从西广场出站,乘地铁 往赤湾方向至塘朗站下车。(约15分钟)

    🚄高铁福田站

    福田高铁站是地下车站,位于福田市中心。因为他比深圳北站离学校远不少,若是来校报道,车次允许的情况下不建议坐到次站。

    出站后至乘地铁市民中心站乘地铁往清湖(牛湖)方向至深圳北站,转往赤湾方向至塘朗。(约40分钟)

    🚈城际机场站/机场北站

    位于穗深城际铁路上,对居住于东莞及广州的同学较为方便。

    机场站走到地铁站很远,若车次允许可以在机场北站下车转地铁。

    出站后至机场/机场北站乘地铁往赤湾方向至前海湾站,转往黄贝岭方向至塘朗。(约55分钟)

    🚂国铁深圳站(罗湖)

    大部分普速列车的终点站。也是广深城际的终点站,并于罗湖口岸/羅湖管制站相连。

    出站后至乘地铁 罗湖--会展中心--深圳北-塘朗。(约55分钟)

    🚂国铁深圳东站(布吉)

    部分普速列车的终点站。

    出站后至乘地铁 布吉--塘朗。(约35分钟)

    🚂国铁深圳西站(前海)

    只有较少的普速车次停靠。

    出站后至乘地铁 前海湾--塘朗。(约35分钟)

    ✈️从机场抵达

    出航站楼后至机场站乘地铁往赤湾方向至前海湾站,转往黄贝岭方向至塘朗。(约55分钟)

    提示

    地铁有商务座(类似于高铁一等座的座椅布置),价格为普通地铁车票的三倍,可在进站验证后乘坐。

    来往附近城市的交通

    香港

    1. 乘地铁 往黄贝岭方向至深圳北站,转高铁。(西九龙口岸/西九龍管制站)
    2. 乘地铁 往黄贝岭方向至深圳北站,转 往福田口岸方向至福田口岸。(福田口岸/落馬洲支線管制站)
    3. 乘地铁 往赤湾方向至西丽站,转 往太安方向至皇岗口岸。(皇岗口岸/落馬洲管制站)
    4. 乘公交81路,转M474路至深圳湾口岸。(深圳湾口岸/深圳灣管制站)
    5. 乘地铁 往赤湾方向至赤湾站,转至蛇口港站乘船。(蛇口码头-港澳碼頭(中环)/海天客運碼頭(香港机场))

    广州

    1. 乘地铁 往黄贝岭方向至深圳北站,转高铁。
    2. 乘地铁 往赤湾方向至前海湾站,转往碧头方向至机场北,转穗深城际。
    ',26);function X(J,F){const s=h("ExternalLinkIcon"),c=h("Badge");return p(),m("div",null,[u,e("p",null,[e("a",x,[i("点击这里"),a(s)]),i("下载矢量PDF版本,目前版本:"),_,i(",2022年8月更新。")]),Z,e("div",j,[B,e("p",null,[i("使用深圳通乘坐地铁有95折优惠,乘坐公交"),e("a",M,[i("优惠力度更大"),a(s)]),i(",并且还有转乘优惠。")])]),G,e("table",null,[e("thead",null,[e("tr",null,[P,A,E,H,w,e("th",W,[i("返空费(6时—23时)["),e("a",z,[i("注释 2]"),a(s)])]),y])]),f]),v,e("p",null,[i("深圳对小客车实行"),e("a",D,[i("“限外”"),a(s)]),i("。")]),e("blockquote",null,[e("ul",null,[N,Y,e("li",null,[e("p",null,[e("strong",null,[i("登录深圳市交警局网站"),e("a",L,[i("“非深号牌载客汽车进入深圳自助申报”入口"),a(s)]),i(",提前申报,可以“豁免”每月1次在限行时段、路段行驶。")])])])])]),R,e("div",T,[S,k,e("p",null,[i("但是,在人工售票点持本人身份证、录取通知书是可以购票的。请前往当地火车站售票点,不要到代售点,代售点不可购买新生学生票。"),e("a",C,[a(s)])])]),e("h4",Q,[V,i(" 🚄高铁深圳北站 "),a(c,{text:"推荐",type:"tip"})]),U])}const q=I(b,[["render",X],["__file","index.html.vue"]]);export{q as default}; diff --git a/assets/index.html-jEVeZVys.js b/assets/index.html-jEVeZVys.js new file mode 100644 index 000000000..cc69025a8 --- /dev/null +++ b/assets/index.html-jEVeZVys.js @@ -0,0 +1 @@ +import{_ as s,r,o as h,c as u,b as e,d as t,a as l,e as o}from"./app-9djxHuta.js";const c={},d=o('

    教授邮件列表

    理学院

    数学系

    ',3),a=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),_={href:"https://www.sustech.edu.cn/zh/faculties/chenyimao.html",target:"_blank",rel:"noopener noreferrer"},i=e("td",null,"chenym@sustech.edu.cn",-1),w={href:"https://www.sustech.edu.cn/zh/faculties/didenko-viktor.html",target:"_blank",rel:"noopener noreferrer"},f=e("td",null,"diviol@gmail.com",-1),g={href:"https://www.sustech.edu.cn/zh/faculties/dongshijie.html",target:"_blank",rel:"noopener noreferrer"},p=e("td",null,"dongsj@sustech.edu.cn",-1),z={href:"https://www.sustech.edu.cn/zh/faculties/efimzelmanov.html",target:"_blank",rel:"noopener noreferrer"},b=e("td",null,"官网未找到邮箱",-1),m={href:"https://www.sustech.edu.cn/zh/faculties/fangfuquan.html",target:"_blank",rel:"noopener noreferrer"},k=e("td",null,"fangfq@sustech.edu.cn",-1),y={href:"https://www.sustech.edu.cn/zh/faculties/fuyunhao.html",target:"_blank",rel:"noopener noreferrer"},x=e("td",null,"fuyh@sustech.edu.cn",-1),j={href:"https://www.sustech.edu.cn/zh/faculties/fengzhicheng.html",target:"_blank",rel:"noopener noreferrer"},q=e("td",null,"fengzc@sustech.edu.cn",-1),v={href:"https://www.sustech.edu.cn/zh/faculties/gujiawen.html",target:"_blank",rel:"noopener noreferrer"},A=e("td",null,"gujw@sustech.edu.cn",-1),S={href:"https://www.sustech.edu.cn/zh/faculties/garoufalidis-stavros.html",target:"_blank",rel:"noopener noreferrer"},E=e("td",null,"stavros@sustech.edu.cn",-1),I={href:"https://www.sustech.edu.cn/zh/faculties/gaohui.html",target:"_blank",rel:"noopener noreferrer"},L=e("td",null,"gaoh@sustech.edu.cn",-1),M={href:"https://www.sustech.edu.cn/zh/faculties/english-hua-yongxia.html",target:"_blank",rel:"noopener noreferrer"},G=e("td",null,"huayx@sustech.edu.cn",-1),N={href:"https://www.sustech.edu.cn/zh/faculties/english-hertz-jana.html",target:"_blank",rel:"noopener noreferrer"},R=e("td",null,"rhertz@sustech.edu.cn",-1),T={href:"https://www.sustech.edu.cn/zh/faculties/huyong.html",target:"_blank",rel:"noopener noreferrer"},K=e("td",null,"huy@sustech.edu.cn",-1),O={href:"https://www.sustech.edu.cn/zh/faculties/ingrid-irmer.html",target:"_blank",rel:"noopener noreferrer"},V=e("td",null,"ingridmary@sustech.edu.cn",-1),J={href:"https://www.sustech.edu.cn/zh/faculties/kurganov-alexander.html",target:"_blank",rel:"noopener noreferrer"},C=e("td",null,"alexander@sustech.edu.cn",-1),H={href:"https://www.sustech.edu.cn/zh/faculties/english-li-jingzhi.html",target:"_blank",rel:"noopener noreferrer"},F=e("td",null,"lijz@sustech.edu.cn",-1),Z={href:"https://www.sustech.edu.cn/zh/faculties/licaiheng.html",target:"_blank",rel:"noopener noreferrer"},D=e("td",null,"lich@sustech.edu.cn",-1),P={href:"https://www.sustech.edu.cn/zh/faculties/lizhan.html",target:"_blank",rel:"noopener noreferrer"},B=e("td",null,"liz7(at)sustech(dot)edu(dot)cn",-1),Y={href:"https://www.sustech.edu.cn/zh/faculties/lijuexian.html",target:"_blank",rel:"noopener noreferrer"},U=e("td",null,"lijx2019@sustech.edu.cn",-1),W={href:"https://www.sustech.edu.cn/zh/faculties/liubochen.html",target:"_blank",rel:"noopener noreferrer"},Q=e("td",null,"liubc@sustech.edu.cn",-1),X={href:"https://www.sustech.edu.cn/zh/faculties/liuzhihui.html",target:"_blank",rel:"noopener noreferrer"},$=e("td",null,"liuzh3@sustech.edu.cn",-1),ee={href:"https://www.sustech.edu.cn/zh/faculties/mafuming.html",target:"_blank",rel:"noopener noreferrer"},te=e("td",null,"mafm@sustech.edu.cn",-1),ne={href:"https://www.sustech.edu.cn/zh/faculties/maziming.html",target:"_blank",rel:"noopener noreferrer"},le=e("td",null,"官网未找到邮箱",-1),se={href:"https://www.sustech.edu.cn/zh/faculties/qiuyannan.html",target:"_blank",rel:"noopener noreferrer"},re=e("td",null,"qiuyn@sustech.edu.cn",-1),he={href:"https://www.sustech.edu.cn/zh/faculties/english-su-linlin.html",target:"_blank",rel:"noopener noreferrer"},ue=e("td",null,"sull@sustech.edu.cn",-1),oe={href:"https://www.sustech.edu.cn/zh/faculties/sunjingrui.html",target:"_blank",rel:"noopener noreferrer"},ce=e("td",null,"sunjr@sustech.edu.cn",-1),de={href:"https://www.sustech.edu.cn/zh/faculties/english-tang-tao.html",target:"_blank",rel:"noopener noreferrer"},ae=e("td",null,"tangt@sustech.edu.cn",-1),_e={href:"https://www.sustech.edu.cn/zh/faculties/english-ures-raul.html",target:"_blank",rel:"noopener noreferrer"},ie=e("td",null,"ures@sustech.edu.cn",-1),we={href:"https://www.sustech.edu.cn/zh/faculties/wangrong.html",target:"_blank",rel:"noopener noreferrer"},fe=e("td",null,"wangr3@sustech.edu.cn",-1),ge={href:"https://www.sustech.edu.cn/zh/faculties/wujitao.html",target:"_blank",rel:"noopener noreferrer"},pe=e("td",null,"wujt@sustech.edu.cn",-1),ze={href:"https://www.sustech.edu.cn/zh/faculties/wenjiaqiang.html",target:"_blank",rel:"noopener noreferrer"},be=e("td",null,"wenjq@sustech.edu.cn",-1),me={href:"https://www.sustech.edu.cn/zh/faculties/wu-kailiang.html",target:"_blank",rel:"noopener noreferrer"},ke=e("td",null,"wukl@sustech.edu.cn",-1),ye={href:"https://www.sustech.edu.cn/zh/faculties/wulongting.html",target:"_blank",rel:"noopener noreferrer"},xe=e("td",null,"官网未找到邮箱",-1),je={href:"https://www.sustech.edu.cn/zh/faculties/wangxiaoming.html",target:"_blank",rel:"noopener noreferrer"},qe=e("td",null,"wangxm@sustech.edu.cn",-1),ve={href:"https://www.sustech.edu.cn/zh/faculties/xiongjie.html",target:"_blank",rel:"noopener noreferrer"},Ae=e("td",null,"xiongj@sustech.edu.cn",-1),Se={href:"https://www.sustech.edu.cn/zh/faculties/xiangziqing.html",target:"_blank",rel:"noopener noreferrer"},Ee=e("td",null,"官网未找到邮箱",-1),Ie={href:"https://www.sustech.edu.cn/zh/faculties/xiangqing.html",target:"_blank",rel:"noopener noreferrer"},Le=e("td",null,"xiangq@sustech.edu.cn",-1),Me={href:"https://www.sustech.edu.cn/zh/faculties/yangjiang.html",target:"_blank",rel:"noopener noreferrer"},Ge=e("td",null,"yangj7@sustech.edu.cn",-1),Ne={href:"https://www.sustech.edu.cn/zh/faculties/yangyan-2.html",target:"_blank",rel:"noopener noreferrer"},Re=e("td",null,"yangy3@sustech.edu.cn",-1),Te={href:"https://www.sustech.edu.cn/zh/faculties/zhangzhen.html",target:"_blank",rel:"noopener noreferrer"},Ke=e("td",null,"zhangz@sustech.edu.cn",-1),Oe={href:"https://www.sustech.edu.cn/zh/faculties/cengpingping.html",target:"_blank",rel:"noopener noreferrer"},Ve=e("td",null,"zengpp@sustech.edu.cn",-1),Je={href:"https://www.sustech.edu.cn/zh/faculties/zhuyifei.html",target:"_blank",rel:"noopener noreferrer"},Ce=e("td",null,"zhuyf@sustech.edu.cn",-1),He={href:"https://www.sustech.edu.cn/zh/faculties/zhangjin.html",target:"_blank",rel:"noopener noreferrer"},Fe=e("td",null,"zhangj9@sustech.edu.cn",-1),Ze={href:"https://www.sustech.edu.cn/zh/faculties/zhangwenlong.html",target:"_blank",rel:"noopener noreferrer"},De=e("td",null,"zhangwl@sustech.edu.cn",-1),Pe={href:"https://www.sustech.edu.cn/zh/faculties/zhangyiying.html",target:"_blank",rel:"noopener noreferrer"},Be=e("td",null,"zhangyy3@sustech.edu.cn",-1),Ye={href:"https://www.sustech.edu.cn/zh/faculties/zhangjiping.html",target:"_blank",rel:"noopener noreferrer"},Ue=e("td",null,"官网未找到邮箱",-1),We=e("h3",{id:"物理系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#物理系","aria-hidden":"true"},"#"),t(" 物理系")],-1),Qe=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),Xe={href:"https://www.sustech.edu.cn/zh/faculties/english-chen-lang.html",target:"_blank",rel:"noopener noreferrer"},$e=e("td",null,"chenlang@sustech.edu.cn",-1),et={href:"https://www.sustech.edu.cn/zh/faculties/english-chen-yuanzhen.html",target:"_blank",rel:"noopener noreferrer"},tt=e("td",null,"chenyz@sustech.edu.cn",-1),nt={href:"https://www.sustech.edu.cn/zh/faculties/chenweiqiang.html",target:"_blank",rel:"noopener noreferrer"},lt=e("td",null,"chenwq@sustech.edu.cn",-1),st={href:"https://www.sustech.edu.cn/zh/faculties/chenzhuoyu.html",target:"_blank",rel:"noopener noreferrer"},rt=e("td",null,"chenzhuoyu@sustech.edu.cn",-1),ht={href:"https://www.sustech.edu.cn/zh/faculties/daiyanan.html",target:"_blank",rel:"noopener noreferrer"},ut=e("td",null,"daiyn@sustech.edu.cn",-1),ot={href:"https://www.sustech.edu.cn/zh/faculties/gumingqiang.html",target:"_blank",rel:"noopener noreferrer"},ct=e("td",null,"gumq@sustech.edu.cn",-1),dt={href:"https://www.sustech.edu.cn/zh/faculties/sebastiangarcia-saenz.html",target:"_blank",rel:"noopener noreferrer"},at=e("td",null,"sgarciasaenz@sustech.edu.cn",-1),_t={href:"https://www.sustech.edu.cn/zh/faculties/guomingyang.html",target:"_blank",rel:"noopener noreferrer"},it=e("td",null,"guomy@sustech.edu.cn",-1),wt={href:"https://www.sustech.edu.cn/zh/faculties/english-he-jiaqing.html",target:"_blank",rel:"noopener noreferrer"},ft=e("td",null,"hejq@sustech.edu.cn",-1),gt={href:"https://www.sustech.edu.cn/zh/faculties/huang-li.html",target:"_blank",rel:"noopener noreferrer"},pt=e("td",null,"huangl@sustech.edu.cn",-1),zt={href:"https://www.sustech.edu.cn/zh/faculties/hehongtao.html",target:"_blank",rel:"noopener noreferrer"},bt=e("td",null,"heht@sustech.edu.cn",-1),mt={href:"https://www.sustech.edu.cn/zh/faculties/huangmingyuan.html",target:"_blank",rel:"noopener noreferrer"},kt=e("td",null,"huangmy@sustech.edu.cn",-1),yt={href:"https://www.sustech.edu.cn/zh/faculties/husongbai.html",target:"_blank",rel:"noopener noreferrer"},xt=e("td",null,"husb@sustech.edu.cn",-1),jt={href:"https://www.sustech.edu.cn/zh/faculties/jiangshaolong.html",target:"_blank",rel:"noopener noreferrer"},qt=e("td",null,"jiangsl@sustech.edu.cn",-1),vt={href:"https://www.sustech.edu.cn/zh/faculties/liuchang.html",target:"_blank",rel:"noopener noreferrer"},At=e("td",null,"liuc@sustech.edu.cn",-1),St={href:"https://www.sustech.edu.cn/zh/faculties/liuqihang.html",target:"_blank",rel:"noopener noreferrer"},Et=e("td",null,"liuqh@sustech.edu.cn",-1),It={href:"https://www.sustech.edu.cn/zh/faculties/ludawei.html",target:"_blank",rel:"noopener noreferrer"},Lt=e("td",null,"ludw@sustech.edu.cn",-1),Mt={href:"https://www.sustech.edu.cn/zh/faculties/linjunhao.html",target:"_blank",rel:"noopener noreferrer"},Gt=e("td",null,"linjh@sustech.edu.cn",-1),Nt={href:"https://www.sustech.edu.cn/zh/faculties/luhaizhou.html",target:"_blank",rel:"noopener noreferrer"},Rt=e("td",null,"luhz@sustech.edu.cn",-1),Tt={href:"https://www.sustech.edu.cn/zh/faculties/lijunxue.html",target:"_blank",rel:"noopener noreferrer"},Kt=e("td",null,"lijx3@sustech.edu.cn",-1),Ot={href:"https://www.sustech.edu.cn/zh/faculties/liuying.html",target:"_blank",rel:"noopener noreferrer"},Vt=e("td",null,"liuy37@sustech.edu.cn",-1),Jt={href:"https://www.sustech.edu.cn/zh/faculties/liusong-2.html",target:"_blank",rel:"noopener noreferrer"},Ct=e("td",null,"lius9@sustech.edu.cn",-1),Ht={href:"https://www.sustech.edu.cn/zh/faculties/liuweiping.html",target:"_blank",rel:"noopener noreferrer"},Ft=e("td",null,"liuwp@sustech.edu.cn",-1),Zt={href:"https://www.sustech.edu.cn/zh/faculties/english-modesto-leonardo.html",target:"_blank",rel:"noopener noreferrer"},Dt=e("td",null,"lmodesto@sustech.edu.cn",-1),Pt={href:"https://www.sustech.edu.cn/zh/faculties/meijiawei.html",target:"_blank",rel:"noopener noreferrer"},Bt=e("td",null,"meijw@sustech.edu.cn",-1),Yt={href:"https://www.sustech.edu.cn/zh/faculties/maxiaoguang.html",target:"_blank",rel:"noopener noreferrer"},Ut=e("td",null,"maxg@sustech.edu.cn",-1),Wt={href:"https://www.sustech.edu.cn/zh/faculties/wuzihui.html",target:"_blank",rel:"noopener noreferrer"},Qt=e("td",null,"wuzh3@sustech.edu.cn",-1),Xt={href:"https://www.sustech.edu.cn/zh/faculties/sunyujie.html",target:"_blank",rel:"noopener noreferrer"},$t=e("td",null,"sunyj@sustech.edu.cn",-1),en={href:"https://www.sustech.edu.cn/zh/faculties/tangshuxian.html",target:"_blank",rel:"noopener noreferrer"},tn=e("td",null,"tongsy@sustech.edu.cn",-1),nn={href:"https://www.sustech.edu.cn/zh/faculties/english-wang-gan.html",target:"_blank",rel:"noopener noreferrer"},ln=e("td",null,"wangg@sustech.edu.cn",-1),sn={href:"https://www.sustech.edu.cn/zh/faculties/english-wang-kedong.html",target:"_blank",rel:"noopener noreferrer"},rn=e("td",null,"wangkd@sustech.edu.cn",-1),hn={href:"https://www.sustech.edu.cn/zh/faculties/wangshanmin.html",target:"_blank",rel:"noopener noreferrer"},un=e("td",null,"wangsm@sustech.edu.cn",-1),on={href:"https://www.sustech.edu.cn/zh/faculties/wuliusuo.html",target:"_blank",rel:"noopener noreferrer"},cn=e("td",null,"wuls@sustech.edu.cn",-1),dn={href:"https://www.sustech.edu.cn/zh/faculties/wangjunling-2.html",target:"_blank",rel:"noopener noreferrer"},an=e("td",null,"jwang@sustech.edu.cn",-1),_n={href:"https://www.sustech.edu.cn/zh/faculties/wangququan.html",target:"_blank",rel:"noopener noreferrer"},wn=e("td",null,"wangqq6@sustech.edu.cn",-1),fn={href:"https://www.sustech.edu.cn/zh/faculties/wangwu.html",target:"_blank",rel:"noopener noreferrer"},gn=e("td",null,"wangw7@sustech.edu.cn",-1),pn={href:"https://www.sustech.edu.cn/zh/faculties/xueqikun.html",target:"_blank",rel:"noopener noreferrer"},zn=e("td",null,"xueqk@sustech.edu.cn",-1),bn={href:"https://www.sustech.edu.cn/zh/faculties/english-xu-hu.html",target:"_blank",rel:"noopener noreferrer"},mn=e("td",null,"xuh@sustech.edu.cn",-1),kn={href:"https://www.sustech.edu.cn/zh/faculties/xuzhifang.html",target:"_blank",rel:"noopener noreferrer"},yn=e("td",null,"xuzf@sustech.edu.cn",-1),xn={href:"https://www.sustech.edu.cn/zh/faculties/xielin.html",target:"_blank",rel:"noopener noreferrer"},jn=e("td",null,"xiel3@sustech.edu.cn",-1),qn={href:"https://www.sustech.edu.cn/zh/faculties/xuzedong.html",target:"_blank",rel:"noopener noreferrer"},vn=e("td",null,"xuzd@sustech.edu.cn",-1),An={href:"https://www.sustech.edu.cn/zh/faculties/yudapeng.html",target:"_blank",rel:"noopener noreferrer"},Sn=e("td",null,"yudp@sustech.edu.cn",-1),En={href:"https://www.sustech.edu.cn/zh/faculties/english-ye-fei.html",target:"_blank",rel:"noopener noreferrer"},In=e("td",null,"yef@sustech.edu.cn",-1),Ln={href:"https://www.sustech.edu.cn/zh/faculties/yemao.html",target:"_blank",rel:"noopener noreferrer"},Mn=e("td",null,"yem@sustech.edu.cn",-1),Gn={href:"https://www.sustech.edu.cn/zh/faculties/yaoqiushi.html",target:"_blank",rel:"noopener noreferrer"},Nn=e("td",null,"yaoqs@sustech.edu.cn",-1),Rn={href:"https://www.sustech.edu.cn/zh/faculties/yangbing.html",target:"_blank",rel:"noopener noreferrer"},Tn=e("td",null,"yangbing@sustech.edu.cn",-1),Kn={href:"https://www.sustech.edu.cn/zh/faculties/yinjiaxin.html",target:"_blank",rel:"noopener noreferrer"},On=e("td",null,"yinjx@sustech.edu.cn",-1),Vn={href:"https://www.sustech.edu.cn/zh/faculties/english-zhang-liyuan.html",target:"_blank",rel:"noopener noreferrer"},Jn=e("td",null,"zhangly@sustech.edu.cn",-1),Cn={href:"https://www.sustech.edu.cn/zh/faculties/english-zhao-yusheng.html",target:"_blank",rel:"noopener noreferrer"},Hn=e("td",null,"zhaoys@sustech.edu.cn",-1),Fn={href:"https://www.sustech.edu.cn/zh/faculties/zhaoyue.html",target:"_blank",rel:"noopener noreferrer"},Zn=e("td",null,"zhaoy@sustech.edu.cn",-1),Dn={href:"https://www.sustech.edu.cn/zh/faculties/zhujinlong.html",target:"_blank",rel:"noopener noreferrer"},Pn=e("td",null,"zhujl@sustech.edu.cn",-1),Bn=e("h3",{id:"化学系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#化学系","aria-hidden":"true"},"#"),t(" 化学系")],-1),Yn=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),Un={href:"https://www.sustech.edu.cn/zh/faculties/english-che-chi-ming.html",target:"_blank",rel:"noopener noreferrer"},Wn=e("td",null,"官网未找到邮箱",-1),Qn={href:"https://www.sustech.edu.cn/zh/faculties/english-oscar-chung.html",target:"_blank",rel:"noopener noreferrer"},Xn=e("td",null,"oscarchung@sustech.edu.cn",-1),$n={href:"https://www.sustech.edu.cn/zh/faculties/chenzhongren.html",target:"_blank",rel:"noopener noreferrer"},el=e("td",null,"chenzr@sustech.edu.cn",-1),tl={href:"https://www.sustech.edu.cn/zh/faculties/cuijianfang.html",target:"_blank",rel:"noopener noreferrer"},nl=e("td",null,"cuijf@sustech.edu.cn",-1),ll={href:"https://www.sustech.edu.cn/zh/faculties/changxiaoyong.html",target:"_blank",rel:"noopener noreferrer"},sl=e("td",null,"changxy@sustech.edu.cn",-1),rl={href:"https://www.sustech.edu.cn/zh/faculties/chenshunxing.html",target:"_blank",rel:"noopener noreferrer"},hl=e("td",null,"christan@sustech.edu.cn",-1),ul={href:"https://www.sustech.edu.cn/zh/faculties/duanlele.html",target:"_blank",rel:"noopener noreferrer"},ol=e("td",null,"duanll@sustech.edu.cn",-1),cl={href:"https://www.sustech.edu.cn/zh/faculties/dongzhe.html",target:"_blank",rel:"noopener noreferrer"},dl=e("td",null,"dongz@sustech.edu.cn",-1),al={href:"https://www.sustech.edu.cn/zh/faculties/guoqing-2.html",target:"_blank",rel:"noopener noreferrer"},_l=e("td",null,"guoq@sustech.edu.cn",-1),il={href:"https://www.sustech.edu.cn/zh/faculties/gujun.html",target:"_blank",rel:"noopener noreferrer"},wl=e("td",null,"guj6@sustech.edu.cn",-1),fl={href:"https://www.sustech.edu.cn/zh/faculties/tangtao.html",target:"_blank",rel:"noopener noreferrer"},gl=e("td",null,"官网未找到邮箱",-1),pl={href:"https://www.sustech.edu.cn/zh/faculties/english-limin-huang.html",target:"_blank",rel:"noopener noreferrer"},zl=e("td",null,"huanglm@sustech.edu.cn",-1),bl={href:"https://www.sustech.edu.cn/zh/faculties/hechuan.html",target:"_blank",rel:"noopener noreferrer"},ml=e("td",null,"hec@sustech.edu.cn",-1),kl={href:"https://www.sustech.edu.cn/zh/faculties/hefeng.html",target:"_blank",rel:"noopener noreferrer"},yl=e("td",null,"hef@sustech.edu.cn",-1),xl={href:"https://www.sustech.edu.cn/zh/faculties/hezhenyu.html",target:"_blank",rel:"noopener noreferrer"},jl=e("td",null,"jasonhcy@sustech.edu.cn",-1),ql={href:"https://www.sustech.edu.cn/zh/faculties/haorui.html",target:"_blank",rel:"noopener noreferrer"},vl=e("td",null,"haor@sustech.edu.cn",-1),Al={href:"https://www.sustech.edu.cn/zh/faculties/jiatiezheng.html",target:"_blank",rel:"noopener noreferrer"},Sl=e("td",null,"jiatz@sustech.edu.cn",-1),El={href:"https://www.sustech.edu.cn/zh/faculties/jianghongyan.html",target:"_blank",rel:"noopener noreferrer"},Il=e("td",null,"jianghy@sustech.edu.cn",-1),Ll={href:"https://www.sustech.edu.cn/zh/faculties/liuke.html",target:"_blank",rel:"noopener noreferrer"},Ml=e("td",null,"liuk@sustech.edu.cn",-1),Gl={href:"https://www.sustech.edu.cn/zh/faculties/english-wei-lu.html",target:"_blank",rel:"noopener noreferrer"},Nl=e("td",null,"luw@sustech.edu.cn",-1),Rl={href:"https://www.sustech.edu.cn/zh/faculties/lipengfei.html",target:"_blank",rel:"noopener noreferrer"},Tl=e("td",null,"lipf@sustech.edu.cn",-1),Kl={href:"https://www.sustech.edu.cn/zh/faculties/lixin-2.html",target:"_blank",rel:"noopener noreferrer"},Ol=e("td",null,"lix7@sustech.edu.cn",-1),Vl={href:"https://www.sustech.edu.cn/zh/faculties/liuyungen.html",target:"_blank",rel:"noopener noreferrer"},Jl=e("td",null,"liuyg@sustech.edu.cn",-1),Cl={href:"https://www.sustech.edu.cn/zh/faculties/liuxinyuan.html",target:"_blank",rel:"noopener noreferrer"},Hl=e("td",null,"liuxy3@sustech.edu.cn",-1),Fl={href:"https://www.sustech.edu.cn/zh/faculties/liuliu.html",target:"_blank",rel:"noopener noreferrer"},Zl=e("td",null,"liuleoliu@sustech.edu.cn",-1),Dl={href:"https://www.sustech.edu.cn/zh/faculties/english-chuangchuang-li.html",target:"_blank",rel:"noopener noreferrer"},Pl=e("td",null,"ccli@sustech.edu.cn",-1),Bl={href:"https://www.sustech.edu.cn/zh/faculties/ma-dawei.html",target:"_blank",rel:"noopener noreferrer"},Yl=e("td",null,"madw@sustech.edu.cn",-1),Ul={href:"https://www.sustech.edu.cn/zh/faculties/minlong.html",target:"_blank",rel:"noopener noreferrer"},Wl=e("td",null,"minl@sustech.edu.cn",-1),Ql={href:"https://www.sustech.edu.cn/zh/faculties/maolingling.html",target:"_blank",rel:"noopener noreferrer"},Xl=e("td",null,"maoll@sustech.edu.cn",-1),$l={href:"https://www.sustech.edu.cn/zh/faculties/niyong.html",target:"_blank",rel:"noopener noreferrer"},es=e("td",null,"niy@sustech.edu.cn",-1),ts={href:"https://www.sustech.edu.cn/zh/faculties/english-zewei-quan.html",target:"_blank",rel:"noopener noreferrer"},ns=e("td",null,"quanzw@sustech.edu.cn",-1),ls={href:"https://www.sustech.edu.cn/zh/faculties/qujianfei.html",target:"_blank",rel:"noopener noreferrer"},ss=e("td",null,"qujf@sustech.edu.cn",-1),rs={href:"https://www.sustech.edu.cn/zh/faculties/shuwei.html",target:"_blank",rel:"noopener noreferrer"},hs=e("td",null,"shuw@sustech.edu.cn",-1),us={href:"https://www.sustech.edu.cn/zh/faculties/tangyong.html",target:"_blank",rel:"noopener noreferrer"},os=e("td",null,"tangy3@sustech.edu.cn",-1),cs={href:"https://www.sustech.edu.cn/zh/faculties/english-bin-tan.html",target:"_blank",rel:"noopener noreferrer"},ds=e("td",null,"tanb@sustech.edu.cn",-1),as={href:"https://www.sustech.edu.cn/zh/faculties/english-ruijun-tian.html",target:"_blank",rel:"noopener noreferrer"},_s=e("td",null,"tianrj@sustech.edu.cn",-1),is={href:"https://www.sustech.edu.cn/zh/faculties/taolizhi.html",target:"_blank",rel:"noopener noreferrer"},ws=e("td",null,"taolz@sustech.edu.cn",-1),fs={href:"https://www.sustech.edu.cn/zh/faculties/huangwenzhong.html",target:"_blank",rel:"noopener noreferrer"},gs=e("td",null,"keithwongmc@sustech.edu.cn",-1),ps={href:"https://www.sustech.edu.cn/zh/faculties/wangyanggang.html",target:"_blank",rel:"noopener noreferrer"},zs=e("td",null,"wangyg@sustech.edu.cn",-1),bs={href:"https://www.sustech.edu.cn/zh/faculties/wangjie.html",target:"_blank",rel:"noopener noreferrer"},ms=e("td",null,"wangjie@sustech.edu.cn",-1),ks={href:"https://www.sustech.edu.cn/zh/faculties/wangjianchun-2.html",target:"_blank",rel:"noopener noreferrer"},ys=e("td",null,"wangjc3@sustech.edu.cn",-1),xs={href:"https://www.sustech.edu.cn/zh/faculties/wuzhengyu.html",target:"_blank",rel:"noopener noreferrer"},js=e("td",null,"wuzy@sustech.edu.cn",-1),qs={href:"https://www.sustech.edu.cn/zh/faculties/english-jing-xu.html",target:"_blank",rel:"noopener noreferrer"},vs=e("td",null,"xuj@sustech.edu.cn",-1),As={href:"https://www.sustech.edu.cn/zh/faculties/english-zongxiang-xu.html",target:"_blank",rel:"noopener noreferrer"},Ss=e("td",null,"xuzx@sustech.edu.cn",-1),Es={href:"https://www.sustech.edu.cn/zh/faculties/xiexiaojiang.html",target:"_blank",rel:"noopener noreferrer"},Is=e("td",null,"xiexj@sustech.edu.cn",-1),Ls={href:"https://www.sustech.edu.cn/zh/faculties/xuchen.html",target:"_blank",rel:"noopener noreferrer"},Ms=e("td",null,"xuc@sustech.edu.cn",-1),Gs={href:"https://www.sustech.edu.cn/zh/faculties/xiahaiping.html",target:"_blank",rel:"noopener noreferrer"},Ns=e("td",null,"xiahp@sustech.edu.cn",-1),Rs={href:"https://www.sustech.edu.cn/zh/faculties/xuminghua.html",target:"_blank",rel:"noopener noreferrer"},Ts=e("td",null,"xumh@sustech.edu.cn",-1),Ks={href:"https://www.sustech.edu.cn/zh/faculties/xiezuowei.html",target:"_blank",rel:"noopener noreferrer"},Os=e("td",null,"xiezw@sustech.edu.cn",-1),Vs={href:"https://www.sustech.edu.cn/zh/faculties/yangxueming.html",target:"_blank",rel:"noopener noreferrer"},Js=e("td",null,"yangxm@sustech.edu.cn",-1),Cs={href:"https://www.sustech.edu.cn/zh/faculties/yuyang.html",target:"_blank",rel:"noopener noreferrer"},Hs=e("td",null,"yuy7@sustech.edu.cn",-1),Fs={href:"https://www.sustech.edu.cn/zh/faculties/yupeiyuan.html",target:"_blank",rel:"noopener noreferrer"},Zs=e("td",null,"yupy@sustech.edu.cn",-1),Ds={href:"https://www.sustech.edu.cn/zh/faculties/yangtiangang.html",target:"_blank",rel:"noopener noreferrer"},Ps=e("td",null,"yangtg@sustech.edu.cn",-1),Bs={href:"https://www.sustech.edu.cn/zh/faculties/yangfeng.html",target:"_blank",rel:"noopener noreferrer"},Ys=e("td",null,"yangf3@sustech.edu.cn",-1),Us={href:"https://www.sustech.edu.cn/zh/faculties/yushuhong.html",target:"_blank",rel:"noopener noreferrer"},Ws=e("td",null,"yush@sustech.edu.cn",-1),Qs={href:"https://www.sustech.edu.cn/zh/faculties/english-xumu-zhang.html",target:"_blank",rel:"noopener noreferrer"},Xs=e("td",null,"zhangxm@sustech.edu.cn",-1),$s={href:"https://www.sustech.edu.cn/zh/faculties/english-yuanzhu-zhang.html",target:"_blank",rel:"noopener noreferrer"},er=e("td",null,"zhangyz@sustech.edu.cn",-1),tr={href:"https://www.sustech.edu.cn/zh/faculties/zhengzhiping.html",target:"_blank",rel:"noopener noreferrer"},nr=e("td",null,"zhengzp@sustech.edu.cn",-1),lr={href:"https://www.sustech.edu.cn/zh/faculties/zhouyouyun.html",target:"_blank",rel:"noopener noreferrer"},sr=e("td",null,"zhouyy@sustech.edu.cn",-1),rr={href:"https://www.sustech.edu.cn/zh/faculties/binzhao.html",target:"_blank",rel:"noopener noreferrer"},hr=e("td",null,"zhaobin@sustech.edu.cn",-1),ur=e("h3",{id:"地球与空间科学系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#地球与空间科学系","aria-hidden":"true"},"#"),t(" 地球与空间科学系")],-1),or=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),cr={href:"https://www.sustech.edu.cn/zh/faculties/baoxueyang.html",target:"_blank",rel:"noopener noreferrer"},dr=e("td",null,"baoxy@sustech.edu.cn",-1),ar={href:"https://www.sustech.edu.cn/zh/faculties/chenxiaofei.html",target:"_blank",rel:"noopener noreferrer"},_r=e("td",null,"chenxf@sustech.edu.cn",-1),ir={href:"https://www.sustech.edu.cn/zh/faculties/chenbin.html",target:"_blank",rel:"noopener noreferrer"},wr=e("td",null,"chenb6@sustech.edu.cn",-1),fr={href:"https://www.sustech.edu.cn/zh/faculties/english-chen-kejie.html",target:"_blank",rel:"noopener noreferrer"},gr=e("td",null,"chenkj@sustech.edu.cn",-1),pr={href:"https://www.sustech.edu.cn/zh/faculties/chenzhihao.html",target:"_blank",rel:"noopener noreferrer"},zr=e("td",null,"chenzh@sustech.edu.cn",-1),br={href:"https://www.sustech.edu.cn/zh/faculties/dongli.html",target:"_blank",rel:"noopener noreferrer"},mr=e("td",null,"dongl@sustech.edu.cn",-1),kr={href:"https://www.sustech.edu.cn/zh/faculties/fangxinding.html",target:"_blank",rel:"noopener noreferrer"},yr=e("td",null,"fangxd@sustech.edu.cn",-1),xr={href:"https://www.sustech.edu.cn/zh/faculties/fulei.html",target:"_blank",rel:"noopener noreferrer"},jr=e("td",null,"ful@sustech.edu.cn",-1),qr={href:"https://www.sustech.edu.cn/zh/faculties/gaoke.html",target:"_blank",rel:"noopener noreferrer"},vr=e("td",null,"gaok@sustech.edu.cn",-1),Ar={href:"https://www.sustech.edu.cn/zh/faculties/guojunxin.html",target:"_blank",rel:"noopener noreferrer"},Sr=e("td",null,"guojx@sustech.edu.cn",-1),Er={href:"https://www.sustech.edu.cn/zh/faculties/hanpeng.html",target:"_blank",rel:"noopener noreferrer"},Ir=e("td",null,"hanp@sustech.edu.cn",-1),Lr={href:"https://www.sustech.edu.cn/zh/faculties/hezhanxiang.html",target:"_blank",rel:"noopener noreferrer"},Mr=e("td",null,"hezx@sustech.edu.cn",-1),Gr={href:"https://www.sustech.edu.cn/zh/faculties/hujiashun.html",target:"_blank",rel:"noopener noreferrer"},Nr=e("td",null,"hujs@sustech.edu.cn",-1),Rr={href:"https://www.sustech.edu.cn/zh/faculties/jingzhicheng.html",target:"_blank",rel:"noopener noreferrer"},Tr=e("td",null,"jingzc@sustech.edu.cn",-1),Kr={href:"https://www.sustech.edu.cn/zh/faculties/linyufeng.html",target:"_blank",rel:"noopener noreferrer"},Or=e("td",null,"linyf@sustech.edu.cn",-1),Vr={href:"https://www.sustech.edu.cn/zh/faculties/liukaijun.html",target:"_blank",rel:"noopener noreferrer"},Jr=e("td",null,"liukj@sustech.edu.cn",-1),Cr={href:"https://www.sustech.edu.cn/zh/faculties/lijingchun.html",target:"_blank",rel:"noopener noreferrer"},Hr=e("td",null,"lijc@susutech.edu.cn",-1),Fr={href:"https://www.sustech.edu.cn/zh/faculties/lizhengwei.html",target:"_blank",rel:"noopener noreferrer"},Zr=e("td",null,"lizw3@sustech.edu.cn",-1),Dr={href:"https://www.sustech.edu.cn/zh/faculties/haoranmeng.html",target:"_blank",rel:"noopener noreferrer"},Pr=e("td",null,"menghr@sustech.edu.cn",-1),Br={href:"https://www.sustech.edu.cn/zh/faculties/qianyunyi.html",target:"_blank",rel:"noopener noreferrer"},Yr=e("td",null,"qianyy@sustech.edu.cn",-1),Ur={href:"https://www.sustech.edu.cn/zh/faculties/renhengxin.html",target:"_blank",rel:"noopener noreferrer"},Wr=e("td",null,"renhx@sustech.edu.cn",-1),Qr={href:"https://www.sustech.edu.cn/zh/faculties/ranjiangjun.html",target:"_blank",rel:"noopener noreferrer"},Xr=e("td",null,"ranjj@sustech.edu.cn",-1),$r={href:"https://www.sustech.edu.cn/zh/faculties/sunyaochong.html",target:"_blank",rel:"noopener noreferrer"},eh=e("td",null,"sunyc@sustech.edu.cn",-1),th={href:"https://www.sustech.edu.cn/zh/faculties/songzhenlong.html",target:"_blank",rel:"noopener noreferrer"},nh=e("td",null,"songzl@sustech.edu.cn",-1),lh={href:"https://www.sustech.edu.cn/zh/faculties/tianzhenliang.html",target:"_blank",rel:"noopener noreferrer"},sh=e("td",null,"tianzl@sustech.edu.cn",-1),rh={href:"https://www.sustech.edu.cn/zh/faculties/wangzewei.html",target:"_blank",rel:"noopener noreferrer"},hh=e("td",null,"wangzw@sustech.edu.cn",-1),uh={href:"https://www.sustech.edu.cn/zh/faculties/ruijiawang.html",target:"_blank",rel:"noopener noreferrer"},oh=e("td",null,"wangrj@sustech.edu.cn",-1),ch={href:"https://www.sustech.edu.cn/zh/faculties/xujincheng.html",target:"_blank",rel:"noopener noreferrer"},dh=e("td",null,"xujc@sustech.edu.cn",-1),ah={href:"https://www.sustech.edu.cn/zh/faculties/xujiankuan-2.html",target:"_blank",rel:"noopener noreferrer"},_h=e("td",null,"xujk@sustech.edu.cn",-1),ih={href:"https://www.sustech.edu.cn/zh/faculties/xushiqing.html",target:"_blank",rel:"noopener noreferrer"},wh=e("td",null,"xusq3@sustech.edu.cn",-1),fh={href:"https://www.sustech.edu.cn/zh/faculties/danhuaxin.html",target:"_blank",rel:"noopener noreferrer"},gh=e("td",null,"xindh@sustech.edu.cn",-1),ph={href:"https://www.sustech.edu.cn/zh/faculties/yanghui.html",target:"_blank",rel:"noopener noreferrer"},zh=e("td",null,"yangh@sustech.edu.cn",-1),bh={href:"https://www.sustech.edu.cn/zh/faculties/yangzhentao.html",target:"_blank",rel:"noopener noreferrer"},mh=e("td",null,"yangzt@sustech.edu.cn",-1),kh={href:"https://www.sustech.edu.cn/zh/faculties/yangjian.html",target:"_blank",rel:"noopener noreferrer"},yh=e("td",null,"yangj36@sustech.edu.cn",-1),xh={href:"https://www.sustech.edu.cn/zh/faculties/yangdikun.html",target:"_blank",rel:"noopener noreferrer"},jh=e("td",null,"yangdk@sustech.edu.cn",-1),qh={href:"https://www.sustech.edu.cn/zh/faculties/yangting-2.html",target:"_blank",rel:"noopener noreferrer"},vh=e("td",null,"yangt3@sustech.edu.cn",-1),Ah={href:"https://www.sustech.edu.cn/zh/faculties/yuchunquan.html",target:"_blank",rel:"noopener noreferrer"},Sh=e("td",null,"yucq@sustech.edu.cn",-1),Eh={href:"https://www.sustech.edu.cn/zh/faculties/yeshengyi.html",target:"_blank",rel:"noopener noreferrer"},Ih=e("td",null,"yesy@sustech.edu.cn",-1),Lh={href:"https://www.sustech.edu.cn/zh/faculties/yelingling.html",target:"_blank",rel:"noopener noreferrer"},Mh=e("td",null,"yell@sustech.edu.cn",-1),Gh={href:"https://www.sustech.edu.cn/zh/faculties/yingjieyang.html",target:"_blank",rel:"noopener noreferrer"},Nh=e("td",null,"yangyj@sustech.edu.cn",-1),Rh={href:"https://www.sustech.edu.cn/zh/faculties/zhang-wei.html",target:"_blank",rel:"noopener noreferrer"},Th=e("td",null,"zhangwei@sustech.edu.cn",-1),Kh={href:"https://www.sustech.edu.cn/zh/faculties/zhangzhenguo.html",target:"_blank",rel:"noopener noreferrer"},Oh=e("td",null,"zhangzg@sustech.edu.cn",-1),Vh={href:"https://www.sustech.edu.cn/zh/faculties/zhangjianfeng.html",target:"_blank",rel:"noopener noreferrer"},Jh=e("td",null,"zhangjf@sustech.edu.cn",-1),Ch=e("h3",{id:"统计与数据科学系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#统计与数据科学系","aria-hidden":"true"},"#"),t(" 统计与数据科学系")],-1),Hh=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),Fh={href:"https://www.sustech.edu.cn/zh/faculties/chenxin.html",target:"_blank",rel:"noopener noreferrer"},Zh=e("td",null,"chenx8@sustech.edu.cn",-1),Dh={href:"https://www.sustech.edu.cn/zh/faculties/gabriellemaryjing.html",target:"_blank",rel:"noopener noreferrer"},Ph=e("td",null,"gmjing@sustech.edu.cn",-1),Bh={href:"https://www.sustech.edu.cn/zh/faculties/yanqinghu.html",target:"_blank",rel:"noopener noreferrer"},Yh=e("td",null,"huyq@sustech.edu.cn",-1),Uh={href:"https://www.sustech.edu.cn/zh/faculties/english-jiang-xuejun.html",target:"_blank",rel:"noopener noreferrer"},Wh=e("td",null,"jiangxj@sustech.edu.cn",-1),Qh={href:"https://www.sustech.edu.cn/zh/faculties/jiaoxiyun.html",target:"_blank",rel:"noopener noreferrer"},Xh=e("td",null,"jiaoxy@sustech.edu.cn",-1),$h={href:"https://www.sustech.edu.cn/zh/faculties/jingbing-yi.html",target:"_blank",rel:"noopener noreferrer"},eu=e("td",null,"jingby@sustech.edu.cn",-1),tu={href:"https://www.sustech.edu.cn/zh/faculties/liceng.html",target:"_blank",rel:"noopener noreferrer"},nu=e("td",null,"liz9@sustech.edu.cn",-1),lu={href:"https://www.sustech.edu.cn/zh/faculties/mayifang.html",target:"_blank",rel:"noopener noreferrer"},su=e("td",null,"mayf@sustech.edu.cn",-1),ru={href:"https://www.sustech.edu.cn/zh/faculties/shaoqiman.html",target:"_blank",rel:"noopener noreferrer"},hu=e("td",null,"shaoqm@sustech.edu.cn",-1),uu={href:"https://www.sustech.edu.cn/zh/faculties/shijianqing.html",target:"_blank",rel:"noopener noreferrer"},ou=e("td",null,"shijq@sustech.edu.cn",-1),cu={href:"https://www.sustech.edu.cn/zh/faculties/tianguoliang.html",target:"_blank",rel:"noopener noreferrer"},du=e("td",null,"tiangl@sustech.edu.cn",-1),au={href:"https://www.sustech.edu.cn/zh/faculties/chaowang.html",target:"_blank",rel:"noopener noreferrer"},_u=e("td",null,"wangc6@sustech.edu.cn",-1),iu={href:"https://www.sustech.edu.cn/zh/faculties/xucong.html",target:"_blank",rel:"noopener noreferrer"},wu=e("td",null,"xuc6@sustech.edu.cn",-1),fu={href:"https://www.sustech.edu.cn/zh/faculties/yanglili.html",target:"_blank",rel:"noopener noreferrer"},gu=e("td",null,"yangll@sustech.edu.cn",-1),pu={href:"https://www.sustech.edu.cn/zh/faculties/yangpeng.html",target:"_blank",rel:"noopener noreferrer"},zu=e("td",null,"yangp_AT_sustc.edu.cn.",-1),bu={href:"https://www.sustech.edu.cn/zh/faculties/zhangzhuo-song.html",target:"_blank",rel:"noopener noreferrer"},mu=e("td",null,"zhangzs3@sustech.edu.cn",-1),ku=e("h2",{id:"工学院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#工学院","aria-hidden":"true"},"#"),t(" 工学院")],-1),yu=e("h3",{id:"力学与航空航天工程系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#力学与航空航天工程系","aria-hidden":"true"},"#"),t(" 力学与航空航天工程系")],-1),xu=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),ju={href:"https://www.sustech.edu.cn/zh/faculties/asitkumargain.html",target:"_blank",rel:"noopener noreferrer"},qu=e("td",null,"a.gain@sustech.edu.cn",-1),vu={href:"https://www.sustech.edu.cn/zh/faculties/baobin.html",target:"_blank",rel:"noopener noreferrer"},Au=e("td",null,"baob@sustech.edu.cn",-1),Su={href:"https://www.sustech.edu.cn/zh/faculties/english-chen-shiyi.html",target:"_blank",rel:"noopener noreferrer"},Eu=e("td",null,"chensy@sustech.edu.cn",-1),Iu={href:"https://www.sustech.edu.cn/zh/faculties/caorenjing.html",target:"_blank",rel:"noopener noreferrer"},Lu=e("td",null,"caorj@sustech.edu.cn",-1),Mu={href:"https://www.sustech.edu.cn/zh/faculties/chenxi-2.html",target:"_blank",rel:"noopener noreferrer"},Gu=e("td",null,"chenx33@sustech.edu.cn",-1),Nu={href:"https://www.sustech.edu.cn/zh/faculties/chenyu.html",target:"_blank",rel:"noopener noreferrer"},Ru=e("td",null,"cheny36@sustech.edu.cn",-1),Tu={href:"https://www.sustech.edu.cn/zh/faculties/dengweiwei.html",target:"_blank",rel:"noopener noreferrer"},Ku=e("td",null,"dengww@sustech.edu.cn",-1),Ou={href:"https://www.sustech.edu.cn/zh/faculties/dingkeqi.html",target:"_blank",rel:"noopener noreferrer"},Vu=e("td",null,"dingkq@sustech.edu.cn",-1),Ju={href:"https://www.sustech.edu.cn/zh/faculties/huangkefu.html",target:"_blank",rel:"noopener noreferrer"},Cu=e("td",null,"huangkf@sustech.edu.cn",-1),Hu={href:"https://www.sustech.edu.cn/zh/faculties/huangshidi.html",target:"_blank",rel:"noopener noreferrer"},Fu=e("td",null,"huangsd@sustech.edu.cn",-1),Zu={href:"https://www.sustech.edu.cn/zh/faculties/hongwei.html",target:"_blank",rel:"noopener noreferrer"},Du=e("td",null,"hongw@sustech.edu.cn",-1),Pu={href:"https://www.sustech.edu.cn/zh/faculties/english-lu-chun.html",target:"_blank",rel:"noopener noreferrer"},Bu=e("td",null,"官网未找到邮箱",-1),Yu={href:"https://www.sustech.edu.cn/zh/faculties/liuyijun.html",target:"_blank",rel:"noopener noreferrer"},Uu=e("td",null,"liuyj3@sustech.edu.cn",-1),Wu={href:"https://www.sustech.edu.cn/zh/faculties/lixiaodong.html",target:"_blank",rel:"noopener noreferrer"},Qu=e("td",null,"lixd@buaa.edu.cn",-1),Xu={href:"https://www.sustech.edu.cn/zh/faculties/lee-hsuchew.html",target:"_blank",rel:"noopener noreferrer"},$u=e("td",null,"leeh@sustech.edu.cn",-1),eo={href:"https://www.sustech.edu.cn/zh/faculties/liqi.html",target:"_blank",rel:"noopener noreferrer"},to=e("td",null,"liq33@sustech.edu.cn",-1),no={href:"https://www.sustech.edu.cn/zh/faculties/liuju.html",target:"_blank",rel:"noopener noreferrer"},lo=e("td",null,"liuj36@sustech.edu.cn",-1),so={href:"https://www.sustech.edu.cn/zh/faculties/liuyu.html",target:"_blank",rel:"noopener noreferrer"},ro=e("td",null,"liuy@sustech.edu.cn",-1),ho={href:"https://www.sustech.edu.cn/zh/faculties/lizhen.html",target:"_blank",rel:"noopener noreferrer"},uo=e("td",null,"liz33@sustech.edu.cn",-1),oo={href:"https://www.sustech.edu.cn/zh/faculties/luoshengfeng.html",target:"_blank",rel:"noopener noreferrer"},co=e("td",null,"luosf@sustech.edu.cn",-1),ao={href:"https://www.sustech.edu.cn/zh/faculties/limingwu.html",target:"_blank",rel:"noopener noreferrer"},_o=e("td",null,"limw@sustech.edu.cn",-1),io={href:"https://www.sustech.edu.cn/zh/faculties/matteo-lulli.html",target:"_blank",rel:"noopener noreferrer"},wo=e("td",null,"lulli@sustech.edu.cn",-1),fo={href:"https://www.sustech.edu.cn/zh/faculties/mayongfeng.html",target:"_blank",rel:"noopener noreferrer"},go=e("td",null,"mayf3@sustech.edu.cn",-1),po={href:"https://www.sustech.edu.cn/zh/faculties/renguangming.html",target:"_blank",rel:"noopener noreferrer"},zo=e("td",null,"rengm@sustech.edu.cn",-1),bo={href:"https://www.sustech.edu.cn/zh/faculties/shanxiaowen.html",target:"_blank",rel:"noopener noreferrer"},mo=e("td",null,"shanxw@sustech.edu.cn",-1),ko={href:"https://www.sustech.edu.cn/zh/faculties/tanhuanshu.html",target:"_blank",rel:"noopener noreferrer"},yo=e("td",null,"tanhs@sustech.edu.cn",-1),xo={href:"https://www.sustech.edu.cn/zh/faculties/tangxin.html",target:"_blank",rel:"noopener noreferrer"},jo=e("td",null,"tangx@sustech.edu.cn",-1),qo={href:"https://www.sustech.edu.cn/zh/faculties/tengjian.html",target:"_blank",rel:"noopener noreferrer"},vo=e("td",null,"tengj@sustech.edu.cn",-1),Ao={href:"https://www.sustech.edu.cn/zh/faculties/vikrant-gupta.html",target:"_blank",rel:"noopener noreferrer"},So=e("td",null,"vikrant@sustech.edu.cn",-1),Eo={href:"https://www.sustech.edu.cn/zh/faculties/wangquan.html",target:"_blank",rel:"noopener noreferrer"},Io=e("td",null,"wangq@sustech.edu.cn",-1),Lo={href:"https://www.sustech.edu.cn/zh/faculties/wanglianping.html",target:"_blank",rel:"noopener noreferrer"},Mo=e("td",null,"wanglp@sustech.edu.cn",-1),Go={href:"https://www.sustech.edu.cn/zh/faculties/wanminping.html",target:"_blank",rel:"noopener noreferrer"},No=e("td",null,"wanmp@sustech.edu.cn",-1),Ro={href:"https://www.sustech.edu.cn/zh/faculties/wangjianchun.html",target:"_blank",rel:"noopener noreferrer"},To=e("td",null,"wangjc@sustech.edu.cn",-1),Ko={href:"https://www.sustech.edu.cn/zh/faculties/wanghao.html",target:"_blank",rel:"noopener noreferrer"},Oo=e("td",null,"wangh7@sustc.edu.cn",-1),Vo={href:"https://www.sustech.edu.cn/zh/faculties/weizuojun.html",target:"_blank",rel:"noopener noreferrer"},Jo=e("td",null,"weizj@sustech.edu.cn",-1),Co={href:"https://www.sustech.edu.cn/zh/faculties/wulei.html",target:"_blank",rel:"noopener noreferrer"},Ho=e("td",null,"wul@sustech.edu.cn",-1),Fo={href:"https://www.sustech.edu.cn/zh/faculties/wangyunpeng.html",target:"_blank",rel:"noopener noreferrer"},Zo=e("td",null,"wangyp@sustech.edu.cn",-1),Do={href:"https://www.sustech.edu.cn/zh/faculties/wangbo.html",target:"_blank",rel:"noopener noreferrer"},Po=e("td",null,"wangb6@sustech.edu.cn",-1),Bo={href:"https://www.sustech.edu.cn/zh/faculties/xiakeqing.html",target:"_blank",rel:"noopener noreferrer"},Yo=e("td",null,"xiakq@sustech.edu.cn",-1),Uo={href:"https://www.sustech.edu.cn/zh/faculties/xiantao.html",target:"_blank",rel:"noopener noreferrer"},Wo=e("td",null,"xiant@sustech.edu.cn",-1),Qo={href:"https://www.sustech.edu.cn/zh/faculties/xue-yahui.html",target:"_blank",rel:"noopener noreferrer"},Xo=e("td",null,"xueyh@sustech.edu.cn",-1),$o={href:"https://www.sustech.edu.cn/zh/faculties/yupeng.html",target:"_blank",rel:"noopener noreferrer"},ec=e("td",null,"yup6@sustech.edu.cn",-1),tc={href:"https://www.sustech.edu.cn/zh/faculties/yutongxi.html",target:"_blank",rel:"noopener noreferrer"},nc=e("td",null,"metxyu@ust.hk",-1),lc={href:"https://www.sustech.edu.cn/zh/faculties/yangcanhui.html",target:"_blank",rel:"noopener noreferrer"},sc=e("td",null,"yangch@sustech.edu.cn",-1),rc={href:"https://www.sustech.edu.cn/zh/faculties/yangdong.html",target:"_blank",rel:"noopener noreferrer"},hc=e("td",null,"yangd3@sustech.edu.cn",-1),uc={href:"https://www.sustech.edu.cn/zh/faculties/yangyang.html",target:"_blank",rel:"noopener noreferrer"},oc=e("td",null,"yangy33@sustech.edu.cn",-1),cc={href:"https://www.sustech.edu.cn/zh/faculties/yuanhongyan.html",target:"_blank",rel:"noopener noreferrer"},dc=e("td",null,"yuanhy3@sustech.edu.cn",-1),ac={href:"https://www.sustech.edu.cn/zh/faculties/yutian.html",target:"_blank",rel:"noopener noreferrer"},_c=e("td",null,"yut3@sustech.edu.cn",-1),ic={href:"https://www.sustech.edu.cn/zh/faculties/zhangliangchi.html",target:"_blank",rel:"noopener noreferrer"},wc=e("td",null,"zhanglc@sustech.edu.cn",-1),fc={href:"https://www.sustech.edu.cn/zh/faculties/zhoubo.html",target:"_blank",rel:"noopener noreferrer"},gc=e("td",null,"zhoub3@sustech.edu.cn",-1),pc={href:"https://www.sustech.edu.cn/zh/faculties/zhangxin.html",target:"_blank",rel:"noopener noreferrer"},zc=e("td",null,"zhangx8@sustech.edu.cn",-1),bc={href:"https://www.sustech.edu.cn/zh/faculties/zhangtianhan.html",target:"_blank",rel:"noopener noreferrer"},mc=e("td",null,"zhangth@sustech.edu.cn",-1),kc=e("h3",{id:"机械与能源工程系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#机械与能源工程系","aria-hidden":"true"},"#"),t(" 机械与能源工程系")],-1),yc=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),xc={href:"https://www.sustech.edu.cn/zh/faculties/baijiaming.html",target:"_blank",rel:"noopener noreferrer"},jc=e("td",null,"baijm@sustech.edu.cn",-1),qc={href:"https://www.sustech.edu.cn/zh/faculties/chenshibo.html",target:"_blank",rel:"noopener noreferrer"},vc=e("td",null,"chensb@sustech.edu.cn",-1),Ac={href:"https://www.sustech.edu.cn/zh/faculties/chenhua.html",target:"_blank",rel:"noopener noreferrer"},Sc=e("td",null,"chenh6@sustech.edu.cn",-1),Ec={href:"https://www.sustech.edu.cn/zh/faculties/chenxihan.html",target:"_blank",rel:"noopener noreferrer"},Ic=e("td",null,"chenxh@sustech.edu.cn",-1),Lc={href:"https://www.sustech.edu.cn/zh/faculties/denghui.html",target:"_blank",rel:"noopener noreferrer"},Mc=e("td",null,"dengh@sustech.edu.cn",-1),Gc={href:"https://www.sustech.edu.cn/zh/faculties/kemiding.html",target:"_blank",rel:"noopener noreferrer"},Nc=e("td",null,"dingkm@sustech.edu.cn",-1),Rc={href:"https://www.sustech.edu.cn/zh/faculties/daijiansheng.html",target:"_blank",rel:"noopener noreferrer"},Tc=e("td",null,"daijs@sustech.edu.cn",-1),Kc={href:"https://www.sustech.edu.cn/zh/faculties/fuchenglong.html",target:"_blank",rel:"noopener noreferrer"},Oc=e("td",null,"fucl@sustech.edu.cn",-1),Vc={href:"https://www.sustech.edu.cn/zh/faculties/huijuanfeng.html",target:"_blank",rel:"noopener noreferrer"},Jc=e("td",null,"fenghj@sustech.edu.cn",-1),Cc={href:"https://www.sustech.edu.cn/zh/faculties/guoliang.html",target:"_blank",rel:"noopener noreferrer"},Hc=e("td",null,"guol3@sustech.edu.cn",-1),Fc={href:"https://www.sustech.edu.cn/zh/faculties/ge.html",target:"_blank",rel:"noopener noreferrer"},Zc=e("td",null,"geq@sustech.edu.cn",-1),Dc={href:"https://www.sustech.edu.cn/zh/faculties/huchengzhi.html",target:"_blank",rel:"noopener noreferrer"},Pc=e("td",null,"hucz@sustech.edu.cn",-1),Bc={href:"https://www.sustech.edu.cn/zh/faculties/hebinbin.html",target:"_blank",rel:"noopener noreferrer"},Yc=e("td",null,"hebb@sustech.edu.cn",-1),Uc={href:"https://www.sustech.edu.cn/zh/faculties/english-hu-xiaogang.html",target:"_blank",rel:"noopener noreferrer"},Wc=e("td",null,"huxg@sustech.edu.cn",-1),Qc={href:"https://www.sustech.edu.cn/zh/faculties/jiangmiao.html",target:"_blank",rel:"noopener noreferrer"},Xc=e("td",null,"jiangm@sustech.edu.cn",-1),$c={href:"https://www.sustech.edu.cn/zh/faculties/jiazhenzhong.html",target:"_blank",rel:"noopener noreferrer"},ed=e("td",null,"jiazz@sustech.edu.cn",-1),td={href:"https://www.sustech.edu.cn/zh/faculties/kewende.html",target:"_blank",rel:"noopener noreferrer"},nd=e("td",null,"kewd@sustech.edu.cn",-1),ld={href:"https://www.sustech.edu.cn/zh/faculties/konghe.html",target:"_blank",rel:"noopener noreferrer"},sd=e("td",null,"kongh@sustech.edu.cn",-1),rd={href:"https://www.sustech.edu.cn/zh/faculties/ludong.html",target:"_blank",rel:"noopener noreferrer"},hd=e("td",null,"lud@sustech.edu.cn",-1),ud={href:"https://www.sustech.edu.cn/zh/faculties/luhongxing.html",target:"_blank",rel:"noopener noreferrer"},od=e("td",null,"luhx@sustech.edu.cn",-1),cd={href:"https://www.sustech.edu.cn/zh/faculties/liusicong.html",target:"_blank",rel:"noopener noreferrer"},dd=e("td",null,"liusc@sustech.edu.cn",-1),ad={href:"https://www.sustech.edu.cn/zh/faculties/liuwei.html",target:"_blank",rel:"noopener noreferrer"},_d=e("td",null,"liuw2@sustech.edu.cn",-1),id={href:"https://www.sustech.edu.cn/zh/faculties/linmeng.html",target:"_blank",rel:"noopener noreferrer"},wd=e("td",null,"linm@sustech.edu.cn",-1),fd={href:"https://www.sustech.edu.cn/zh/faculties/lengyuquan.html",target:"_blank",rel:"noopener noreferrer"},gd=e("td",null,"lengyq@sustech.edu.cn",-1),pd={href:"https://www.sustech.edu.cn/zh/faculties/luwenjun.html",target:"_blank",rel:"noopener noreferrer"},zd=e("td",null,"luwj@sustech.edu.cn",-1),bd={href:"https://www.sustech.edu.cn/zh/faculties/liuji.html",target:"_blank",rel:"noopener noreferrer"},md=e("td",null,"liuj9@sustech.edu.cn",-1),kd={href:"https://www.sustech.edu.cn/zh/faculties/liuderong.html",target:"_blank",rel:"noopener noreferrer"},yd=e("td",null,"liudr@sustech.edu.cn",-1),xd={href:"https://www.sustech.edu.cn/zh/faculties/llyiju.html",target:"_blank",rel:"noopener noreferrer"},jd=e("td",null,"liyj6@sustech.edu.cn",-1),qd={href:"https://www.sustech.edu.cn/zh/faculties/yongshengma.html",target:"_blank",rel:"noopener noreferrer"},vd=e("td",null,"mays@sustech.edu.cn",-1),Ad={href:"https://www.sustech.edu.cn/zh/faculties/panyang.html",target:"_blank",rel:"noopener noreferrer"},Sd=e("td",null,"pany@sustech.edu.cn",-1),Ed={href:"https://www.sustech.edu.cn/zh/faculties/qiulongbin.html",target:"_blank",rel:"noopener noreferrer"},Id=e("td",null,"qiulb@sustech.edu.cn",-1),Ld={href:"https://www.sustech.edu.cn/zh/faculties/rongyiming.html",target:"_blank",rel:"noopener noreferrer"},Md=e("td",null,"rongym@sustech.edu.cn",-1),Gd={href:"https://www.sustech.edu.cn/zh/faculties/songchaoyang.html",target:"_blank",rel:"noopener noreferrer"},Nd=e("td",null,"songcy@sustech.edu.cn",-1),Rd={href:"https://www.sustech.edu.cn/zh/faculties/wanghaijiang.html",target:"_blank",rel:"noopener noreferrer"},Td=e("td",null,"wanghj@sustech.edu.cn",-1),Kd={href:"https://www.sustech.edu.cn/zh/faculties/wuyongbo.html",target:"_blank",rel:"noopener noreferrer"},Od=e("td",null,"wuyb@sustech.edu.cn",-1),Vd={href:"https://www.sustech.edu.cn/zh/faculties/wangshuai.html",target:"_blank",rel:"noopener noreferrer"},Jd=e("td",null,"wangs@sustech.edu.cn",-1),Cd={href:"https://www.sustech.edu.cn/zh/faculties/weiyan.html",target:"_blank",rel:"noopener noreferrer"},Hd=e("td",null,"weiy@sustech.edu.cn",-1),Fd={href:"https://www.sustech.edu.cn/zh/faculties/wanghongqiang.html",target:"_blank",rel:"noopener noreferrer"},Zd=e("td",null,"wanghq6@sustech.edu.cn",-1),Dd={href:"https://www.sustech.edu.cn/zh/faculties/wangzheng.html",target:"_blank",rel:"noopener noreferrer"},Pd=e("td",null,"wangz@sustech.edu.cn",-1),Bd={href:"https://www.sustech.edu.cn/zh/faculties/weiqihe.html",target:"_blank",rel:"noopener noreferrer"},Yd=e("td",null,"weiqh@sustech.edu.cn",-1),Ud={href:"https://www.sustech.edu.cn/zh/faculties/jiayuwan.html",target:"_blank",rel:"noopener noreferrer"},Wd=e("td",null,"wanjy@sustech.edu.cn",-1),Qd={href:"https://www.sustech.edu.cn/zh/faculties/xushaolin.html",target:"_blank",rel:"noopener noreferrer"},Xd=e("td",null,"xusl@sustech.edu.cn",-1),$d={href:"https://www.sustech.edu.cn/zh/faculties/yangzaiyue.html",target:"_blank",rel:"noopener noreferrer"},ea=e("td",null,"yangzy3@sustech.edu.cn",-1),ta={href:"https://www.sustech.edu.cn/zh/faculties/yijuan.html",target:"_blank",rel:"noopener noreferrer"},na=e("td",null,"yij3@sustech.edu.cn",-1),la={href:"https://www.sustech.edu.cn/zh/faculties/zhuqiang.html",target:"_blank",rel:"noopener noreferrer"},sa=e("td",null,"zhuq@sustech.edu.cn",-1),ra={href:"https://www.sustech.edu.cn/zh/faculties/zhangbi.html",target:"_blank",rel:"noopener noreferrer"},ha=e("td",null,"zhangb@sustech.edu.cn",-1),ua={href:"https://www.sustech.edu.cn/zh/faculties/zhengyuji.html",target:"_blank",rel:"noopener noreferrer"},oa=e("td",null,"zhengyj@sustech.edu.cn",-1),ca={href:"https://www.sustech.edu.cn/zh/faculties/zhaoyonghua.html",target:"_blank",rel:"noopener noreferrer"},da=e("td",null,"zhaoyh@sustech.edu.cn",-1),aa={href:"https://www.sustech.edu.cn/zh/faculties/zhangtongda.html",target:"_blank",rel:"noopener noreferrer"},_a=e("td",null,"zhangtd@sustech.edu.cn",-1),ia={href:"https://www.sustech.edu.cn/zh/faculties/cenglin.html",target:"_blank",rel:"noopener noreferrer"},wa=e("td",null,"zengl3@sustech.edu.cn",-1),fa={href:"https://www.sustech.edu.cn/zh/faculties/zhangwei-2.html",target:"_blank",rel:"noopener noreferrer"},ga=e("td",null,"zhangw3@sustech.edu.cn",-1),pa={href:"https://www.sustech.edu.cn/zh/faculties/zengguosong.html",target:"_blank",rel:"noopener noreferrer"},za=e("td",null,"zenggs@sustech.edu.cn",-1),ba={href:"https://www.sustech.edu.cn/zh/faculties/zhaotianshou.html",target:"_blank",rel:"noopener noreferrer"},ma=e("td",null,"zhaots@sustech.edu.cn",-1),ka=e("h3",{id:"材料科学与工程系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#材料科学与工程系","aria-hidden":"true"},"#"),t(" 材料科学与工程系")],-1),ya=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),xa={href:"https://www.sustech.edu.cn/zh/faculties/english-xin-cheng.html",target:"_blank",rel:"noopener noreferrer"},ja=e("td",null,"chengx@sustech.edu.cn",-1),qa={href:"https://www.sustech.edu.cn/zh/faculties/chengchun.html",target:"_blank",rel:"noopener noreferrer"},va=e("td",null,"chengc@sustech.edu.cn",-1),Aa={href:"https://www.sustech.edu.cn/zh/faculties/chenguoqiang.html",target:"_blank",rel:"noopener noreferrer"},Sa=e("td",null,"chengq3@sustech.edu.cn",-1),Ea={href:"https://www.sustech.edu.cn/zh/faculties/cuijieshun.html",target:"_blank",rel:"noopener noreferrer"},Ia=e("td",null,"cuijs@sustech.edu.cn",-1),La={href:"https://www.sustech.edu.cn/zh/faculties/chenxianqiang.html",target:"_blank",rel:"noopener noreferrer"},Ma=e("td",null,"chenxq@sustech.edu.cn",-1),Ga={href:"https://www.sustech.edu.cn/zh/faculties/chenshaoqing.html",target:"_blank",rel:"noopener noreferrer"},Na=e("td",null,"chensq3@sustech.edu.cn",-1),Ra={href:"https://www.sustech.edu.cn/zh/faculties/yonghong-deng.html",target:"_blank",rel:"noopener noreferrer"},Ta=e("td",null,"dengyh@sustech.edu.cn",-1),Ka={href:"https://www.sustech.edu.cn/zh/faculties/english-dengmengyu.html",target:"_blank",rel:"noopener noreferrer"},Oa=e("td",null,"dengmy@sustech.edu.cn",-1),Va={href:"https://www.sustech.edu.cn/zh/faculties/fangju.html",target:"_blank",rel:"noopener noreferrer"},Ja=e("td",null,"fangj@sustech.edu.cn",-1),Ca={href:"https://www.sustech.edu.cn/zh/faculties/fengjun.html",target:"_blank",rel:"noopener noreferrer"},Ha=e("td",null,"fengj@sustech.edu.cn",-1),Fa={href:"https://www.sustech.edu.cn/zh/faculties/chuanfei-guo.html",target:"_blank",rel:"noopener noreferrer"},Za=e("td",null,"guocf@sustech.edu.cn",-1),Da={href:"https://www.sustech.edu.cn/zh/faculties/xugang-guo.html",target:"_blank",rel:"noopener noreferrer"},Pa=e("td",null,"guoxg@sustech.edu.cn",-1),Ba={href:"https://www.sustech.edu.cn/zh/faculties/guohan.html",target:"_blank",rel:"noopener noreferrer"},Ya=e("td",null,"guoh3@sustech.edu.cn",-1),Ua={href:"https://www.sustech.edu.cn/zh/faculties/hezhubing.html",target:"_blank",rel:"noopener noreferrer"},Wa=e("td",null,"hezb@sustech.edu.cn",-1),Qa={href:"https://www.sustech.edu.cn/zh/faculties/english-huangjintao.html",target:"_blank",rel:"noopener noreferrer"},Xa=e("td",null,"huangjt@sustech.edu.cn",-1),$a={href:"https://www.sustech.edu.cn/zh/faculties/hejin.html",target:"_blank",rel:"noopener noreferrer"},e_=e("td",null,"hej3@sustech.edu.cn",-1),t_={href:"https://www.sustech.edu.cn/zh/faculties/hezhen.html",target:"_blank",rel:"noopener noreferrer"},n_=e("td",null,"hez@sustech.edu.cn",-1),l_={href:"https://www.sustech.edu.cn/zh/faculties/huangboyuan.html",target:"_blank",rel:"noopener noreferrer"},s_=e("td",null,"huangby@sustech.edu.cn",-1),r_={href:"https://www.sustech.edu.cn/zh/faculties/english-yongye-liang.html",target:"_blank",rel:"noopener noreferrer"},h_=e("td",null,"liangyy@sustech.edu.cn",-1),u_={href:"https://www.sustech.edu.cn/zh/faculties/lihui.html",target:"_blank",rel:"noopener noreferrer"},o_=e("td",null,"hui.li@sustech.edu.cn",-1),c_={href:"https://www.sustech.edu.cn/zh/faculties/liguixin.html",target:"_blank",rel:"noopener noreferrer"},d_=e("td",null,"ligx@sustech.edu.cn",-1),a_={href:"https://www.sustech.edu.cn/zh/faculties/liuweishu.html",target:"_blank",rel:"noopener noreferrer"},__=e("td",null,"liuws@sustech.edu.cn",-1),i_={href:"https://www.sustech.edu.cn/zh/faculties/luoguangfu.html",target:"_blank",rel:"noopener noreferrer"},w_=e("td",null,"luogf@sustech.edu.cn",-1),f_={href:"https://www.sustech.edu.cn/zh/faculties/loufei.html",target:"_blank",rel:"noopener noreferrer"},g_=e("td",null,"louf@sustech.edu.cn",-1),p_={href:"https://www.sustech.edu.cn/zh/faculties/english-zhouguang-lu.html",target:"_blank",rel:"noopener noreferrer"},z_=e("td",null,"luzg@sustech.edu.cn",-1),b_={href:"https://www.sustech.edu.cn/zh/faculties/libo.html",target:"_blank",rel:"noopener noreferrer"},m_=e("td",null,"lib6@sustech.edu.cn",-1),k_={href:"https://www.sustech.edu.cn/zh/faculties/lijiangyu.html",target:"_blank",rel:"noopener noreferrer"},y_=e("td",null,"lijy@sustech.edu.cn",-1),x_={href:"https://www.sustech.edu.cn/zh/faculties/lilei.html",target:"_blank",rel:"noopener noreferrer"},j_=e("td",null,"lil33@sustech.edu.cn",-1),q_={href:"https://www.sustech.edu.cn/zh/faculties/lichangjian.html",target:"_blank",rel:"noopener noreferrer"},v_=e("td",null,"licj@sustech.edu.cn",-1),A_={href:"https://www.sustech.edu.cn/zh/faculties/libaowen.html",target:"_blank",rel:"noopener noreferrer"},S_=e("td",null,"libw@sustech.edu.cn",-1),E_={href:"https://www.sustech.edu.cn/zh/faculties/english-fuzeng-ren.html",target:"_blank",rel:"noopener noreferrer"},I_=e("td",null,"renfz@sustech.edu.cn",-1),L_={href:"https://www.sustech.edu.cn/zh/faculties/sundazhi.html",target:"_blank",rel:"noopener noreferrer"},M_=e("td",null,"sundz@sustech.edu.cn",-1),G_={href:"https://www.sustech.edu.cn/zh/faculties/sunhuiliang.html",target:"_blank",rel:"noopener noreferrer"},N_=e("td",null,"sunhl@sustech.edu.cn",-1),R_={href:"https://www.sustech.edu.cn/zh/faculties/shenxiangying-researchassociatescientist.html",target:"_blank",rel:"noopener noreferrer"},T_=e("td",null,"shenxy@sustech.edu.cn",-1),K_={href:"https://www.sustech.edu.cn/zh/faculties/english-yanqing-tian.html",target:"_blank",rel:"noopener noreferrer"},O_=e("td",null,"tianyq@sustech.edu.cn",-1),V_={href:"https://www.sustech.edu.cn/zh/faculties/tianleilei.html",target:"_blank",rel:"noopener noreferrer"},J_=e("td",null,"tianll@sustech.edu.cn",-1),C_={href:"https://www.sustech.edu.cn/zh/faculties/wanghong.html",target:"_blank",rel:"noopener noreferrer"},H_=e("td",null,"wangh6@sustech.edu.cn",-1),F_={href:"https://www.sustech.edu.cn/zh/faculties/wangxianglin.html",target:"_blank",rel:"noopener noreferrer"},Z_=e("td",null,"wangxl3@sustech.edu.cn",-1),D_={href:"https://www.sustech.edu.cn/zh/faculties/wenruitao.html",target:"_blank",rel:"noopener noreferrer"},P_=e("td",null,"wenrt@sustech.edu.cn",-1),B_={href:"https://www.sustech.edu.cn/zh/faculties/wujiazhen.html",target:"_blank",rel:"noopener noreferrer"},Y_=e("td",null,"wujz@sustech.edu.cn",-1),U_={href:"https://www.sustech.edu.cn/zh/faculties/wangjinlong.html",target:"_blank",rel:"noopener noreferrer"},W_=e("td",null,"wangjl6@sustech.edu.cn",-1),Q_={href:"https://www.sustech.edu.cn/zh/faculties/xuzhenghe.html",target:"_blank",rel:"noopener noreferrer"},X_=e("td",null,"xuzh@sustech.edu.cn",-1),$_={href:"https://www.sustech.edu.cn/zh/faculties/xuqiang.html",target:"_blank",rel:"noopener noreferrer"},ei=e("td",null,"xuq@sustech.edu.cn",-1),ti={href:"https://www.sustech.edu.cn/zh/faculties/english-baomin-xu.html",target:"_blank",rel:"noopener noreferrer"},ni=e("td",null,"xubm@sustech.edu.cn",-1),li={href:"https://www.sustech.edu.cn/zh/faculties/xiangxiaodong.html",target:"_blank",rel:"noopener noreferrer"},si=e("td",null,"xiangxd@sustech.edu.cn",-1),ri={href:"https://www.sustech.edu.cn/zh/faculties/yanming.html",target:"_blank",rel:"noopener noreferrer"},hi=e("td",null,"yanm@sustech.edu.cn",-1),ui={href:"https://www.sustech.edu.cn/zh/faculties/yefei.html",target:"_blank",rel:"noopener noreferrer"},oi=e("td",null,"yef3@sustech.edu.cn",-1),ci={href:"https://www.sustech.edu.cn/zh/faculties/yangjunlong.html",target:"_blank",rel:"noopener noreferrer"},di=e("td",null,"yangjl@sustech.edu.cn",-1),ai={href:"https://www.sustech.edu.cn/zh/faculties/yuyan.html",target:"_blank",rel:"noopener noreferrer"},_i=e("td",null,"yuyh@sustech.edu.cn",-1),ii={href:"https://www.sustech.edu.cn/zh/faculties/yushuhong.html",target:"_blank",rel:"noopener noreferrer"},wi=e("td",null,"yush@sustech.edu.cn",-1),fi={href:"https://www.sustech.edu.cn/zh/faculties/zhangwenqing.html",target:"_blank",rel:"noopener noreferrer"},gi=e("td",null,"zhangwq@sustech.edu.cn",-1),pi={href:"https://www.sustech.edu.cn/zh/faculties/jinhuizhong.html",target:"_blank",rel:"noopener noreferrer"},zi=e("td",null,"zhongjh@sustech.edu.cn",-1),bi=e("h3",{id:"电子与电气工程系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#电子与电气工程系","aria-hidden":"true"},"#"),t(" 电子与电气工程系")],-1),mi=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),ki={href:"https://www.sustech.edu.cn/zh/faculties/chenfei.html",target:"_blank",rel:"noopener noreferrer"},yi=e("td",null,"fchen@sustech.edu.cn",-1),xi={href:"https://www.sustech.edu.cn/zh/faculties/chenrui.html",target:"_blank",rel:"noopener noreferrer"},ji=e("td",null,"chenr@sustc.edu.cn",-1),qi={href:"https://www.sustech.edu.cn/zh/faculties/chenshuming.html",target:"_blank",rel:"noopener noreferrer"},vi=e("td",null,"chensm@sustech.edu.cn",-1),Ai={href:"https://www.sustech.edu.cn/zh/faculties/chengqingsha.html",target:"_blank",rel:"noopener noreferrer"},Si=e("td",null,"chengqs@sustech.edu.cn",-1),Ei={href:"https://www.sustech.edu.cn/zh/faculties/chenxiaolong.html",target:"_blank",rel:"noopener noreferrer"},Ii=e("td",null,"chenxl@sustech.edu.cn",-1),Li={href:"https://www.sustech.edu.cn/zh/faculties/conglongqing.html",target:"_blank",rel:"noopener noreferrer"},Mi=e("td",null,"conglq@sustech.edu.cn",-1),Gi={href:"https://www.sustech.edu.cn/zh/faculties/yuefeicai.html",target:"_blank",rel:"noopener noreferrer"},Ni=e("td",null,"caiyf@sustech.edu.cn",-1),Ri={href:"https://www.sustech.edu.cn/zh/faculties/gongyi.html",target:"_blank",rel:"noopener noreferrer"},Ti=e("td",null,"gongy@sustech.edu.cn",-1),Ki={href:"https://www.sustech.edu.cn/zh/faculties/gaozhen.html",target:"_blank",rel:"noopener noreferrer"},Oi=e("td",null,"gaoz@sustech.edu.cn",-1),Vi={href:"https://www.sustech.edu.cn/zh/faculties/huamengyuan.html",target:"_blank",rel:"noopener noreferrer"},Ji=e("td",null,"huamy@sustech.edu.cn",-1),Ci={href:"https://www.sustech.edu.cn/zh/faculties/zhihaihe.html",target:"_blank",rel:"noopener noreferrer"},Hi=e("td",null,"hezh@sustech.edu.cn",-1),Fi={href:"https://www.sustech.edu.cn/zh/faculties/lihe.html",target:"_blank",rel:"noopener noreferrer"},Zi=e("td",null,"hel@sustech.edu.cn",-1),Di={href:"https://www.sustech.edu.cn/zh/faculties/jianlinni.html",target:"_blank",rel:"noopener noreferrer"},Pi=e("td",null,"jianln@sustech.edu.cn",-1),Bi={href:"https://www.sustech.edu.cn/zh/faculties/jiayouwei.html",target:"_blank",rel:"noopener noreferrer"},Yi=e("td",null,"jiayw@sustech.edu.cn",-1),Ui={href:"https://www.sustech.edu.cn/zh/faculties/jiangjunmin.html",target:"_blank",rel:"noopener noreferrer"},Wi=e("td",null,"jiangjm@sustech.edu.cn",-1),Qi={href:"https://www.sustech.edu.cn/zh/faculties/aung-ko-ko-kyaw.html",target:"_blank",rel:"noopener noreferrer"},Xi=e("td",null,"aung@sustech.edu.cn",-1),$i={href:"https://www.sustech.edu.cn/zh/faculties/liuyanjun.html",target:"_blank",rel:"noopener noreferrer"},ew=e("td",null,"官网未找到邮箱",-1),tw={href:"https://www.sustech.edu.cn/zh/faculties/liuzhaojun.html",target:"_blank",rel:"noopener noreferrer"},nw=e("td",null,"liuzj@sustc.edu.cn",-1),lw={href:"https://www.sustech.edu.cn/zh/faculties/luodan.html",target:"_blank",rel:"noopener noreferrer"},sw=e("td",null,"luod@sustech.edu.cn",-1),rw={href:"https://www.sustech.edu.cn/zh/faculties/liuhuanhuan.html",target:"_blank",rel:"noopener noreferrer"},hw=e("td",null,"liuhh@sustech.edu.cn",-1),uw={href:"https://www.sustech.edu.cn/zh/faculties/liupai.html",target:"_blank",rel:"noopener noreferrer"},ow=e("td",null,"liup7@sustech.edu.cn",-1),cw={href:"https://www.sustech.edu.cn/zh/faculties/liufan.html",target:"_blank",rel:"noopener noreferrer"},dw=e("td",null,"liuf6@sustech.edu.cn",-1),aw={href:"https://www.sustech.edu.cn/zh/faculties/larssamuelson.html",target:"_blank",rel:"noopener noreferrer"},_w=e("td",null,"lars.samuelson2021@mail.sustech.edu.cn",-1),iw={href:"https://www.sustech.edu.cn/zh/faculties/mengqinghu.html",target:"_blank",rel:"noopener noreferrer"},ww=e("td",null,"mengqh@sustech.edu.cn",-1),fw={href:"https://www.sustech.edu.cn/zh/faculties/majun.html",target:"_blank",rel:"noopener noreferrer"},gw=e("td",null,"maj3@sustech.edu.cn",-1),pw={href:"https://www.sustech.edu.cn/zh/faculties/sunxiaowei.html",target:"_blank",rel:"noopener noreferrer"},zw=e("td",null,"官网未找到邮箱",-1),bw={href:"https://www.sustech.edu.cn/zh/faculties/shaoliyang.html",target:"_blank",rel:"noopener noreferrer"},mw=e("td",null,"shaoly@sustech.edu.cn",-1),kw={href:"https://www.sustech.edu.cn/zh/faculties/shenping.html",target:"_blank",rel:"noopener noreferrer"},yw=e("td",null,"shenp@sustech.edu.cn",-1),xw={href:"https://www.sustech.edu.cn/zh/faculties/tangxiaoying.html",target:"_blank",rel:"noopener noreferrer"},jw=e("td",null,"tangxy@sustech.edu.cn",-1),qw={href:"https://www.sustech.edu.cn/zh/faculties/wangrui.html",target:"_blank",rel:"noopener noreferrer"},vw=e("td",null,"wangr@sustc.edu.cn",-1),Aw={href:"https://www.sustech.edu.cn/zh/faculties/wangkai.html",target:"_blank",rel:"noopener noreferrer"},Sw=e("td",null,"wangk@sustech.edu.cn",-1),Ew={href:"https://www.sustech.edu.cn/zh/faculties/wangtaihong.html",target:"_blank",rel:"noopener noreferrer"},Iw=e("td",null,"wangth@sustech.edu.cn",-1),Lw={href:"https://www.sustech.edu.cn/zh/faculties/jiankunwang.html",target:"_blank",rel:"noopener noreferrer"},Mw=e("td",null,"wangjk@sustech.edu.cn",-1),Gw={href:"https://www.sustech.edu.cn/zh/faculties/yuming.html",target:"_blank",rel:"noopener noreferrer"},Nw=e("td",null,"yum@sustech.edu.cn",-1),Rw={href:"https://www.sustech.edu.cn/zh/faculties/yetao.html",target:"_blank",rel:"noopener noreferrer"},Tw=e("td",null,"yet@sustc.edu.cn",-1),Kw={href:"https://www.sustech.edu.cn/zh/faculties/yuyajun.html",target:"_blank",rel:"noopener noreferrer"},Ow=e("td",null,"yuyj@sustech.edu.cn",-1),Vw={href:"https://www.sustech.edu.cn/zh/faculties/yuanweijie.html",target:"_blank",rel:"noopener noreferrer"},Jw=e("td",null,"yuanwj@sustech.edu.cn",-1),Cw={href:"https://www.sustech.edu.cn/zh/faculties/changshengyou.html",target:"_blank",rel:"noopener noreferrer"},Hw=e("td",null,"youcs@sustech.edu.cn",-1),Fw={href:"https://www.sustech.edu.cn/zh/faculties/zhanghong.html",target:"_blank",rel:"noopener noreferrer"},Zw=e("td",null,"hzhang@sustech.edu.cn",-1),Dw={href:"https://www.sustech.edu.cn/zh/faculties/english-zhang-xinhai.html",target:"_blank",rel:"noopener noreferrer"},Pw=e("td",null,"zhangxh@sustech.edu.cn",-1),Bw={href:"https://www.sustech.edu.cn/zh/faculties/zhangfucai.html",target:"_blank",rel:"noopener noreferrer"},Yw=e("td",null,"zhangfc@sustech.edu.cn",-1),Uw={href:"https://www.sustech.edu.cn/zh/faculties/zhangqingfeng.html",target:"_blank",rel:"noopener noreferrer"},Ww=e("td",null,"zhangqf@sustech.edu.cn",-1),Qw=e("h3",{id:"计算机科学与工程系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#计算机科学与工程系","aria-hidden":"true"},"#"),t(" 计算机科学与工程系")],-1),Xw=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),$w={href:"https://www.sustech.edu.cn/zh/faculties/asheralieva-alia.html",target:"_blank",rel:"noopener noreferrer"},ef=e("td",null,"asheralievaa@sustech.edu.cn",-1),tf={href:"https://www.sustech.edu.cn/zh/faculties/chenshan.html",target:"_blank",rel:"noopener noreferrer"},nf=e("td",null,"chens3@sustech.edu.cn",-1),lf={href:"https://www.sustech.edu.cn/zh/faculties/chengran.html",target:"_blank",rel:"noopener noreferrer"},sf=e("td",null,"chengr@sustech.edu.cn",-1),rf={href:"https://www.sustech.edu.cn/zh/faculties/dingyulong.html",target:"_blank",rel:"noopener noreferrer"},hf=e("td",null,"dingyl_AT_sustc.edu.cn",-1),uf={href:"https://www.sustech.edu.cn/zh/faculties/haoqi.html",target:"_blank",rel:"noopener noreferrer"},of=e("td",null,"haoq@sustech.edu.cn",-1),cf={href:"https://www.sustech.edu.cn/zh/faculties/hisao-ishibuchi.html",target:"_blank",rel:"noopener noreferrer"},df=e("td",null,"hisao@sustech.edu.cn",-1),af={href:"https://www.sustech.edu.cn/zh/faculties/liuyepang-2.html",target:"_blank",rel:"noopener noreferrer"},_f=e("td",null,"liuyp1@sustech.edu.cn",-1),wf={href:"https://www.sustech.edu.cn/zh/faculties/liujialin.html",target:"_blank",rel:"noopener noreferrer"},ff=e("td",null,"liujl@sustech.edu.cn",-1),gf={href:"https://www.sustech.edu.cn/zh/faculties/liujiang.html",target:"_blank",rel:"noopener noreferrer"},pf=e("td",null,"liuj@sustech.edu.cn",-1),zf={href:"https://www.sustech.edu.cn/zh/faculties/lizhuozhao.html",target:"_blank",rel:"noopener noreferrer"},bf=e("td",null,"lizz@sustech.edu.cn",-1),mf={href:"https://www.sustech.edu.cn/zh/faculties/mayuxin.html",target:"_blank",rel:"noopener noreferrer"},kf=e("td",null,"mayx@sustech.edu.cn",-1),yf={href:"https://www.sustech.edu.cn/zh/faculties/shiyuhui.html",target:"_blank",rel:"noopener noreferrer"},xf=e("td",null,"shiyh@sustech.edu.cn",-1),jf={href:"https://www.sustech.edu.cn/zh/faculties/joseph-sifakis.html",target:"_blank",rel:"noopener noreferrer"},qf=e("td",null,"joseph.sifakis@univ-grenoble-alpes.fr",-1),vf={href:"https://www.sustech.edu.cn/zh/faculties/songxuan.html",target:"_blank",rel:"noopener noreferrer"},Af=e("td",null,"songx@sustech.edu.cn",-1),Sf={href:"https://www.sustech.edu.cn/zh/faculties/georgios-theodoropoulos-2.html",target:"_blank",rel:"noopener noreferrer"},Ef=e("td",null,"georgios@sustech.edu.cn",-1),If={href:"https://www.sustech.edu.cn/zh/faculties/tangke.html",target:"_blank",rel:"noopener noreferrer"},Lf=e("td",null,"tangk3@sustech.edu.cn",-1),Mf={href:"https://www.sustech.edu.cn/zh/faculties/chenxinhui.html",target:"_blank",rel:"noopener noreferrer"},Gf=e("td",null,"tansh3@sustech.edu.cn",-1),Nf={href:"https://www.sustech.edu.cn/zh/faculties/tangbo-2.html",target:"_blank",rel:"noopener noreferrer"},Rf=e("td",null,"tangb3@sustech.edu.cn",-1),Tf={href:"https://www.sustech.edu.cn/zh/faculties/tangming.html",target:"_blank",rel:"noopener noreferrer"},Kf=e("td",null,"tangm3@sustech.edu.cn",-1),Of={href:"https://www.sustech.edu.cn/zh/faculties/wangqi-2.html",target:"_blank",rel:"noopener noreferrer"},Vf=e("td",null,"wangqi@sustech.edu.cn",-1),Jf={href:"https://www.sustech.edu.cn/zh/faculties/weixuetao.html",target:"_blank",rel:"noopener noreferrer"},Cf=e("td",null,"weixt@sustech.edu.cn",-1),Hf={href:"https://www.sustech.edu.cn/zh/faculties/english-yao-xin.html",target:"_blank",rel:"noopener noreferrer"},Ff=e("td",null,"xiny@sustech.edu.cn",-1),Zf={href:"https://www.sustech.edu.cn/zh/faculties/yuanbo.html",target:"_blank",rel:"noopener noreferrer"},Df=e("td",null,"yuanb@sustech.edu.cn",-1),Pf={href:"https://www.sustech.edu.cn/zh/faculties/yangyi.html",target:"_blank",rel:"noopener noreferrer"},Bf=e("td",null,"Yi.Yang_AT_uts.edu.au",-1),Yf={href:"https://www.sustech.edu.cn/zh/faculties/yangpeng.html",target:"_blank",rel:"noopener noreferrer"},Uf=e("td",null,"yangp_AT_sustc.edu.cn.",-1),Wf={href:"https://www.sustech.edu.cn/zh/faculties/yangshuanghua-2.html",target:"_blank",rel:"noopener noreferrer"},Qf=e("td",null,"yangsh@sustech.edu.cn",-1),Xf={href:"https://www.sustech.edu.cn/zh/faculties/yujianqiao.html",target:"_blank",rel:"noopener noreferrer"},$f=e("td",null,"yujq3@sustech.edu.cn",-1),e1={href:"https://www.sustech.edu.cn/zh/faculties/yushiqi.html",target:"_blank",rel:"noopener noreferrer"},t1=e("td",null,"yusq@sustech.edu.cn",-1),n1={href:"https://www.sustech.edu.cn/zh/faculties/zhengfeng.html",target:"_blank",rel:"noopener noreferrer"},l1=e("td",null,"zhengf@sustech.edu.cn",-1),s1={href:"https://www.sustech.edu.cn/zh/faculties/zhangyuqun-2.html",target:"_blank",rel:"noopener noreferrer"},r1=e("td",null,"zhangyq@sustech.edu.cn",-1),h1={href:"https://www.sustech.edu.cn/zh/faculties/zhangjin-2.html",target:"_blank",rel:"noopener noreferrer"},u1=e("td",null,"zhangj4@sustech.edu.cn",-1),o1={href:"https://www.sustech.edu.cn/zh/faculties/zhangyu.html",target:"_blank",rel:"noopener noreferrer"},c1=e("td",null,"zhangy7@sustech.edu.cn",-1),d1={href:"https://www.sustech.edu.cn/zh/faculties/zhangfengwei.html",target:"_blank",rel:"noopener noreferrer"},a1=e("td",null,"zhangfw@sustech.edu.cn",-1),_1={href:"https://www.sustech.edu.cn/zh/faculties/zhangjianguo.html",target:"_blank",rel:"noopener noreferrer"},i1=e("td",null,"zhangjg@sustech.edu.cn",-1),w1={href:"https://www.sustech.edu.cn/zh/faculties/zhangyinqian.html",target:"_blank",rel:"noopener noreferrer"},f1=e("td",null,"zhangyq3@sustech.edu.cn",-1),g1=e("h3",{id:"海洋科学与工程系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#海洋科学与工程系","aria-hidden":"true"},"#"),t(" 海洋科学与工程系")],-1),p1=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),z1={href:"https://www.sustech.edu.cn/zh/faculties/bao-fangwen.html",target:"_blank",rel:"noopener noreferrer"},b1=e("td",null,"baofw@sustech.edu.cn",-1),m1={href:"https://www.sustech.edu.cn/zh/faculties/english-chen-yongshun.html",target:"_blank",rel:"noopener noreferrer"},k1=e("td",null,"johnyc@sustech.edu.cn",-1),y1={href:"https://www.sustech.edu.cn/zh/faculties/chenjianfei.html",target:"_blank",rel:"noopener noreferrer"},x1=e("td",null,"chenjf3@sustech.edu.cn",-1),j1={href:"https://www.sustech.edu.cn/zh/faculties/cai-wei.html",target:"_blank",rel:"noopener noreferrer"},q1=e("td",null,"caiw@sustech.edu.cn",-1),v1={href:"https://www.sustech.edu.cn/zh/faculties/chenyufei.html",target:"_blank",rel:"noopener noreferrer"},A1=e("td",null,"chenyf3@sustech.edu.cn",-1),S1={href:"https://www.sustech.edu.cn/zh/faculties/fanlu.html",target:"_blank",rel:"noopener noreferrer"},E1=e("td",null,"fanl@sustech.edu.cn",-1),I1={href:"https://www.sustech.edu.cn/zh/faculties/fengxingya.html",target:"_blank",rel:"noopener noreferrer"},L1=e("td",null,"fengxy@sustech.edu.cn",-1),M1={href:"https://www.sustech.edu.cn/zh/faculties/fuyong.html",target:"_blank",rel:"noopener noreferrer"},G1=e("td",null,"fuy3@sustech.edu.cn",-1),N1={href:"https://www.sustech.edu.cn/zh/faculties/fengweiqiang.html",target:"_blank",rel:"noopener noreferrer"},R1=e("td",null,"fengwq@sustech.edu.cn",-1),T1={href:"https://www.sustech.edu.cn/zh/faculties/felipefrancoorellanarovirosa.html",target:"_blank",rel:"noopener noreferrer"},K1=e("td",null,"felipe@mail.sustech.edu.cn",-1),O1={href:"https://www.sustech.edu.cn/zh/faculties/guozhen.html",target:"_blank",rel:"noopener noreferrer"},V1=e("td",null,"guoz3@sustech.edu.cn",-1),J1={href:"https://www.sustech.edu.cn/zh/faculties/houchao.html",target:"_blank",rel:"noopener noreferrer"},C1=e("td",null,"houc@sustech.edu.cn",-1),H1={href:"https://www.sustech.edu.cn/zh/faculties/haomake.html",target:"_blank",rel:"noopener noreferrer"},F1=e("td",null,"mark@sustech.edu.cn",-1),Z1={href:"https://www.sustech.edu.cn/zh/faculties/houshengwei.html",target:"_blank",rel:"noopener noreferrer"},D1=e("td",null,"housw@sustech.edu.cn",-1),P1={href:"https://www.sustech.edu.cn/zh/faculties/helipeng.html",target:"_blank",rel:"noopener noreferrer"},B1=e("td",null,"help@sustech.edu.cn",-1),Y1={href:"https://www.sustech.edu.cn/zh/faculties/jiangxiaodong.html",target:"_blank",rel:"noopener noreferrer"},U1=e("td",null,"jiangxd@sustech.edu.cn",-1),W1={href:"https://www.sustech.edu.cn/zh/faculties/liuqingsong.html",target:"_blank",rel:"noopener noreferrer"},Q1=e("td",null,"qsliu@sustech.edu.cn",-1),X1={href:"https://www.sustech.edu.cn/zh/faculties/lixinxin.html",target:"_blank",rel:"noopener noreferrer"},$1=e("td",null,"lixinxin@sustech.edu.cn",-1),eg={href:"https://www.sustech.edu.cn/zh/faculties/li-ying.html",target:"_blank",rel:"noopener noreferrer"},tg=e("td",null,"liy66@sustech.edu.cn",-1),ng={href:"https://www.sustech.edu.cn/zh/faculties/liuzhiqiang.html",target:"_blank",rel:"noopener noreferrer"},lg=e("td",null,"liuzq@sustech.edu.cn",-1),sg={href:"https://www.sustech.edu.cn/zh/faculties/linjian.html",target:"_blank",rel:"noopener noreferrer"},rg=e("td",null,"linj@sustech.edu.cn",-1),hg={href:"https://www.sustech.edu.cn/zh/faculties/lishilin.html",target:"_blank",rel:"noopener noreferrer"},ug=e("td",null,"lisl3@sustech.edu.cn",-1),og={href:"https://www.sustech.edu.cn/zh/faculties/luobin.html",target:"_blank",rel:"noopener noreferrer"},cg=e("td",null,"luob@sustech.edu.cn",-1),dg={href:"https://www.sustech.edu.cn/zh/faculties/linguan.html",target:"_blank",rel:"noopener noreferrer"},ag=e("td",null,"ling@sustech.edu.cn",-1),_g={href:"https://www.sustech.edu.cn/zh/faculties/luoyiming.html",target:"_blank",rel:"noopener noreferrer"},ig=e("td",null,"luoym@sustech.edu.cn",-1),wg={href:"https://www.sustech.edu.cn/zh/faculties/jason-phipps-morgan.html",target:"_blank",rel:"noopener noreferrer"},fg=e("td",null,"jason@sustc.edu.cn",-1),gg={href:"https://www.sustech.edu.cn/zh/faculties/qianxuesheng.html",target:"_blank",rel:"noopener noreferrer"},pg=e("td",null,"qianxs@sustech.edu.cn",-1),zg={href:"https://www.sustech.edu.cn/zh/faculties/sunzhaohua.html",target:"_blank",rel:"noopener noreferrer"},bg=e("td",null,"sunzh@sustech.edu.cn",-1),mg={href:"https://www.sustech.edu.cn/zh/faculties/shiyanan.html",target:"_blank",rel:"noopener noreferrer"},kg=e("td",null,"shiyn@sustech.edu.cn",-1),yg={href:"https://www.sustech.edu.cn/zh/faculties/songguangling.html",target:"_blank",rel:"noopener noreferrer"},xg=e("td",null,"songgl@sustech.edu.cn",-1),jg={href:"https://www.sustech.edu.cn/zh/faculties/wangyuze.html",target:"_blank",rel:"noopener noreferrer"},qg=e("td",null,"wangyz@sustech.edu.cn",-1),vg={href:"https://www.sustech.edu.cn/zh/faculties/wujiayu.html",target:"_blank",rel:"noopener noreferrer"},Ag=e("td",null,"wujy3@sustech.edu.cn",-1),Sg={href:"https://www.sustech.edu.cn/zh/faculties/weizhenhua.html",target:"_blank",rel:"noopener noreferrer"},Eg=e("td",null,"weizh@sustech.edu.cn",-1),Ig={href:"https://www.sustech.edu.cn/zh/faculties/wangkai-3.html",target:"_blank",rel:"noopener noreferrer"},Lg=e("td",null,"wangk3@sustech.edu.cn",-1),Mg={href:"https://www.sustech.edu.cn/zh/faculties/xujingping.html",target:"_blank",rel:"noopener noreferrer"},Gg=e("td",null,"xujp@sustech.edu.cn",-1),Ng={href:"https://www.sustech.edu.cn/zh/faculties/yangting.html",target:"_blank",rel:"noopener noreferrer"},Rg=e("td",null,"tyang@sustech.edu.cn",-1),Tg={href:"https://www.sustech.edu.cn/zh/faculties/yuyong.html",target:"_blank",rel:"noopener noreferrer"},Kg=e("td",null,"yuy3@sustech.edu.cn",-1),Og={href:"https://www.sustech.edu.cn/zh/faculties/yao-weiqi.html",target:"_blank",rel:"noopener noreferrer"},Vg=e("td",null,"yaowq@sustech.edu.cn",-1),Jg={href:"https://www.sustech.edu.cn/zh/faculties/yuxiping.html",target:"_blank",rel:"noopener noreferrer"},Cg=e("td",null,"yuxp@sustech.edu.cn",-1),Hg={href:"https://www.sustech.edu.cn/zh/faculties/zhangchuanlun.html",target:"_blank",rel:"noopener noreferrer"},Fg=e("td",null,"zhangcl@sustech.edu.cn",-1),Zg={href:"https://www.sustech.edu.cn/zh/faculties/zhoumin.html",target:"_blank",rel:"noopener noreferrer"},Dg=e("td",null,"chouym@sustech.edu.cn",-1),Pg={href:"https://www.sustech.edu.cn/zh/faculties/cengzhirui.html",target:"_blank",rel:"noopener noreferrer"},Bg=e("td",null,"zengzr@sustech.edu.cn",-1),Yg={href:"https://www.sustech.edu.cn/zh/faculties/zhangchen.html",target:"_blank",rel:"noopener noreferrer"},Ug=e("td",null,"zhangc@sustech.edu.cn",-1),Wg={href:"https://www.sustech.edu.cn/zh/faculties/zhongyi.html",target:"_blank",rel:"noopener noreferrer"},Qg=e("td",null,"zhongy@sustech.edu.cn",-1),Xg={href:"https://www.sustech.edu.cn/zh/faculties/zhengfengfeng.html",target:"_blank",rel:"noopener noreferrer"},$g=e("td",null,"zhengff@sustech.edu.cn",-1),ep={href:"https://www.sustech.edu.cn/zh/faculties/zhouzhiyuan-2.html",target:"_blank",rel:"noopener noreferrer"},tp=e("td",null,"zhouzy@sustech.edu.cn",-1),np={href:"https://www.sustech.edu.cn/zh/faculties/zouguang.html",target:"_blank",rel:"noopener noreferrer"},lp=e("td",null,"zoug@sustech.edu.cn",-1),sp={href:"https://www.sustech.edu.cn/zh/faculties/zhanpeng.html",target:"_blank",rel:"noopener noreferrer"},rp=e("td",null,"zhanp@sustech.edu.cn",-1),hp={href:"https://www.sustech.edu.cn/zh/faculties/zhangfan.html",target:"_blank",rel:"noopener noreferrer"},up=e("td",null,"zhangf@sustech.edu.cn",-1),op=e("h3",{id:"生物医学工程系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#生物医学工程系","aria-hidden":"true"},"#"),t(" 生物医学工程系")],-1),cp=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),dp={href:"https://www.sustech.edu.cn/zh/faculties/chenfangyi.html",target:"_blank",rel:"noopener noreferrer"},ap=e("td",null,"chenfy@sustech.edu.cn",-1),_p={href:"https://www.sustech.edu.cn/zh/faculties/chenyifeng.html",target:"_blank",rel:"noopener noreferrer"},ip=e("td",null,"chenyf6@sustech.edu.cn",-1),wp={href:"https://www.sustech.edu.cn/zh/faculties/fangxiaofeng.html",target:"_blank",rel:"noopener noreferrer"},fp=e("td",null,"fangxf@sustech.edu.cn",-1),gp={href:"https://www.sustech.edu.cn/zh/faculties/gudongfeng.html",target:"_blank",rel:"noopener noreferrer"},pp=e("td",null,"gudf@sustech.edu.cn",-1),zp={href:"https://www.sustech.edu.cn/zh/faculties/guoqiongyu.html",target:"_blank",rel:"noopener noreferrer"},bp=e("td",null,"guoqy@sustech.edu.cn",-1),mp={href:"https://www.sustech.edu.cn/zh/faculties/guozhiyong.html",target:"_blank",rel:"noopener noreferrer"},kp=e("td",null,"guozy@sustech.edu.cn",-1),yp={href:"https://www.sustech.edu.cn/zh/faculties/hejunlong.html",target:"_blank",rel:"noopener noreferrer"},xp=e("td",null,"hejl@sustech.edu.cn",-1),jp={href:"https://www.sustech.edu.cn/zh/faculties/hesicong.html",target:"_blank",rel:"noopener noreferrer"},qp=e("td",null,"hesc@sustech.edu.cn",-1),vp={href:"https://www.sustech.edu.cn/zh/faculties/jiangxingyu.html",target:"_blank",rel:"noopener noreferrer"},Ap=e("td",null,"jiang@sustech.edu.cn",-1),Sp={href:"https://www.sustech.edu.cn/zh/faculties/jindayong.html",target:"_blank",rel:"noopener noreferrer"},Ep=e("td",null,"jindy@sustech.edu.cn",-1),Ip={href:"https://www.sustech.edu.cn/zh/faculties/kangtianyi.html",target:"_blank",rel:"noopener noreferrer"},Lp=e("td",null,"kangty@sustech.edu.cn",-1),Mp={href:"https://www.sustech.edu.cn/zh/faculties/likai.html",target:"_blank",rel:"noopener noreferrer"},Gp=e("td",null,"lik@sustech.edu.cn",-1),Np={href:"https://www.sustech.edu.cn/zh/faculties/liuchao.html",target:"_blank",rel:"noopener noreferrer"},Rp=e("td",null,"liuc33@sustech.edu.cn",-1),Tp={href:"https://www.sustech.edu.cn/zh/faculties/liuquanying.html",target:"_blank",rel:"noopener noreferrer"},Kp=e("td",null,"liuqy@sustech.edu.cn",-1),Op={href:"https://www.sustech.edu.cn/zh/faculties/liyiming-2.html",target:"_blank",rel:"noopener noreferrer"},Vp=e("td",null,"liym2019@sustech.edu.cn",-1),Jp={href:"https://www.sustech.edu.cn/zh/faculties/liuqiang.html",target:"_blank",rel:"noopener noreferrer"},Cp=e("td",null,"liuq7@sustech.edu.cn",-1),Hp={href:"https://www.sustech.edu.cn/zh/faculties/lidayan.html",target:"_blank",rel:"noopener noreferrer"},Fp=e("td",null,"lidy7@mail.sustech.edu.cn",-1),Zp={href:"https://www.sustech.edu.cn/zh/faculties/liuhongmei.html",target:"_blank",rel:"noopener noreferrer"},Dp=e("td",null,"liuhm@sustech.edu.cn",-1),Pp={href:"https://www.sustech.edu.cn/zh/faculties/luozhi.html",target:"_blank",rel:"noopener noreferrer"},Bp=e("td",null,"luoz@sustech.edu.cn",-1),Yp={href:"https://www.sustech.edu.cn/zh/faculties/lizhifang-2.html",target:"_blank",rel:"noopener noreferrer"},Up=e("td",null,"lizf3@sustech.edu.cn",-1),Wp={href:"https://www.sustech.edu.cn/zh/faculties/liuying-2.html",target:"_blank",rel:"noopener noreferrer"},Qp=e("td",null,"liuy63@sustech.edu.cn",-1),Xp={href:"https://www.sustech.edu.cn/zh/faculties/michao.html",target:"_blank",rel:"noopener noreferrer"},$p=e("td",null,"mic@sustech.edu.cn",-1),ez={href:"https://www.sustech.edu.cn/zh/faculties/qiweizhi.html",target:"_blank",rel:"noopener noreferrer"},tz=e("td",null,"qiwz@sustech.edu.cn",-1),nz={href:"https://www.sustech.edu.cn/zh/faculties/tangbin.html",target:"_blank",rel:"noopener noreferrer"},lz=e("td",null,"tangb@sustech.edu.cn",-1),sz={href:"https://www.sustech.edu.cn/zh/faculties/tangjianbo.html",target:"_blank",rel:"noopener noreferrer"},rz=e("td",null,"tangjb@sustech.edu.cn",-1),hz={href:"https://www.sustech.edu.cn/zh/faculties/tanghao.html",target:"_blank",rel:"noopener noreferrer"},uz=e("td",null,"tangh@sustech.edu.cn",-1),oz={href:"https://www.sustech.edu.cn/zh/faculties/wuchangfeng.html",target:"_blank",rel:"noopener noreferrer"},cz=e("td",null,"wucf@sustech.edu.cn",-1),dz={href:"https://www.sustech.edu.cn/zh/faculties/wudecheng-2.html",target:"_blank",rel:"noopener noreferrer"},az=e("td",null,"wudc@sustech.edu.cn",-1),_z={href:"https://www.sustech.edu.cn/zh/faculties/wangdou.html",target:"_blank",rel:"noopener noreferrer"},iz=e("td",null,"wangd9@sustech.edu.cn",-1),wz={href:"https://www.sustech.edu.cn/zh/faculties/wangwenjin.html",target:"_blank",rel:"noopener noreferrer"},fz=e("td",null,"wangwj3@sustech.edu.cn",-1),gz={href:"https://www.sustech.edu.cn/zh/faculties/wuweijun.html",target:"_blank",rel:"noopener noreferrer"},pz=e("td",null,"wuwj@sustech.edu.cn",-1),zz={href:"https://www.sustech.edu.cn/zh/faculties/xilei.html",target:"_blank",rel:"noopener noreferrer"},bz=e("td",null,"xilei@sustech.edu.cn",-1),mz={href:"https://www.sustech.edu.cn/zh/faculties/xiaokai-2.html",target:"_blank",rel:"noopener noreferrer"},kz=e("td",null,"xiaok3@sustech.edu.cn",-1),yz={href:"https://www.sustech.edu.cn/zh/faculties/yangyong.html",target:"_blank",rel:"noopener noreferrer"},xz=e("td",null,"yangy9@sustech.edu.cn",-1),jz={href:"https://www.sustech.edu.cn/zh/faculties/yao-mingxi.html",target:"_blank",rel:"noopener noreferrer"},qz=e("td",null,"yaomx@sustech.edu.cn",-1),vz={href:"https://www.sustech.edu.cn/zh/faculties/zhangmingming.html",target:"_blank",rel:"noopener noreferrer"},Az=e("td",null,"zhangmm@sustech.edu.cn",-1),Sz={href:"https://www.sustech.edu.cn/zh/faculties/zhangbo.html",target:"_blank",rel:"noopener noreferrer"},Ez=e("td",null,"zhangb3@sustech.edu.cn",-1),Iz={href:"https://www.sustech.edu.cn/zh/faculties/zhanghuawei.html",target:"_blank",rel:"noopener noreferrer"},Lz=e("td",null,"官网未找到邮箱",-1),Mz={href:"https://www.sustech.edu.cn/zh/faculties/zhangchong.html",target:"_blank",rel:"noopener noreferrer"},Gz=e("td",null,"zhangc9@sustech.edu.cn",-1),Nz={href:"https://www.sustech.edu.cn/zh/faculties/zhanglu.html",target:"_blank",rel:"noopener noreferrer"},Rz=e("td",null,"zhanglu@sustech.edu.cn",-1),Tz={href:"https://www.sustech.edu.cn/zh/faculties/zhangjunrui.html",target:"_blank",rel:"noopener noreferrer"},Kz=e("td",null,"zhangjr6@sustech.edu.cn",-1),Oz=e("h3",{id:"环境科学与工程学院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#环境科学与工程学院","aria-hidden":"true"},"#"),t(" 环境科学与工程学院")],-1),Vz=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),Jz={href:"https://www.sustech.edu.cn/zh/faculties/biyujie.html",target:"_blank",rel:"noopener noreferrer"},Cz=e("td",null,"benyj@sustech.edu.cn",-1),Hz={href:"https://www.sustech.edu.cn/zh/faculties/chenhong.html",target:"_blank",rel:"noopener noreferrer"},Fz=e("td",null,"chenh3@sustech.edu.cn",-1),Zz={href:"https://www.sustech.edu.cn/zh/faculties/chenkewei.html",target:"_blank",rel:"noopener noreferrer"},Dz=e("td",null,"chenkw@sustech.edu.cn",-1),Pz={href:"https://www.sustech.edu.cn/zh/faculties/duanyanhua.html",target:"_blank",rel:"noopener noreferrer"},Bz=e("td",null,"duanyh@sustech.edu.cn",-1),Yz={href:"https://www.sustech.edu.cn/zh/faculties/feng-lian.html",target:"_blank",rel:"noopener noreferrer"},Uz=e("td",null,"fengl@sustech.edu.cn",-1),Wz={href:"https://www.sustech.edu.cn/zh/faculties/fanlinfeng.html",target:"_blank",rel:"noopener noreferrer"},Qz=e("td",null,"fanlf@sustech.edu.cn",-1),Xz={href:"https://www.sustech.edu.cn/zh/faculties/fuzongmei.html",target:"_blank",rel:"noopener noreferrer"},$z=e("td",null,"fuzm@sustech.edu.cn",-1),eb={href:"https://www.sustech.edu.cn/zh/faculties/fandian.html",target:"_blank",rel:"noopener noreferrer"},tb=e("td",null,"fand@sustech.edu.cn",-1),nb={href:"https://www.sustech.edu.cn/zh/faculties/english-luke-gibson.html",target:"_blank",rel:"noopener noreferrer"},lb=e("td",null,"biodiversity@sustech.edu.cn",-1),sb={href:"https://www.sustech.edu.cn/zh/faculties/guozhilin.html",target:"_blank",rel:"noopener noreferrer"},rb=e("td",null,"guozl@sustech.edu.cn",-1),hb={href:"https://www.sustech.edu.cn/zh/faculties/english-hu-qing.html",target:"_blank",rel:"noopener noreferrer"},ub=e("td",null,"huq@sustech.edu.cn",-1),ob={href:"https://www.sustech.edu.cn/zh/faculties/hanfeng.html",target:"_blank",rel:"noopener noreferrer"},cb=e("td",null,"hanf@sustech.edu.cn",-1),db={href:"https://www.sustech.edu.cn/zh/faculties/jiangjiping.html",target:"_blank",rel:"noopener noreferrer"},ab=e("td",null,"jiangjp@sustech.edu.cn",-1),_b={href:"https://www.sustech.edu.cn/zh/faculties/jiangliguang.html",target:"_blank",rel:"noopener noreferrer"},ib=e("td",null,"jianglg@sustech.edu.cn",-1),wb={href:"https://www.sustech.edu.cn/zh/faculties/english-kuang-xingxing.html",target:"_blank",rel:"noopener noreferrer"},fb=e("td",null,"kuangxx@sustech.edu.cn",-1),gb={href:"https://www.sustech.edu.cn/zh/faculties/english-li-hailong.html",target:"_blank",rel:"noopener noreferrer"},pb=e("td",null,"lihailong@sustech.edu.cn",-1),zb={href:"https://www.sustech.edu.cn/zh/faculties/english-liu-chongxuan.html",target:"_blank",rel:"noopener noreferrer"},bb=e("td",null,"liucx@sustech.edu.cn",-1),mb={href:"https://www.sustech.edu.cn/zh/faculties/english-liu-junguo.html",target:"_blank",rel:"noopener noreferrer"},kb=e("td",null,"liujg@sustech.edu.cn",-1),yb={href:"https://www.sustech.edu.cn/zh/faculties/liweiyi.html",target:"_blank",rel:"noopener noreferrer"},xb=e("td",null,"liwy3@sustech.edu.cn",-1),jb={href:"https://www.sustech.edu.cn/zh/faculties/liuxin.html",target:"_blank",rel:"noopener noreferrer"},qb=e("td",null,"liux5@sustech.edu.cn",-1),vb={href:"https://www.sustech.edu.cn/zh/faculties/liangxiuyu.html",target:"_blank",rel:"noopener noreferrer"},Ab=e("td",null,"liangxy@sustech.edu.cn",-1),Sb={href:"https://www.sustech.edu.cn/zh/faculties/leiyang-2.html",target:"_blank",rel:"noopener noreferrer"},Eb=e("td",null,"leiy3@sustech.edu.cn",-1),Ib={href:"https://www.sustech.edu.cn/zh/faculties/lisanbai.html",target:"_blank",rel:"noopener noreferrer"},Lb=e("td",null,"lisb6@sustech.edu.cn",-1),Mb={href:"https://www.sustech.edu.cn/zh/faculties/liangfengchao.html",target:"_blank",rel:"noopener noreferrer"},Gb=e("td",null,"liangfc@sustech.edu.cn",-1),Nb={href:"https://www.sustech.edu.cn/zh/faculties/liubei.html",target:"_blank",rel:"noopener noreferrer"},Rb=e("td",null,"liub@sustech.edu.cn",-1),Tb={href:"https://www.sustech.edu.cn/zh/faculties/liuyan.html",target:"_blank",rel:"noopener noreferrer"},Kb=e("td",null,"liuy8@sustech.edu.cn",-1),Ob={href:"https://www.sustech.edu.cn/zh/faculties/liujingfu.html",target:"_blank",rel:"noopener noreferrer"},Vb=e("td",null,"liujf@sustech.edu.cn",-1),Jb={href:"https://www.sustech.edu.cn/zh/faculties/qiuwenhui.html",target:"_blank",rel:"noopener noreferrer"},Cb=e("td",null,"qiuwh@sustech.edu.cn",-1),Hb={href:"https://www.sustech.edu.cn/zh/faculties/qiwei.html",target:"_blank",rel:"noopener noreferrer"},Fb=e("td",null,"qiw@sustech.edu.cn",-1),Zb={href:"https://www.sustech.edu.cn/zh/faculties/shijianghong.html",target:"_blank",rel:"noopener noreferrer"},Db=e("td",null,"shijh@sustech.edu.cn",-1),Pb={href:"https://www.sustech.edu.cn/zh/faculties/shihaiyun.html",target:"_blank",rel:"noopener noreferrer"},Bb=e("td",null,"shihy@sustech.edu.cn",-1),Yb={href:"https://www.sustech.edu.cn/zh/faculties/suohongri.html",target:"_blank",rel:"noopener noreferrer"},Ub=e("td",null,"suohr@sustech.edu.cn",-1),Wb={href:"https://www.sustech.edu.cn/zh/faculties/shenhuizhong.html",target:"_blank",rel:"noopener noreferrer"},Qb=e("td",null,"shenhz@sustech.edu.cn",-1),Xb={href:"https://www.sustech.edu.cn/zh/faculties/taoshu.html",target:"_blank",rel:"noopener noreferrer"},$b=e("td",null,"taos@sustech.edu.cn",-1),em={href:"https://www.sustech.edu.cn/zh/faculties/english-yuanyuan-tang.html",target:"_blank",rel:"noopener noreferrer"},tm=e("td",null,"tangyy@sustech.edu.cn",-1),nm={href:"https://www.sustech.edu.cn/zh/faculties/tianyong.html",target:"_blank",rel:"noopener noreferrer"},lm=e("td",null,"tiany@sustech.edu.cn",-1),sm={href:"https://www.sustech.edu.cn/zh/faculties/tianzhan.html",target:"_blank",rel:"noopener noreferrer"},rm=e("td",null,"tianz@sustech.edu.cn",-1),hm={href:"https://www.sustech.edu.cn/zh/faculties/english-wang-junjian.html",target:"_blank",rel:"noopener noreferrer"},um=e("td",null,"wangjj@sustech.edu.cn",-1),om={href:"https://www.sustech.edu.cn/zh/faculties/wangzhongying.html",target:"_blank",rel:"noopener noreferrer"},cm=e("td",null,"wangzy6@sustech.edu.cn",-1),dm={href:"https://www.sustech.edu.cn/zh/faculties/wangyang.html",target:"_blank",rel:"noopener noreferrer"},am=e("td",null,"wangyang@sustech.edu.cn",-1),_m={href:"https://www.sustech.edu.cn/zh/faculties/wang-chen.html",target:"_blank",rel:"noopener noreferrer"},im=e("td",null,"wangc@sustech.edu.cn",-1),wm={href:"https://www.sustech.edu.cn/zh/faculties/wangdashan.html",target:"_blank",rel:"noopener noreferrer"},fm=e("td",null,"wangds6@sustech.edu.cn",-1),gm={href:"https://www.sustech.edu.cn/zh/faculties/english-xia-yu.html",target:"_blank",rel:"noopener noreferrer"},pm=e("td",null,"xiay@sustech.edu.cn",-1),zm={href:"https://www.sustech.edu.cn/zh/faculties/xupeng.html",target:"_blank",rel:"noopener noreferrer"},bm=e("td",null,"xup@sustech.edu.cn",-1),mm={href:"https://www.sustech.edu.cn/zh/faculties/xiaokai.html",target:"_blank",rel:"noopener noreferrer"},km=e("td",null,"xiaok@sustech.edu.cn",-1),ym={href:"https://www.sustech.edu.cn/zh/faculties/english-yi-shuping.html",target:"_blank",rel:"noopener noreferrer"},xm=e("td",null,"yisp@sustech.edu.cn",-1),jm={href:"https://www.sustech.edu.cn/zh/faculties/yebin.html",target:"_blank",rel:"noopener noreferrer"},qm=e("td",null,"yeb@sustech.edu.cn",-1),vm={href:"https://www.sustech.edu.cn/zh/faculties/yanfeng.html",target:"_blank",rel:"noopener noreferrer"},Am=e("td",null,"yanf@sustech.edu.cn",-1),Sm={href:"https://www.sustech.edu.cn/zh/faculties/yangxin.html",target:"_blank",rel:"noopener noreferrer"},Em=e("td",null,"yangx@sustech.edu.cn",-1),Im={href:"https://www.sustech.edu.cn/zh/faculties/yinxiaoguang.html",target:"_blank",rel:"noopener noreferrer"},Lm=e("td",null,"yinxg@sustech.edu.cn",-1),Mm={href:"https://www.sustech.edu.cn/zh/faculties/ye-jianhuai.html",target:"_blank",rel:"noopener noreferrer"},Gm=e("td",null,"yejh@sustech.edu.cn",-1),Nm={href:"https://www.sustech.edu.cn/zh/faculties/zhangdongxiao.html",target:"_blank",rel:"noopener noreferrer"},Rm=e("td",null,"zhangdx@sustech.edu.cn",-1),Tm={href:"https://www.sustech.edu.cn/zh/faculties/english-zhang-zuotai.html",target:"_blank",rel:"noopener noreferrer"},Km=e("td",null,"zhangzt@sustech.edu.cn",-1),Om={href:"https://www.sustech.edu.cn/zh/faculties/english-zheng-chunmiao.html",target:"_blank",rel:"noopener noreferrer"},Vm=e("td",null,"zhengcm@sustech.edu.cn",-1),Jm={href:"https://www.sustech.edu.cn/zh/faculties/english-zheng-yan.html",target:"_blank",rel:"noopener noreferrer"},Cm=e("td",null,"yan.zheng@sustech.edu.cn",-1),Hm={href:"https://www.sustech.edu.cn/zh/faculties/english-zheng-yi.html",target:"_blank",rel:"noopener noreferrer"},Fm=e("td",null,"zhengy@sustech.edu.cn",-1),Zm={href:"https://www.sustech.edu.cn/zh/faculties/cengzhenzhong.html",target:"_blank",rel:"noopener noreferrer"},Dm=e("td",null,"zengzz@sustech.edu.cn",-1),Pm={href:"https://www.sustech.edu.cn/zh/faculties/zhulei.html",target:"_blank",rel:"noopener noreferrer"},Bm=e("td",null,"zhul3@sustech.edu.cn",-1),Ym={href:"https://www.sustech.edu.cn/zh/faculties/zhaojunliang.html",target:"_blank",rel:"noopener noreferrer"},Um=e("td",null,"zhaojl3@sustech.edu.cn",-1),Wm={href:"https://www.sustech.edu.cn/zh/faculties/zhangbintian.html",target:"_blank",rel:"noopener noreferrer"},Qm=e("td",null,"zhangbintian@sustech.edu.cn",-1),Xm={href:"https://www.sustech.edu.cn/zh/faculties/zhengguomao.html",target:"_blank",rel:"noopener noreferrer"},$m=e("td",null,"zhenggm@sustech.edu.cn",-1),ek=e("h3",{id:"深港微电子学院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#深港微电子学院","aria-hidden":"true"},"#"),t(" 深港微电子学院")],-1),tk=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),nk={href:"https://www.sustech.edu.cn/zh/faculties/anfengwei.html",target:"_blank",rel:"noopener noreferrer"},lk=e("td",null,"anfw@sustech.edu.cn",-1),sk={href:"https://www.sustech.edu.cn/zh/faculties/cuidehu.html",target:"_blank",rel:"noopener noreferrer"},rk=e("td",null,"cuidh@sustech.edu.cn",-1),hk={href:"https://www.sustech.edu.cn/zh/faculties/chenquan.html",target:"_blank",rel:"noopener noreferrer"},uk=e("td",null,"chenq3@sustech.edu.cn",-1),ok={href:"https://www.sustech.edu.cn/zh/faculties/chenkai.html",target:"_blank",rel:"noopener noreferrer"},ck=e("td",null,"chenk6@sustech.edu.cn",-1),dk={href:"https://www.sustech.edu.cn/zh/faculties/leichen.html",target:"_blank",rel:"noopener noreferrer"},ak=e("td",null,"chenl33@sustech.edu.cn",-1),_k={href:"https://www.sustech.edu.cn/zh/faculties/pengchen.html",target:"_blank",rel:"noopener noreferrer"},ik=e("td",null,"chenp6@sustech.edu.cn",-1),wk={href:"https://www.sustech.edu.cn/zh/faculties/yupengchen.html",target:"_blank",rel:"noopener noreferrer"},fk=e("td",null,"chenyp@sustech.edu.cn",-1),gk={href:"https://www.sustech.edu.cn/zh/faculties/ding-sunan.html",target:"_blank",rel:"noopener noreferrer"},pk=e("td",null,"dingsa@sustech.edu.cn",-1),zk={href:"https://www.sustech.edu.cn/zh/faculties/xiaohufang.html",target:"_blank",rel:"noopener noreferrer"},bk=e("td",null,"fangxh@sustech.edu.cn",-1),mk={href:"https://www.sustech.edu.cn/zh/faculties/guoyuejin.html",target:"_blank",rel:"noopener noreferrer"},kk=e("td",null,"guoyj@sustech.edu.cn",-1),yk={href:"https://www.sustech.edu.cn/zh/faculties/gaoyuan.html",target:"_blank",rel:"noopener noreferrer"},xk=e("td",null,"gaoy@sustech.edu.cn",-1),jk={href:"https://www.sustech.edu.cn/zh/faculties/huanhu.html",target:"_blank",rel:"noopener noreferrer"},qk=e("td",null,"huh3@sustech.edu.cn",-1),vk={href:"https://www.sustech.edu.cn/zh/faculties/lixiexi.html",target:"_blank",rel:"noopener noreferrer"},Ak=e("td",null,"khli@sustech.edu.cn",-1),Sk={href:"https://www.sustech.edu.cn/zh/faculties/liyi.html",target:"_blank",rel:"noopener noreferrer"},Ek=e("td",null,"liy37@sustech.edu.cn",-1),Ik={href:"https://www.sustech.edu.cn/zh/faculties/linyuanjing.html",target:"_blank",rel:"noopener noreferrer"},Lk=e("td",null,"linyj2020@sustech.edu.cn",-1),Mk={href:"https://www.sustech.edu.cn/zh/faculties/liyida.html",target:"_blank",rel:"noopener noreferrer"},Gk=e("td",null,"liyd3@sustech.edu.cn",-1),Nk={href:"https://www.sustech.edu.cn/zh/faculties/liuxiaoguang.html",target:"_blank",rel:"noopener noreferrer"},Rk=e("td",null,"liuxg@sustech.edu.cn",-1),Tk={href:"https://www.sustech.edu.cn/zh/faculties/longyang-lin.html",target:"_blank",rel:"noopener noreferrer"},Kk=e("td",null,"linly@sustech.edu.cn",-1),Ok={href:"https://www.sustech.edu.cn/zh/faculties/xiaolongliu.html",target:"_blank",rel:"noopener noreferrer"},Vk=e("td",null,"liuxl@sustech.edu.cn",-1),Jk={href:"https://www.sustech.edu.cn/zh/faculties/limingjie.html",target:"_blank",rel:"noopener noreferrer"},Ck=e("td",null,"limj@sustech.edu.cn",-1),Hk={href:"https://www.sustech.edu.cn/zh/faculties/jiaminli.html",target:"_blank",rel:"noopener noreferrer"},Fk=e("td",null,"lijm3@sustech.edu.cn",-1),Zk={href:"https://www.sustech.edu.cn/zh/faculties/liuronghui.html",target:"_blank",rel:"noopener noreferrer"},Dk=e("td",null,"liurh@sustech.edu.cn",-1),Pk={href:"https://www.sustech.edu.cn/zh/faculties/maowei.html",target:"_blank",rel:"noopener noreferrer"},Bk=e("td",null,"maow@sustech.edu.cn",-1),Yk={href:"https://www.sustech.edu.cn/zh/faculties/xuanma.html",target:"_blank",rel:"noopener noreferrer"},Uk=e("td",null,"max3@sustech.edu.cn",-1),Wk={href:"https://www.sustech.edu.cn/zh/faculties/panquan.html",target:"_blank",rel:"noopener noreferrer"},Qk=e("td",null,"panq@sustech.edu.cn",-1),Xk={href:"https://www.sustech.edu.cn/zh/faculties/english-robert-sokolovskij.html",target:"_blank",rel:"noopener noreferrer"},$k=e("td",null,"sokolovskijr@sustech.edu.cn",-1),e2={href:"https://www.sustech.edu.cn/zh/faculties/longxingsu.html",target:"_blank",rel:"noopener noreferrer"},t2=e("td",null,"sulx@sustech.edu.cn",-1),n2={href:"https://www.sustech.edu.cn/zh/faculties/zhaobotian.html",target:"_blank",rel:"noopener noreferrer"},l2=e("td",null,"tianzb@mail.sustech.edu.cn",-1),s2={href:"https://www.sustech.edu.cn/zh/faculties/wangmin.html",target:"_blank",rel:"noopener noreferrer"},r2=e("td",null,"wangm@sustech.edu.cn",-1),h2={href:"https://www.sustech.edu.cn/zh/faculties/wangfei.html",target:"_blank",rel:"noopener noreferrer"},u2=e("td",null,"wangf@sustech.edu.cn",-1),o2={href:"https://www.sustech.edu.cn/zh/faculties/wangqing.html",target:"_blank",rel:"noopener noreferrer"},c2=e("td",null,"wangq7@sustech.edu.cn",-1),d2={href:"https://www.sustech.edu.cn/zh/faculties/xiaohuwu.html",target:"_blank",rel:"noopener noreferrer"},a2=e("td",null,"wuxh@sustech.edu.cn",-1),_2={href:"https://www.sustech.edu.cn/zh/faculties/dashuaiwang.html",target:"_blank",rel:"noopener noreferrer"},i2=e("td",null,"wangds3@sustech.edu.cn",-1),w2={href:"https://www.sustech.edu.cn/zh/faculties/yuhao.html",target:"_blank",rel:"noopener noreferrer"},f2=e("td",null,"yuh3@sustech.edu.cn",-1),g2={href:"https://www.sustech.edu.cn/zh/faculties/yehuaiyu.html",target:"_blank",rel:"noopener noreferrer"},p2=e("td",null,"yehy@sustech.edu.cn",-1),z2={href:"https://www.sustech.edu.cn/zh/faculties/yuhongyu.html",target:"_blank",rel:"noopener noreferrer"},b2=e("td",null,"yuhy@sustech.edu.cn",-1),m2={href:"https://www.sustech.edu.cn/zh/faculties/english-zhan-chenchang.html",target:"_blank",rel:"noopener noreferrer"},k2=e("td",null,"zhancc@sustech.edu.cn",-1),y2={href:"https://www.sustech.edu.cn/zh/faculties/zhuyuan.html",target:"_blank",rel:"noopener noreferrer"},x2=e("td",null,"zhuy3@sustech.edu.cn",-1),j2={href:"https://www.sustech.edu.cn/zh/faculties/zhangguobiao.html",target:"_blank",rel:"noopener noreferrer"},q2=e("td",null,"zhanggb@sustech.edu.cn",-1),v2={href:"https://www.sustech.edu.cn/zh/faculties/zhoufeichi.html",target:"_blank",rel:"noopener noreferrer"},A2=e("td",null,"zhoufc@sustech.edu.cn",-1),S2={href:"https://www.sustech.edu.cn/zh/faculties/qianchengzhao.html",target:"_blank",rel:"noopener noreferrer"},E2=e("td",null,"zhaoqc@sustech.edu.cn",-1),I2={href:"https://www.sustech.edu.cn/zh/faculties/zhangrumin.html",target:"_blank",rel:"noopener noreferrer"},L2=e("td",null,"zhangrm@sustech.edu.cn",-1),M2=e("h3",{id:"系统设计与智能制造学院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#系统设计与智能制造学院","aria-hidden":"true"},"#"),t(" 系统设计与智能制造学院")],-1),G2=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),N2={href:"https://www.sustech.edu.cn/zh/faculties/baiziqian.html",target:"_blank",rel:"noopener noreferrer"},R2=e("td",null,"baizq@sustech.edu.cn",-1),T2={href:"https://www.sustech.edu.cn/zh/faculties/chenyuan-2.html",target:"_blank",rel:"noopener noreferrer"},K2=e("td",null,"chenyuan@sustech.edu.cn",-1),O2={href:"https://www.sustech.edu.cn/zh/faculties/liangmingchen.html",target:"_blank",rel:"noopener noreferrer"},V2=e("td",null,"chenlm6@sustech.edu.cn",-1),J2={href:"https://www.sustech.edu.cn/zh/faculties/guangrenduan.html",target:"_blank",rel:"noopener noreferrer"},C2=e("td",null,"官网未找到邮箱",-1),H2={href:"https://www.sustech.edu.cn/zh/faculties/kemiding.html",target:"_blank",rel:"noopener noreferrer"},F2=e("td",null,"dingkm@sustech.edu.cn",-1),Z2={href:"https://www.sustech.edu.cn/zh/faculties/fred-han.html",target:"_blank",rel:"noopener noreferrer"},D2=e("td",null,"fred@sustech.edu.cn",-1),P2={href:"https://www.sustech.edu.cn/zh/faculties/hongxiaoping.html",target:"_blank",rel:"noopener noreferrer"},B2=e("td",null,"hongxp@sustech.edu.cn",-1),Y2={href:"https://www.sustech.edu.cn/zh/faculties/drhuqi.html",target:"_blank",rel:"noopener noreferrer"},U2=e("td",null,"huq3@sustech.edu.cn",-1),W2={href:"https://www.sustech.edu.cn/zh/faculties/lvdong.html",target:"_blank",rel:"noopener noreferrer"},Q2=e("td",null,"lvd2019@mail.sustech.edu.cn",-1),X2={href:"https://www.sustech.edu.cn/zh/faculties/guo-pingliu.html",target:"_blank",rel:"noopener noreferrer"},$2=e("td",null,"liugp@sustech.edu.cn",-1),e3={href:"https://www.sustech.edu.cn/zh/faculties/lihongfei.html",target:"_blank",rel:"noopener noreferrer"},t3=e("td",null,"lihf@sustech.edu.cn",-1),n3={href:"https://www.sustech.edu.cn/zh/faculties/taoliu.html",target:"_blank",rel:"noopener noreferrer"},l3=e("td",null,"liut6@sustech.edu.cn",-1),s3={href:"https://www.sustech.edu.cn/zh/faculties/zhaoyuanma.html",target:"_blank",rel:"noopener noreferrer"},r3=e("td",null,"mazy@sustech.edu.cn",-1),h3={href:"https://www.sustech.edu.cn/zh/faculties/ougang.html",target:"_blank",rel:"noopener noreferrer"},u3=e("td",null,"ougang2020@mail.sustech.edu.cn",-1),o3={href:"https://www.sustech.edu.cn/zh/faculties/volker-altstadt.html",target:"_blank",rel:"noopener noreferrer"},c3=e("td",null,"altstaedt@uni-bayreuth.de",-1),d3={href:"https://www.sustech.edu.cn/zh/faculties/wujingshen-jiaoshou.html",target:"_blank",rel:"noopener noreferrer"},a3=e("td",null,"wujingshen@sustech.edu.cn",-1),_3={href:"https://www.sustech.edu.cn/zh/faculties/wangke.html",target:"_blank",rel:"noopener noreferrer"},i3=e("td",null,"wangk7@sustech.edu.cn",-1),w3={href:"https://www.sustech.edu.cn/zh/faculties/wangzhenkun.html",target:"_blank",rel:"noopener noreferrer"},f3=e("td",null,"wangzk3@sustech.edu.cn",-1),g3={href:"https://www.sustech.edu.cn/zh/faculties/wudi.html",target:"_blank",rel:"noopener noreferrer"},p3=e("td",null,"官网未找到邮箱",-1),z3={href:"https://www.sustech.edu.cn/zh/faculties/xiongyi.html",target:"_blank",rel:"noopener noreferrer"},b3=e("td",null,"xiongy3@sustech.edu.cn",-1),m3={href:"https://www.sustech.edu.cn/zh/faculties/xiangxu.html",target:"_blank",rel:"noopener noreferrer"},k3=e("td",null,"xux3@sustech.edu.cn",-1),y3={href:"https://www.sustech.edu.cn/zh/faculties/yelin.html",target:"_blank",rel:"noopener noreferrer"},x3=e("td",null,"yelin@sustech.edu.cn",-1),j3={href:"https://www.sustech.edu.cn/zh/faculties/zhoulimin.html",target:"_blank",rel:"noopener noreferrer"},q3=e("td",null,"zhoulm@sustech.edu.cn",-1),v3={href:"https://www.sustech.edu.cn/zh/faculties/zhangjianmin.html",target:"_blank",rel:"noopener noreferrer"},A3=e("td",null,"zhangjm2021@mail.sustech.edu.cn",-1),S3={href:"https://www.sustech.edu.cn/zh/faculties/zhouding.html",target:"_blank",rel:"noopener noreferrer"},E3=e("td",null,"zhoud3@sustech.edu.cn",-1),I3=e("h2",{id:"生命科学学院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#生命科学学院","aria-hidden":"true"},"#"),t(" 生命科学学院")],-1),L3=e("h3",{id:"生物系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#生物系","aria-hidden":"true"},"#"),t(" 生物系")],-1),M3=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),G3={href:"https://www.sustech.edu.cn/zh/faculties/dujiamu.html",target:"_blank",rel:"noopener noreferrer"},N3=e("td",null,"dujm@sustech.edu.cn",-1),R3={href:"https://www.sustech.edu.cn/zh/faculties/dengxingwang.html",target:"_blank",rel:"noopener noreferrer"},T3=e("td",null,"deng@sustech.edu.cn",-1),K3={href:"https://www.sustech.edu.cn/zh/faculties/guo-hongwei.html",target:"_blank",rel:"noopener noreferrer"},O3=e("td",null,"guohw@sustech.edu.cn",-1),V3={href:"https://www.sustech.edu.cn/zh/faculties/huangancheng.html",target:"_blank",rel:"noopener noreferrer"},J3=e("td",null,"huangac@sustech.edu.cn",-1),C3={href:"https://www.sustech.edu.cn/zh/faculties/liangjiansheng.html",target:"_blank",rel:"noopener noreferrer"},H3=e("td",null,"liangjs@sustech.edu.cn",-1),F3={href:"https://www.sustech.edu.cn/zh/faculties/liruixi.html",target:"_blank",rel:"noopener noreferrer"},Z3=e("td",null,"lirx@sustech.edu.cn",-1),D3={href:"https://www.sustech.edu.cn/zh/faculties/liwenyang-2.html",target:"_blank",rel:"noopener noreferrer"},P3=e("td",null,"liwy@sustech.edu.cn",-1),B3={href:"https://www.sustech.edu.cn/zh/faculties/lijian.html",target:"_blank",rel:"noopener noreferrer"},Y3=e("td",null,"lij8@sustech.edu.cn",-1),U3={href:"https://www.sustech.edu.cn/zh/faculties/liangchao.html",target:"_blank",rel:"noopener noreferrer"},W3=e("td",null,"liangc@sustech.edu.cn",-1),Q3={href:"https://www.sustech.edu.cn/zh/faculties/english-peter-pimpl.html",target:"_blank",rel:"noopener noreferrer"},X3=e("td",null,"pimpl@sustech.edu.cn",-1),$3={href:"https://www.sustech.edu.cn/zh/faculties/yisong.html",target:"_blank",rel:"noopener noreferrer"},e6=e("td",null,"songy3@sustech.edu.cn",-1),t6={href:"https://www.sustech.edu.cn/zh/faculties/wuzhe.html",target:"_blank",rel:"noopener noreferrer"},n6=e("td",null,"wuz@sustech.edu.cn",-1),l6={href:"https://www.sustech.edu.cn/zh/faculties/dijixian.html",target:"_blank",rel:"noopener noreferrer"},s6=e("td",null,"zhaijx@sustech.edu.cn",-1),r6=e("h3",{id:"基础免疫与微生物学系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#基础免疫与微生物学系","aria-hidden":"true"},"#"),t(" 基础免疫与微生物学系")],-1),h6=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),u6={href:"https://www.sustech.edu.cn/zh/faculties/taodong.html",target:"_blank",rel:"noopener noreferrer"},o6=e("td",null,"dongt@sustech.edu.cn",-1),c6={href:"https://www.sustech.edu.cn/zh/faculties/hesicong.html",target:"_blank",rel:"noopener noreferrer"},d6=e("td",null,"hesc@sustech.edu.cn",-1),a6={href:"https://www.sustech.edu.cn/zh/faculties/liuzhongmin.html",target:"_blank",rel:"noopener noreferrer"},_6=e("td",null,"liuzm@sustech.edu.cn",-1),i6={href:"https://www.sustech.edu.cn/zh/faculties/ouxijun.html",target:"_blank",rel:"noopener noreferrer"},w6=e("td",null,"ouxj@sustech.edu.cn",-1),f6={href:"https://www.sustech.edu.cn/zh/faculties/zilongwen.html",target:"_blank",rel:"noopener noreferrer"},g6=e("td",null,"wenzl@sustech.edu.cn",-1),p6={href:"https://www.sustech.edu.cn/zh/faculties/huapengyu.html",target:"_blank",rel:"noopener noreferrer"},z6=e("td",null,"yuhp@sustech.edu.cn",-1),b6={href:"https://www.sustech.edu.cn/zh/faculties/zhouwen.html",target:"_blank",rel:"noopener noreferrer"},m6=e("td",null,"zhouw@sustech.edu.cn",-1),k6={href:"https://www.sustech.edu.cn/zh/faculties/lizhang.html",target:"_blank",rel:"noopener noreferrer"},y6=e("td",null,"zhangl3@sustech.edu.cn",-1),x6=e("h3",{id:"系统生物学系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#系统生物学系","aria-hidden":"true"},"#"),t(" 系统生物学系")],-1),j6=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),q6={href:"https://www.sustech.edu.cn/zh/faculties/chenwei.html",target:"_blank",rel:"noopener noreferrer"},v6=e("td",null,"chenw@sustech.edu.cn",-1),A6={href:"https://www.sustech.edu.cn/zh/faculties/chenxi.html",target:"_blank",rel:"noopener noreferrer"},S6=e("td",null,"chenx9@sustech.edu.cn",-1),E6={href:"https://www.sustech.edu.cn/zh/faculties/daiziwei.html",target:"_blank",rel:"noopener noreferrer"},I6=e("td",null,"daizw@sustech.edu.cn",-1),L6={href:"https://www.sustech.edu.cn/zh/faculties/andrew-hutchins.html",target:"_blank",rel:"noopener noreferrer"},M6=e("td",null,"andrewh@sustech.edu.cn",-1),G6={href:"https://www.sustech.edu.cn/zh/faculties/jinwenfei.html",target:"_blank",rel:"noopener noreferrer"},N6=e("td",null,"jinwf@sustech.edu.cn",-1),R6={href:"https://www.sustech.edu.cn/zh/faculties/english-li-yan.html",target:"_blank",rel:"noopener noreferrer"},T6=e("td",null,"liy33@sustech.edu.cn",-1),K6={href:"https://www.sustech.edu.cn/zh/faculties/english-sun-ying.html",target:"_blank",rel:"noopener noreferrer"},O6=e("td",null,"suny@sustech.edu.cn",-1),V6={href:"https://www.sustech.edu.cn/zh/faculties/zhudanling.html",target:"_blank",rel:"noopener noreferrer"},J6=e("td",null,"zhudl@sustech.edu.cn",-1),C6={href:"https://www.sustech.edu.cn/zh/faculties/cengfuxing.html",target:"_blank",rel:"noopener noreferrer"},H6=e("td",null,"zengfx@sustech.edu.cn",-1),F6={href:"https://www.sustech.edu.cn/zh/faculties/zhengmeizhen.html",target:"_blank",rel:"noopener noreferrer"},Z6=e("td",null,"zhengmz@sustech.edu.cn",-1),D6=e("h3",{id:"化学生物学系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#化学生物学系","aria-hidden":"true"},"#"),t(" 化学生物学系")],-1),P6=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),B6={href:"https://www.sustech.edu.cn/zh/faculties/english-chen-yonglong.html",target:"_blank",rel:"noopener noreferrer"},Y6=e("td",null,"chenyl@sustech.edu.cn",-1),U6={href:"https://www.sustech.edu.cn/zh/faculties/gongxin.html",target:"_blank",rel:"noopener noreferrer"},W6=e("td",null,"gongx@sustech.edu.cn",-1),Q6={href:"https://www.sustech.edu.cn/zh/faculties/huanghongda.html",target:"_blank",rel:"noopener noreferrer"},X6=e("td",null,"huanghd@sustech.edu.cn",-1),$6={href:"https://www.sustech.edu.cn/zh/faculties/yao-wangli.html",target:"_blank",rel:"noopener noreferrer"},ey=e("td",null,"liyw@sustech.edu.cn",-1),ty={href:"https://www.sustech.edu.cn/zh/faculties/liyanyan.html",target:"_blank",rel:"noopener noreferrer"},ny=e("td",null,"liyy6@sustech.edu.cn",-1),ly={href:"https://www.sustech.edu.cn/zh/faculties/maofuliao.html",target:"_blank",rel:"noopener noreferrer"},sy=e("td",null,"liaomf@sustech.edu.cn",-1),ry={href:"https://www.sustech.edu.cn/zh/faculties/suisenfang.html",target:"_blank",rel:"noopener noreferrer"},hy=e("td",null,"官网未找到邮箱",-1),uy={href:"https://www.sustech.edu.cn/zh/faculties/qingtaoshen.html",target:"_blank",rel:"noopener noreferrer"},oy=e("td",null,"shenqt@sustech.edu.cn",-1),cy={href:"https://www.sustech.edu.cn/zh/faculties/wangling.html",target:"_blank",rel:"noopener noreferrer"},dy=e("td",null,"wangl8@sustech.edu.cn",-1),ay={href:"https://www.sustech.edu.cn/zh/faculties/english-yu-cong.html",target:"_blank",rel:"noopener noreferrer"},_y=e("td",null,"yuc@sustech.edu.cn",-1),iy={href:"https://www.sustech.edu.cn/zh/faculties/yankaige.html",target:"_blank",rel:"noopener noreferrer"},wy=e("td",null,"yankg@sustech.edu.cn",-1),fy=e("h3",{id:"神经生物学系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#神经生物学系","aria-hidden":"true"},"#"),t(" 神经生物学系")],-1),gy=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),py={href:"https://www.sustech.edu.cn/zh/faculties/chenglongzhen.html",target:"_blank",rel:"noopener noreferrer"},zy=e("td",null,"chenglz@sustech.edu.cn",-1),by={href:"https://www.sustech.edu.cn/zh/faculties/chenxiaojing.html",target:"_blank",rel:"noopener noreferrer"},my=e("td",null,"chenxj@sustech.edu.cn",-1),ky={href:"https://www.sustech.edu.cn/zh/faculties/english-hou-shengtao.html",target:"_blank",rel:"noopener noreferrer"},yy=e("td",null,"houst@sustech.edu.cn",-1),xy={href:"https://www.sustech.edu.cn/zh/faculties/ji-shengjian.html",target:"_blank",rel:"noopener noreferrer"},jy=e("td",null,"jisj@sustech.edu.cn",-1),qy={href:"https://www.sustech.edu.cn/zh/faculties/liudong.html",target:"_blank",rel:"noopener noreferrer"},vy=e("td",null,"liud@sustech.edu.cn",-1),Ay={href:"https://www.sustech.edu.cn/zh/faculties/english-rao-feng.html",target:"_blank",rel:"noopener noreferrer"},Sy=e("td",null,"raof@sustech.edu.cn",-1),Ey={href:"https://www.sustech.edu.cn/zh/faculties/songkun.html",target:"_blank",rel:"noopener noreferrer"},Iy=e("td",null,"songk@sustech.edu.cn",-1),Ly={href:"https://www.sustech.edu.cn/zh/faculties/english-wei-zhiyi.html",target:"_blank",rel:"noopener noreferrer"},My=e("td",null,"weizy@sustech.edu.cn",-1),Gy={href:"https://www.sustech.edu.cn/zh/faculties/xiaobo.html",target:"_blank",rel:"noopener noreferrer"},Ny=e("td",null,"xiaob@sustech.edu.cn",-1),Ry={href:"https://www.sustech.edu.cn/zh/faculties/zhaoyan.html",target:"_blank",rel:"noopener noreferrer"},Ty=e("td",null,"zhaoyan@sustech.edu.cn",-1),Ky={href:"https://www.sustech.edu.cn/zh/faculties/zhangmingjie.html",target:"_blank",rel:"noopener noreferrer"},Oy=e("td",null,"zhangmj@sustech.edu.cn",-1),Vy=e("h2",{id:"医学院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#医学院","aria-hidden":"true"},"#"),t(" 医学院")],-1),Jy=e("h3",{id:"医学神经科学系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#医学神经科学系","aria-hidden":"true"},"#"),t(" 医学神经科学系")],-1),Cy=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),Hy={href:"https://www.sustech.edu.cn/zh/faculties/songxuejun.html",target:"_blank",rel:"noopener noreferrer"},Fy=e("td",null,"songxuejun@sustech.edu.cn",-1),Zy={href:"https://www.sustech.edu.cn/zh/faculties/tianruilin.html",target:"_blank",rel:"noopener noreferrer"},Dy=e("td",null,"tianrl@sustech.edu.cn",-1),Py={href:"https://www.sustech.edu.cn/zh/faculties/wangzilong.html",target:"_blank",rel:"noopener noreferrer"},By=e("td",null,"wangzl6@sustech.edu.cn",-1),Yy=e("h3",{id:"药理学系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#药理学系","aria-hidden":"true"},"#"),t(" 药理学系")],-1),Uy=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),Wy={href:"https://www.sustech.edu.cn/zh/faculties/bianjinsong.html",target:"_blank",rel:"noopener noreferrer"},Qy=e("td",null,"bianjs@sustech.edu.cn",-1),Xy={href:"https://www.sustech.edu.cn/zh/faculties/yuliangfeng.html",target:"_blank",rel:"noopener noreferrer"},$y=e("td",null,"fengyl@sustech.edu.cn",-1),e7={href:"https://www.sustech.edu.cn/zh/faculties/huyuhui.html",target:"_blank",rel:"noopener noreferrer"},t7=e("td",null,"huyh@sustech.edu.cn",-1),n7={href:"https://www.sustech.edu.cn/zh/faculties/heyunjiao.html",target:"_blank",rel:"noopener noreferrer"},l7=e("td",null,"heyj@sustech.edu.cn",-1),s7={href:"https://www.sustech.edu.cn/zh/faculties/lianhe.html",target:"_blank",rel:"noopener noreferrer"},r7=e("td",null,"hel3@sustech.edu.cn",-1),h7={href:"https://www.sustech.edu.cn/zh/faculties/huqinan.html",target:"_blank",rel:"noopener noreferrer"},u7=e("td",null,"huqn@sustech.edu.cn",-1),o7={href:"https://www.sustech.edu.cn/zh/faculties/liwanqiu.html",target:"_blank",rel:"noopener noreferrer"},c7=e("td",null,"liwq3@sustech.edu.cn",-1),d7={href:"https://www.sustech.edu.cn/zh/faculties/haochenglu.html",target:"_blank",rel:"noopener noreferrer"},a7=e("td",null,"luhc@sustech.edu.cn",-1),_7={href:"https://www.sustech.edu.cn/zh/faculties/liliang.html",target:"_blank",rel:"noopener noreferrer"},i7=e("td",null,"lil@sustech.edu.cn",-1),w7={href:"https://www.sustech.edu.cn/zh/faculties/wangpeng-jiangxijiaoshou.html",target:"_blank",rel:"noopener noreferrer"},f7=e("td",null,"wangp6@sustech.edu.cn",-1),g7={href:"https://www.sustech.edu.cn/zh/faculties/wangyukun.html",target:"_blank",rel:"noopener noreferrer"},p7=e("td",null,"wangyk@sustech.edu.cn",-1),z7={href:"https://www.sustech.edu.cn/zh/faculties/yingwang.html",target:"_blank",rel:"noopener noreferrer"},b7=e("td",null,"wangy6@sustech.edu.cn",-1),m7={href:"https://www.sustech.edu.cn/zh/faculties/cengchen.html",target:"_blank",rel:"noopener noreferrer"},k7=e("td",null,"zengc@sustech.edu.cn",-1),y7=e("h3",{id:"生物化学系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#生物化学系","aria-hidden":"true"},"#"),t(" 生物化学系")],-1),x7=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),j7={href:"https://www.sustech.edu.cn/zh/faculties/english-xiao-guozhi.html",target:"_blank",rel:"noopener noreferrer"},q7=e("td",null,"xiaogz@sustech.edu.cn",-1),v7={href:"https://www.sustech.edu.cn/zh/faculties/caohuiling.html",target:"_blank",rel:"noopener noreferrer"},A7=e("td",null,"caohl@sustech.edu.cn",-1),S7={href:"https://www.sustech.edu.cn/zh/faculties/chejun.html",target:"_blank",rel:"noopener noreferrer"},E7=e("td",null,"chej@mail.sustech.edu.cn",-1),I7={href:"https://www.sustech.edu.cn/zh/faculties/caoliwei.html",target:"_blank",rel:"noopener noreferrer"},L7=e("td",null,"caolw@sustech.edu.cn",-1),M7={href:"https://www.sustech.edu.cn/zh/faculties/duchangzheng.html",target:"_blank",rel:"noopener noreferrer"},G7=e("td",null,"ducz@sustech.edu.cn",-1),N7={href:"https://www.sustech.edu.cn/zh/faculties/guoyingying.html",target:"_blank",rel:"noopener noreferrer"},R7=e("td",null,"官网未找到邮箱",-1),T7={href:"https://www.sustech.edu.cn/zh/faculties/hongxin.html",target:"_blank",rel:"noopener noreferrer"},K7=e("td",null,"hongx@sustech.edu.cn",-1),O7={href:"https://www.sustech.edu.cn/zh/faculties/huhailiang.html",target:"_blank",rel:"noopener noreferrer"},V7=e("td",null,"huhl@sustech.edu.cn",-1),J7={href:"https://www.sustech.edu.cn/zh/faculties/jia-ning.html",target:"_blank",rel:"noopener noreferrer"},C7=e("td",null,"jian@sustech.edu.cn",-1),H7={href:"https://www.sustech.edu.cn/zh/faculties/liuquan.html",target:"_blank",rel:"noopener noreferrer"},F7=e("td",null,"liuq3@sustech.edu.cn",-1),Z7={href:"https://www.sustech.edu.cn/zh/faculties/lvkaosheng.html",target:"_blank",rel:"noopener noreferrer"},D7=e("td",null,"lvks@sustech.edu.cn",-1),P7={href:"https://www.sustech.edu.cn/zh/faculties/jieliu.html",target:"_blank",rel:"noopener noreferrer"},B7=e("td",null,"liuj33@sustech.edu.cn",-1),Y7={href:"https://www.sustech.edu.cn/zh/faculties/raohai.html",target:"_blank",rel:"noopener noreferrer"},U7=e("td",null,"raoh@sustech.edu.cn",-1),W7={href:"https://www.sustech.edu.cn/zh/faculties/su-ming-yuan.html",target:"_blank",rel:"noopener noreferrer"},Q7=e("td",null,"sumy@sustech.edu.cn",-1),X7={href:"https://www.sustech.edu.cn/zh/faculties/renhongyan.html",target:"_blank",rel:"noopener noreferrer"},$7=e("td",null,"yanrh@sustech.edu.cn",-1),e9={href:"https://www.sustech.edu.cn/zh/faculties/zhangjianchao.html",target:"_blank",rel:"noopener noreferrer"},t9=e("td",null,"zhangjc3@sustech.edu.cn",-1),n9=e("h3",{id:"人类细胞生物和遗传学系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#人类细胞生物和遗传学系","aria-hidden":"true"},"#"),t(" 人类细胞生物和遗传学系")],-1),l9=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),s9={href:"https://www.sustech.edu.cn/zh/faculties/chenguoan.html",target:"_blank",rel:"noopener noreferrer"},r9=e("td",null,"cheng@sustech.edu.cn",-1),h9={href:"https://www.sustech.edu.cn/zh/faculties/chenhao.html",target:"_blank",rel:"noopener noreferrer"},u9=e("td",null,"chenh7@sustech.edu.cn",-1),o9={href:"https://www.sustech.edu.cn/zh/faculties/dongjintang.html",target:"_blank",rel:"noopener noreferrer"},c9=e("td",null,"dongjt@sustech.edu.cn",-1),d9={href:"https://www.sustech.edu.cn/zh/faculties/luyi.html",target:"_blank",rel:"noopener noreferrer"},a9=e("td",null,"luy3@sustech.edu.cn",-1),_9={href:"https://www.sustech.edu.cn/zh/faculties/shiminshuai.html",target:"_blank",rel:"noopener noreferrer"},i9=e("td",null,"shuaism@sustech.edu.cn",-1),w9={href:"https://www.sustech.edu.cn/zh/faculties/siyuanxia.html",target:"_blank",rel:"noopener noreferrer"},f9=e("td",null,"xiasy@sustech.edu.cn",-1),g9={href:"https://www.sustech.edu.cn/zh/faculties/yingxu.html",target:"_blank",rel:"noopener noreferrer"},p9=e("td",null,"xuy9@sustech.edu.cn",-1),z9={href:"https://www.sustech.edu.cn/zh/faculties/zhangzhiqian.html",target:"_blank",rel:"noopener noreferrer"},b9=e("td",null,"zhangzq@sustech.edu.cn",-1),m9={href:"https://www.sustech.edu.cn/zh/faculties/baotongzhang.html",target:"_blank",rel:"noopener noreferrer"},k9=e("td",null,"zhangbt@sustech.edu.cn",-1),y9=e("h3",{id:"公共卫生及应急管理学院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#公共卫生及应急管理学院","aria-hidden":"true"},"#"),t(" 公共卫生及应急管理学院")],-1),x9=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),j9={href:"https://www.sustech.edu.cn/zh/faculties/gudongfeng.html",target:"_blank",rel:"noopener noreferrer"},q9=e("td",null,"gudf@sustech.edu.cn",-1),v9={href:"https://www.sustech.edu.cn/zh/faculties/xinxinhan.html",target:"_blank",rel:"noopener noreferrer"},A9=e("td",null,"hanxx@sustech.edu.cn",-1),S9={href:"https://www.sustech.edu.cn/zh/faculties/huangjie.html",target:"_blank",rel:"noopener noreferrer"},E9=e("td",null,"huangj@sustech.edu.cn",-1),I9={href:"https://www.sustech.edu.cn/zh/faculties/liangfengchao.html",target:"_blank",rel:"noopener noreferrer"},L9=e("td",null,"liangfc@sustech.edu.cn",-1),M9={href:"https://www.sustech.edu.cn/zh/faculties/yonggangpei.html",target:"_blank",rel:"noopener noreferrer"},G9=e("td",null,"peiyg@sustech.edu.cn",-1),N9={href:"https://www.sustech.edu.cn/zh/faculties/wanghaidong.html",target:"_blank",rel:"noopener noreferrer"},R9=e("td",null,"wanghd@sustech.edu.cn",-1),T9={href:"https://www.sustech.edu.cn/zh/faculties/chunfuyang.html",target:"_blank",rel:"noopener noreferrer"},K9=e("td",null,"yangcf@sustech.edu.cn",-1),O9={href:"https://www.sustech.edu.cn/zh/faculties/bin-zhu.html",target:"_blank",rel:"noopener noreferrer"},V9=e("td",null,"zhub6@sustech.edu.cn",-1),J9={href:"https://www.sustech.edu.cn/zh/faculties/wenjingzhao.html",target:"_blank",rel:"noopener noreferrer"},C9=e("td",null,"zhaowj@sustech.edu.cn",-1),H9=e("h2",{id:"商学院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#商学院","aria-hidden":"true"},"#"),t(" 商学院")],-1),F9=e("h3",{id:"金融系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#金融系","aria-hidden":"true"},"#"),t(" 金融系")],-1),Z9=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),D9={href:"https://www.sustech.edu.cn/zh/faculties/chenluming.html",target:"_blank",rel:"noopener noreferrer"},P9=e("td",null,"chenlm3@sustech.edu.cn",-1),B9={href:"https://www.sustech.edu.cn/zh/faculties/hudaning.html",target:"_blank",rel:"noopener noreferrer"},Y9=e("td",null,"hudn@sustech.edu.cn",-1),U9={href:"https://www.sustech.edu.cn/zh/faculties/lijin.html",target:"_blank",rel:"noopener noreferrer"},W9=e("td",null,"官网未找到邮箱",-1),Q9={href:"https://www.sustech.edu.cn/zh/faculties/liuchunhui.html",target:"_blank",rel:"noopener noreferrer"},X9=e("td",null,"官网未找到邮箱",-1),$9={href:"https://www.sustech.edu.cn/zh/faculties/laishufang.html",target:"_blank",rel:"noopener noreferrer"},e4=e("td",null,"laisf@sustech.edu.cn",-1),t4={href:"https://www.sustech.edu.cn/zh/faculties/lipeipei.html",target:"_blank",rel:"noopener noreferrer"},n4=e("td",null,"官网未找到邮箱",-1),l4={href:"https://www.sustech.edu.cn/zh/faculties/liuweihan.html",target:"_blank",rel:"noopener noreferrer"},s4=e("td",null,"liuwh@sustech.edu.cn",-1),r4={href:"https://www.sustech.edu.cn/zh/faculties/nanqin-liu.html",target:"_blank",rel:"noopener noreferrer"},h4=e("td",null,"liunq@sustech.edu.cn",-1),u4={href:"https://www.sustech.edu.cn/zh/faculties/lirun.html",target:"_blank",rel:"noopener noreferrer"},o4=e("td",null,"lir7@sustech.edu.cn",-1),c4={href:"https://www.sustech.edu.cn/zh/faculties/lizhongfei.html",target:"_blank",rel:"noopener noreferrer"},d4=e("td",null,"lizf6@sustech.edu.cn",-1),a4={href:"https://www.sustech.edu.cn/zh/faculties/english-sun-bianxia.html",target:"_blank",rel:"noopener noreferrer"},_4=e("td",null,"sunbx@sustech.edu.cn",-1),i4={href:"https://www.sustech.edu.cn/zh/faculties/wangsusheng.html",target:"_blank",rel:"noopener noreferrer"},w4=e("td",null,"wangss@sustech.edu.cn",-1),f4={href:"https://www.sustech.edu.cn/zh/faculties/wangxinjie.html",target:"_blank",rel:"noopener noreferrer"},g4=e("td",null,"xinjie.wang@sustech.edu.cn",-1),p4={href:"https://www.sustech.edu.cn/zh/faculties/wanghe.html",target:"_blank",rel:"noopener noreferrer"},z4=e("td",null,"官网未找到邮箱",-1),b4={href:"https://www.sustech.edu.cn/zh/faculties/wangyuan.html",target:"_blank",rel:"noopener noreferrer"},m4=e("td",null,"wangy36@sustech.edu.cn",-1),k4={href:"https://www.sustech.edu.cn/zh/faculties/wangshuxun.html",target:"_blank",rel:"noopener noreferrer"},y4=e("td",null,"wangsx@sustech.edu.cn",-1),x4={href:"https://www.sustech.edu.cn/zh/faculties/english-yang-zhaojun.html",target:"_blank",rel:"noopener noreferrer"},j4=e("td",null,"yangzj@sustech.edu.cn",-1),q4={href:"https://www.sustech.edu.cn/zh/faculties/yanshuo.html",target:"_blank",rel:"noopener noreferrer"},v4=e("td",null,"官网未找到邮箱",-1),A4={href:"https://www.sustech.edu.cn/zh/faculties/yangxuning.html",target:"_blank",rel:"noopener noreferrer"},S4=e("td",null,"官网未找到邮箱",-1),E4={href:"https://www.sustech.edu.cn/zh/faculties/yangbowen.html",target:"_blank",rel:"noopener noreferrer"},I4=e("td",null,"yangbw@sustech.edu.cn",-1),L4={href:"https://www.sustech.edu.cn/zh/faculties/zhouti.html",target:"_blank",rel:"noopener noreferrer"},M4=e("td",null,"zhout@sustech.edu.cn",-1),G4={href:"https://www.sustech.edu.cn/zh/faculties/alberttsang.html",target:"_blank",rel:"noopener noreferrer"},N4=e("td",null,"zengxl@sustech.edu.cn",-1),R4={href:"https://www.sustech.edu.cn/zh/faculties/haoranzhu.html",target:"_blank",rel:"noopener noreferrer"},T4=e("td",null,"zhuhr@sustech.edu.cn",-1),K4=e("h3",{id:"信息系统与管理工程系",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#信息系统与管理工程系","aria-hidden":"true"},"#"),t(" 信息系统与管理工程系")],-1),O4=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),V4={href:"https://www.sustech.edu.cn/zh/faculties/english-chen-kun.html",target:"_blank",rel:"noopener noreferrer"},J4=e("td",null,"chenk@sustech.edu.cn",-1),C4={href:"https://www.sustech.edu.cn/zh/faculties/kanglin-chen.html",target:"_blank",rel:"noopener noreferrer"},H4=e("td",null,"chenkl@sustech.edu.cn",-1),F4={href:"https://www.sustech.edu.cn/zh/faculties/fanxiaoshuai.html",target:"_blank",rel:"noopener noreferrer"},Z4=e("td",null,"fanxs@sustech.edu.cn",-1),D4={href:"https://www.sustech.edu.cn/zh/faculties/guliyi.html",target:"_blank",rel:"noopener noreferrer"},P4=e("td",null,"guly@sustech.edu.cn",-1),B4={href:"https://www.sustech.edu.cn/zh/faculties/guoyue.html",target:"_blank",rel:"noopener noreferrer"},Y4=e("td",null,"guoy@sustech.edu.cn",-1),U4={href:"https://www.sustech.edu.cn/zh/faculties/heqiaochu.html",target:"_blank",rel:"noopener noreferrer"},W4=e("td",null,"heqc@sustech.edu.cn",-1),Q4={href:"https://www.sustech.edu.cn/zh/faculties/huangwei7.html",target:"_blank",rel:"noopener noreferrer"},X4=e("td",null,"huangw7@sustech.edu.cn",-1),$4={href:"https://www.sustech.edu.cn/zh/faculties/keweiling.html",target:"_blank",rel:"noopener noreferrer"},e5=e("td",null,"kewl@sustech.edu.cn",-1),t5={href:"https://www.sustech.edu.cn/zh/faculties/lishaobo.html",target:"_blank",rel:"noopener noreferrer"},n5=e("td",null,"lisb3@sustech.edu.cn",-1),l5={href:"https://www.sustech.edu.cn/zh/faculties/leiyang.html",target:"_blank",rel:"noopener noreferrer"},s5=e("td",null,"leiy@sustech.edu.cn",-1),r5={href:"https://www.sustech.edu.cn/zh/faculties/liyuanyuan.html",target:"_blank",rel:"noopener noreferrer"},h5=e("td",null,"Liyy3@sustech.edu.cn",-1),u5={href:"https://www.sustech.edu.cn/zh/faculties/liuhanlin.html",target:"_blank",rel:"noopener noreferrer"},o5=e("td",null,"liuhl@sustech.edu.cn",-1),c5={href:"https://www.sustech.edu.cn/zh/faculties/luoyuankun.html",target:"_blank",rel:"noopener noreferrer"},d5=e("td",null,"luoyk3@sustech.edu.cn",-1),a5={href:"https://www.sustech.edu.cn/zh/faculties/lutao.html",target:"_blank",rel:"noopener noreferrer"},_5=e("td",null,"lut@sustech.edu.cn",-1),i5={href:"https://www.sustech.edu.cn/zh/faculties/yao-li.html",target:"_blank",rel:"noopener noreferrer"},w5=e("td",null,"liy68@sustech.edu.cn",-1),f5={href:"https://www.sustech.edu.cn/zh/faculties/limingliu.html",target:"_blank",rel:"noopener noreferrer"},g5=e("td",null,"liulm3@sustech.edu.cn",-1),p5={href:"https://www.sustech.edu.cn/zh/faculties/chongli.html",target:"_blank",rel:"noopener noreferrer"},z5=e("td",null,"lic6@sustech.edu.cn",-1),b5={href:"https://www.sustech.edu.cn/zh/faculties/yelu.html",target:"_blank",rel:"noopener noreferrer"},m5=e("td",null,"luye@sustech.edu.cn",-1),k5={href:"https://www.sustech.edu.cn/zh/faculties/qiangongming.html",target:"_blank",rel:"noopener noreferrer"},y5=e("td",null,"qiangm@sustech.edu.cn",-1),x5={href:"https://www.sustech.edu.cn/zh/faculties/tanzheng.html",target:"_blank",rel:"noopener noreferrer"},j5=e("td",null,"qinz@sustech.edu.cn",-1),q5={href:"https://www.sustech.edu.cn/zh/faculties/qiulin.html",target:"_blank",rel:"noopener noreferrer"},v5=e("td",null,"qiul@sustech.edu.cn",-1),A5={href:"https://www.sustech.edu.cn/zh/faculties/kunqian.html",target:"_blank",rel:"noopener noreferrer"},S5=e("td",null,"qiank@sustech.edu.cn",-1),E5={href:"https://www.sustech.edu.cn/zh/faculties/moris-strub.html",target:"_blank",rel:"noopener noreferrer"},I5=e("td",null,"strub@sustech.edu.cn",-1),L5={href:"https://www.sustech.edu.cn/zh/faculties/wangsonghao.html",target:"_blank",rel:"noopener noreferrer"},M5=e("td",null,"wangsh2021@sustech.edu.cn",-1),G5={href:"https://www.sustech.edu.cn/zh/faculties/rowan-wang.html",target:"_blank",rel:"noopener noreferrer"},N5=e("td",null,"wangy2021@sustech.edu.cn",-1),R5={href:"https://www.sustech.edu.cn/zh/faculties/tingxu.html",target:"_blank",rel:"noopener noreferrer"},T5=e("td",null,"xut3@sustech.edu.cn",-1),K5={href:"https://www.sustech.edu.cn/zh/faculties/yemaoliang.html",target:"_blank",rel:"noopener noreferrer"},O5=e("td",null,"yeml@sustech.edu.cn",-1),V5={href:"https://www.sustech.edu.cn/zh/faculties/yukunyang.html",target:"_blank",rel:"noopener noreferrer"},J5=e("td",null,"yangyk@sustech.edu.cn",-1),C5=e("h2",{id:"人文社会科学学院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#人文社会科学学院","aria-hidden":"true"},"#"),t(" 人文社会科学学院")],-1),H5=e("h3",{id:"人文科学中心",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#人文科学中心","aria-hidden":"true"},"#"),t(" 人文科学中心")],-1),F5=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),Z5={href:"https://www.sustech.edu.cn/zh/faculties/chenyuehong-2.html",target:"_blank",rel:"noopener noreferrer"},D5=e("td",null,"chenyuehong@sustech.edu.cn",-1),P5={href:"https://www.sustech.edu.cn/zh/faculties/chenjinsong.html",target:"_blank",rel:"noopener noreferrer"},B5=e("td",null,"chenjs@sustech.edu.cn",-1),Y5={href:"https://www.sustech.edu.cn/zh/faculties/lifengliang.html",target:"_blank",rel:"noopener noreferrer"},U5=e("td",null,"lifengliang@sustech.edu.cn",-1),W5={href:"https://www.sustech.edu.cn/zh/faculties/liuyang.html",target:"_blank",rel:"noopener noreferrer"},Q5=e("td",null,"liuy9@sustech.edu.cn",-1),X5={href:"https://www.sustech.edu.cn/zh/faculties/lilan-2.html",target:"_blank",rel:"noopener noreferrer"},$5=e("td",null,"lil6@sustech.edu.cn",-1),e8={href:"https://www.sustech.edu.cn/zh/faculties/qianailin.html",target:"_blank",rel:"noopener noreferrer"},t8=e("td",null,"qianal@sustech.edu.cn",-1),n8={href:"https://www.sustech.edu.cn/zh/faculties/sunshun.html",target:"_blank",rel:"noopener noreferrer"},l8=e("td",null,"suns@sustech.edu.cn",-1),s8={href:"https://www.sustech.edu.cn/zh/faculties/tangkeyang-2.html",target:"_blank",rel:"noopener noreferrer"},r8=e("td",null,"tangky@sustech.edu.cn",-1),h8={href:"https://www.sustech.edu.cn/zh/faculties/tiansong.html",target:"_blank",rel:"noopener noreferrer"},u8=e("td",null,"tians@sustech.edu.cn",-1),o8={href:"https://www.sustech.edu.cn/zh/faculties/wuyan-2.html",target:"_blank",rel:"noopener noreferrer"},c8=e("td",null,"wuy6@sustech.edu.cn",-1),d8={href:"https://www.sustech.edu.cn/zh/faculties/yangguo.html",target:"_blank",rel:"noopener noreferrer"},a8=e("td",null,"yangg3@sustech.edu.cn",-1),_8={href:"https://www.sustech.edu.cn/zh/faculties/yangli.html",target:"_blank",rel:"noopener noreferrer"},i8=e("td",null,"yangl6@sustech.edu.cn",-1),w8={href:"https://www.sustech.edu.cn/zh/faculties/yanghe.html",target:"_blank",rel:"noopener noreferrer"},f8=e("td",null,"yangh3@sustech.edu.cn",-1),g8={href:"https://www.sustech.edu.cn/zh/faculties/zhouxiumei.html",target:"_blank",rel:"noopener noreferrer"},p8=e("td",null,"zhouxm@sustech.edu.cn",-1),z8=e("h3",{id:"社会科学中心暨社会科学高等研究院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#社会科学中心暨社会科学高等研究院","aria-hidden":"true"},"#"),t(" 社会科学中心暨社会科学高等研究院")],-1),b8=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),m8={href:"https://www.sustech.edu.cn/zh/faculties/chenjie.html",target:"_blank",rel:"noopener noreferrer"},k8=e("td",null,"chenj7@sustech.edu.cn",-1),y8={href:"https://www.sustech.edu.cn/zh/faculties/tangjigen.html",target:"_blank",rel:"noopener noreferrer"},x8=e("td",null,"tangjg@sustech.edu.cn",-1),j8={href:"https://www.sustech.edu.cn/zh/faculties/wangxiaokui.html",target:"_blank",rel:"noopener noreferrer"},q8=e("td",null,"wangxk@sustech.edu.cn",-1),v8={href:"https://www.sustech.edu.cn/zh/faculties/wangyu.html",target:"_blank",rel:"noopener noreferrer"},A8=e("td",null,"wangy63@sustech.edu.cn",-1),S8={href:"https://www.sustech.edu.cn/zh/faculties/wanglili.html",target:"_blank",rel:"noopener noreferrer"},E8=e("td",null,"wangll3@sustech.edu.cn",-1),I8={href:"https://www.sustech.edu.cn/zh/faculties/zhangjinghong.html",target:"_blank",rel:"noopener noreferrer"},L8=e("td",null,"zhangjh3@sustech.edu.cn",-1),M8=e("h3",{id:"高等教育研究中心",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#高等教育研究中心","aria-hidden":"true"},"#"),t(" 高等教育研究中心")],-1),G8=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),N8={href:"https://www.sustech.edu.cn/zh/faculties/yuangao.html",target:"_blank",rel:"noopener noreferrer"},R8=e("td",null,"cygao@sustech.edu.cn",-1),T8={href:"https://www.sustech.edu.cn/zh/faculties/hanwei.html",target:"_blank",rel:"noopener noreferrer"},K8=e("td",null,"hanwei@sustc.edu.cn",-1),O8={href:"https://www.sustech.edu.cn/zh/faculties/jiangfan.html",target:"_blank",rel:"noopener noreferrer"},V8=e("td",null,"jiangf6@sustech.edu.cn",-1),J8={href:"https://www.sustech.edu.cn/zh/faculties/liming.html",target:"_blank",rel:"noopener noreferrer"},C8=e("td",null,"lim@sustc.edu.cn",-1),H8={href:"https://www.sustech.edu.cn/zh/faculties/liuxu.html",target:"_blank",rel:"noopener noreferrer"},F8=e("td",null,"liux9@sustech.edu.cn",-1),Z8={href:"https://www.sustech.edu.cn/zh/faculties/shenhong.html",target:"_blank",rel:"noopener noreferrer"},D8=e("td",null,"shenh6@sustech.edu.cn",-1),P8={href:"https://www.sustech.edu.cn/zh/faculties/wangboqing.html",target:"_blank",rel:"noopener noreferrer"},B8=e("td",null,"wangbq@sustech.edu.cn",-1),Y8={href:"https://www.sustech.edu.cn/zh/faculties/zhaojianhua.html",target:"_blank",rel:"noopener noreferrer"},U8=e("td",null,"zhaojh@sustech.edu.cn",-1),W8=e("h3",{id:"语言中心",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#语言中心","aria-hidden":"true"},"#"),t(" 语言中心")],-1),Q8=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),X8={href:"https://www.sustech.edu.cn/zh/faculties/chu.html",target:"_blank",rel:"noopener noreferrer"},$8=e("td",null,"chuy@sustech.edu.cn",-1),e0={href:"https://www.sustech.edu.cn/zh/faculties/dongrongrong.html",target:"_blank",rel:"noopener noreferrer"},t0=e("td",null,"dongrr@sustech.edu.cn",-1),n0={href:"https://www.sustech.edu.cn/zh/faculties/albert-evans.html",target:"_blank",rel:"noopener noreferrer"},l0=e("td",null,"evansa@sustech.edu.cn",-1),s0={href:"https://www.sustech.edu.cn/zh/faculties/huyuxiu.html",target:"_blank",rel:"noopener noreferrer"},r0=e("td",null,"huyx@sustech.edu.cn",-1),h0={href:"https://www.sustech.edu.cn/zh/faculties/english-li_zhuo.html",target:"_blank",rel:"noopener noreferrer"},u0=e("td",null,"liz@sustech.edu.cn",-1),o0={href:"https://www.sustech.edu.cn/zh/faculties/english-liu_li_sha.html",target:"_blank",rel:"noopener noreferrer"},c0=e("td",null,"liuls@sustech.edu.cn",-1),d0={href:"https://www.sustech.edu.cn/zh/faculties/english-liu_qing.html",target:"_blank",rel:"noopener noreferrer"},a0=e("td",null,"liuq@sustech.edu.cn",-1),_0={href:"https://www.sustech.edu.cn/zh/faculties/renli.html",target:"_blank",rel:"noopener noreferrer"},i0=e("td",null,"renl@sustech.edu.cn",-1),w0={href:"https://www.sustech.edu.cn/zh/faculties/english-xu_si_qun.html",target:"_blank",rel:"noopener noreferrer"},f0=e("td",null,"xusq@sustech.edu.cn",-1),g0={href:"https://www.sustech.edu.cn/zh/faculties/yuyongyang.html",target:"_blank",rel:"noopener noreferrer"},p0=e("td",null,"yuyy@sustech.edu.cn",-1),z0={href:"https://www.sustech.edu.cn/zh/faculties/zhangxinting.html",target:"_blank",rel:"noopener noreferrer"},b0=e("td",null,"zhangxt@sustech.edu.cn",-1),m0=e("h3",{id:"艺术中心",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#艺术中心","aria-hidden":"true"},"#"),t(" 艺术中心")],-1),k0=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),y0={href:"https://www.sustech.edu.cn/zh/faculties/liuhui.html",target:"_blank",rel:"noopener noreferrer"},x0=e("td",null,"liuh6@sustech.edu.cn",-1),j0={href:"https://www.sustech.edu.cn/zh/faculties/zhaoyishan.html",target:"_blank",rel:"noopener noreferrer"},q0=e("td",null,"zhaoys3@sustech.edu.cn",-1),v0={href:"https://www.sustech.edu.cn/zh/faculties/bibaoyi.html",target:"_blank",rel:"noopener noreferrer"},A0=e("td",null,"biby@sustech.edu.cn",-1),S0={href:"https://www.sustech.edu.cn/zh/faculties/wenying.html",target:"_blank",rel:"noopener noreferrer"},E0=e("td",null,"weny@sustc.edu.cn",-1),I0={href:"https://www.sustech.edu.cn/zh/faculties/zhoumingcong.html",target:"_blank",rel:"noopener noreferrer"},L0=e("td",null,"zhoumc@sustech.edu.cn",-1),M0={href:"https://www.sustech.edu.cn/zh/faculties/jitao.html",target:"_blank",rel:"noopener noreferrer"},G0=e("td",null,"jit@sustech.edu.cn",-1),N0={href:"https://www.sustech.edu.cn/zh/faculties/liuketing.html",target:"_blank",rel:"noopener noreferrer"},R0=e("td",null,"liukt@sustech.edu.cn",-1),T0={href:"https://www.sustech.edu.cn/zh/faculties/pisheng.html",target:"_blank",rel:"noopener noreferrer"},K0=e("td",null,"pis@sustech.edu.cn",-1),O0={href:"https://www.sustech.edu.cn/zh/faculties/lihanhan.html",target:"_blank",rel:"noopener noreferrer"},V0=e("td",null,"官网未找到邮箱",-1),J0=e("h2",{id:"创新创业学院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#创新创业学院","aria-hidden":"true"},"#"),t(" 创新创业学院")],-1),C0=e("h3",{id:"创新创业学院-1",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#创新创业学院-1","aria-hidden":"true"},"#"),t(" 创新创业学院")],-1),H0=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),F0={href:"https://www.sustech.edu.cn/zh/faculties/hansong.html",target:"_blank",rel:"noopener noreferrer"},Z0=e("td",null,"hans@sustech.edu.cn",-1),D0={href:"https://www.sustech.edu.cn/zh/faculties/liuzhengbai.html",target:"_blank",rel:"noopener noreferrer"},P0=e("td",null,"liuzb3@sustech.edu.cn",-1),B0={href:"https://www.sustech.edu.cn/zh/faculties/liyiming.html",target:"_blank",rel:"noopener noreferrer"},Y0=e("td",null,"liym3@sustech.edu.cn",-1),U0={href:"https://www.sustech.edu.cn/zh/faculties/songzhangqi.html",target:"_blank",rel:"noopener noreferrer"},W0=e("td",null,"songzq@sustech.edu.cn",-1),Q0={href:"https://www.sustech.edu.cn/zh/faculties/wangpinghui.html",target:"_blank",rel:"noopener noreferrer"},X0=e("td",null,"wangph@sustech.edu.cn",-1),$0={href:"https://www.sustech.edu.cn/zh/faculties/xuhongli.html",target:"_blank",rel:"noopener noreferrer"},ex=e("td",null,"xuhl3@sustech.edu.cn",-1),tx={href:"https://www.sustech.edu.cn/zh/faculties/zhanghaofan.html",target:"_blank",rel:"noopener noreferrer"},nx=e("td",null,"zhanghf@sustech.edu.cn",-1),lx={href:"https://www.sustech.edu.cn/zh/faculties/zhaobaisong.html",target:"_blank",rel:"noopener noreferrer"},sx=e("td",null,"zhaobs@sustech.edu.cn",-1),rx=e("h2",{id:"创新创意设计学院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#创新创意设计学院","aria-hidden":"true"},"#"),t(" 创新创意设计学院")],-1),hx=e("h3",{id:"创新创意设计学院-1",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#创新创意设计学院-1","aria-hidden":"true"},"#"),t(" 创新创意设计学院")],-1),ux=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),ox={href:"https://www.sustech.edu.cn/zh/faculties/pengchengan.html",target:"_blank",rel:"noopener noreferrer"},cx=e("td",null,"anpc@sustech.edu.cn",-1),dx={href:"https://www.sustech.edu.cn/zh/faculties/thomasfischer.html",target:"_blank",rel:"noopener noreferrer"},ax=e("td",null,"tfischer@sustech.edu.cn",-1),_x={href:"https://www.sustech.edu.cn/zh/faculties/renkehe.html",target:"_blank",rel:"noopener noreferrer"},ix=e("td",null,"herk@sustech.edu.cn",-1),wx={href:"https://www.sustech.edu.cn/zh/faculties/christianemherr.html",target:"_blank",rel:"noopener noreferrer"},fx=e("td",null,"cmherr@sustech.edu.cn",-1),gx={href:"https://www.sustech.edu.cn/zh/faculties/seungwooje.html",target:"_blank",rel:"noopener noreferrer"},px=e("td",null,"seungwoo@sustech.edu.cn",-1),zx={href:"https://www.sustech.edu.cn/zh/faculties/thomaskvan.html",target:"_blank",rel:"noopener noreferrer"},bx=e("td",null,"官网未找到邮箱",-1),mx={href:"https://www.sustech.edu.cn/zh/faculties/qinyuanlei.html",target:"_blank",rel:"noopener noreferrer"},kx=e("td",null,"leiqy@sustech.edu.cn",-1),yx={href:"https://www.sustech.edu.cn/zh/faculties/luotao.html",target:"_blank",rel:"noopener noreferrer"},xx=e("td",null,"luot@sustech.edu.cn",-1),jx={href:"https://www.sustech.edu.cn/zh/faculties/lixueliang.html",target:"_blank",rel:"noopener noreferrer"},qx=e("td",null,"lixl6@sustech.edu.cn",-1),vx={href:"https://www.sustech.edu.cn/zh/faculties/enzamigliore.html",target:"_blank",rel:"noopener noreferrer"},Ax=e("td",null,"emigliore@sustech.edu.cn",-1),Sx={href:"https://www.sustech.edu.cn/zh/faculties/mirnazordan.html",target:"_blank",rel:"noopener noreferrer"},Ex=e("td",null,"mzordan@sustech.edu.cn",-1),Ix={href:"https://www.sustech.edu.cn/zh/faculties/marcelzaessagesser.html",target:"_blank",rel:"noopener noreferrer"},Lx=e("td",null,"官网未找到邮箱",-1),Mx={href:"https://www.sustech.edu.cn/zh/faculties/marcelosoares.html",target:"_blank",rel:"noopener noreferrer"},Gx=e("td",null,"soaresmm@sustech.edu.cn",-1),Nx={href:"https://www.sustech.edu.cn/zh/faculties/fangwan.html",target:"_blank",rel:"noopener noreferrer"},Rx=e("td",null,"wanf@sustech.edu.cn",-1),Tx={href:"https://www.sustech.edu.cn/zh/faculties/xuqiushi.html",target:"_blank",rel:"noopener noreferrer"},Kx=e("td",null,"xuqs3@mail.sustech.edu.cn",-1),Ox={href:"https://www.sustech.edu.cn/zh/faculties/xiaoruowei.html",target:"_blank",rel:"noopener noreferrer"},Vx=e("td",null,"xiaorw@sustech.edu.cn",-1),Jx={href:"https://www.sustech.edu.cn/zh/faculties/zhangwanlin.html",target:"_blank",rel:"noopener noreferrer"},Cx=e("td",null,"zhangwl3@sustech.edu.cn",-1),Hx=e("h2",{id:"教学单位",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#教学单位","aria-hidden":"true"},"#"),t(" 教学单位")],-1),Fx=e("h3",{id:"思想政治教育与研究中心",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#思想政治教育与研究中心","aria-hidden":"true"},"#"),t(" 思想政治教育与研究中心")],-1),Zx=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),Dx={href:"https://www.sustech.edu.cn/zh/faculties/gaoyulin.html",target:"_blank",rel:"noopener noreferrer"},Px=e("td",null,"gaoyl@sustech.edu.cn",-1),Bx={href:"https://www.sustech.edu.cn/zh/faculties/lezheng.html",target:"_blank",rel:"noopener noreferrer"},Yx=e("td",null,"lez@sustech.edu.cn",-1),Ux={href:"https://www.sustech.edu.cn/zh/faculties/lanmeirong.html",target:"_blank",rel:"noopener noreferrer"},Wx=e("td",null,"lanmr@sustech.edu.cn",-1),Qx={href:"https://www.sustech.edu.cn/zh/faculties/majunjun.html",target:"_blank",rel:"noopener noreferrer"},Xx=e("td",null,"majj@sustech.edu.cn",-1),$x={href:"https://www.sustech.edu.cn/zh/faculties/shuaisonglin.html",target:"_blank",rel:"noopener noreferrer"},ej=e("td",null,"shuaisl@sustech.edu.cn",-1),tj={href:"https://www.sustech.edu.cn/zh/faculties/sunzhifeng.html",target:"_blank",rel:"noopener noreferrer"},nj=e("td",null,"sunzf@sustech.edu.cn",-1),lj={href:"https://www.sustech.edu.cn/zh/faculties/tengmingzheng.html",target:"_blank",rel:"noopener noreferrer"},sj=e("td",null,"tengsustc@163.com",-1),rj={href:"https://www.sustech.edu.cn/zh/faculties/wangdejun.html",target:"_blank",rel:"noopener noreferrer"},hj=e("td",null,"wangdj@sustech.edu.cn",-1),uj={href:"https://www.sustech.edu.cn/zh/faculties/wangchunying.html",target:"_blank",rel:"noopener noreferrer"},oj=e("td",null,"wangcy6@sustech.edu.cn",-1),cj={href:"https://www.sustech.edu.cn/zh/faculties/wuqingyi.html",target:"_blank",rel:"noopener noreferrer"},dj=e("td",null,"wuqy@sustech.edu.cn",-1),aj={href:"https://www.sustech.edu.cn/zh/faculties/yanghanxu.html",target:"_blank",rel:"noopener noreferrer"},_j=e("td",null,"yanghx@sustech.edu.cn",-1),ij={href:"https://www.sustech.edu.cn/zh/faculties/yangshaoman.html",target:"_blank",rel:"noopener noreferrer"},wj=e("td",null,"yangsm@sustech.edu.cn",-1),fj={href:"https://www.sustech.edu.cn/zh/faculties/yuanhaijun.html",target:"_blank",rel:"noopener noreferrer"},gj=e("td",null,"yuanhj@sustech.edu.cn",-1),pj={href:"https://www.sustech.edu.cn/zh/faculties/yinweiyu.html",target:"_blank",rel:"noopener noreferrer"},zj=e("td",null,"yinwy@sustech.edu.cn",-1),bj={href:"https://www.sustech.edu.cn/zh/faculties/zujiahe.html",target:"_blank",rel:"noopener noreferrer"},mj=e("td",null,"zujh@sustc.edu.cn",-1),kj={href:"https://www.sustech.edu.cn/zh/faculties/zhangshoumin.html",target:"_blank",rel:"noopener noreferrer"},yj=e("td",null,"zhangsm@sustech.edu.cn",-1),xj={href:"https://www.sustech.edu.cn/zh/faculties/zhangtao.html",target:"_blank",rel:"noopener noreferrer"},jj=e("td",null,"zhangt@sustech.edu.cn",-1),qj=e("h3",{id:"体育中心",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#体育中心","aria-hidden":"true"},"#"),t(" 体育中心")],-1),vj=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),Aj={href:"https://www.sustech.edu.cn/zh/faculties/english-bai_bo.html",target:"_blank",rel:"noopener noreferrer"},Sj=e("td",null,"baib@sustc.edu.cn",-1),Ej={href:"https://www.sustech.edu.cn/zh/faculties/donglunhong.html",target:"_blank",rel:"noopener noreferrer"},Ij=e("td",null,"donglh@sustc.edu.cn",-1),Lj={href:"https://www.sustech.edu.cn/zh/faculties/english-hou_siyu.html",target:"_blank",rel:"noopener noreferrer"},Mj=e("td",null,"housy@sustc.edu.cn",-1),Gj={href:"https://www.sustech.edu.cn/zh/faculties/hezilin.html",target:"_blank",rel:"noopener noreferrer"},Nj=e("td",null,"hezl@sustech.edu.cn",-1),Rj={href:"https://www.sustech.edu.cn/zh/faculties/english-lai_sha.html",target:"_blank",rel:"noopener noreferrer"},Tj=e("td",null,"lais@sustech.edu.cn",-1),Kj={href:"https://www.sustech.edu.cn/zh/faculties/liujianjun.html",target:"_blank",rel:"noopener noreferrer"},Oj=e("td",null,"liujj@sustc.edu.cn",-1),Vj={href:"https://www.sustech.edu.cn/zh/faculties/luyang.html",target:"_blank",rel:"noopener noreferrer"},Jj=e("td",null,"luy@sustc.edu.cn",-1),Cj={href:"https://www.sustech.edu.cn/zh/faculties/sunyan.html",target:"_blank",rel:"noopener noreferrer"},Hj=e("td",null,"sunyan@sustc.edu.cn",-1),Fj={href:"https://www.sustech.edu.cn/zh/faculties/english-wei_weicheng.html",target:"_blank",rel:"noopener noreferrer"},Zj=e("td",null,"weiwc@sustc.edu.cn",-1),Dj={href:"https://www.sustech.edu.cn/zh/faculties/yangjia.html",target:"_blank",rel:"noopener noreferrer"},Pj=e("td",null,"247784542@qq.com",-1),Bj={href:"https://www.sustech.edu.cn/zh/faculties/zhaofei.html",target:"_blank",rel:"noopener noreferrer"},Yj=e("td",null,"zhaof@sustc.edu.cn",-1),Uj={href:"https://www.sustech.edu.cn/zh/faculties/zhaoyipin.html",target:"_blank",rel:"noopener noreferrer"},Wj=e("td",null,"zhaoyp@sustc.edu.cn",-1),Qj=e("h2",{id:"科研单位",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#科研单位","aria-hidden":"true"},"#"),t(" 科研单位")],-1),Xj=e("h3",{id:"杰曼诺夫数学中心",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#杰曼诺夫数学中心","aria-hidden":"true"},"#"),t(" 杰曼诺夫数学中心")],-1),$j=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),eq={href:"https://www.sustech.edu.cn/zh/faculties/cuishumo.html",target:"_blank",rel:"noopener noreferrer"},tq=e("td",null,"cuism@sustech.edu.cn",-1),nq={href:"https://www.sustech.edu.cn/zh/faculties/dongshijie.html",target:"_blank",rel:"noopener noreferrer"},lq=e("td",null,"dongsj@sustech.edu.cn",-1),sq={href:"https://www.sustech.edu.cn/zh/faculties/efimzelmanov.html",target:"_blank",rel:"noopener noreferrer"},rq=e("td",null,"官网未找到邮箱",-1),hq={href:"https://www.sustech.edu.cn/zh/faculties/fengzhicheng.html",target:"_blank",rel:"noopener noreferrer"},uq=e("td",null,"fengzc@sustech.edu.cn",-1),oq={href:"https://www.sustech.edu.cn/zh/faculties/garoufalidis-stavros.html",target:"_blank",rel:"noopener noreferrer"},cq=e("td",null,"stavros@sustech.edu.cn",-1),dq={href:"https://www.sustech.edu.cn/zh/faculties/huangshaochuang.html",target:"_blank",rel:"noopener noreferrer"},aq=e("td",null,"huangsc@sustech.edu.cn",-1),_q={href:"https://www.sustech.edu.cn/zh/faculties/ingrid-irmer.html",target:"_blank",rel:"noopener noreferrer"},iq=e("td",null,"ingridmary@sustech.edu.cn",-1),wq={href:"https://www.sustech.edu.cn/zh/faculties/mikkokorhonen.html",target:"_blank",rel:"noopener noreferrer"},fq=e("td",null,"korhonen_mikko@hotmail.com",-1),gq={href:"https://www.sustech.edu.cn/zh/faculties/quanchaoyu.html",target:"_blank",rel:"noopener noreferrer"},pq=e("td",null,"quancy@sustech.edu.cn",-1),zq={href:"https://www.sustech.edu.cn/zh/faculties/english-tang-tao.html",target:"_blank",rel:"noopener noreferrer"},bq=e("td",null,"tangt@sustech.edu.cn",-1),mq={href:"https://www.sustech.edu.cn/zh/faculties/wulongting.html",target:"_blank",rel:"noopener noreferrer"},kq=e("td",null,"官网未找到邮箱",-1),yq={href:"https://www.sustech.edu.cn/zh/faculties/zhangjiping.html",target:"_blank",rel:"noopener noreferrer"},xq=e("td",null,"官网未找到邮箱",-1),jq=e("h3",{id:"格拉布斯研究院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#格拉布斯研究院","aria-hidden":"true"},"#"),t(" 格拉布斯研究院")],-1),qq=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),vq={href:"https://www.sustech.edu.cn/zh/faculties/chengjunkee.html",target:"_blank",rel:"noopener noreferrer"},Aq=e("td",null,"junkee@sustech.edu.cn",-1),Sq={href:"https://www.sustech.edu.cn/zh/faculties/chendafa.html",target:"_blank",rel:"noopener noreferrer"},Eq=e("td",null,"chendf@sustech.edu.cn",-1),Iq={href:"https://www.sustech.edu.cn/zh/faculties/hanjingchun.html",target:"_blank",rel:"noopener noreferrer"},Lq=e("td",null,"hanjc@sustech.edu.cn",-1),Mq={href:"https://www.sustech.edu.cn/zh/faculties/hanliang.html",target:"_blank",rel:"noopener noreferrer"},Gq=e("td",null,"hanl@sustech.edu.cn",-1),Nq={href:"https://www.sustech.edu.cn/zh/faculties/xingwanghan.html",target:"_blank",rel:"noopener noreferrer"},Rq=e("td",null,"hanxw@sustech.edu.cn",-1),Tq={href:"https://www.sustech.edu.cn/zh/faculties/mingyujin.html",target:"_blank",rel:"noopener noreferrer"},Kq=e("td",null,"jinmy@sustech.edu.cn",-1),Oq={href:"https://www.sustech.edu.cn/zh/faculties/zhengyulu.html",target:"_blank",rel:"noopener noreferrer"},Vq=e("td",null,"luzy@sustech.edu.cn",-1),Jq={href:"https://www.sustech.edu.cn/zh/faculties/liuyizhen.html",target:"_blank",rel:"noopener noreferrer"},Cq=e("td",null,"liuyz3@mail.sustech.edu.cn",-1),Hq={href:"https://www.sustech.edu.cn/zh/faculties/quan-mao.html",target:"_blank",rel:"noopener noreferrer"},Fq=e("td",null,"quanm@sustech.edu.cn",-1),Zq={href:"https://www.sustech.edu.cn/zh/faculties/raoxiaofeng.html",target:"_blank",rel:"noopener noreferrer"},Dq=e("td",null,"raoxf@sustech.edu.cn",-1),Pq={href:"https://www.sustech.edu.cn/zh/faculties/songqiao.html",target:"_blank",rel:"noopener noreferrer"},Bq=e("td",null,"songq@sustech.edu.cn",-1),Yq={href:"https://www.sustech.edu.cn/zh/faculties/wangyongbin.html",target:"_blank",rel:"noopener noreferrer"},Uq=e("td",null,"wangyb1@sustech.edu.cn",-1),Wq={href:"https://www.sustech.edu.cn/zh/faculties/jianchunwang.html",target:"_blank",rel:"noopener noreferrer"},Qq=e("td",null,"wangjc3@sustech.edu.cn",-1),Xq={href:"https://www.sustech.edu.cn/zh/faculties/wangjianchun-2.html",target:"_blank",rel:"noopener noreferrer"},$q=e("td",null,"wangjc3@sustech.edu.cn",-1),ev={href:"https://www.sustech.edu.cn/zh/faculties/xiahaiping.html",target:"_blank",rel:"noopener noreferrer"},tv=e("td",null,"xiahp@sustech.edu.cn",-1),nv={href:"https://www.sustech.edu.cn/zh/faculties/xingxiangyou.html",target:"_blank",rel:"noopener noreferrer"},lv=e("td",null,"xingxy@sustech.edu.cn",-1),sv={href:"https://www.sustech.edu.cn/zh/faculties/xuweici.html",target:"_blank",rel:"noopener noreferrer"},rv=e("td",null,"xuwc@mail.sustech.edu.cn",-1),hv={href:"https://www.sustech.edu.cn/zh/faculties/yangqingjing.html",target:"_blank",rel:"noopener noreferrer"},uv=e("td",null,"yangqj@sustech.edu.cn",-1),ov={href:"https://www.sustech.edu.cn/zh/faculties/zhangyufeng.html",target:"_blank",rel:"noopener noreferrer"},cv=e("td",null,"zhangyf3@sustech.edu.cn",-1),dv=e("h3",{id:"量子科学与工程研究院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#量子科学与工程研究院","aria-hidden":"true"},"#"),t(" 量子科学与工程研究院")],-1),av=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),_v={href:"https://www.sustech.edu.cn/zh/faculties/chenjiefei.html",target:"_blank",rel:"noopener noreferrer"},iv=e("td",null,"chenjf@sustech.edu.cn",-1),wv={href:"https://www.sustech.edu.cn/zh/faculties/chenjingjing.html",target:"_blank",rel:"noopener noreferrer"},fv=e("td",null,"chenjj3@sustech.edu.cn",-1),gv={href:"https://www.sustech.edu.cn/zh/faculties/chentingyong.html",target:"_blank",rel:"noopener noreferrer"},pv=e("td",null,"chenty@sustech.edu.cn",-1),zv={href:"https://www.sustech.edu.cn/zh/faculties/chenyuan.html",target:"_blank",rel:"noopener noreferrer"},bv=e("td",null,"cheny9@sustech.edu.cn",-1),mv={href:"https://www.sustech.edu.cn/zh/faculties/chenchaoyu.html",target:"_blank",rel:"noopener noreferrer"},kv=e("td",null,"chency@sustech.edu.cn",-1),yv={href:"https://www.sustech.edu.cn/zh/faculties/huachen.html",target:"_blank",rel:"noopener noreferrer"},xv=e("td",null,"chenh9@sustech.edu.cn",-1),jv={href:"https://www.sustech.edu.cn/zh/faculties/jileichen.html",target:"_blank",rel:"noopener noreferrer"},qv=e("td",null,"chenjl6@sustech.edu.cn",-1),vv={href:"https://www.sustech.edu.cn/zh/faculties/dai-junfeng.html",target:"_blank",rel:"noopener noreferrer"},Av=e("td",null,"daijf@sustech.edu.cn",-1),Sv={href:"https://www.sustech.edu.cn/zh/faculties/dengxiuhao.html",target:"_blank",rel:"noopener noreferrer"},Ev=e("td",null,"dengxh@sustech.edu.cn",-1),Iv={href:"https://www.sustech.edu.cn/zh/faculties/dengke.html",target:"_blank",rel:"noopener noreferrer"},Lv=e("td",null,"dengk@sustech.edu.cn",-1),Mv={href:"https://www.sustech.edu.cn/zh/faculties/duzongzheng.html",target:"_blank",rel:"noopener noreferrer"},Gv=e("td",null,"duzz@sustech.edu.cn",-1),Nv={href:"https://www.sustech.edu.cn/zh/faculties/dengxiaowei.html",target:"_blank",rel:"noopener noreferrer"},Rv=e("td",null,"dengxw@sustech.edu.cn",-1),Tv={href:"https://www.sustech.edu.cn/zh/faculties/fubaishan.html",target:"_blank",rel:"noopener noreferrer"},Kv=e("td",null,"fubs@sustech.edu.cn",-1),Ov={href:"https://www.sustech.edu.cn/zh/faculties/fanjingyun.html",target:"_blank",rel:"noopener noreferrer"},Vv=e("td",null,"Fanjy@sustech.edu.cn",-1),Jv={href:"https://www.sustech.edu.cn/zh/faculties/shu-guo.html",target:"_blank",rel:"noopener noreferrer"},Cv=e("td",null,"guos@sustech.edu.cn",-1),Hv={href:"https://www.sustech.edu.cn/zh/faculties/huangpeihao.html",target:"_blank",rel:"noopener noreferrer"},Fv=e("td",null,"huangph@sustech.edu.cn",-1),Zv={href:"https://www.sustech.edu.cn/zh/faculties/huangwen.html",target:"_blank",rel:"noopener noreferrer"},Dv=e("td",null,"huangw3@sustech.edu.cn",-1),Pv={href:"https://www.sustech.edu.cn/zh/faculties/huling.html",target:"_blank",rel:"noopener noreferrer"},Bv=e("td",null,"hul@sustech.edu.cn",-1),Yv={href:"https://www.sustech.edu.cn/zh/faculties/heyu.html",target:"_blank",rel:"noopener noreferrer"},Uv=e("td",null,"hey6@sustech.edu.cn",-1),Wv={href:"https://www.sustech.edu.cn/zh/faculties/liangkong.html",target:"_blank",rel:"noopener noreferrer"},Qv=e("td",null,"kongl@sustc.edu.cn",-1),Xv={href:"https://www.sustech.edu.cn/zh/faculties/lijun.html",target:"_blank",rel:"noopener noreferrer"},$v=e("td",null,"lij3@sustech.edu.cn",-1),eA={href:"https://www.sustech.edu.cn/zh/faculties/lijian-2.html",target:"_blank",rel:"noopener noreferrer"},tA=e("td",null,"lij33@sustech.edu.cn",-1),nA={href:"https://www.sustech.edu.cn/zh/faculties/lizhengda.html",target:"_blank",rel:"noopener noreferrer"},lA=e("td",null,"lizd@sustech.edu.cn",-1),sA={href:"https://www.sustech.edu.cn/zh/faculties/linbenchuan.html",target:"_blank",rel:"noopener noreferrer"},rA=e("td",null,"linbc@sustech.edu.cn",-1),hA={href:"https://www.sustech.edu.cn/zh/faculties/liushuping.html",target:"_blank",rel:"noopener noreferrer"},uA=e("td",null,"liusp@sustech.edu.cn",-1),oA={href:"https://www.sustech.edu.cn/zh/faculties/lusirong.html",target:"_blank",rel:"noopener noreferrer"},cA=e("td",null,"lusr@sustech.edu.cn",-1),dA={href:"https://www.sustech.edu.cn/zh/faculties/liusong.html",target:"_blank",rel:"noopener noreferrer"},aA=e("td",null,"lius3@sustech.edu.cn",-1),_A={href:"https://www.sustech.edu.cn/zh/faculties/yaolu.html",target:"_blank",rel:"noopener noreferrer"},iA=e("td",null,"luy7@sustech.edu.cn",-1),wA={href:"https://www.sustech.edu.cn/zh/faculties/qinli.html",target:"_blank",rel:"noopener noreferrer"},fA=e("td",null,"liqin@sustech.edu.cn",-1),gA={href:"https://www.sustech.edu.cn/zh/faculties/xumingliu.html",target:"_blank",rel:"noopener noreferrer"},pA=e("td",null,"liuxm3@sustech.edu.cn",-1),zA={href:"https://www.sustech.edu.cn/zh/faculties/maxiaoming.html",target:"_blank",rel:"noopener noreferrer"},bA=e("td",null,"maxm3@sustech.edu.cn",-1),mA={href:"https://www.sustech.edu.cn/zh/faculties/niujingjing.html",target:"_blank",rel:"noopener noreferrer"},kA=e("td",null,"niujj@sustech.edu.cn",-1),yA={href:"https://www.sustech.edu.cn/zh/faculties/pantianluo.html",target:"_blank",rel:"noopener noreferrer"},xA=e("td",null,"pantl@sustech.edu.cn",-1),jA={href:"https://www.sustech.edu.cn/zh/faculties/changzhaopan.html",target:"_blank",rel:"noopener noreferrer"},qA=e("td",null,"pancz@sustech.edu.cn",-1),vA={href:"https://www.sustech.edu.cn/zh/faculties/xiao-qiongwang.html",target:"_blank",rel:"noopener noreferrer"},AA=e("td",null,"wangxq@sustech.edu.cn",-1),SA={href:"https://www.sustech.edu.cn/zh/faculties/suhuimin.html",target:"_blank",rel:"noopener noreferrer"},EA=e("td",null,"suhm@sustech.edu.cn",-1),IA={href:"https://www.sustech.edu.cn/zh/faculties/songxuefeng.html",target:"_blank",rel:"noopener noreferrer"},LA=e("td",null,"songxf@sustech.edu.cn",-1),MA={href:"https://www.sustech.edu.cn/zh/faculties/shaojifeng.html",target:"_blank",rel:"noopener noreferrer"},GA=e("td",null,"shaojf@sustech.edu.cn",-1),NA={href:"https://www.sustech.edu.cn/zh/faculties/tandian.html",target:"_blank",rel:"noopener noreferrer"},RA=e("td",null,"tand@sustech.edu.cn",-1),TA={href:"https://www.sustech.edu.cn/zh/faculties/tanzhenbing.html",target:"_blank",rel:"noopener noreferrer"},KA=e("td",null,"tanzb@sustech.edu.cn",-1),OA={href:"https://www.sustech.edu.cn/zh/faculties/wuzhigang.html",target:"_blank",rel:"noopener noreferrer"},VA=e("td",null,"wuzg@sustech.edu.cn",-1),JA={href:"https://www.sustech.edu.cn/zh/faculties/wangshuo.html",target:"_blank",rel:"noopener noreferrer"},CA=e("td",null,"wangs6@sustech.edu.cn",-1),HA={href:"https://www.sustech.edu.cn/zh/faculties/wangfudong.html",target:"_blank",rel:"noopener noreferrer"},FA=e("td",null,"wangfd@sustech.edu.cn",-1),ZA={href:"https://www.sustech.edu.cn/zh/faculties/wanghao-2.html",target:"_blank",rel:"noopener noreferrer"},DA=e("td",null,"wangh@sustech.edu.cn",-1),PA={href:"https://www.sustech.edu.cn/zh/faculties/wangzhongkai.html",target:"_blank",rel:"noopener noreferrer"},BA=e("td",null,"wangzk@sustech.edu.cn",-1),YA={href:"https://www.sustech.edu.cn/zh/faculties/wangyucheng.html",target:"_blank",rel:"noopener noreferrer"},UA=e("td",null,"wangyc3@sustech.edu.cn",-1),WA={href:"https://www.sustech.edu.cn/zh/faculties/lewang.html",target:"_blank",rel:"noopener noreferrer"},QA=e("td",null,"wangl36@sustech.edu.cn",-1),XA={href:"https://www.sustech.edu.cn/zh/faculties/xintao.html",target:"_blank",rel:"noopener noreferrer"},$A=e("td",null,"xint@sustech.edu.cn",-1),eS={href:"https://www.sustech.edu.cn/zh/faculties/xuyuan.html",target:"_blank",rel:"noopener noreferrer"},tS=e("td",null,"xuy5@sustech.edu.cn",-1),nS={href:"https://www.sustech.edu.cn/zh/faculties/yudapeng.html",target:"_blank",rel:"noopener noreferrer"},lS=e("td",null,"yudp@sustech.edu.cn",-1),sS={href:"https://www.sustech.edu.cn/zh/faculties/yangtiangang.html",target:"_blank",rel:"noopener noreferrer"},rS=e("td",null,"yangtg@sustech.edu.cn",-1),hS={href:"https://www.sustech.edu.cn/zh/faculties/weishi.html",target:"_blank",rel:"noopener noreferrer"},uS=e("td",null,"yus3@sustech.edu.cn",-1),oS={href:"https://www.sustech.edu.cn/zh/faculties/yuxianglong-2.html",target:"_blank",rel:"noopener noreferrer"},cS=e("td",null,"yuxl@sustech.edu.cn",-1),dS={href:"https://www.sustech.edu.cn/zh/faculties/yangshengjun.html",target:"_blank",rel:"noopener noreferrer"},aS=e("td",null,"yangsj@sustech.edu.cn",-1),_S={href:"https://www.sustech.edu.cn/zh/faculties/yantongxing.html",target:"_blank",rel:"noopener noreferrer"},iS=e("td",null,"yantx@sustech.edu.cn",-1),wS={href:"https://www.sustech.edu.cn/zh/faculties/juanyao.html",target:"_blank",rel:"noopener noreferrer"},fS=e("td",null,"yaoj3@sustech.edu.cn",-1),gS={href:"https://www.sustech.edu.cn/zh/faculties/zhangzhensheng.html",target:"_blank",rel:"noopener noreferrer"},pS=e("td",null,"zhangzs@sustech.edu.cn",-1),zS={href:"https://www.sustech.edu.cn/zh/faculties/zhongmanjin.html",target:"_blank",rel:"noopener noreferrer"},bS=e("td",null,"Zhongmj@sustech.edu.cn",-1),mS={href:"https://www.sustech.edu.cn/zh/faculties/zhangjunhua.html",target:"_blank",rel:"noopener noreferrer"},kS=e("td",null,"zhangjh6@sustech.edu.cn",-1),yS={href:"https://www.sustech.edu.cn/zh/faculties/zhengpan.html",target:"_blank",rel:"noopener noreferrer"},xS=e("td",null,"zhengp@sustech.edu.cn",-1),jS={href:"https://www.sustech.edu.cn/zh/faculties/zhongyoupeng.html",target:"_blank",rel:"noopener noreferrer"},qS=e("td",null,"zhongyp@sustech.edu.cn",-1),vS={href:"https://www.sustech.edu.cn/zh/faculties/shenghuazhou.html",target:"_blank",rel:"noopener noreferrer"},AS=e("td",null,"zhoush@sustech.edu.cn",-1),SS=e("h3",{id:"前沿与交叉科学研究院",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#前沿与交叉科学研究院","aria-hidden":"true"},"#"),t(" 前沿与交叉科学研究院")],-1),ES=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),IS={href:"https://www.sustech.edu.cn/zh/faculties/cuihuanhuan.html",target:"_blank",rel:"noopener noreferrer"},LS=e("td",null,"cuihh@sustc.edu.cn",-1),MS={href:"https://www.sustech.edu.cn/zh/faculties/chenrouxi.html",target:"_blank",rel:"noopener noreferrer"},GS=e("td",null,"chenrx@sustech.edu.cn",-1),NS={href:"https://www.sustech.edu.cn/zh/faculties/fanjiantao.html",target:"_blank",rel:"noopener noreferrer"},RS=e("td",null,"fanjt@sustech.edu.cn",-1),TS={href:"https://www.sustech.edu.cn/zh/faculties/fangliang.html",target:"_blank",rel:"noopener noreferrer"},KS=e("td",null,"fangl@sustc.edu.cn",-1),OS={href:"https://www.sustech.edu.cn/zh/faculties/guizhigang.html",target:"_blank",rel:"noopener noreferrer"},VS=e("td",null,"guizg@sustc.edu.cn",-1),JS={href:"https://www.sustech.edu.cn/zh/faculties/guqiangshuai.html",target:"_blank",rel:"noopener noreferrer"},CS=e("td",null,"guqs@sustc.edu.cn",-1),HS={href:"https://www.sustech.edu.cn/zh/faculties/songbaihan.html",target:"_blank",rel:"noopener noreferrer"},FS=e("td",null,"hansb@sustech.edu.cn",-1),ZS={href:"https://www.sustech.edu.cn/zh/faculties/lishuai.html",target:"_blank",rel:"noopener noreferrer"},DS=e("td",null,"lis6@sustech.edu.cn",-1),PS={href:"https://www.sustech.edu.cn/zh/faculties/lizhongliang.html",target:"_blank",rel:"noopener noreferrer"},BS=e("td",null,"lizl@sustc.edu.cn",-1),YS={href:"https://www.sustech.edu.cn/zh/faculties/lizhiyong.html",target:"_blank",rel:"noopener noreferrer"},US=e("td",null,"lizy6@sustc.edu.cn",-1),WS={href:"https://www.sustech.edu.cn/zh/faculties/lin-haibin.html",target:"_blank",rel:"noopener noreferrer"},QS=e("td",null,"linhb@sustech.edu.cn",-1),XS={href:"https://www.sustech.edu.cn/zh/faculties/ningchengqing.html",target:"_blank",rel:"noopener noreferrer"},$S=e("td",null,"ningcq@sustech.edu.cn",-1),eE={href:"https://www.sustech.edu.cn/zh/faculties/sufengyu.html",target:"_blank",rel:"noopener noreferrer"},tE=e("td",null,"fysu@sustech.edu.cn",-1),nE={href:"https://www.sustech.edu.cn/zh/faculties/didiersornette.html",target:"_blank",rel:"noopener noreferrer"},lE=e("td",null,"didier@sustech.edu.cn",-1),sE={href:"https://www.sustech.edu.cn/zh/faculties/jiemingsheng.html",target:"_blank",rel:"noopener noreferrer"},rE=e("td",null,"shengjm@sustech.edu.cn",-1),hE={href:"https://www.sustech.edu.cn/zh/faculties/wangpei.html",target:"_blank",rel:"noopener noreferrer"},uE=e("td",null,"wangp@sustc.edu.cn",-1),oE={href:"https://www.sustech.edu.cn/zh/faculties/wangxiaofei.html",target:"_blank",rel:"noopener noreferrer"},cE=e("td",null,"wangxf6@sustc.edu.cn",-1),dE={href:"https://www.sustech.edu.cn/zh/faculties/wusudong.html",target:"_blank",rel:"noopener noreferrer"},aE=e("td",null,"wusd@sustc.edu.cn",-1),_E={href:"https://www.sustech.edu.cn/zh/faculties/wangpengfei.html",target:"_blank",rel:"noopener noreferrer"},iE=e("td",null,"wangpf6@sustech.edu.cn",-1),wE={href:"https://www.sustech.edu.cn/zh/faculties/lipingwang.html",target:"_blank",rel:"noopener noreferrer"},fE=e("td",null,"wanglp3@sustech.edu.cn",-1),gE={href:"https://www.sustech.edu.cn/zh/faculties/xiangshaohua.html",target:"_blank",rel:"noopener noreferrer"},pE=e("td",null,"xiangsh@sustc.edu.cn",-1),zE={href:"https://www.sustech.edu.cn/zh/faculties/yangyan.html",target:"_blank",rel:"noopener noreferrer"},bE=e("td",null,"yangy6@sustech.edu.cn",-1),mE={href:"https://www.sustech.edu.cn/zh/faculties/yecaichao-2.html",target:"_blank",rel:"noopener noreferrer"},kE=e("td",null,"yecc@sustech.edu.cn",-1),yE={href:"https://www.sustech.edu.cn/zh/faculties/zhaoxinyan.html",target:"_blank",rel:"noopener noreferrer"},xE=e("td",null,"zhaoxy@sustech.edu.cn",-1),jE={href:"https://www.sustech.edu.cn/zh/faculties/zhaofu.html",target:"_blank",rel:"noopener noreferrer"},qE=e("td",null,"zhaof3@sustc.edu.cn",-1),vE={href:"https://www.sustech.edu.cn/zh/faculties/dijingying-2.html",target:"_blank",rel:"noopener noreferrer"},AE=e("td",null,"zhaijy@sustc.edu.cn",-1),SE=e("h2",{id:"公共平台",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#公共平台","aria-hidden":"true"},"#"),t(" 公共平台")],-1),EE=e("h3",{id:"公共分析测试中心",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#公共分析测试中心","aria-hidden":"true"},"#"),t(" 公共分析测试中心")],-1),IE=e("thead",null,[e("tr",null,[e("th",null,"姓名"),e("th",null,"邮箱")])],-1),LE={href:"https://www.sustech.edu.cn/zh/faculties/wuwenzheng.html",target:"_blank",rel:"noopener noreferrer"},ME=e("td",null,"ngamc@sustech.edu.cn",-1),GE={href:"https://www.sustech.edu.cn/zh/faculties/english-xie-yucong.html",target:"_blank",rel:"noopener noreferrer"},NE=e("td",null,"tseyc@sustech.edu.cn",-1);function RE(TE,KE){const n=r("ExternalLinkIcon");return h(),u("div",null,[d,e("table",null,[a,e("tbody",null,[e("tr",null,[e("td",null,[e("a",_,[t("陈懿茂"),l(n)])]),i]),e("tr",null,[e("td",null,[e("a",w,[t("Victor Didenko"),l(n)])]),f]),e("tr",null,[e("td",null,[e("a",g,[t("董世杰"),l(n)])]),p]),e("tr",null,[e("td",null,[e("a",z,[t("Efim Zelmanov"),l(n)])]),b]),e("tr",null,[e("td",null,[e("a",m,[t("方复全"),l(n)])]),k]),e("tr",null,[e("td",null,[e("a",y,[t("付云皓"),l(n)])]),x]),e("tr",null,[e("td",null,[e("a",j,[t("冯致程"),l(n)])]),q]),e("tr",null,[e("td",null,[e("a",v,[t("古嘉雯"),l(n)])]),A]),e("tr",null,[e("td",null,[e("a",S,[t("Stavros Garoufalidis"),l(n)])]),E]),e("tr",null,[e("td",null,[e("a",I,[t("高辉"),l(n)])]),L]),e("tr",null,[e("td",null,[e("a",M,[t("花永霞"),l(n)])]),G]),e("tr",null,[e("td",null,[e("a",N,[t("Jana Hertz"),l(n)])]),R]),e("tr",null,[e("td",null,[e("a",T,[t("胡勇"),l(n)])]),K]),e("tr",null,[e("td",null,[e("a",O,[t("Ingrid Irmer"),l(n)])]),V]),e("tr",null,[e("td",null,[e("a",J,[t("Alexander Kurganov"),l(n)])]),C]),e("tr",null,[e("td",null,[e("a",H,[t("李景治"),l(n)])]),F]),e("tr",null,[e("td",null,[e("a",Z,[t("李才恒"),l(n)])]),D]),e("tr",null,[e("td",null,[e("a",P,[t("李展"),l(n)])]),B]),e("tr",null,[e("td",null,[e("a",Y,[t("李觉先"),l(n)])]),U]),e("tr",null,[e("td",null,[e("a",W,[t("刘博辰"),l(n)])]),Q]),e("tr",null,[e("td",null,[e("a",X,[t("刘智慧"),l(n)])]),$]),e("tr",null,[e("td",null,[e("a",ee,[t("马富明"),l(n)])]),te]),e("tr",null,[e("td",null,[e("a",ne,[t("马梓铭"),l(n)])]),le]),e("tr",null,[e("td",null,[e("a",se,[t("邱雁南"),l(n)])]),re]),e("tr",null,[e("td",null,[e("a",he,[t("苏琳琳"),l(n)])]),ue]),e("tr",null,[e("td",null,[e("a",oe,[t("孙景瑞"),l(n)])]),ce]),e("tr",null,[e("td",null,[e("a",de,[t("汤涛"),l(n)])]),ae]),e("tr",null,[e("td",null,[e("a",_e,[t("Raul Mario Ures De La Madrid"),l(n)])]),ie]),e("tr",null,[e("td",null,[e("a",we,[t("王融"),l(n)])]),fe]),e("tr",null,[e("td",null,[e("a",ge,[t("吴纪桃"),l(n)])]),pe]),e("tr",null,[e("td",null,[e("a",ze,[t("温家强"),l(n)])]),be]),e("tr",null,[e("td",null,[e("a",me,[t("吴开亮"),l(n)])]),ke]),e("tr",null,[e("td",null,[e("a",ye,[t("邬龙挺"),l(n)])]),xe]),e("tr",null,[e("td",null,[e("a",je,[t("王晓明"),l(n)])]),qe]),e("tr",null,[e("td",null,[e("a",ve,[t("熊捷"),l(n)])]),Ae]),e("tr",null,[e("td",null,[e("a",Se,[t("向子卿"),l(n)])]),Ee]),e("tr",null,[e("td",null,[e("a",Ie,[t("向青"),l(n)])]),Le]),e("tr",null,[e("td",null,[e("a",Me,[t("杨将"),l(n)])]),Ge]),e("tr",null,[e("td",null,[e("a",Ne,[t("杨燕"),l(n)])]),Re]),e("tr",null,[e("td",null,[e("a",Te,[t("张振"),l(n)])]),Ke]),e("tr",null,[e("td",null,[e("a",Oe,[t("曾萍萍"),l(n)])]),Ve]),e("tr",null,[e("td",null,[e("a",Je,[t("朱一飞"),l(n)])]),Ce]),e("tr",null,[e("td",null,[e("a",He,[t("张进"),l(n)])]),Fe]),e("tr",null,[e("td",null,[e("a",Ze,[t("张文龙"),l(n)])]),De]),e("tr",null,[e("td",null,[e("a",Pe,[t("张艺赢"),l(n)])]),Be]),e("tr",null,[e("td",null,[e("a",Ye,[t("张继平"),l(n)])]),Ue])])]),We,e("table",null,[Qe,e("tbody",null,[e("tr",null,[e("td",null,[e("a",Xe,[t("陈朗"),l(n)])]),$e]),e("tr",null,[e("td",null,[e("a",et,[t("陈远珍"),l(n)])]),tt]),e("tr",null,[e("td",null,[e("a",nt,[t("陈伟强"),l(n)])]),lt]),e("tr",null,[e("td",null,[e("a",st,[t("陈卓昱"),l(n)])]),rt]),e("tr",null,[e("td",null,[e("a",ht,[t("戴亚南"),l(n)])]),ut]),e("tr",null,[e("td",null,[e("a",ot,[t("顾铭强"),l(n)])]),ct]),e("tr",null,[e("td",null,[e("a",dt,[t("Sebastian Garcia-Saenz"),l(n)])]),at]),e("tr",null,[e("td",null,[e("a",_t,[t("郭鸣阳"),l(n)])]),it]),e("tr",null,[e("td",null,[e("a",wt,[t("何佳清"),l(n)])]),ft]),e("tr",null,[e("td",null,[e("a",gt,[t("黄丽"),l(n)])]),pt]),e("tr",null,[e("td",null,[e("a",zt,[t("何洪涛"),l(n)])]),bt]),e("tr",null,[e("td",null,[e("a",mt,[t("黄明远"),l(n)])]),kt]),e("tr",null,[e("td",null,[e("a",yt,[t("胡松柏"),l(n)])]),xt]),e("tr",null,[e("td",null,[e("a",jt,[t("蒋绍龙"),l(n)])]),qt]),e("tr",null,[e("td",null,[e("a",vt,[t("刘畅"),l(n)])]),At]),e("tr",null,[e("td",null,[e("a",St,[t("刘奇航"),l(n)])]),Et]),e("tr",null,[e("td",null,[e("a",It,[t("鲁大为"),l(n)])]),Lt]),e("tr",null,[e("td",null,[e("a",Mt,[t("林君浩"),l(n)])]),Gt]),e("tr",null,[e("td",null,[e("a",Nt,[t("卢海舟"),l(n)])]),Rt]),e("tr",null,[e("td",null,[e("a",Tt,[t("李军学"),l(n)])]),Kt]),e("tr",null,[e("td",null,[e("a",Ot,[t("刘影"),l(n)])]),Vt]),e("tr",null,[e("td",null,[e("a",Jt,[t("刘松"),l(n)])]),Ct]),e("tr",null,[e("td",null,[e("a",Ht,[t("柳卫平"),l(n)])]),Ft]),e("tr",null,[e("td",null,[e("a",Zt,[t("Modesto Leonardo"),l(n)])]),Dt]),e("tr",null,[e("td",null,[e("a",Pt,[t("梅佳伟"),l(n)])]),Bt]),e("tr",null,[e("td",null,[e("a",Yt,[t("马晓光"),l(n)])]),Ut]),e("tr",null,[e("td",null,[e("a",Wt,[t("吴紫辉"),l(n)])]),Qt]),e("tr",null,[e("td",null,[e("a",Xt,[t("孙煜杰"),l(n)])]),$t]),e("tr",null,[e("td",null,[e("a",en,[t("唐叔贤"),l(n)])]),tn]),e("tr",null,[e("td",null,[e("a",nn,[t("王干"),l(n)])]),ln]),e("tr",null,[e("td",null,[e("a",sn,[t("王克东"),l(n)])]),rn]),e("tr",null,[e("td",null,[e("a",hn,[t("王善民"),l(n)])]),un]),e("tr",null,[e("td",null,[e("a",on,[t("吴留锁"),l(n)])]),cn]),e("tr",null,[e("td",null,[e("a",dn,[t("王峻岭"),l(n)])]),an]),e("tr",null,[e("td",null,[e("a",_n,[t("王取泉"),l(n)])]),wn]),e("tr",null,[e("td",null,[e("a",fn,[t("王戊"),l(n)])]),gn]),e("tr",null,[e("td",null,[e("a",pn,[t("薛其坤"),l(n)])]),zn]),e("tr",null,[e("td",null,[e("a",bn,[t("徐虎"),l(n)])]),mn]),e("tr",null,[e("td",null,[e("a",kn,[t("许志芳"),l(n)])]),yn]),e("tr",null,[e("td",null,[e("a",xn,[t("谢琳"),l(n)])]),jn]),e("tr",null,[e("td",null,[e("a",qn,[t("徐泽东"),l(n)])]),vn]),e("tr",null,[e("td",null,[e("a",An,[t("俞大鹏"),l(n)])]),Sn]),e("tr",null,[e("td",null,[e("a",En,[t("叶飞"),l(n)])]),In]),e("tr",null,[e("td",null,[e("a",Ln,[t("叶茂"),l(n)])]),Mn]),e("tr",null,[e("td",null,[e("a",Gn,[t("姚秋石"),l(n)])]),Nn]),e("tr",null,[e("td",null,[e("a",Rn,[t("杨兵"),l(n)])]),Tn]),e("tr",null,[e("td",null,[e("a",Kn,[t("殷嘉鑫"),l(n)])]),On]),e("tr",null,[e("td",null,[e("a",Vn,[t("张立源"),l(n)])]),Jn]),e("tr",null,[e("td",null,[e("a",Cn,[t("赵予生"),l(n)])]),Hn]),e("tr",null,[e("td",null,[e("a",Fn,[t("赵悦"),l(n)])]),Zn]),e("tr",null,[e("td",null,[e("a",Dn,[t("朱金龙"),l(n)])]),Pn])])]),Bn,e("table",null,[Yn,e("tbody",null,[e("tr",null,[e("td",null,[e("a",Un,[t("支志明"),l(n)])]),Wn]),e("tr",null,[e("td",null,[e("a",Qn,[t("钟龙华"),l(n)])]),Xn]),e("tr",null,[e("td",null,[e("a",$n,[t("陈忠仁"),l(n)])]),el]),e("tr",null,[e("td",null,[e("a",tl,[t("崔剑方"),l(n)])]),nl]),e("tr",null,[e("td",null,[e("a",ll,[t("常晓勇"),l(n)])]),sl]),e("tr",null,[e("td",null,[e("a",rl,[t("Chris Soon Heng TAN"),l(n)])]),hl]),e("tr",null,[e("td",null,[e("a",ul,[t("段乐乐"),l(n)])]),ol]),e("tr",null,[e("td",null,[e("a",cl,[t("董哲"),l(n)])]),dl]),e("tr",null,[e("td",null,[e("a",al,[t("郭庆"),l(n)])]),_l]),e("tr",null,[e("td",null,[e("a",il,[t("顾均"),l(n)])]),wl]),e("tr",null,[e("td",null,[e("a",fl,[t("黄乃正"),l(n)])]),gl]),e("tr",null,[e("td",null,[e("a",pl,[t("黄立民"),l(n)])]),zl]),e("tr",null,[e("td",null,[e("a",bl,[t("何川"),l(n)])]),ml]),e("tr",null,[e("td",null,[e("a",kl,[t("何凤"),l(n)])]),yl]),e("tr",null,[e("td",null,[e("a",xl,[t("何振宇"),l(n)])]),jl]),e("tr",null,[e("td",null,[e("a",ql,[t("郝瑞"),l(n)])]),vl]),e("tr",null,[e("td",null,[e("a",Al,[t("贾铁争"),l(n)])]),Sl]),e("tr",null,[e("td",null,[e("a",El,[t("姜洪岩"),l(n)])]),Il]),e("tr",null,[e("td",null,[e("a",Ll,[t("刘科"),l(n)])]),Ml]),e("tr",null,[e("td",null,[e("a",Gl,[t("陆为"),l(n)])]),Nl]),e("tr",null,[e("td",null,[e("a",Rl,[t("李鹏飞"),l(n)])]),Tl]),e("tr",null,[e("td",null,[e("a",Kl,[t("李欣"),l(n)])]),Ol]),e("tr",null,[e("td",null,[e("a",Vl,[t("刘运根"),l(n)])]),Jl]),e("tr",null,[e("td",null,[e("a",Cl,[t("刘心元"),l(n)])]),Hl]),e("tr",null,[e("td",null,[e("a",Fl,[t("刘柳"),l(n)])]),Zl]),e("tr",null,[e("td",null,[e("a",Dl,[t("李闯创"),l(n)])]),Pl]),e("tr",null,[e("td",null,[e("a",Bl,[t("马大为"),l(n)])]),Yl]),e("tr",null,[e("td",null,[e("a",Ul,[t("闵龙"),l(n)])]),Wl]),e("tr",null,[e("td",null,[e("a",Ql,[t("毛陵玲"),l(n)])]),Xl]),e("tr",null,[e("td",null,[e("a",$l,[t("倪勇"),l(n)])]),es]),e("tr",null,[e("td",null,[e("a",ts,[t("权泽卫"),l(n)])]),ns]),e("tr",null,[e("td",null,[e("a",ls,[t("曲建飞"),l(n)])]),ss]),e("tr",null,[e("td",null,[e("a",rs,[t("舒伟"),l(n)])]),hs]),e("tr",null,[e("td",null,[e("a",us,[t("唐勇"),l(n)])]),os]),e("tr",null,[e("td",null,[e("a",cs,[t("谭斌"),l(n)])]),ds]),e("tr",null,[e("td",null,[e("a",as,[t("田瑞军"),l(n)])]),_s]),e("tr",null,[e("td",null,[e("a",is,[t("陶丽芝"),l(n)])]),ws]),e("tr",null,[e("td",null,[e("a",fs,[t("黄文忠"),l(n)])]),gs]),e("tr",null,[e("td",null,[e("a",ps,[t("王阳刚"),l(n)])]),zs]),e("tr",null,[e("td",null,[e("a",bs,[t("王杰"),l(n)])]),ms]),e("tr",null,[e("td",null,[e("a",ks,[t("王健纯"),l(n)])]),ys]),e("tr",null,[e("td",null,[e("a",xs,[t("吴振禹"),l(n)])]),js]),e("tr",null,[e("td",null,[e("a",qs,[t("徐晶"),l(n)])]),vs]),e("tr",null,[e("td",null,[e("a",As,[t("许宗祥"),l(n)])]),Ss]),e("tr",null,[e("td",null,[e("a",Es,[t("谢小江"),l(n)])]),Is]),e("tr",null,[e("td",null,[e("a",Ls,[t("徐晨"),l(n)])]),Ms]),e("tr",null,[e("td",null,[e("a",Gs,[t("夏海平"),l(n)])]),Ns]),e("tr",null,[e("td",null,[e("a",Rs,[t("徐明华"),l(n)])]),Ts]),e("tr",null,[e("td",null,[e("a",Ks,[t("谢作伟"),l(n)])]),Os]),e("tr",null,[e("td",null,[e("a",Vs,[t("杨学明"),l(n)])]),Js]),e("tr",null,[e("td",null,[e("a",Cs,[t("于洋"),l(n)])]),Hs]),e("tr",null,[e("td",null,[e("a",Fs,[t("余沛源"),l(n)])]),Zs]),e("tr",null,[e("td",null,[e("a",Ds,[t("杨天罡"),l(n)])]),Ps]),e("tr",null,[e("td",null,[e("a",Bs,[t("杨烽"),l(n)])]),Ys]),e("tr",null,[e("td",null,[e("a",Us,[t("俞书宏"),l(n)])]),Ws]),e("tr",null,[e("td",null,[e("a",Qs,[t("张绪穆"),l(n)])]),Xs]),e("tr",null,[e("td",null,[e("a",$s,[t("张元竹"),l(n)])]),er]),e("tr",null,[e("td",null,[e("a",tr,[t("郑智平"),l(n)])]),nr]),e("tr",null,[e("td",null,[e("a",lr,[t("周友运"),l(n)])]),sr]),e("tr",null,[e("td",null,[e("a",rr,[t("赵斌"),l(n)])]),hr])])]),ur,e("table",null,[or,e("tbody",null,[e("tr",null,[e("td",null,[e("a",cr,[t("包雪阳"),l(n)])]),dr]),e("tr",null,[e("td",null,[e("a",ar,[t("陈晓非"),l(n)])]),_r]),e("tr",null,[e("td",null,[e("a",ir,[t("陈斌"),l(n)])]),wr]),e("tr",null,[e("td",null,[e("a",fr,[t("陈克杰"),l(n)])]),gr]),e("tr",null,[e("td",null,[e("a",pr,[t("陈志豪"),l(n)])]),zr]),e("tr",null,[e("td",null,[e("a",br,[t("董莉"),l(n)])]),mr]),e("tr",null,[e("td",null,[e("a",kr,[t("方鑫定"),l(n)])]),yr]),e("tr",null,[e("td",null,[e("a",xr,[t("傅磊"),l(n)])]),jr]),e("tr",null,[e("td",null,[e("a",qr,[t("高科"),l(n)])]),vr]),e("tr",null,[e("td",null,[e("a",Ar,[t("郭俊鑫"),l(n)])]),Sr]),e("tr",null,[e("td",null,[e("a",Er,[t("韩鹏"),l(n)])]),Ir]),e("tr",null,[e("td",null,[e("a",Lr,[t("何展翔"),l(n)])]),Mr]),e("tr",null,[e("td",null,[e("a",Gr,[t("胡佳顺"),l(n)])]),Nr]),e("tr",null,[e("td",null,[e("a",Rr,[t("景志成"),l(n)])]),Tr]),e("tr",null,[e("td",null,[e("a",Kr,[t("林玉峰"),l(n)])]),Or]),e("tr",null,[e("td",null,[e("a",Vr,[t("刘凯军"),l(n)])]),Jr]),e("tr",null,[e("td",null,[e("a",Cr,[t("李景春"),l(n)])]),Hr]),e("tr",null,[e("td",null,[e("a",Fr,[t("李正伟"),l(n)])]),Zr]),e("tr",null,[e("td",null,[e("a",Dr,[t("孟浩然"),l(n)])]),Pr]),e("tr",null,[e("td",null,[e("a",Br,[t("钱韵衣"),l(n)])]),Yr]),e("tr",null,[e("td",null,[e("a",Ur,[t("任恒鑫"),l(n)])]),Wr]),e("tr",null,[e("td",null,[e("a",Qr,[t("冉将军"),l(n)])]),Xr]),e("tr",null,[e("td",null,[e("a",$r,[t("孙耀充"),l(n)])]),eh]),e("tr",null,[e("td",null,[e("a",th,[t("宋真龙"),l(n)])]),nh]),e("tr",null,[e("td",null,[e("a",lh,[t("田振粮"),l(n)])]),sh]),e("tr",null,[e("td",null,[e("a",rh,[t("王泽伟"),l(n)])]),hh]),e("tr",null,[e("td",null,[e("a",uh,[t("王蕊嘉"),l(n)])]),oh]),e("tr",null,[e("td",null,[e("a",ch,[t("徐锦承"),l(n)])]),dh]),e("tr",null,[e("td",null,[e("a",ah,[t("徐建宽"),l(n)])]),_h]),e("tr",null,[e("td",null,[e("a",ih,[t("徐世庆"),l(n)])]),wh]),e("tr",null,[e("td",null,[e("a",fh,[t("信丹华"),l(n)])]),gh]),e("tr",null,[e("td",null,[e("a",ph,[t("杨辉"),l(n)])]),zh]),e("tr",null,[e("td",null,[e("a",bh,[t("杨振涛"),l(n)])]),mh]),e("tr",null,[e("td",null,[e("a",kh,[t("杨剑"),l(n)])]),yh]),e("tr",null,[e("td",null,[e("a",xh,[t("杨迪琨"),l(n)])]),jh]),e("tr",null,[e("td",null,[e("a",qh,[t("杨亭"),l(n)])]),vh]),e("tr",null,[e("td",null,[e("a",Ah,[t("俞春泉"),l(n)])]),Sh]),e("tr",null,[e("td",null,[e("a",Eh,[t("叶生毅"),l(n)])]),Ih]),e("tr",null,[e("td",null,[e("a",Lh,[t("叶玲玲"),l(n)])]),Mh]),e("tr",null,[e("td",null,[e("a",Gh,[t("杨英杰"),l(n)])]),Nh]),e("tr",null,[e("td",null,[e("a",Rh,[t("张伟"),l(n)])]),Th]),e("tr",null,[e("td",null,[e("a",Kh,[t("张振国"),l(n)])]),Oh]),e("tr",null,[e("td",null,[e("a",Vh,[t("张剑锋"),l(n)])]),Jh])])]),Ch,e("table",null,[Hh,e("tbody",null,[e("tr",null,[e("td",null,[e("a",Fh,[t("陈欣"),l(n)])]),Zh]),e("tr",null,[e("td",null,[e("a",Dh,[t("Gabrielle Mary JING"),l(n)])]),Ph]),e("tr",null,[e("td",null,[e("a",Bh,[t("胡延庆"),l(n)])]),Yh]),e("tr",null,[e("td",null,[e("a",Uh,[t("蒋学军"),l(n)])]),Wh]),e("tr",null,[e("td",null,[e("a",Qh,[t("焦熙云"),l(n)])]),Xh]),e("tr",null,[e("td",null,[e("a",$h,[t("荆炳义"),l(n)])]),eu]),e("tr",null,[e("td",null,[e("a",tu,[t("李曾"),l(n)])]),nu]),e("tr",null,[e("td",null,[e("a",lu,[t("马一方"),l(n)])]),su]),e("tr",null,[e("td",null,[e("a",ru,[t("邵启满"),l(n)])]),hu]),e("tr",null,[e("td",null,[e("a",uu,[t("史建清"),l(n)])]),ou]),e("tr",null,[e("td",null,[e("a",cu,[t("田国梁"),l(n)])]),du]),e("tr",null,[e("td",null,[e("a",au,[t("王超"),l(n)])]),_u]),e("tr",null,[e("td",null,[e("a",iu,[t("徐匆"),l(n)])]),wu]),e("tr",null,[e("td",null,[e("a",fu,[t("杨丽丽"),l(n)])]),gu]),e("tr",null,[e("td",null,[e("a",pu,[t("杨鹏"),l(n)])]),zu]),e("tr",null,[e("td",null,[e("a",bu,[t("张卓松"),l(n)])]),mu])])]),ku,yu,e("table",null,[xu,e("tbody",null,[e("tr",null,[e("td",null,[e("a",ju,[t("Asit Kumar Gain"),l(n)])]),qu]),e("tr",null,[e("td",null,[e("a",vu,[t("包斌"),l(n)])]),Au]),e("tr",null,[e("td",null,[e("a",Su,[t("陈十一"),l(n)])]),Eu]),e("tr",null,[e("td",null,[e("a",Iu,[t("曹人靖"),l(n)])]),Lu]),e("tr",null,[e("td",null,[e("a",Mu,[t("陈曦"),l(n)])]),Gu]),e("tr",null,[e("td",null,[e("a",Nu,[t("陈瑜"),l(n)])]),Ru]),e("tr",null,[e("td",null,[e("a",Tu,[t("邓巍巍"),l(n)])]),Ku]),e("tr",null,[e("td",null,[e("a",Ou,[t("丁可琦"),l(n)])]),Vu]),e("tr",null,[e("td",null,[e("a",Ju,[t("黄克服"),l(n)])]),Cu]),e("tr",null,[e("td",null,[e("a",Hu,[t("黄仕迪"),l(n)])]),Fu]),e("tr",null,[e("td",null,[e("a",Zu,[t("洪伟"),l(n)])]),Du]),e("tr",null,[e("td",null,[e("a",Pu,[t("鲁春"),l(n)])]),Bu]),e("tr",null,[e("td",null,[e("a",Yu,[t("刘轶军"),l(n)])]),Uu]),e("tr",null,[e("td",null,[e("a",Wu,[t("李晓东"),l(n)])]),Qu]),e("tr",null,[e("td",null,[e("a",Xu,[t("HsuChew Lee"),l(n)])]),$u]),e("tr",null,[e("td",null,[e("a",eo,[t("李琪"),l(n)])]),to]),e("tr",null,[e("td",null,[e("a",no,[t("刘巨"),l(n)])]),lo]),e("tr",null,[e("td",null,[e("a",so,[t("刘宇"),l(n)])]),ro]),e("tr",null,[e("td",null,[e("a",ho,[t("李真"),l(n)])]),uo]),e("tr",null,[e("td",null,[e("a",oo,[t("罗圣峰"),l(n)])]),co]),e("tr",null,[e("td",null,[e("a",ao,[t("李明武"),l(n)])]),_o]),e("tr",null,[e("td",null,[e("a",io,[t("MATTEO LULLI"),l(n)])]),wo]),e("tr",null,[e("td",null,[e("a",fo,[t("马永锋"),l(n)])]),go]),e("tr",null,[e("td",null,[e("a",po,[t("任光明"),l(n)])]),zo]),e("tr",null,[e("td",null,[e("a",bo,[t("单肖文"),l(n)])]),mo]),e("tr",null,[e("td",null,[e("a",ko,[t("谭唤书"),l(n)])]),yo]),e("tr",null,[e("td",null,[e("a",xo,[t("唐欣"),l(n)])]),jo]),e("tr",null,[e("td",null,[e("a",qo,[t("滕健"),l(n)])]),vo]),e("tr",null,[e("td",null,[e("a",Ao,[t("Vikrant Gupta"),l(n)])]),So]),e("tr",null,[e("td",null,[e("a",Eo,[t("王泉"),l(n)])]),Io]),e("tr",null,[e("td",null,[e("a",Lo,[t("王连平"),l(n)])]),Mo]),e("tr",null,[e("td",null,[e("a",Go,[t("万敏平"),l(n)])]),No]),e("tr",null,[e("td",null,[e("a",Ro,[t("王建春"),l(n)])]),To]),e("tr",null,[e("td",null,[e("a",Ko,[t("王浩"),l(n)])]),Oo]),e("tr",null,[e("td",null,[e("a",Vo,[t("魏佐君"),l(n)])]),Jo]),e("tr",null,[e("td",null,[e("a",Co,[t("吴雷"),l(n)])]),Ho]),e("tr",null,[e("td",null,[e("a",Fo,[t("王云朋"),l(n)])]),Zo]),e("tr",null,[e("td",null,[e("a",Do,[t("王波"),l(n)])]),Po]),e("tr",null,[e("td",null,[e("a",Bo,[t("夏克青"),l(n)])]),Yo]),e("tr",null,[e("td",null,[e("a",Uo,[t("冼桃"),l(n)])]),Wo]),e("tr",null,[e("td",null,[e("a",Qo,[t("薛亚辉"),l(n)])]),Xo]),e("tr",null,[e("td",null,[e("a",$o,[t("余鹏"),l(n)])]),ec]),e("tr",null,[e("td",null,[e("a",tc,[t("余同希"),l(n)])]),nc]),e("tr",null,[e("td",null,[e("a",lc,[t("杨灿辉"),l(n)])]),sc]),e("tr",null,[e("td",null,[e("a",rc,[t("杨东"),l(n)])]),hc]),e("tr",null,[e("td",null,[e("a",uc,[t("杨杨"),l(n)])]),oc]),e("tr",null,[e("td",null,[e("a",cc,[t("袁鸿雁"),l(n)])]),dc]),e("tr",null,[e("td",null,[e("a",ac,[t("喻田"),l(n)])]),_c]),e("tr",null,[e("td",null,[e("a",ic,[t("章亮炽"),l(n)])]),wc]),e("tr",null,[e("td",null,[e("a",fc,[t("周波"),l(n)])]),gc]),e("tr",null,[e("td",null,[e("a",pc,[t("张新"),l(n)])]),zc]),e("tr",null,[e("td",null,[e("a",bc,[t("张天汉"),l(n)])]),mc])])]),kc,e("table",null,[yc,e("tbody",null,[e("tr",null,[e("td",null,[e("a",xc,[t("白家鸣"),l(n)])]),jc]),e("tr",null,[e("td",null,[e("a",qc,[t("陈士博"),l(n)])]),vc]),e("tr",null,[e("td",null,[e("a",Ac,[t("谌骅"),l(n)])]),Sc]),e("tr",null,[e("td",null,[e("a",Ec,[t("陈熹翰"),l(n)])]),Ic]),e("tr",null,[e("td",null,[e("a",Lc,[t("邓辉"),l(n)])]),Mc]),e("tr",null,[e("td",null,[e("a",Gc,[t("丁克蜜"),l(n)])]),Nc]),e("tr",null,[e("td",null,[e("a",Rc,[t("戴建生"),l(n)])]),Tc]),e("tr",null,[e("td",null,[e("a",Kc,[t("付成龙"),l(n)])]),Oc]),e("tr",null,[e("td",null,[e("a",Vc,[t("冯慧娟"),l(n)])]),Jc]),e("tr",null,[e("td",null,[e("a",Cc,[t("郭亮"),l(n)])]),Hc]),e("tr",null,[e("td",null,[e("a",Fc,[t("葛锜"),l(n)])]),Zc]),e("tr",null,[e("td",null,[e("a",Dc,[t("胡程志"),l(n)])]),Pc]),e("tr",null,[e("td",null,[e("a",Bc,[t("何斌斌"),l(n)])]),Yc]),e("tr",null,[e("td",null,[e("a",Uc,[t("胡小刚"),l(n)])]),Wc]),e("tr",null,[e("td",null,[e("a",Qc,[t("江淼"),l(n)])]),Xc]),e("tr",null,[e("td",null,[e("a",$c,[t("贾振中"),l(n)])]),ed]),e("tr",null,[e("td",null,[e("a",td,[t("柯文德"),l(n)])]),nd]),e("tr",null,[e("td",null,[e("a",ld,[t("孔贺"),l(n)])]),sd]),e("tr",null,[e("td",null,[e("a",rd,[t("路冬"),l(n)])]),hd]),e("tr",null,[e("td",null,[e("a",ud,[t("卢宏兴"),l(n)])]),od]),e("tr",null,[e("td",null,[e("a",cd,[t("刘思聪"),l(n)])]),dd]),e("tr",null,[e("td",null,[e("a",ad,[t("刘伟"),l(n)])]),_d]),e("tr",null,[e("td",null,[e("a",id,[t("林蒙"),l(n)])]),wd]),e("tr",null,[e("td",null,[e("a",fd,[t("冷雨泉"),l(n)])]),gd]),e("tr",null,[e("td",null,[e("a",pd,[t("逯文君"),l(n)])]),zd]),e("tr",null,[e("td",null,[e("a",bd,[t("刘吉"),l(n)])]),md]),e("tr",null,[e("td",null,[e("a",kd,[t("刘德荣"),l(n)])]),yd]),e("tr",null,[e("td",null,[e("a",xd,[t("李一举"),l(n)])]),jd]),e("tr",null,[e("td",null,[e("a",qd,[t("马永胜"),l(n)])]),vd]),e("tr",null,[e("td",null,[e("a",Ad,[t("潘阳"),l(n)])]),Sd]),e("tr",null,[e("td",null,[e("a",Ed,[t("丘龙斌"),l(n)])]),Id]),e("tr",null,[e("td",null,[e("a",Ld,[t("融亦鸣"),l(n)])]),Md]),e("tr",null,[e("td",null,[e("a",Gd,[t("宋超阳"),l(n)])]),Nd]),e("tr",null,[e("td",null,[e("a",Rd,[t("王海江"),l(n)])]),Td]),e("tr",null,[e("td",null,[e("a",Kd,[t("吴勇波"),l(n)])]),Od]),e("tr",null,[e("td",null,[e("a",Vd,[t("王帅"),l(n)])]),Jd]),e("tr",null,[e("td",null,[e("a",Cd,[t("魏艳"),l(n)])]),Hd]),e("tr",null,[e("td",null,[e("a",Fd,[t("王宏强"),l(n)])]),Zd]),e("tr",null,[e("td",null,[e("a",Dd,[t("王峥"),l(n)])]),Pd]),e("tr",null,[e("td",null,[e("a",Bd,[t("韦齐和"),l(n)])]),Yd]),e("tr",null,[e("td",null,[e("a",Ud,[t("万佳雨"),l(n)])]),Wd]),e("tr",null,[e("td",null,[e("a",Qd,[t("徐少林"),l(n)])]),Xd]),e("tr",null,[e("td",null,[e("a",$d,[t("杨再跃"),l(n)])]),ea]),e("tr",null,[e("td",null,[e("a",ta,[t("易娟"),l(n)])]),na]),e("tr",null,[e("td",null,[e("a",la,[t("朱强"),l(n)])]),sa]),e("tr",null,[e("td",null,[e("a",ra,[t("张璧"),l(n)])]),ha]),e("tr",null,[e("td",null,[e("a",ua,[t("郑裕基"),l(n)])]),oa]),e("tr",null,[e("td",null,[e("a",ca,[t("赵永华"),l(n)])]),da]),e("tr",null,[e("td",null,[e("a",aa,[t("张通达"),l(n)])]),_a]),e("tr",null,[e("td",null,[e("a",ia,[t("曾林"),l(n)])]),wa]),e("tr",null,[e("td",null,[e("a",fa,[t("张巍"),l(n)])]),ga]),e("tr",null,[e("td",null,[e("a",pa,[t("曾国松"),l(n)])]),za]),e("tr",null,[e("td",null,[e("a",ba,[t("赵天寿"),l(n)])]),ma])])]),ka,e("table",null,[ya,e("tbody",null,[e("tr",null,[e("td",null,[e("a",xa,[t("程鑫"),l(n)])]),ja]),e("tr",null,[e("td",null,[e("a",qa,[t("程春"),l(n)])]),va]),e("tr",null,[e("td",null,[e("a",Aa,[t("陈国强"),l(n)])]),Sa]),e("tr",null,[e("td",null,[e("a",Ea,[t("崔结顺"),l(n)])]),Ia]),e("tr",null,[e("td",null,[e("a",La,[t("陈先强"),l(n)])]),Ma]),e("tr",null,[e("td",null,[e("a",Ga,[t("陈少卿"),l(n)])]),Na]),e("tr",null,[e("td",null,[e("a",Ra,[t("邓永红"),l(n)])]),Ta]),e("tr",null,[e("td",null,[e("a",Ka,[t("邓梦宇"),l(n)])]),Oa]),e("tr",null,[e("td",null,[e("a",Va,[t("方驹"),l(n)])]),Ja]),e("tr",null,[e("td",null,[e("a",Ca,[t("冯军"),l(n)])]),Ha]),e("tr",null,[e("td",null,[e("a",Fa,[t("郭传飞"),l(n)])]),Za]),e("tr",null,[e("td",null,[e("a",Da,[t("郭旭岗"),l(n)])]),Pa]),e("tr",null,[e("td",null,[e("a",Ba,[t("郭晗"),l(n)])]),Ya]),e("tr",null,[e("td",null,[e("a",Ua,[t("何祝兵"),l(n)])]),Wa]),e("tr",null,[e("td",null,[e("a",Qa,[t("黄锦涛"),l(n)])]),Xa]),e("tr",null,[e("td",null,[e("a",$a,[t("何进"),l(n)])]),e_]),e("tr",null,[e("td",null,[e("a",t_,[t("何振"),l(n)])]),n_]),e("tr",null,[e("td",null,[e("a",l_,[t("黄博远"),l(n)])]),s_]),e("tr",null,[e("td",null,[e("a",r_,[t("梁永晔"),l(n)])]),h_]),e("tr",null,[e("td",null,[e("a",u_,[t("李辉"),l(n)])]),o_]),e("tr",null,[e("td",null,[e("a",c_,[t("李贵新"),l(n)])]),d_]),e("tr",null,[e("td",null,[e("a",a_,[t("刘玮书"),l(n)])]),__]),e("tr",null,[e("td",null,[e("a",i_,[t("罗光富"),l(n)])]),w_]),e("tr",null,[e("td",null,[e("a",f_,[t("娄飞"),l(n)])]),g_]),e("tr",null,[e("td",null,[e("a",p_,[t("卢周广"),l(n)])]),z_]),e("tr",null,[e("td",null,[e("a",b_,[t("李波"),l(n)])]),m_]),e("tr",null,[e("td",null,[e("a",k_,[t("李江宇"),l(n)])]),y_]),e("tr",null,[e("td",null,[e("a",x_,[t("李磊"),l(n)])]),j_]),e("tr",null,[e("td",null,[e("a",q_,[t("黎长建"),l(n)])]),v_]),e("tr",null,[e("td",null,[e("a",A_,[t("李保文"),l(n)])]),S_]),e("tr",null,[e("td",null,[e("a",E_,[t("任富增"),l(n)])]),I_]),e("tr",null,[e("td",null,[e("a",L_,[t("孙大陟"),l(n)])]),M_]),e("tr",null,[e("td",null,[e("a",G_,[t("孙会靓"),l(n)])]),N_]),e("tr",null,[e("td",null,[e("a",R_,[t("沈翔瀛"),l(n)])]),T_]),e("tr",null,[e("td",null,[e("a",K_,[t("田颜清"),l(n)])]),O_]),e("tr",null,[e("td",null,[e("a",V_,[t("田雷蕾"),l(n)])]),J_]),e("tr",null,[e("td",null,[e("a",C_,[t("汪宏"),l(n)])]),H_]),e("tr",null,[e("td",null,[e("a",F_,[t("王湘麟"),l(n)])]),Z_]),e("tr",null,[e("td",null,[e("a",D_,[t("温瑞涛"),l(n)])]),P_]),e("tr",null,[e("td",null,[e("a",B_,[t("邬家臻"),l(n)])]),Y_]),e("tr",null,[e("td",null,[e("a",U_,[t("王金龙"),l(n)])]),W_]),e("tr",null,[e("td",null,[e("a",Q_,[t("徐政和"),l(n)])]),X_]),e("tr",null,[e("td",null,[e("a",$_,[t("徐强"),l(n)])]),ei]),e("tr",null,[e("td",null,[e("a",ti,[t("徐保民"),l(n)])]),ni]),e("tr",null,[e("td",null,[e("a",li,[t("项晓东"),l(n)])]),si]),e("tr",null,[e("td",null,[e("a",ri,[t("严明"),l(n)])]),hi]),e("tr",null,[e("td",null,[e("a",ui,[t("叶飞"),l(n)])]),oi]),e("tr",null,[e("td",null,[e("a",ci,[t("杨俊龙"),l(n)])]),di]),e("tr",null,[e("td",null,[e("a",ai,[t("于严淏"),l(n)])]),_i]),e("tr",null,[e("td",null,[e("a",ii,[t("俞书宏"),l(n)])]),wi]),e("tr",null,[e("td",null,[e("a",fi,[t("张文清"),l(n)])]),gi]),e("tr",null,[e("td",null,[e("a",pi,[t("钟锦辉"),l(n)])]),zi])])]),bi,e("table",null,[mi,e("tbody",null,[e("tr",null,[e("td",null,[e("a",ki,[t("陈霏"),l(n)])]),yi]),e("tr",null,[e("td",null,[e("a",xi,[t("陈锐"),l(n)])]),ji]),e("tr",null,[e("td",null,[e("a",qi,[t("陈树明"),l(n)])]),vi]),e("tr",null,[e("td",null,[e("a",Ai,[t("程庆沙"),l(n)])]),Si]),e("tr",null,[e("td",null,[e("a",Ei,[t("陈晓龙"),l(n)])]),Ii]),e("tr",null,[e("td",null,[e("a",Li,[t("丛龙庆"),l(n)])]),Mi]),e("tr",null,[e("td",null,[e("a",Gi,[t("蔡月飞"),l(n)])]),Ni]),e("tr",null,[e("td",null,[e("a",Ri,[t("贡毅"),l(n)])]),Ti]),e("tr",null,[e("td",null,[e("a",Ki,[t("高振"),l(n)])]),Oi]),e("tr",null,[e("td",null,[e("a",Vi,[t("化梦媛"),l(n)])]),Ji]),e("tr",null,[e("td",null,[e("a",Ci,[t("何志海"),l(n)])]),Hi]),e("tr",null,[e("td",null,[e("a",Fi,[t("何力"),l(n)])]),Zi]),e("tr",null,[e("td",null,[e("a",Di,[t("蹇林旎"),l(n)])]),Pi]),e("tr",null,[e("td",null,[e("a",Bi,[t("嘉有为"),l(n)])]),Yi]),e("tr",null,[e("td",null,[e("a",Ui,[t("姜俊敏"),l(n)])]),Wi]),e("tr",null,[e("td",null,[e("a",Qi,[t("Aung Ko Ko KYAW"),l(n)])]),Xi]),e("tr",null,[e("td",null,[e("a",$i,[t("刘言军"),l(n)])]),ew]),e("tr",null,[e("td",null,[e("a",tw,[t("刘召军"),l(n)])]),nw]),e("tr",null,[e("td",null,[e("a",lw,[t("罗丹"),l(n)])]),sw]),e("tr",null,[e("td",null,[e("a",rw,[t("刘奂奂"),l(n)])]),hw]),e("tr",null,[e("td",null,[e("a",uw,[t("刘湃"),l(n)])]),ow]),e("tr",null,[e("td",null,[e("a",cw,[t("刘凡"),l(n)])]),dw]),e("tr",null,[e("td",null,[e("a",aw,[t("Lars Samuelson"),l(n)])]),_w]),e("tr",null,[e("td",null,[e("a",iw,[t("孟庆虎"),l(n)])]),ww]),e("tr",null,[e("td",null,[e("a",fw,[t("马俊"),l(n)])]),gw]),e("tr",null,[e("td",null,[e("a",pw,[t("孙小卫"),l(n)])]),zw]),e("tr",null,[e("td",null,[e("a",bw,[t("邵理阳"),l(n)])]),mw]),e("tr",null,[e("td",null,[e("a",kw,[t("沈平"),l(n)])]),yw]),e("tr",null,[e("td",null,[e("a",xw,[t("唐晓颖"),l(n)])]),jw]),e("tr",null,[e("td",null,[e("a",qw,[t("王锐"),l(n)])]),vw]),e("tr",null,[e("td",null,[e("a",Aw,[t("王恺"),l(n)])]),Sw]),e("tr",null,[e("td",null,[e("a",Ew,[t("王太宏"),l(n)])]),Iw]),e("tr",null,[e("td",null,[e("a",Lw,[t("王建坤"),l(n)])]),Mw]),e("tr",null,[e("td",null,[e("a",Gw,[t("于明"),l(n)])]),Nw]),e("tr",null,[e("td",null,[e("a",Rw,[t("叶涛"),l(n)])]),Tw]),e("tr",null,[e("td",null,[e("a",Kw,[t("虞亚军"),l(n)])]),Ow]),e("tr",null,[e("td",null,[e("a",Vw,[t("袁伟杰"),l(n)])]),Jw]),e("tr",null,[e("td",null,[e("a",Cw,[t("游昌盛"),l(n)])]),Hw]),e("tr",null,[e("td",null,[e("a",Fw,[t("张宏"),l(n)])]),Zw]),e("tr",null,[e("td",null,[e("a",Dw,[t("张新海"),l(n)])]),Pw]),e("tr",null,[e("td",null,[e("a",Bw,[t("张福才"),l(n)])]),Yw]),e("tr",null,[e("td",null,[e("a",Uw,[t("张青峰"),l(n)])]),Ww])])]),Qw,e("table",null,[Xw,e("tbody",null,[e("tr",null,[e("td",null,[e("a",$w,[t("Asheralieva Alia"),l(n)])]),ef]),e("tr",null,[e("td",null,[e("a",tf,[t("陈杉"),l(n)])]),nf]),e("tr",null,[e("td",null,[e("a",lf,[t("程然"),l(n)])]),sf]),e("tr",null,[e("td",null,[e("a",rf,[t("丁宇龙"),l(n)])]),hf]),e("tr",null,[e("td",null,[e("a",uf,[t("郝祁"),l(n)])]),of]),e("tr",null,[e("td",null,[e("a",cf,[t("Hisao Ishibuchi"),l(n)])]),df]),e("tr",null,[e("td",null,[e("a",af,[t("刘烨庞"),l(n)])]),_f]),e("tr",null,[e("td",null,[e("a",wf,[t("刘佳琳"),l(n)])]),ff]),e("tr",null,[e("td",null,[e("a",gf,[t("刘江"),l(n)])]),pf]),e("tr",null,[e("td",null,[e("a",zf,[t("李卓钊"),l(n)])]),bf]),e("tr",null,[e("td",null,[e("a",mf,[t("马昱欣"),l(n)])]),kf]),e("tr",null,[e("td",null,[e("a",yf,[t("史玉回"),l(n)])]),xf]),e("tr",null,[e("td",null,[e("a",jf,[t("Joseph, SIFAKIS"),l(n)])]),qf]),e("tr",null,[e("td",null,[e("a",vf,[t("宋轩"),l(n)])]),Af]),e("tr",null,[e("td",null,[e("a",Sf,[t("Georgios Theodoropoulos"),l(n)])]),Ef]),e("tr",null,[e("td",null,[e("a",If,[t("唐珂"),l(n)])]),Lf]),e("tr",null,[e("td",null,[e("a",Mf,[t("陈馨慧"),l(n)])]),Gf]),e("tr",null,[e("td",null,[e("a",Nf,[t("唐博"),l(n)])]),Rf]),e("tr",null,[e("td",null,[e("a",Tf,[t("唐茗"),l(n)])]),Kf]),e("tr",null,[e("td",null,[e("a",Of,[t("王琦"),l(n)])]),Vf]),e("tr",null,[e("td",null,[e("a",Jf,[t("危学涛"),l(n)])]),Cf]),e("tr",null,[e("td",null,[e("a",Hf,[t("姚新"),l(n)])]),Ff]),e("tr",null,[e("td",null,[e("a",Zf,[t("袁博"),l(n)])]),Df]),e("tr",null,[e("td",null,[e("a",Pf,[t("杨易"),l(n)])]),Bf]),e("tr",null,[e("td",null,[e("a",Yf,[t("杨鹏"),l(n)])]),Uf]),e("tr",null,[e("td",null,[e("a",Wf,[t("杨双华"),l(n)])]),Qf]),e("tr",null,[e("td",null,[e("a",Xf,[t("余剑峤"),l(n)])]),$f]),e("tr",null,[e("td",null,[e("a",e1,[t("于仕琪"),l(n)])]),t1]),e("tr",null,[e("td",null,[e("a",n1,[t("郑锋"),l(n)])]),l1]),e("tr",null,[e("td",null,[e("a",s1,[t("张煜群"),l(n)])]),r1]),e("tr",null,[e("td",null,[e("a",h1,[t("张进"),l(n)])]),u1]),e("tr",null,[e("td",null,[e("a",o1,[t("张宇"),l(n)])]),c1]),e("tr",null,[e("td",null,[e("a",d1,[t("张锋巍"),l(n)])]),a1]),e("tr",null,[e("td",null,[e("a",_1,[t("张建国"),l(n)])]),i1]),e("tr",null,[e("td",null,[e("a",w1,[t("张殷乾"),l(n)])]),f1])])]),g1,e("table",null,[p1,e("tbody",null,[e("tr",null,[e("td",null,[e("a",z1,[t("包方闻"),l(n)])]),b1]),e("tr",null,[e("td",null,[e("a",m1,[t("陈永顺"),l(n)])]),k1]),e("tr",null,[e("td",null,[e("a",y1,[t("陈建飞"),l(n)])]),x1]),e("tr",null,[e("td",null,[e("a",j1,[t("蔡巍"),l(n)])]),q1]),e("tr",null,[e("td",null,[e("a",v1,[t("陈雨霏"),l(n)])]),A1]),e("tr",null,[e("td",null,[e("a",S1,[t("范陆"),l(n)])]),E1]),e("tr",null,[e("td",null,[e("a",I1,[t("冯兴亚"),l(n)])]),L1]),e("tr",null,[e("td",null,[e("a",M1,[t("傅勇"),l(n)])]),G1]),e("tr",null,[e("td",null,[e("a",N1,[t("冯伟强"),l(n)])]),R1]),e("tr",null,[e("td",null,[e("a",T1,[t("FELIPE FRANCO ORELLANA ROVIROSA"),l(n)])]),K1]),e("tr",null,[e("td",null,[e("a",O1,[t("郭震"),l(n)])]),V1]),e("tr",null,[e("td",null,[e("a",J1,[t("侯超"),l(n)])]),C1]),e("tr",null,[e("td",null,[e("a",H1,[t("郝马克"),l(n)])]),F1]),e("tr",null,[e("td",null,[e("a",Z1,[t("侯圣伟"),l(n)])]),D1]),e("tr",null,[e("td",null,[e("a",P1,[t("何立朋"),l(n)])]),B1]),e("tr",null,[e("td",null,[e("a",Y1,[t("蒋晓东"),l(n)])]),U1]),e("tr",null,[e("td",null,[e("a",W1,[t("刘青松"),l(n)])]),Q1]),e("tr",null,[e("td",null,[e("a",X1,[t("李芯芯"),l(n)])]),$1]),e("tr",null,[e("td",null,[e("a",eg,[t("李莹"),l(n)])]),tg]),e("tr",null,[e("td",null,[e("a",ng,[t("刘志强"),l(n)])]),lg]),e("tr",null,[e("td",null,[e("a",sg,[t("林间"),l(n)])]),rg]),e("tr",null,[e("td",null,[e("a",hg,[t("李世林"),l(n)])]),ug]),e("tr",null,[e("td",null,[e("a",og,[t("罗彬"),l(n)])]),cg]),e("tr",null,[e("td",null,[e("a",dg,[t("林观"),l(n)])]),ag]),e("tr",null,[e("td",null,[e("a",_g,[t("罗怡鸣"),l(n)])]),ig]),e("tr",null,[e("td",null,[e("a",wg,[t("Jason Phipps Morgan"),l(n)])]),fg]),e("tr",null,[e("td",null,[e("a",gg,[t("钱学生"),l(n)])]),pg]),e("tr",null,[e("td",null,[e("a",zg,[t("孙兆华"),l(n)])]),bg]),e("tr",null,[e("td",null,[e("a",mg,[t("史亚男"),l(n)])]),kg]),e("tr",null,[e("td",null,[e("a",yg,[t("宋光铃"),l(n)])]),xg]),e("tr",null,[e("td",null,[e("a",jg,[t("王誉泽"),l(n)])]),qg]),e("tr",null,[e("td",null,[e("a",vg,[t("吴嘉瑜"),l(n)])]),Ag]),e("tr",null,[e("td",null,[e("a",Sg,[t("魏振华"),l(n)])]),Eg]),e("tr",null,[e("td",null,[e("a",Ig,[t("王凯"),l(n)])]),Lg]),e("tr",null,[e("td",null,[e("a",Mg,[t("徐景平"),l(n)])]),Gg]),e("tr",null,[e("td",null,[e("a",Ng,[t("杨挺"),l(n)])]),Rg]),e("tr",null,[e("td",null,[e("a",Tg,[t("于勇"),l(n)])]),Kg]),e("tr",null,[e("td",null,[e("a",Og,[t("姚炜琪"),l(n)])]),Vg]),e("tr",null,[e("td",null,[e("a",Jg,[t("余锡平"),l(n)])]),Cg]),e("tr",null,[e("td",null,[e("a",Hg,[t("张传伦"),l(n)])]),Fg]),e("tr",null,[e("td",null,[e("a",Zg,[t("周祐民"),l(n)])]),Dg]),e("tr",null,[e("td",null,[e("a",Pg,[t("曾芝瑞"),l(n)])]),Bg]),e("tr",null,[e("td",null,[e("a",Yg,[t("张晨"),l(n)])]),Ug]),e("tr",null,[e("td",null,[e("a",Wg,[t("仲义"),l(n)])]),Qg]),e("tr",null,[e("td",null,[e("a",Xg,[t("郑峰峰"),l(n)])]),$g]),e("tr",null,[e("td",null,[e("a",ep,[t("周志远"),l(n)])]),tp]),e("tr",null,[e("td",null,[e("a",np,[t("邹广"),l(n)])]),lp]),e("tr",null,[e("td",null,[e("a",sp,[t("展鹏"),l(n)])]),rp]),e("tr",null,[e("td",null,[e("a",hp,[t("张帆"),l(n)])]),up])])]),op,e("table",null,[cp,e("tbody",null,[e("tr",null,[e("td",null,[e("a",dp,[t("陈放怡"),l(n)])]),ap]),e("tr",null,[e("td",null,[e("a",_p,[t("陈义峰"),l(n)])]),ip]),e("tr",null,[e("td",null,[e("a",wp,[t("房晓峰"),l(n)])]),fp]),e("tr",null,[e("td",null,[e("a",gp,[t("顾东风"),l(n)])]),pp]),e("tr",null,[e("td",null,[e("a",zp,[t("郭琼玉"),l(n)])]),bp]),e("tr",null,[e("td",null,[e("a",mp,[t("郭智勇"),l(n)])]),kp]),e("tr",null,[e("td",null,[e("a",yp,[t("何俊龙"),l(n)])]),xp]),e("tr",null,[e("td",null,[e("a",jp,[t("何思聪"),l(n)])]),qp]),e("tr",null,[e("td",null,[e("a",vp,[t("蒋兴宇"),l(n)])]),Ap]),e("tr",null,[e("td",null,[e("a",Sp,[t("金大勇"),l(n)])]),Ep]),e("tr",null,[e("td",null,[e("a",Ip,[t("康天怿"),l(n)])]),Lp]),e("tr",null,[e("td",null,[e("a",Mp,[t("李凯"),l(n)])]),Gp]),e("tr",null,[e("td",null,[e("a",Np,[t("刘超"),l(n)])]),Rp]),e("tr",null,[e("td",null,[e("a",Tp,[t("刘泉影"),l(n)])]),Kp]),e("tr",null,[e("td",null,[e("a",Op,[t("李依明"),l(n)])]),Vp]),e("tr",null,[e("td",null,[e("a",Jp,[t("刘强"),l(n)])]),Cp]),e("tr",null,[e("td",null,[e("a",Hp,[t("厉大晏"),l(n)])]),Fp]),e("tr",null,[e("td",null,[e("a",Zp,[t("刘洪梅"),l(n)])]),Dp]),e("tr",null,[e("td",null,[e("a",Pp,[t("罗智"),l(n)])]),Bp]),e("tr",null,[e("td",null,[e("a",Yp,[t("李志方"),l(n)])]),Up]),e("tr",null,[e("td",null,[e("a",Wp,[t("刘莹"),l(n)])]),Qp]),e("tr",null,[e("td",null,[e("a",Xp,[t("米超"),l(n)])]),$p]),e("tr",null,[e("td",null,[e("a",ez,[t("齐伟智"),l(n)])]),tz]),e("tr",null,[e("td",null,[e("a",nz,[t("唐斌"),l(n)])]),lz]),e("tr",null,[e("td",null,[e("a",sz,[t("唐建波"),l(n)])]),rz]),e("tr",null,[e("td",null,[e("a",hz,[t("唐浩"),l(n)])]),uz]),e("tr",null,[e("td",null,[e("a",oz,[t("吴长锋"),l(n)])]),cz]),e("tr",null,[e("td",null,[e("a",dz,[t("吴德成"),l(n)])]),az]),e("tr",null,[e("td",null,[e("a",_z,[t("王斗"),l(n)])]),iz]),e("tr",null,[e("td",null,[e("a",wz,[t("王文锦"),l(n)])]),fz]),e("tr",null,[e("td",null,[e("a",gz,[t("吴伟俊"),l(n)])]),pz]),e("tr",null,[e("td",null,[e("a",zz,[t("奚磊"),l(n)])]),bz]),e("tr",null,[e("td",null,[e("a",mz,[t("肖凯"),l(n)])]),kz]),e("tr",null,[e("td",null,[e("a",yz,[t("杨用"),l(n)])]),xz]),e("tr",null,[e("td",null,[e("a",jz,[t("姚明曦"),l(n)])]),qz]),e("tr",null,[e("td",null,[e("a",vz,[t("张明明"),l(n)])]),Az]),e("tr",null,[e("td",null,[e("a",Sz,[t("张博"),l(n)])]),Ez]),e("tr",null,[e("td",null,[e("a",Iz,[t("张华威"),l(n)])]),Lz]),e("tr",null,[e("td",null,[e("a",Mz,[t("张冲"),l(n)])]),Gz]),e("tr",null,[e("td",null,[e("a",Nz,[t("张路"),l(n)])]),Rz]),e("tr",null,[e("td",null,[e("a",Tz,[t("张俊睿"),l(n)])]),Kz])])]),Oz,e("table",null,[Vz,e("tbody",null,[e("tr",null,[e("td",null,[e("a",Jz,[t("贲玉婕"),l(n)])]),Cz]),e("tr",null,[e("td",null,[e("a",Hz,[t("陈洪"),l(n)])]),Fz]),e("tr",null,[e("td",null,[e("a",Zz,[t("陈柯伟"),l(n)])]),Dz]),e("tr",null,[e("td",null,[e("a",Pz,[t("段艳华"),l(n)])]),Bz]),e("tr",null,[e("td",null,[e("a",Yz,[t("冯炼"),l(n)])]),Uz]),e("tr",null,[e("td",null,[e("a",Wz,[t("范林峰"),l(n)])]),Qz]),e("tr",null,[e("td",null,[e("a",Xz,[t("傅宗玫"),l(n)])]),$z]),e("tr",null,[e("td",null,[e("a",eb,[t("范典"),l(n)])]),tb]),e("tr",null,[e("td",null,[e("a",nb,[t("Luke Gibson"),l(n)])]),lb]),e("tr",null,[e("td",null,[e("a",sb,[t("郭芷琳"),l(n)])]),rb]),e("tr",null,[e("td",null,[e("a",hb,[t("胡清"),l(n)])]),ub]),e("tr",null,[e("td",null,[e("a",ob,[t("韩峰"),l(n)])]),cb]),e("tr",null,[e("td",null,[e("a",db,[t("姜继平"),l(n)])]),ab]),e("tr",null,[e("td",null,[e("a",_b,[t("姜丽光"),l(n)])]),ib]),e("tr",null,[e("td",null,[e("a",wb,[t("匡星星"),l(n)])]),fb]),e("tr",null,[e("td",null,[e("a",gb,[t("李海龙"),l(n)])]),pb]),e("tr",null,[e("td",null,[e("a",zb,[t("刘崇炫"),l(n)])]),bb]),e("tr",null,[e("td",null,[e("a",mb,[t("刘俊国"),l(n)])]),kb]),e("tr",null,[e("td",null,[e("a",yb,[t("李炜怡"),l(n)])]),xb]),e("tr",null,[e("td",null,[e("a",jb,[t("刘鑫"),l(n)])]),qb]),e("tr",null,[e("td",null,[e("a",vb,[t("梁修雨"),l(n)])]),Ab]),e("tr",null,[e("td",null,[e("a",Sb,[t("雷洋"),l(n)])]),Eb]),e("tr",null,[e("td",null,[e("a",Ib,[t("李三百"),l(n)])]),Lb]),e("tr",null,[e("td",null,[e("a",Mb,[t("梁凤超"),l(n)])]),Gb]),e("tr",null,[e("td",null,[e("a",Nb,[t("刘蓓"),l(n)])]),Rb]),e("tr",null,[e("td",null,[e("a",Tb,[t("刘延"),l(n)])]),Kb]),e("tr",null,[e("td",null,[e("a",Ob,[t("刘景富"),l(n)])]),Vb]),e("tr",null,[e("td",null,[e("a",Jb,[t("裘文慧"),l(n)])]),Cb]),e("tr",null,[e("td",null,[e("a",Hb,[t("齐伟"),l(n)])]),Fb]),e("tr",null,[e("td",null,[e("a",Zb,[t("史江红"),l(n)])]),Db]),e("tr",null,[e("td",null,[e("a",Pb,[t("史海匀"),l(n)])]),Bb]),e("tr",null,[e("td",null,[e("a",Yb,[t("索红日"),l(n)])]),Ub]),e("tr",null,[e("td",null,[e("a",Wb,[t("沈惠中"),l(n)])]),Qb]),e("tr",null,[e("td",null,[e("a",Xb,[t("陶澍"),l(n)])]),$b]),e("tr",null,[e("td",null,[e("a",em,[t("唐圆圆"),l(n)])]),tm]),e("tr",null,[e("td",null,[e("a",nm,[t("田勇"),l(n)])]),lm]),e("tr",null,[e("td",null,[e("a",sm,[t("田展"),l(n)])]),rm]),e("tr",null,[e("td",null,[e("a",hm,[t("王俊坚"),l(n)])]),um]),e("tr",null,[e("td",null,[e("a",om,[t("王钟颍"),l(n)])]),cm]),e("tr",null,[e("td",null,[e("a",dm,[t("王扬"),l(n)])]),am]),e("tr",null,[e("td",null,[e("a",_m,[t("王辰"),l(n)])]),im]),e("tr",null,[e("td",null,[e("a",wm,[t("王大山"),l(n)])]),fm]),e("tr",null,[e("td",null,[e("a",gm,[t("夏雨"),l(n)])]),pm]),e("tr",null,[e("td",null,[e("a",zm,[t("徐鹏"),l(n)])]),bm]),e("tr",null,[e("td",null,[e("a",mm,[t("肖凯"),l(n)])]),km]),e("tr",null,[e("td",null,[e("a",ym,[t("易树平"),l(n)])]),xm]),e("tr",null,[e("td",null,[e("a",jm,[t("叶斌"),l(n)])]),qm]),e("tr",null,[e("td",null,[e("a",vm,[t("颜枫"),l(n)])]),Am]),e("tr",null,[e("td",null,[e("a",Sm,[t("杨新"),l(n)])]),Em]),e("tr",null,[e("td",null,[e("a",Im,[t("尹晓光"),l(n)])]),Lm]),e("tr",null,[e("td",null,[e("a",Mm,[t("叶建淮"),l(n)])]),Gm]),e("tr",null,[e("td",null,[e("a",Nm,[t("张东晓"),l(n)])]),Rm]),e("tr",null,[e("td",null,[e("a",Tm,[t("张作泰"),l(n)])]),Km]),e("tr",null,[e("td",null,[e("a",Om,[t("郑春苗"),l(n)])]),Vm]),e("tr",null,[e("td",null,[e("a",Jm,[t("郑焰"),l(n)])]),Cm]),e("tr",null,[e("td",null,[e("a",Hm,[t("郑一"),l(n)])]),Fm]),e("tr",null,[e("td",null,[e("a",Zm,[t("曾振中"),l(n)])]),Dm]),e("tr",null,[e("td",null,[e("a",Pm,[t("朱雷"),l(n)])]),Bm]),e("tr",null,[e("td",null,[e("a",Ym,[t("赵俊良"),l(n)])]),Um]),e("tr",null,[e("td",null,[e("a",Wm,[t("张斌田"),l(n)])]),Qm]),e("tr",null,[e("td",null,[e("a",Xm,[t("郑国贸"),l(n)])]),$m])])]),ek,e("table",null,[tk,e("tbody",null,[e("tr",null,[e("td",null,[e("a",nk,[t("安丰伟"),l(n)])]),lk]),e("tr",null,[e("td",null,[e("a",sk,[t("崔德虎"),l(n)])]),rk]),e("tr",null,[e("td",null,[e("a",hk,[t("陈全"),l(n)])]),uk]),e("tr",null,[e("td",null,[e("a",ok,[t("陈凯"),l(n)])]),ck]),e("tr",null,[e("td",null,[e("a",dk,[t("陈蕾"),l(n)])]),ak]),e("tr",null,[e("td",null,[e("a",_k,[t("陈鹏"),l(n)])]),ik]),e("tr",null,[e("td",null,[e("a",wk,[t("陈玉鹏"),l(n)])]),fk]),e("tr",null,[e("td",null,[e("a",gk,[t("丁孙安"),l(n)])]),pk]),e("tr",null,[e("td",null,[e("a",zk,[t("方小虎"),l(n)])]),bk]),e("tr",null,[e("td",null,[e("a",mk,[t("郭跃进"),l(n)])]),kk]),e("tr",null,[e("td",null,[e("a",yk,[t("高源"),l(n)])]),xk]),e("tr",null,[e("td",null,[e("a",jk,[t("呼唤"),l(n)])]),qk]),e("tr",null,[e("td",null,[e("a",vk,[t("李携曦"),l(n)])]),Ak]),e("tr",null,[e("td",null,[e("a",Sk,[t("李毅"),l(n)])]),Ek]),e("tr",null,[e("td",null,[e("a",Ik,[t("林苑菁"),l(n)])]),Lk]),e("tr",null,[e("td",null,[e("a",Mk,[t("李毅达"),l(n)])]),Gk]),e("tr",null,[e("td",null,[e("a",Nk,[t("刘晓光"),l(n)])]),Rk]),e("tr",null,[e("td",null,[e("a",Tk,[t("林龙扬"),l(n)])]),Kk]),e("tr",null,[e("td",null,[e("a",Ok,[t("刘小龙"),l(n)])]),Vk]),e("tr",null,[e("td",null,[e("a",Jk,[t("李明杰"),l(n)])]),Ck]),e("tr",null,[e("td",null,[e("a",Hk,[t("李嘉敏"),l(n)])]),Fk]),e("tr",null,[e("td",null,[e("a",Zk,[t("刘荣辉"),l(n)])]),Dk]),e("tr",null,[e("td",null,[e("a",Pk,[t("毛伟"),l(n)])]),Bk]),e("tr",null,[e("td",null,[e("a",Yk,[t("马宣"),l(n)])]),Uk]),e("tr",null,[e("td",null,[e("a",Wk,[t("潘权"),l(n)])]),Qk]),e("tr",null,[e("td",null,[e("a",Xk,[t("Robert Sokolovskij"),l(n)])]),$k]),e("tr",null,[e("td",null,[e("a",e2,[t("苏龙兴"),l(n)])]),t2]),e("tr",null,[e("td",null,[e("a",n2,[t("田兆波"),l(n)])]),l2]),e("tr",null,[e("td",null,[e("a",s2,[t("王敏"),l(n)])]),r2]),e("tr",null,[e("td",null,[e("a",h2,[t("汪飞"),l(n)])]),u2]),e("tr",null,[e("td",null,[e("a",o2,[t("汪青"),l(n)])]),c2]),e("tr",null,[e("td",null,[e("a",d2,[t("吴小虎"),l(n)])]),a2]),e("tr",null,[e("td",null,[e("a",_2,[t("王大帅"),l(n)])]),i2]),e("tr",null,[e("td",null,[e("a",w2,[t("余浩"),l(n)])]),f2]),e("tr",null,[e("td",null,[e("a",g2,[t("叶怀宇"),l(n)])]),p2]),e("tr",null,[e("td",null,[e("a",z2,[t("于洪宇"),l(n)])]),b2]),e("tr",null,[e("td",null,[e("a",m2,[t("詹陈长"),l(n)])]),k2]),e("tr",null,[e("td",null,[e("a",y2,[t("祝渊"),l(n)])]),x2]),e("tr",null,[e("td",null,[e("a",j2,[t("张国飙"),l(n)])]),q2]),e("tr",null,[e("td",null,[e("a",v2,[t("周菲迟"),l(n)])]),A2]),e("tr",null,[e("td",null,[e("a",S2,[t("赵前程"),l(n)])]),E2]),e("tr",null,[e("td",null,[e("a",I2,[t("张汝民"),l(n)])]),L2])])]),M2,e("table",null,[G2,e("tbody",null,[e("tr",null,[e("td",null,[e("a",N2,[t("白紫千"),l(n)])]),R2]),e("tr",null,[e("td",null,[e("a",T2,[t("陈园"),l(n)])]),K2]),e("tr",null,[e("td",null,[e("a",O2,[t("陈亮名"),l(n)])]),V2]),e("tr",null,[e("td",null,[e("a",J2,[t("段广仁"),l(n)])]),C2]),e("tr",null,[e("td",null,[e("a",H2,[t("丁克蜜"),l(n)])]),F2]),e("tr",null,[e("td",null,[e("a",Z2,[t("Fred HAN"),l(n)])]),D2]),e("tr",null,[e("td",null,[e("a",P2,[t("洪小平"),l(n)])]),B2]),e("tr",null,[e("td",null,[e("a",Y2,[t("胡颀"),l(n)])]),U2]),e("tr",null,[e("td",null,[e("a",W2,[t("吕冬"),l(n)])]),Q2]),e("tr",null,[e("td",null,[e("a",X2,[t("刘国平"),l(n)])]),$2]),e("tr",null,[e("td",null,[e("a",e3,[t("李洪飞"),l(n)])]),t3]),e("tr",null,[e("td",null,[e("a",n3,[t("刘涛"),l(n)])]),l3]),e("tr",null,[e("td",null,[e("a",s3,[t("马兆远"),l(n)])]),r3]),e("tr",null,[e("td",null,[e("a",h3,[t("欧钢"),l(n)])]),u3]),e("tr",null,[e("td",null,[e("a",o3,[t("Volker Altstädt"),l(n)])]),c3]),e("tr",null,[e("td",null,[e("a",d3,[t("吴景深"),l(n)])]),a3]),e("tr",null,[e("td",null,[e("a",_3,[t("王珂"),l(n)])]),i3]),e("tr",null,[e("td",null,[e("a",w3,[t("王振坤"),l(n)])]),f3]),e("tr",null,[e("td",null,[e("a",g3,[t("吴迪"),l(n)])]),p3]),e("tr",null,[e("td",null,[e("a",z3,[t("熊异"),l(n)])]),b3]),e("tr",null,[e("td",null,[e("a",m3,[t("徐翔"),l(n)])]),k3]),e("tr",null,[e("td",null,[e("a",y3,[t("叶林"),l(n)])]),x3]),e("tr",null,[e("td",null,[e("a",j3,[t("周利民"),l(n)])]),q3]),e("tr",null,[e("td",null,[e("a",v3,[t("张建民"),l(n)])]),A3]),e("tr",null,[e("td",null,[e("a",S3,[t("周鼎"),l(n)])]),E3])])]),I3,L3,e("table",null,[M3,e("tbody",null,[e("tr",null,[e("td",null,[e("a",G3,[t("杜嘉木"),l(n)])]),N3]),e("tr",null,[e("td",null,[e("a",R3,[t("邓兴旺"),l(n)])]),T3]),e("tr",null,[e("td",null,[e("a",K3,[t("郭红卫"),l(n)])]),O3]),e("tr",null,[e("td",null,[e("a",V3,[t("黄安诚"),l(n)])]),J3]),e("tr",null,[e("td",null,[e("a",C3,[t("梁建生"),l(n)])]),H3]),e("tr",null,[e("td",null,[e("a",F3,[t("李瑞熙"),l(n)])]),Z3]),e("tr",null,[e("td",null,[e("a",D3,[t("李文阳"),l(n)])]),P3]),e("tr",null,[e("td",null,[e("a",B3,[t("李健"),l(n)])]),Y3]),e("tr",null,[e("td",null,[e("a",U3,[t("梁超"),l(n)])]),W3]),e("tr",null,[e("td",null,[e("a",Q3,[t("Peter Pimpl"),l(n)])]),X3]),e("tr",null,[e("td",null,[e("a",$3,[t("宋毅"),l(n)])]),e6]),e("tr",null,[e("td",null,[e("a",t6,[t("吴柘"),l(n)])]),n6]),e("tr",null,[e("td",null,[e("a",l6,[t("翟继先"),l(n)])]),s6])])]),r6,e("table",null,[h6,e("tbody",null,[e("tr",null,[e("td",null,[e("a",u6,[t("董涛"),l(n)])]),o6]),e("tr",null,[e("td",null,[e("a",c6,[t("何思聪"),l(n)])]),d6]),e("tr",null,[e("td",null,[e("a",a6,[t("刘忠民"),l(n)])]),_6]),e("tr",null,[e("td",null,[e("a",i6,[t("欧西军"),l(n)])]),w6]),e("tr",null,[e("td",null,[e("a",f6,[t("温子龙"),l(n)])]),g6]),e("tr",null,[e("td",null,[e("a",p6,[t("余化鹏"),l(n)])]),z6]),e("tr",null,[e("td",null,[e("a",b6,[t("周稳"),l(n)])]),m6]),e("tr",null,[e("td",null,[e("a",k6,[t("张丽"),l(n)])]),y6])])]),x6,e("table",null,[j6,e("tbody",null,[e("tr",null,[e("td",null,[e("a",q6,[t("陈炜"),l(n)])]),v6]),e("tr",null,[e("td",null,[e("a",A6,[t("陈曦"),l(n)])]),S6]),e("tr",null,[e("td",null,[e("a",E6,[t("戴紫薇"),l(n)])]),I6]),e("tr",null,[e("td",null,[e("a",L6,[t("Andrew Hutchins"),l(n)])]),M6]),e("tr",null,[e("td",null,[e("a",G6,[t("靳文菲"),l(n)])]),N6]),e("tr",null,[e("td",null,[e("a",R6,[t("李妍"),l(n)])]),T6]),e("tr",null,[e("td",null,[e("a",K6,[t("孙颖"),l(n)])]),O6]),e("tr",null,[e("td",null,[e("a",V6,[t("朱丹灵"),l(n)])]),J6]),e("tr",null,[e("td",null,[e("a",C6,[t("曾福星"),l(n)])]),H6]),e("tr",null,[e("td",null,[e("a",F6,[t("郑梅珍"),l(n)])]),Z6])])]),D6,e("table",null,[P6,e("tbody",null,[e("tr",null,[e("td",null,[e("a",B6,[t("陈永龙"),l(n)])]),Y6]),e("tr",null,[e("td",null,[e("a",U6,[t("龚欣"),l(n)])]),W6]),e("tr",null,[e("td",null,[e("a",Q6,[t("黄鸿达"),l(n)])]),X6]),e("tr",null,[e("td",null,[e("a",$6,[t("李耀旺"),l(n)])]),ey]),e("tr",null,[e("td",null,[e("a",ty,[t("李颜颜"),l(n)])]),ny]),e("tr",null,[e("td",null,[e("a",ly,[t("廖茂富"),l(n)])]),sy]),e("tr",null,[e("td",null,[e("a",ry,[t("隋森芳"),l(n)])]),hy]),e("tr",null,[e("td",null,[e("a",uy,[t("沈庆涛"),l(n)])]),oy]),e("tr",null,[e("td",null,[e("a",cy,[t("王玲"),l(n)])]),dy]),e("tr",null,[e("td",null,[e("a",ay,[t("余聪"),l(n)])]),_y]),e("tr",null,[e("td",null,[e("a",iy,[t("闫凯歌"),l(n)])]),wy])])]),fy,e("table",null,[gy,e("tbody",null,[e("tr",null,[e("td",null,[e("a",py,[t("程龙珍"),l(n)])]),zy]),e("tr",null,[e("td",null,[e("a",by,[t("陈小菁"),l(n)])]),my]),e("tr",null,[e("td",null,[e("a",ky,[t("侯圣陶"),l(n)])]),yy]),e("tr",null,[e("td",null,[e("a",xy,[t("姬生健"),l(n)])]),jy]),e("tr",null,[e("td",null,[e("a",qy,[t("刘东"),l(n)])]),vy]),e("tr",null,[e("td",null,[e("a",Ay,[t("饶枫"),l(n)])]),Sy]),e("tr",null,[e("td",null,[e("a",Ey,[t("宋昆"),l(n)])]),Iy]),e("tr",null,[e("td",null,[e("a",Ly,[t("魏志毅"),l(n)])]),My]),e("tr",null,[e("td",null,[e("a",Gy,[t("肖波"),l(n)])]),Ny]),e("tr",null,[e("td",null,[e("a",Ry,[t("赵燕"),l(n)])]),Ty]),e("tr",null,[e("td",null,[e("a",Ky,[t("张明杰"),l(n)])]),Oy])])]),Vy,Jy,e("table",null,[Cy,e("tbody",null,[e("tr",null,[e("td",null,[e("a",Hy,[t("宋学军"),l(n)])]),Fy]),e("tr",null,[e("td",null,[e("a",Zy,[t("田瑞琳"),l(n)])]),Dy]),e("tr",null,[e("td",null,[e("a",Py,[t("王子龙"),l(n)])]),By])])]),Yy,e("table",null,[Uy,e("tbody",null,[e("tr",null,[e("td",null,[e("a",Wy,[t("卞劲松"),l(n)])]),Qy]),e("tr",null,[e("td",null,[e("a",Xy,[t("冯宇亮"),l(n)])]),$y]),e("tr",null,[e("td",null,[e("a",e7,[t("胡宇慧"),l(n)])]),t7]),e("tr",null,[e("td",null,[e("a",n7,[t("贺云娇"),l(n)])]),l7]),e("tr",null,[e("td",null,[e("a",s7,[t("何涟"),l(n)])]),r7]),e("tr",null,[e("td",null,[e("a",h7,[t("胡琪楠"),l(n)])]),u7]),e("tr",null,[e("td",null,[e("a",o7,[t("李婉秋"),l(n)])]),c7]),e("tr",null,[e("td",null,[e("a",d7,[t("鲁昊骋"),l(n)])]),a7]),e("tr",null,[e("td",null,[e("a",_7,[t("李亮"),l(n)])]),i7]),e("tr",null,[e("td",null,[e("a",w7,[t("王鹏"),l(n)])]),f7]),e("tr",null,[e("td",null,[e("a",g7,[t("王玉琨"),l(n)])]),p7]),e("tr",null,[e("td",null,[e("a",z7,[t("王莹"),l(n)])]),b7]),e("tr",null,[e("td",null,[e("a",m7,[t("曾臣"),l(n)])]),k7])])]),y7,e("table",null,[x7,e("tbody",null,[e("tr",null,[e("td",null,[e("a",j7,[t("肖国芝"),l(n)])]),q7]),e("tr",null,[e("td",null,[e("a",v7,[t("曹惠玲"),l(n)])]),A7]),e("tr",null,[e("td",null,[e("a",S7,[t("车骏"),l(n)])]),E7]),e("tr",null,[e("td",null,[e("a",I7,[t("曹丽伟"),l(n)])]),L7]),e("tr",null,[e("td",null,[e("a",M7,[t("杜长征"),l(n)])]),G7]),e("tr",null,[e("td",null,[e("a",N7,[t("郭莹莹"),l(n)])]),R7]),e("tr",null,[e("td",null,[e("a",T7,[t("洪鑫"),l(n)])]),K7]),e("tr",null,[e("td",null,[e("a",O7,[t("胡海亮"),l(n)])]),V7]),e("tr",null,[e("td",null,[e("a",J7,[t("贾宁"),l(n)])]),C7]),e("tr",null,[e("td",null,[e("a",H7,[t("刘泉"),l(n)])]),F7]),e("tr",null,[e("td",null,[e("a",Z7,[t("吕考升"),l(n)])]),D7]),e("tr",null,[e("td",null,[e("a",P7,[t("刘婕"),l(n)])]),B7]),e("tr",null,[e("td",null,[e("a",Y7,[t("饶海"),l(n)])]),U7]),e("tr",null,[e("td",null,[e("a",W7,[t("苏明媛"),l(n)])]),Q7]),e("tr",null,[e("td",null,[e("a",X7,[t("鄢仁鸿"),l(n)])]),$7]),e("tr",null,[e("td",null,[e("a",e9,[t("张建超"),l(n)])]),t9])])]),n9,e("table",null,[l9,e("tbody",null,[e("tr",null,[e("td",null,[e("a",s9,[t("陈国安"),l(n)])]),r9]),e("tr",null,[e("td",null,[e("a",h9,[t("陈浩"),l(n)])]),u9]),e("tr",null,[e("td",null,[e("a",o9,[t("董金堂"),l(n)])]),c9]),e("tr",null,[e("td",null,[e("a",d9,[t("卢奕"),l(n)])]),a9]),e("tr",null,[e("td",null,[e("a",_9,[t("帅世民"),l(n)])]),i9]),e("tr",null,[e("td",null,[e("a",w9,[t("夏思源"),l(n)])]),f9]),e("tr",null,[e("td",null,[e("a",g9,[t("徐鹰"),l(n)])]),p9]),e("tr",null,[e("td",null,[e("a",z9,[t("张志潜"),l(n)])]),b9]),e("tr",null,[e("td",null,[e("a",m9,[t("张宝童"),l(n)])]),k9])])]),y9,e("table",null,[x9,e("tbody",null,[e("tr",null,[e("td",null,[e("a",j9,[t("顾东风"),l(n)])]),q9]),e("tr",null,[e("td",null,[e("a",v9,[t("韩昕昕"),l(n)])]),A9]),e("tr",null,[e("td",null,[e("a",S9,[t("黄捷"),l(n)])]),E9]),e("tr",null,[e("td",null,[e("a",I9,[t("梁凤超"),l(n)])]),L9]),e("tr",null,[e("td",null,[e("a",M9,[t("裴勇刚"),l(n)])]),G9]),e("tr",null,[e("td",null,[e("a",N9,[t("王海东"),l(n)])]),R9]),e("tr",null,[e("td",null,[e("a",T9,[t("杨春富"),l(n)])]),K9]),e("tr",null,[e("td",null,[e("a",O9,[t("朱斌"),l(n)])]),V9]),e("tr",null,[e("td",null,[e("a",J9,[t("赵文静"),l(n)])]),C9])])]),H9,F9,e("table",null,[Z9,e("tbody",null,[e("tr",null,[e("td",null,[e("a",D9,[t("陈路明"),l(n)])]),P9]),e("tr",null,[e("td",null,[e("a",B9,[t("胡大宁"),l(n)])]),Y9]),e("tr",null,[e("td",null,[e("a",U9,[t("金李"),l(n)])]),W9]),e("tr",null,[e("td",null,[e("a",Q9,[t("刘春晖"),l(n)])]),X9]),e("tr",null,[e("td",null,[e("a",$9,[t("赖舒芳"),l(n)])]),e4]),e("tr",null,[e("td",null,[e("a",t4,[t("栗沛沛"),l(n)])]),n4]),e("tr",null,[e("td",null,[e("a",l4,[t("刘威汉"),l(n)])]),s4]),e("tr",null,[e("td",null,[e("a",r4,[t("刘南钦"),l(n)])]),h4]),e("tr",null,[e("td",null,[e("a",u4,[t("李润"),l(n)])]),o4]),e("tr",null,[e("td",null,[e("a",c4,[t("李仲飞"),l(n)])]),d4]),e("tr",null,[e("td",null,[e("a",a4,[t("孙便霞"),l(n)])]),_4]),e("tr",null,[e("td",null,[e("a",i4,[t("王苏生"),l(n)])]),w4]),e("tr",null,[e("td",null,[e("a",f4,[t("王新杰"),l(n)])]),g4]),e("tr",null,[e("td",null,[e("a",p4,[t("王赫"),l(n)])]),z4]),e("tr",null,[e("td",null,[e("a",b4,[t("王缘"),l(n)])]),m4]),e("tr",null,[e("td",null,[e("a",k4,[t("王树勋"),l(n)])]),y4]),e("tr",null,[e("td",null,[e("a",x4,[t("杨招军"),l(n)])]),j4]),e("tr",null,[e("td",null,[e("a",q4,[t("严硕"),l(n)])]),v4]),e("tr",null,[e("td",null,[e("a",A4,[t("杨旭宁"),l(n)])]),S4]),e("tr",null,[e("td",null,[e("a",E4,[t("杨博文"),l(n)])]),I4]),e("tr",null,[e("td",null,[e("a",L4,[t("周倜"),l(n)])]),M4]),e("tr",null,[e("td",null,[e("a",G4,[t("曾晓亮"),l(n)])]),N4]),e("tr",null,[e("td",null,[e("a",R4,[t("朱昊然"),l(n)])]),T4])])]),K4,e("table",null,[O4,e("tbody",null,[e("tr",null,[e("td",null,[e("a",V4,[t("陈琨"),l(n)])]),J4]),e("tr",null,[e("td",null,[e("a",C4,[t("陈康林"),l(n)])]),H4]),e("tr",null,[e("td",null,[e("a",F4,[t("樊潇帅"),l(n)])]),Z4]),e("tr",null,[e("td",null,[e("a",D4,[t("顾理一"),l(n)])]),P4]),e("tr",null,[e("td",null,[e("a",B4,[t("郭悦"),l(n)])]),Y4]),e("tr",null,[e("td",null,[e("a",U4,[t("何翘楚"),l(n)])]),W4]),e("tr",null,[e("td",null,[e("a",Q4,[t("黄伟"),l(n)])]),X4]),e("tr",null,[e("td",null,[e("a",$4,[t("柯玮玲"),l(n)])]),e5]),e("tr",null,[e("td",null,[e("a",t5,[t("李少波"),l(n)])]),n5]),e("tr",null,[e("td",null,[e("a",l5,[t("雷扬"),l(n)])]),s5]),e("tr",null,[e("td",null,[e("a",r5,[t("李媛媛"),l(n)])]),h5]),e("tr",null,[e("td",null,[e("a",u5,[t("刘翰林"),l(n)])]),o5]),e("tr",null,[e("td",null,[e("a",c5,[t("罗源昆"),l(n)])]),d5]),e("tr",null,[e("td",null,[e("a",a5,[t("卢涛"),l(n)])]),_5]),e("tr",null,[e("td",null,[e("a",i5,[t("李垚"),l(n)])]),w5]),e("tr",null,[e("td",null,[e("a",f5,[t("刘黎明"),l(n)])]),g5]),e("tr",null,[e("td",null,[e("a",p5,[t("李崇"),l(n)])]),z5]),e("tr",null,[e("td",null,[e("a",b5,[t("陆晔"),l(n)])]),m5]),e("tr",null,[e("td",null,[e("a",k5,[t("钱共鸣"),l(n)])]),y5]),e("tr",null,[e("td",null,[e("a",x5,[t("覃正"),l(n)])]),j5]),e("tr",null,[e("td",null,[e("a",q5,[t("邱琳"),l(n)])]),v5]),e("tr",null,[e("td",null,[e("a",A5,[t("钱坤"),l(n)])]),S5]),e("tr",null,[e("td",null,[e("a",E5,[t("Moris Strub"),l(n)])]),I5]),e("tr",null,[e("td",null,[e("a",L5,[t("王松昊"),l(n)])]),M5]),e("tr",null,[e("td",null,[e("a",G5,[t("王宇"),l(n)])]),N5]),e("tr",null,[e("td",null,[e("a",R5,[t("许婷"),l(n)])]),T5]),e("tr",null,[e("td",null,[e("a",K5,[t("叶茂亮"),l(n)])]),O5]),e("tr",null,[e("td",null,[e("a",V5,[t("杨玉坤"),l(n)])]),J5])])]),C5,H5,e("table",null,[F5,e("tbody",null,[e("tr",null,[e("td",null,[e("a",Z5,[t("陈跃红"),l(n)])]),D5]),e("tr",null,[e("td",null,[e("a",P5,[t("陈劲松"),l(n)])]),B5]),e("tr",null,[e("td",null,[e("a",Y5,[t("李凤亮"),l(n)])]),U5]),e("tr",null,[e("td",null,[e("a",W5,[t("刘洋"),l(n)])]),Q5]),e("tr",null,[e("td",null,[e("a",X5,[t("李蓝"),l(n)])]),$5]),e("tr",null,[e("td",null,[e("a",e8,[t("钱艾琳"),l(n)])]),t8]),e("tr",null,[e("td",null,[e("a",n8,[t("孙顺"),l(n)])]),l8]),e("tr",null,[e("td",null,[e("a",s8,[t("唐克扬"),l(n)])]),r8]),e("tr",null,[e("td",null,[e("a",h8,[t("田松"),l(n)])]),u8]),e("tr",null,[e("td",null,[e("a",o8,[t("吴岩"),l(n)])]),c8]),e("tr",null,[e("td",null,[e("a",d8,[t("杨果"),l(n)])]),a8]),e("tr",null,[e("td",null,[e("a",_8,[t("杨莉"),l(n)])]),i8]),e("tr",null,[e("td",null,[e("a",w8,[t("杨河"),l(n)])]),f8]),e("tr",null,[e("td",null,[e("a",g8,[t("周秀梅"),l(n)])]),p8])])]),z8,e("table",null,[b8,e("tbody",null,[e("tr",null,[e("td",null,[e("a",m8,[t("Jie Chen 陈捷"),l(n)])]),k8]),e("tr",null,[e("td",null,[e("a",y8,[t("唐际根"),l(n)])]),x8]),e("tr",null,[e("td",null,[e("a",j8,[t("王晓葵"),l(n)])]),q8]),e("tr",null,[e("td",null,[e("a",v8,[t("王雨"),l(n)])]),A8]),e("tr",null,[e("td",null,[e("a",S8,[t("王莉莉"),l(n)])]),E8]),e("tr",null,[e("td",null,[e("a",I8,[t("张静红"),l(n)])]),L8])])]),M8,e("table",null,[G8,e("tbody",null,[e("tr",null,[e("td",null,[e("a",N8,[t("高媛"),l(n)])]),R8]),e("tr",null,[e("td",null,[e("a",T8,[t("韩蔚"),l(n)])]),K8]),e("tr",null,[e("td",null,[e("a",O8,[t("姜帆"),l(n)])]),V8]),e("tr",null,[e("td",null,[e("a",J8,[t("李铭"),l(n)])]),C8]),e("tr",null,[e("td",null,[e("a",H8,[t("刘绪"),l(n)])]),F8]),e("tr",null,[e("td",null,[e("a",Z8,[t("沈红"),l(n)])]),D8]),e("tr",null,[e("td",null,[e("a",P8,[t("王伯庆"),l(n)])]),B8]),e("tr",null,[e("td",null,[e("a",Y8,[t("赵建华"),l(n)])]),U8])])]),W8,e("table",null,[Q8,e("tbody",null,[e("tr",null,[e("td",null,[e("a",X8,[t("褚彧"),l(n)])]),$8]),e("tr",null,[e("td",null,[e("a",e0,[t("董蓉蓉"),l(n)])]),t0]),e("tr",null,[e("td",null,[e("a",n0,[t("Albert Evans"),l(n)])]),l0]),e("tr",null,[e("td",null,[e("a",s0,[t("胡玉秀"),l(n)])]),r0]),e("tr",null,[e("td",null,[e("a",h0,[t("李卓"),l(n)])]),u0]),e("tr",null,[e("td",null,[e("a",o0,[t("刘丽莎"),l(n)])]),c0]),e("tr",null,[e("td",null,[e("a",d0,[t("柳青"),l(n)])]),a0]),e("tr",null,[e("td",null,[e("a",_0,[t("任莉"),l(n)])]),i0]),e("tr",null,[e("td",null,[e("a",w0,[t("徐嗣群"),l(n)])]),f0]),e("tr",null,[e("td",null,[e("a",g0,[t("喻永阳"),l(n)])]),p0]),e("tr",null,[e("td",null,[e("a",z0,[t("张新婷"),l(n)])]),b0])])]),m0,e("table",null,[k0,e("tbody",null,[e("tr",null,[e("td",null,[e("a",y0,[t("刘辉"),l(n)])]),x0]),e("tr",null,[e("td",null,[e("a",j0,[t("赵易山"),l(n)])]),q0]),e("tr",null,[e("td",null,[e("a",v0,[t("毕宝仪"),l(n)])]),A0]),e("tr",null,[e("td",null,[e("a",S0,[t("温颖"),l(n)])]),E0]),e("tr",null,[e("td",null,[e("a",I0,[t("周明聪"),l(n)])]),L0]),e("tr",null,[e("td",null,[e("a",M0,[t("纪涛"),l(n)])]),G0]),e("tr",null,[e("td",null,[e("a",N0,[t("刘珂廷"),l(n)])]),R0]),e("tr",null,[e("td",null,[e("a",T0,[t("皮晟"),l(n)])]),K0]),e("tr",null,[e("td",null,[e("a",O0,[t("李瀚瀚"),l(n)])]),V0])])]),J0,C0,e("table",null,[H0,e("tbody",null,[e("tr",null,[e("td",null,[e("a",F0,[t("韩松"),l(n)])]),Z0]),e("tr",null,[e("td",null,[e("a",D0,[t("刘正白"),l(n)])]),P0]),e("tr",null,[e("td",null,[e("a",B0,[t("李逸明"),l(n)])]),Y0]),e("tr",null,[e("td",null,[e("a",U0,[t("宋章启"),l(n)])]),W0]),e("tr",null,[e("td",null,[e("a",Q0,[t("王凭慧"),l(n)])]),X0]),e("tr",null,[e("td",null,[e("a",$0,[t("徐洪礼"),l(n)])]),ex]),e("tr",null,[e("td",null,[e("a",tx,[t("张浩凡"),l(n)])]),nx]),e("tr",null,[e("td",null,[e("a",lx,[t("赵柏松"),l(n)])]),sx])])]),rx,hx,e("table",null,[ux,e("tbody",null,[e("tr",null,[e("td",null,[e("a",ox,[t("安鹏铖"),l(n)])]),cx]),e("tr",null,[e("td",null,[e("a",dx,[t("费道闻"),l(n)])]),ax]),e("tr",null,[e("td",null,[e("a",_x,[t("何人可"),l(n)])]),ix]),e("tr",null,[e("td",null,[e("a",wx,[t("何净植"),l(n)])]),fx]),e("tr",null,[e("td",null,[e("a",gx,[t("Seungwoo JE"),l(n)])]),px]),e("tr",null,[e("td",null,[e("a",zx,[t("关道文"),l(n)])]),bx]),e("tr",null,[e("td",null,[e("a",mx,[t("雷沁圆"),l(n)])]),kx]),e("tr",null,[e("td",null,[e("a",yx,[t("罗涛"),l(n)])]),xx]),e("tr",null,[e("td",null,[e("a",jx,[t("李雪亮"),l(n)])]),qx]),e("tr",null,[e("td",null,[e("a",vx,[t("Enza MIGLIORE"),l(n)])]),Ax]),e("tr",null,[e("td",null,[e("a",Sx,[t("Mirna ZORDAN"),l(n)])]),Ex]),e("tr",null,[e("td",null,[e("a",Ix,[t("Marcel Zaes SAGESSER"),l(n)])]),Lx]),e("tr",null,[e("td",null,[e("a",Mx,[t("Marcelo SOARES"),l(n)])]),Gx]),e("tr",null,[e("td",null,[e("a",Nx,[t("万芳"),l(n)])]),Rx]),e("tr",null,[e("td",null,[e("a",Tx,[t("徐秋石"),l(n)])]),Kx]),e("tr",null,[e("td",null,[e("a",Ox,[t("萧若薇"),l(n)])]),Vx]),e("tr",null,[e("td",null,[e("a",Jx,[t("张婉琳"),l(n)])]),Cx])])]),Hx,Fx,e("table",null,[Zx,e("tbody",null,[e("tr",null,[e("td",null,[e("a",Dx,[t("高玉林"),l(n)])]),Px]),e("tr",null,[e("td",null,[e("a",Bx,[t("乐正"),l(n)])]),Yx]),e("tr",null,[e("td",null,[e("a",Ux,[t("兰美荣"),l(n)])]),Wx]),e("tr",null,[e("td",null,[e("a",Qx,[t("马俊军"),l(n)])]),Xx]),e("tr",null,[e("td",null,[e("a",$x,[t("帅松林"),l(n)])]),ej]),e("tr",null,[e("td",null,[e("a",tj,[t("孙志凤"),l(n)])]),nj]),e("tr",null,[e("td",null,[e("a",lj,[t("滕明政"),l(n)])]),sj]),e("tr",null,[e("td",null,[e("a",rj,[t("王德军"),l(n)])]),hj]),e("tr",null,[e("td",null,[e("a",uj,[t("王春英"),l(n)])]),oj]),e("tr",null,[e("td",null,[e("a",cj,[t("吴清一"),l(n)])]),dj]),e("tr",null,[e("td",null,[e("a",aj,[t("杨晗旭"),l(n)])]),_j]),e("tr",null,[e("td",null,[e("a",ij,[t("杨少曼"),l(n)])]),wj]),e("tr",null,[e("td",null,[e("a",fj,[t("袁海军"),l(n)])]),gj]),e("tr",null,[e("td",null,[e("a",pj,[t("尹玮煜"),l(n)])]),zj]),e("tr",null,[e("td",null,[e("a",bj,[t("祖嘉合"),l(n)])]),mj]),e("tr",null,[e("td",null,[e("a",kj,[t("张守民"),l(n)])]),yj]),e("tr",null,[e("td",null,[e("a",xj,[t("张涛"),l(n)])]),jj])])]),qj,e("table",null,[vj,e("tbody",null,[e("tr",null,[e("td",null,[e("a",Aj,[t("白波"),l(n)])]),Sj]),e("tr",null,[e("td",null,[e("a",Ej,[t("董伦红"),l(n)])]),Ij]),e("tr",null,[e("td",null,[e("a",Lj,[t("侯思宇"),l(n)])]),Mj]),e("tr",null,[e("td",null,[e("a",Gj,[t("何紫琳"),l(n)])]),Nj]),e("tr",null,[e("td",null,[e("a",Rj,[t("赖莎"),l(n)])]),Tj]),e("tr",null,[e("td",null,[e("a",Kj,[t("刘健钧"),l(n)])]),Oj]),e("tr",null,[e("td",null,[e("a",Vj,[t("卢阳"),l(n)])]),Jj]),e("tr",null,[e("td",null,[e("a",Cj,[t("孙颜"),l(n)])]),Hj]),e("tr",null,[e("td",null,[e("a",Fj,[t("魏伟成"),l(n)])]),Zj]),e("tr",null,[e("td",null,[e("a",Dj,[t("杨佳"),l(n)])]),Pj]),e("tr",null,[e("td",null,[e("a",Bj,[t("赵飞"),l(n)])]),Yj]),e("tr",null,[e("td",null,[e("a",Uj,[t("赵一品"),l(n)])]),Wj])])]),Qj,Xj,e("table",null,[$j,e("tbody",null,[e("tr",null,[e("td",null,[e("a",eq,[t("崔书墨"),l(n)])]),tq]),e("tr",null,[e("td",null,[e("a",nq,[t("董世杰"),l(n)])]),lq]),e("tr",null,[e("td",null,[e("a",sq,[t("Efim Zelmanov"),l(n)])]),rq]),e("tr",null,[e("td",null,[e("a",hq,[t("冯致程"),l(n)])]),uq]),e("tr",null,[e("td",null,[e("a",oq,[t("Stavros Garoufalidis"),l(n)])]),cq]),e("tr",null,[e("td",null,[e("a",dq,[t("黄少创"),l(n)])]),aq]),e("tr",null,[e("td",null,[e("a",_q,[t("Ingrid Irmer"),l(n)])]),iq]),e("tr",null,[e("td",null,[e("a",wq,[t("Mikko Korhonen"),l(n)])]),fq]),e("tr",null,[e("td",null,[e("a",gq,[t("权超禹"),l(n)])]),pq]),e("tr",null,[e("td",null,[e("a",zq,[t("汤涛"),l(n)])]),bq]),e("tr",null,[e("td",null,[e("a",mq,[t("邬龙挺"),l(n)])]),kq]),e("tr",null,[e("td",null,[e("a",yq,[t("张继平"),l(n)])]),xq])])]),jq,e("table",null,[qq,e("tbody",null,[e("tr",null,[e("td",null,[e("a",vq,[t("Cheng Jun Kee"),l(n)])]),Aq]),e("tr",null,[e("td",null,[e("a",Sq,[t("陈大发"),l(n)])]),Eq]),e("tr",null,[e("td",null,[e("a",Iq,[t("汉京春"),l(n)])]),Lq]),e("tr",null,[e("td",null,[e("a",Mq,[t("韩亮"),l(n)])]),Gq]),e("tr",null,[e("td",null,[e("a",Nq,[t("韩兴旺"),l(n)])]),Rq]),e("tr",null,[e("td",null,[e("a",Tq,[t("金明宇"),l(n)])]),Kq]),e("tr",null,[e("td",null,[e("a",Oq,[t("路正宇"),l(n)])]),Vq]),e("tr",null,[e("td",null,[e("a",Jq,[t("刘益真"),l(n)])]),Cq]),e("tr",null,[e("td",null,[e("a",Hq,[t("权茂"),l(n)])]),Fq]),e("tr",null,[e("td",null,[e("a",Zq,[t("饶小峰"),l(n)])]),Dq]),e("tr",null,[e("td",null,[e("a",Pq,[t("宋桥"),l(n)])]),Bq]),e("tr",null,[e("td",null,[e("a",Yq,[t("王永彬"),l(n)])]),Uq]),e("tr",null,[e("td",null,[e("a",Wq,[t("王健纯"),l(n)])]),Qq]),e("tr",null,[e("td",null,[e("a",Xq,[t("王健纯"),l(n)])]),$q]),e("tr",null,[e("td",null,[e("a",ev,[t("夏海平"),l(n)])]),tv]),e("tr",null,[e("td",null,[e("a",nv,[t("邢祥友"),l(n)])]),lv]),e("tr",null,[e("td",null,[e("a",sv,[t("许维词"),l(n)])]),rv]),e("tr",null,[e("td",null,[e("a",hv,[t("杨清镜"),l(n)])]),uv]),e("tr",null,[e("td",null,[e("a",ov,[t("张宇峰"),l(n)])]),cv])])]),dv,e("table",null,[av,e("tbody",null,[e("tr",null,[e("td",null,[e("a",_v,[t("陈洁菲"),l(n)])]),iv]),e("tr",null,[e("td",null,[e("a",wv,[t("陈静静"),l(n)])]),fv]),e("tr",null,[e("td",null,[e("a",gv,[t("陈廷勇"),l(n)])]),pv]),e("tr",null,[e("td",null,[e("a",zv,[t("陈媛"),l(n)])]),bv]),e("tr",null,[e("td",null,[e("a",mv,[t("陈朝宇"),l(n)])]),kv]),e("tr",null,[e("td",null,[e("a",yv,[t("陈华"),l(n)])]),xv]),e("tr",null,[e("td",null,[e("a",jv,[t("陈济雷"),l(n)])]),qv]),e("tr",null,[e("td",null,[e("a",vv,[t("戴俊峰"),l(n)])]),Av]),e("tr",null,[e("td",null,[e("a",Sv,[t("邓修豪"),l(n)])]),Ev]),e("tr",null,[e("td",null,[e("a",Iv,[t("邓可"),l(n)])]),Lv]),e("tr",null,[e("td",null,[e("a",Mv,[t("杜宗正"),l(n)])]),Gv]),e("tr",null,[e("td",null,[e("a",Nv,[t("邓晓玮"),l(n)])]),Rv]),e("tr",null,[e("td",null,[e("a",Tv,[t("付柏山"),l(n)])]),Kv]),e("tr",null,[e("td",null,[e("a",Ov,[t("范靖云"),l(n)])]),Vv]),e("tr",null,[e("td",null,[e("a",Jv,[t("郭抒"),l(n)])]),Cv]),e("tr",null,[e("td",null,[e("a",Hv,[t("黄培豪"),l(n)])]),Fv]),e("tr",null,[e("td",null,[e("a",Zv,[t("黄文"),l(n)])]),Dv]),e("tr",null,[e("td",null,[e("a",Pv,[t("胡玲"),l(n)])]),Bv]),e("tr",null,[e("td",null,[e("a",Yv,[t("贺煜"),l(n)])]),Uv]),e("tr",null,[e("td",null,[e("a",Wv,[t("孔良"),l(n)])]),Qv]),e("tr",null,[e("td",null,[e("a",Xv,[t("李俊"),l(n)])]),$v]),e("tr",null,[e("td",null,[e("a",eA,[t("李剑"),l(n)])]),tA]),e("tr",null,[e("td",null,[e("a",nA,[t("李正达"),l(n)])]),lA]),e("tr",null,[e("td",null,[e("a",sA,[t("林本川"),l(n)])]),rA]),e("tr",null,[e("td",null,[e("a",hA,[t("刘书萍"),l(n)])]),uA]),e("tr",null,[e("td",null,[e("a",oA,[t("陆四荣"),l(n)])]),cA]),e("tr",null,[e("td",null,[e("a",dA,[t("刘松"),l(n)])]),aA]),e("tr",null,[e("td",null,[e("a",_A,[t("路尧"),l(n)])]),iA]),e("tr",null,[e("td",null,[e("a",wA,[t("李勤"),l(n)])]),fA]),e("tr",null,[e("td",null,[e("a",gA,[t("刘旭明"),l(n)])]),pA]),e("tr",null,[e("td",null,[e("a",zA,[t("马小明"),l(n)])]),bA]),e("tr",null,[e("td",null,[e("a",mA,[t("牛晶晶"),l(n)])]),kA]),e("tr",null,[e("td",null,[e("a",yA,[t("潘天洛"),l(n)])]),xA]),e("tr",null,[e("td",null,[e("a",jA,[t("潘长钊"),l(n)])]),qA]),e("tr",null,[e("td",null,[e("a",vA,[t("王小琼"),l(n)])]),AA]),e("tr",null,[e("td",null,[e("a",SA,[t("苏慧敏"),l(n)])]),EA]),e("tr",null,[e("td",null,[e("a",IA,[t("宋学锋"),l(n)])]),LA]),e("tr",null,[e("td",null,[e("a",MA,[t("邵继峰"),l(n)])]),GA]),e("tr",null,[e("td",null,[e("a",NA,[t("谭电"),l(n)])]),RA]),e("tr",null,[e("td",null,[e("a",TA,[t("谭振兵"),l(n)])]),KA]),e("tr",null,[e("td",null,[e("a",OA,[t("吴志钢"),l(n)])]),VA]),e("tr",null,[e("td",null,[e("a",JA,[t("王硕"),l(n)])]),CA]),e("tr",null,[e("td",null,[e("a",HA,[t("汪福东"),l(n)])]),FA]),e("tr",null,[e("td",null,[e("a",ZA,[t("王浩"),l(n)])]),DA]),e("tr",null,[e("td",null,[e("a",PA,[t("王中凯"),l(n)])]),BA]),e("tr",null,[e("td",null,[e("a",YA,[t("王玉成"),l(n)])]),UA]),e("tr",null,[e("td",null,[e("a",WA,[t("王乐"),l(n)])]),QA]),e("tr",null,[e("td",null,[e("a",XA,[t("辛涛"),l(n)])]),$A]),e("tr",null,[e("td",null,[e("a",eS,[t("徐源"),l(n)])]),tS]),e("tr",null,[e("td",null,[e("a",nS,[t("俞大鹏"),l(n)])]),lS]),e("tr",null,[e("td",null,[e("a",sS,[t("杨天罡"),l(n)])]),rS]),e("tr",null,[e("td",null,[e("a",hS,[t("尉石"),l(n)])]),uS]),e("tr",null,[e("td",null,[e("a",oS,[t("虞祥龙"),l(n)])]),cS]),e("tr",null,[e("td",null,[e("a",dS,[t("杨胜军"),l(n)])]),aS]),e("tr",null,[e("td",null,[e("a",_S,[t("严通行"),l(n)])]),iS]),e("tr",null,[e("td",null,[e("a",wS,[t("姚娟"),l(n)])]),fS]),e("tr",null,[e("td",null,[e("a",gS,[t("张振生"),l(n)])]),pS]),e("tr",null,[e("td",null,[e("a",zS,[t("钟满金"),l(n)])]),bS]),e("tr",null,[e("td",null,[e("a",mS,[t("张君华"),l(n)])]),kS]),e("tr",null,[e("td",null,[e("a",yS,[t("郑攀"),l(n)])]),xS]),e("tr",null,[e("td",null,[e("a",jS,[t("钟有鹏"),l(n)])]),qS]),e("tr",null,[e("td",null,[e("a",vS,[t("周盛华"),l(n)])]),AS])])]),SS,e("table",null,[ES,e("tbody",null,[e("tr",null,[e("td",null,[e("a",IS,[t("崔欢欢"),l(n)])]),LS]),e("tr",null,[e("td",null,[e("a",MS,[t("陈柔羲"),l(n)])]),GS]),e("tr",null,[e("td",null,[e("a",NS,[t("樊建涛"),l(n)])]),RS]),e("tr",null,[e("td",null,[e("a",TS,[t("方亮"),l(n)])]),KS]),e("tr",null,[e("td",null,[e("a",OS,[t("桂志刚"),l(n)])]),VS]),e("tr",null,[e("td",null,[e("a",JS,[t("顾强帅"),l(n)])]),CS]),e("tr",null,[e("td",null,[e("a",HS,[t("韩松柏"),l(n)])]),FS]),e("tr",null,[e("td",null,[e("a",ZS,[t("李帅"),l(n)])]),DS]),e("tr",null,[e("td",null,[e("a",PS,[t("李忠良"),l(n)])]),BS]),e("tr",null,[e("td",null,[e("a",YS,[t("李之勇"),l(n)])]),US]),e("tr",null,[e("td",null,[e("a",WS,[t("林海斌"),l(n)])]),QS]),e("tr",null,[e("td",null,[e("a",XS,[t("宁澄清"),l(n)])]),$S]),e("tr",null,[e("td",null,[e("a",eE,[t("苏峰育"),l(n)])]),tE]),e("tr",null,[e("td",null,[e("a",nE,[t("Sornette Didier"),l(n)])]),lE]),e("tr",null,[e("td",null,[e("a",sE,[t("盛洁明"),l(n)])]),rE]),e("tr",null,[e("td",null,[e("a",hE,[t("王培"),l(n)])]),uE]),e("tr",null,[e("td",null,[e("a",oE,[t("王晓飞"),l(n)])]),cE]),e("tr",null,[e("td",null,[e("a",dE,[t("邬苏东"),l(n)])]),aE]),e("tr",null,[e("td",null,[e("a",_E,[t("王朋飞"),l(n)])]),iE]),e("tr",null,[e("td",null,[e("a",wE,[t("王李平"),l(n)])]),fE]),e("tr",null,[e("td",null,[e("a",gE,[t("向少华"),l(n)])]),pE]),e("tr",null,[e("td",null,[e("a",zE,[t("杨琰"),l(n)])]),bE]),e("tr",null,[e("td",null,[e("a",mE,[t("叶财超"),l(n)])]),kE]),e("tr",null,[e("td",null,[e("a",yE,[t("赵新彦"),l(n)])]),xE]),e("tr",null,[e("td",null,[e("a",jE,[t("赵府"),l(n)])]),qE]),e("tr",null,[e("td",null,[e("a",vE,[t("翟晶莹"),l(n)])]),AE])])]),SE,EE,e("table",null,[IE,e("tbody",null,[e("tr",null,[e("td",null,[e("a",LE,[t("吴文政"),l(n)])]),ME]),e("tr",null,[e("td",null,[e("a",GE,[t("谢宇聪"),l(n)])]),NE])])])])}const VE=s(c,[["render",RE],["__file","index.html.vue"]]);export{VE as default}; diff --git a/assets/index.html-je1flA8T.js b/assets/index.html-je1flA8T.js new file mode 100644 index 000000000..16fcddd42 --- /dev/null +++ b/assets/index.html-je1flA8T.js @@ -0,0 +1 @@ +import{_ as a,r as n,o as r,c as d,b as t,d as l,a as i,e as s}from"./app-9djxHuta.js";const c="/assets/1-XdnAwupS.png",h="/assets/2-JWEWUDFu.jpeg",o={},x=s('

    📦邮件与快递收发

    送至南科大的快递与从南科大发出的快递,均通过南科大物业设立的邮件转运中心进行中转。

    收发室

    地址电话
    荔园收发室荔园8栋10188015011
    欣园收发室欣园1栋1楼88010648
    书院收发室湖畔书院5栋1楼88010111
    慧园收发室慧园7栋10488010649
    新生宿舍收发室新生宿舍13栋1楼88010670

    提示

    1. 收发室服务时间:周一至周日;早上 8:30 至 13:00,下午 14:00 至 19:00 (双十一等特殊情况服务时间以学校邮件通知为准)
    2. 教师公寓大件快递存放在教师公寓四栋物业办公室

    自助快递柜

    柜体编号位置格口数量电话
    1&3教师公寓4栋1楼架空层30488010648
    2湖畔书院5栋1楼架空层416
    4行政楼103办公室门口160
    5第一科研楼1楼架空层719
    6荔园9栋1楼架空层352
    7学生宿舍8栋1楼架空层672

    提示

    快递进入快递柜/收发室后,相应的手机号将会收到短信,您也可以关注“近邻宝”公众号,通过微信取件。

    提示

    有时寄到13栋收发室的物品会被移至8栋的快递柜。需要注意手机收到的取件短信,短信里面有快递的具体位置。如若快递存放在快递柜,可在一天内任意时刻前往取件;如若在收发室,须在收发室开放时间前往。

    如何寄件

    • 方法一:去到最近的收发室(13栋收发室),找工作人员,说明自己要寄快递,然后按照规定操作即可

    • 方法二:直接在之前各种快递的app、小程序、公众号上下单,选择上门取件即可(如淘宝、唯品会退货时的上门取件)

    Q&A

    快递柜是否支持自助寄件?

    依据《中华人民共和国邮政法》《中华人民共和国反恐怖主义法》以及《邮政行业安全监督管理办法》等法律、行政法规和相关规定,所有快递一定要经过人工开箱检查后,才能实名制寄出哦!所以,寄件您可移步至就近收发室或选择网上下单预约快递公司上门取件!

    快递显示已签收却没有收到取件通知?

    有可能是面单收件人电话号码预留有误或系统录入识别号码有误,您可以随时拨打服务电话0755-88010648,帮您查询解答,同时还能再次秒发取件通知哦~

    快递派送地址与收件地址不一致?

    A1:如您未填写详细的收件地址,会统一派送至荔园8栋收发室,所以寄件时请注意填写详细的收件地址哦~

    A2:快递小哥哥在分拣环节收件地址识别有误导致您的快递送错区域,请第一时间拨打服务电话0755-88010648,马上帮您做转件~

    哪些物品是不能快递的?

    《快递暂行条例》所规定的违禁品。

    联系电话

    0755-88010648

    新的快递收发系统,可扫描下方二维码关注公众微信。

    参考资料

    ',27),g={href:"https://mp.weixin.qq.com/s/hgRgAmzQtWSzxcPxMQQlWg",target:"_blank",rel:"noopener noreferrer"};function p(y,u){const e=n("ExternalLinkIcon");return r(),d("div",null,[x,t("ul",null,[t("li",null,[t("a",g,[l("探秘邮件中心·南科人气打卡点 | 新生攻略/南科新知"),i(e)])])])])}const _=a(o,[["render",p],["__file","index.html.vue"]]);export{_ as default}; diff --git a/assets/index.html-jya-q3IV.js b/assets/index.html-jya-q3IV.js new file mode 100644 index 000000000..aba0b870a --- /dev/null +++ b/assets/index.html-jya-q3IV.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-4322d0a7","path":"/surroundings/","title":"🛍周边","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"🛍大型商城","slug":"🛍大型商城","link":"#🛍大型商城","children":[{"level":3,"title":"塘朗城","slug":"塘朗城","link":"#塘朗城","children":[]},{"level":3,"title":"宝能城","slug":"宝能城","link":"#宝能城","children":[]},{"level":3,"title":"益田假日里","slug":"益田假日里","link":"#益田假日里","children":[]},{"level":3,"title":"九方","slug":"九方","link":"#九方","children":[]},{"level":3,"title":"西丽天虹","slug":"西丽天虹","link":"#西丽天虹","children":[]},{"level":3,"title":"民治大润发","slug":"民治大润发","link":"#民治大润发","children":[]},{"level":3,"title":"星河 Coco City","slug":"星河-coco-city","link":"#星河-coco-city","children":[]},{"level":3,"title":"华侨城欢乐海岸","slug":"华侨城欢乐海岸","link":"#华侨城欢乐海岸","children":[]},{"level":3,"title":"海上世界","slug":"海上世界","link":"#海上世界","children":[]},{"level":3,"title":"万象天地","slug":"万象天地","link":"#万象天地","children":[]},{"level":3,"title":"国贸大厦","slug":"国贸大厦","link":"#国贸大厦","children":[]},{"level":3,"title":"福田星河COCO Park","slug":"福田星河coco-park","link":"#福田星河coco-park","children":[]},{"level":3,"title":"华强北","slug":"华强北","link":"#华强北","children":[]},{"level":3,"title":"华润万象城","slug":"华润万象城","link":"#华润万象城","children":[]}]},{"level":2,"title":"🏠城中村","slug":"🏠城中村","link":"#🏠城中村","children":[{"level":3,"title":"田寮村","slug":"田寮村","link":"#田寮村","children":[]},{"level":3,"title":"福光新村","slug":"福光新村","link":"#福光新村","children":[]},{"level":3,"title":"塘朗村","slug":"塘朗村","link":"#塘朗村","children":[]},{"level":3,"title":"集悦城","slug":"集悦城","link":"#集悦城","children":[]}]},{"level":2,"title":"🍴周边餐饮","slug":"🍴周边餐饮","link":"#🍴周边餐饮","children":[]},{"level":2,"title":"🏨住宿","slug":"🏨住宿","link":"#🏨住宿","children":[]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"updatedTime":1658582294000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":11},{"name":"Nima Yan","email":"68978888+yannima6@users.noreply.github.com","commits":1},{"name":"chenyuheng","email":"pass@chenyuheng.cn","commits":1},{"name":"yannima6","email":"68978888+yannima6@users.noreply.github.com","commits":1}]},"filePathRelative":"surroundings/README.md"}');export{l as data}; diff --git a/assets/index.html-k6Uh7vfx.js b/assets/index.html-k6Uh7vfx.js new file mode 100644 index 000000000..393364623 --- /dev/null +++ b/assets/index.html-k6Uh7vfx.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-772a5784","path":"/study/borrow-books/","title":"📗教材与图书借还","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"教材借还","slug":"教材借还","link":"#教材借还","children":[]},{"level":2,"title":"图书馆书籍借还","slug":"图书馆书籍借还","link":"#图书馆书籍借还","children":[{"level":3,"title":"如何找到想要的书?","slug":"如何找到想要的书","link":"#如何找到想要的书","children":[]},{"level":3,"title":"如何利用自助借还书机借书、还书?","slug":"如何利用自助借还书机借书、还书","link":"#如何利用自助借还书机借书、还书","children":[]},{"level":3,"title":"怎样查看个人借书情况和还书期限?","slug":"怎样查看个人借书情况和还书期限","link":"#怎样查看个人借书情况和还书期限","children":[]},{"level":3,"title":"每个读者的借阅权限是多少册图书,借期为多长时间?","slug":"每个读者的借阅权限是多少册图书-借期为多长时间","link":"#每个读者的借阅权限是多少册图书-借期为多长时间","children":[]}]}],"git":{"updatedTime":1596618035000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"study/borrow-books/README.md"}');export{l as data}; diff --git a/assets/index.html-kP5_5KCy.js b/assets/index.html-kP5_5KCy.js new file mode 100644 index 000000000..d010b6af2 --- /dev/null +++ b/assets/index.html-kP5_5KCy.js @@ -0,0 +1 @@ +import{_ as a,r,o as s,c as p,b as t,d,a as n,e as o}from"./app-9djxHuta.js";const i="/assets/facdf1031d8e47ecaba7e9bf2fda59ba-pvyAPNPL.jpeg",c="/assets/c31235e66edd43d69202f54f3c0aed46-qyFsav7g.jpeg",h="/assets/afbd3cddd2d945bf852c2fec15fc6519-J2YbBzwM.jpeg",l="/assets/c49bd903118a448eba26fed3624dadc6-hipp77FF.jpeg",g="/assets/5e3cf29b0f8a445c94d7446cc68f0e8c-hSCmkTvA.png",_="/assets/880086e6cc0a4858822011a636f7cd2d-a5hvlW6l.jpeg",f="/assets/8851f3bf244d4a8681ac4a1a15364221-mXGr-557.jpeg",m="/assets/31d2011305ae4d6680b5c6ebe16c4aa2-9vxfcCpa.jpeg",b="/assets/2d474998994c4bdea64fc0c20e468e4e-NkU-1ZgV.jpeg",x="/assets/8d99f0bb36194313a3855fc657cb54c2-eFMjR6kC.jpeg",u="/assets/0c1fb2d65e7c4e53a58a1d6d003cf6e5-k6fxj-DJ.jpeg",P={},j=t("h1",{id:"如何申报退税-年度个人所得税年度汇算",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#如何申报退税-年度个人所得税年度汇算","aria-hidden":"true"},"#"),d(" 如何申报退税?-- 年度个人所得税年度汇算")],-1),A=t("h2",{id:"tl-dr-太长不读",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#tl-dr-太长不读","aria-hidden":"true"},"#"),d(" TL.DR 太长不读")],-1),v=t("p",null,[d("汇算指的是清算上一年度预缴税款,多退少补。"),t("strong",null,"上年度薪金收入不超过6万元,即可免征个人所得税,如已交税款都可以退回。")],-1),k=t("p",null,"时间窗口:每年4月-6月汇算上一年度。",-1),y=t("p",null,"汇算方式:",-1),B=t("li",null,"“个人所得税” 手机APP端",-1),N={href:"https://etax.chinatax.gov.cn/",target:"_blank",rel:"noopener noreferrer"},E=o('

    导读

    从4月1日起,全国各地已经全面开放汇算清缴办理渠道,包括“个人所得税”手机APP端和网页WEB端办理通道。年收入不超过12万可免个税汇算清缴。

    学生该如何办理呢?这份小贴士请收好。

    我们所说的“学生党”,主要是指在校的大学生、研究生、博士生。一般来说,“学生党”的收入主要有两种,一种是奖学金、助学金、学校的研究生补助等,此类不计入汇算清缴;另外一种是导师给予发放的津贴补助、实习单位发放的实习工资、兼职所得报酬等。超过800元即产生税额。

    举个例子,导师每月发津贴1200元,1200-800=400,超出的400按照20%缴纳税款为80元,所以你实际到手为1200-80=1120元。每月工资越多,扣的税越多。

    学生党办理汇算清缴情况

    1. 2019年已交税额大于应缴税额,需要申请退税的同学。由于三助津贴是按劳务报酬计税。在年度汇算的时候,劳务报酬需要并入综合所得计税,多退少补。全年应发税前劳务报酬低于7万5的同学,是不需要交税的,已交税款都可以退回。超过7.5万的同学,按综合所得重新汇算计税后,已交税款大于应缴税额的,可以申请退回多交部分税款。

    2. 2019年从多个单位取得收入,并且已交税额小于应缴税额,需要补税的同学。

    同学们可在个税APP-服务-收入纳税明细查询中查询自己2019年收入合计。

    需申请退税情况举例:

    A同学每月收到3500元的助研津贴,依据税法,按劳务报酬计税。

    劳务报酬所得适用的税率表:

    级数应税收入税率(%)速算扣除数
    1不超过20000元的200
    2超过20000元至50000元的部分302000
    3超过50000元的部分407000

    应税收入为:每次收入不超过四千元的,按收入额减去八百元计算;每次收入四千元以上的,按收入额的百分之八十计算。

    税额=应税收入×税率-速算扣除数

    (1)每月扣税(3500-800)*20%=540元。

    汇算清缴时。工薪所得、劳务报酬所得等纳入综合所得,按年合并计算个税。基本减除费用为6万/年。

    综合所得适用的税率表:

    级数全年应税收入税率 (%)速算扣除数
    1不超过36000元的部分30
    2超过36000元至 144000 元的部分102520
    3超过144000元至 300000 元的部分2016920
    4超过300000元至 420000 元的部分2531920
    5超过420000元至 660000 元的部分3052920
    6超过660000元至 960000 元的部分3585920
    7超过960000元的部 分45181920

    (2)A同学全年应税收入=3500*12*80% - 6万,小于0,所以无需缴纳个人所得税。全年已交税额540*12=6480元都可以退至“个税APP”所填银行卡。

    申报准备

    1. 同学们可以先下载个税APP,应用名为“个人所得税”,下载前请先确认该应用来源于国家税务总局。

    2. 进行注册。

    3. 填写银行卡号。

    简易申报与标准申报的操作流程

    使用手机 APP 端申报,同学们可以从以下两个入口进入年度汇算:

    1、从首页的【常用业务】区块的【综合所得年度汇算】进入;

    2、从【快捷入口】-【我要办税】下或底部【办税】 菜单进入后,点击在【税费申报】下 的【综合所得年度汇算】。

    img

    img

    一、简易申报

    2019 年取得的综合所得收入额未超过 6 万元且已缴税款的同学,可通过简易申报申请退税。

    img

    1、确认申报表信息

    核对个人基础信息、汇缴地、查看收入明细数据,确认已缴税额。

    img

    2、申请退税

    在申报提交完成页面上,选择【申请退税】

    img

    进入银行卡选择界面,会自动带出添加好的银行卡。您也可以点击【添加银行卡信息】。

    img

    选择银行卡后提交退税申请,可以看到退税申请进度。

    二、标准申报

    2019年度综合所得年收入额超过6万元的同学,可以在3月1日至6月30日内,通过标准申报办理年度汇算。进入申报界面,选择【使用已申报数据填写】:

    img

    1、确认基本信息基本信息页面支持修改“电子邮箱、联系地址”信息,选择本次申报的汇缴地。(与简易申报截图类似)

    2、生成和确认申报表信息系统将自动归集您在纳税年度的收入纳税数据[工资薪金、劳务报酬、特许权使用费所得],并直接预填至相应申报栏次。

    img

    img

    img

    3、修改申报表信息若您需要修改已预填的申报数据,可修改对应明细表或附表。

    4、缴纳税款或申请退税

    (1)缴税

    若您存在应补税额但不符合免于申报,可点击【立即缴税】进入缴税。

    (2)申请退税

    若您存在多缴税款,可点击【申请退税】。

    img

    进入银行卡选择界面,会自动带出添加好的银行卡。可以点击【添加银行卡信息】。操作与简易申报一致。

    特别提醒

    1. 如点击【综合所得年度汇算】后,出现“该功能将视疫情形势变化及时开通”, 可能是由于 APP 没有登录,在个人中心登录即可。

    2. 若进入申报时出现“业务处理失败:当前纳税人不存在户籍所在地和经常居 住地”,是由于个人信息未填完整,在个人中心-个人信息补充完整信息即可。

    3. 个税 APP 里的“申诉”功能不是办理退税的功能,是申诉不存在此笔收入。不要随意点击申诉按钮。已有同学误点申诉造成无法进行退税的情况。

    ',57);function V(C,F){const e=r("ExternalLinkIcon");return s(),p("div",null,[j,A,v,k,y,t("ol",null,[B,t("li",null,[d("网页WEB端 "),t("a",N,[d("https://etax.chinatax.gov.cn/"),n(e)])])]),E])}const T=a(P,[["render",V],["__file","index.html.vue"]]);export{T as default}; diff --git a/assets/index.html-kV5yjvsG.js b/assets/index.html-kV5yjvsG.js new file mode 100644 index 000000000..69bb80a66 --- /dev/null +++ b/assets/index.html-kV5yjvsG.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-20383a78","path":"/life/sports-facility/","title":"🏊‍♀️运动设施","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"游泳馆","slug":"游泳馆","link":"#游泳馆","children":[{"level":3,"title":"注意事项","slug":"注意事项","link":"#注意事项","children":[]}]},{"level":2,"title":"体能训练中心","slug":"体能训练中心","link":"#体能训练中心","children":[{"level":3,"title":"注意事项","slug":"注意事项-1","link":"#注意事项-1","children":[]}]},{"level":2,"title":"搏击馆","slug":"搏击馆","link":"#搏击馆","children":[]},{"level":2,"title":"击剑馆","slug":"击剑馆","link":"#击剑馆","children":[]},{"level":2,"title":"户外运动公园","slug":"户外运动公园","link":"#户外运动公园","children":[]},{"level":2,"title":"篮球场","slug":"篮球场","link":"#篮球场","children":[]},{"level":2,"title":"足球场","slug":"足球场","link":"#足球场","children":[]},{"level":2,"title":"排球场","slug":"排球场","link":"#排球场","children":[]},{"level":2,"title":"羽毛球场","slug":"羽毛球场","link":"#羽毛球场","children":[]},{"level":2,"title":"网球场","slug":"网球场","link":"#网球场","children":[]},{"level":2,"title":"棒球场","slug":"棒球场","link":"#棒球场","children":[]},{"level":2,"title":"乒乓球馆","slug":"乒乓球馆","link":"#乒乓球馆","children":[]},{"level":2,"title":"台球馆","slug":"台球馆","link":"#台球馆","children":[]},{"level":2,"title":"田径场","slug":"田径场","link":"#田径场","children":[]},{"level":2,"title":"舞蹈房","slug":"舞蹈房","link":"#舞蹈房","children":[]},{"level":2,"title":"健身房","slug":"健身房","link":"#健身房","children":[]}],"git":{"updatedTime":1597051274000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":3}]},"filePathRelative":"life/sports-facility/README.md"}');export{l as data}; diff --git a/assets/index.html-lakCfSSU.js b/assets/index.html-lakCfSSU.js new file mode 100644 index 000000000..2cc23abbb --- /dev/null +++ b/assets/index.html-lakCfSSU.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-ed48bdf8","path":"/media/","title":"📺媒体与网站","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"官方媒体","slug":"官方媒体","link":"#官方媒体","children":[{"level":3,"title":"校级","slug":"校级","link":"#校级","children":[]},{"level":3,"title":"院、系、部门级","slug":"院、系、部门级","link":"#院、系、部门级","children":[]},{"level":3,"title":"书院","slug":"书院","link":"#书院","children":[]},{"level":3,"title":"信息类公众号","slug":"信息类公众号","link":"#信息类公众号","children":[]},{"level":3,"title":"学生组织与社团","slug":"学生组织与社团","link":"#学生组织与社团","children":[]}]},{"level":2,"title":"自媒体","slug":"自媒体","link":"#自媒体","children":[{"level":3,"title":"微信公众号","slug":"微信公众号","link":"#微信公众号","children":[]}]},{"level":2,"title":"网站","slug":"网站","link":"#网站","children":[]}],"git":{"updatedTime":1640934513000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":9},{"name":"liziwl","email":"leezisy@gmail.com","commits":6},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":2},{"name":"OSA","email":"osa@sustech.edu.cn","commits":1},{"name":"Shilong Li","email":"47763046+lethal233@users.noreply.github.com","commits":1},{"name":"nankeyilu","email":"nankeyilu@protonmail.com","commits":1}]},"filePathRelative":"media/README.md"}');export{l as data}; diff --git a/assets/index.html-lqUJvmSL.js b/assets/index.html-lqUJvmSL.js new file mode 100644 index 000000000..9c885e410 --- /dev/null +++ b/assets/index.html-lqUJvmSL.js @@ -0,0 +1 @@ +import{_ as h,r as n,o as i,c as s,b as a,d as r,a as d,e as t}from"./app-9djxHuta.js";const c="/assets/discount-r_jTA4Jy.png",o={},p=t('

    💳校园卡

    学校为每一位校内的师生职工提供一张校园卡。

    卡面颜色

    校园卡卡面具有多种颜色。

    以下表格所列颜色为近似颜色

    颜色所属
    橙色本科生,研究生,博士生
    蓝绿色教师,RA,访问人员
    红色家属
    褐色临时卡
    紫色功能卡,设备卡

    校园卡二维码

    ',7),l={href:"https://campuscard.sustech.edu.cn/epay/thirdconsume/qrcode",target:"_blank",rel:"noopener noreferrer"},u=t('

    充值

    提示

    2019年9月起,通过微信/支付宝充值校园卡后无需圈存,可直接消费。

    现金充值

    时间为每周三中午11:30-13:00,充值地点:学生食堂一楼;

    自助机充值

    银行卡、信用卡(含国内异地)均可,24小时可充值,不扣手续费;

    微信充值

    微信搜索“企业号南方科技大学”并关注,微信充值成功后需等待5分钟左右持卡至自助充值机补助领取即可。

    支付宝充值

    打开支付宝找到“全部”—“校园生活”—“校园一卡通”—“立即充值”,选择“所在学校”后输入相应个人信息后进行充值即可。

    办公接待卡充值

    需OA填写固定审批,打印后提交至行政服务中心充值,(充值金额小于9万无需报备至财务部)

    校园宝充值

    微信搜索“校园宝”公众号并关注,

    消费系数

    在不同的餐厅/商店,不同类型的校园卡的消费系数不同。目前的消费系数如下图所示。

    校园卡消费系数

    挂失,补办,注销

    挂失、解挂

    提示

    行政服务大厅位于行政楼一楼。

    方法1

    微信关注南方科技大学企业微信号,进入南方科技大学企业微信号--校园卡--卡务--卡挂失。

    方法2

    到自助机上操作(操作方法校园卡务-卡挂失/解挂申请)。

    方法3

    持身份证到行政服务中心六号窗口办理。

    补办

    微信关注南方科技大学企业微信公众号;

    具体步骤:进入南方科技大学企业微信号--校园卡--卡务--卡挂失--补卡,凭短信和本人身份证领卡,教职工卡在行政服务大厅,学生卡在学生事务中心领取。

    注销

    在网上服务大厅提交离职申请后,携带校园卡至行政服务大厅六号窗口注销。

    模拟校园卡

    手机厂商提供的卡模拟工具仅能复制校园卡的ID和非加密部分。但校园卡为CPU卡,并且余额联网,因此通过手机模拟的校园卡只能用于部分门禁(不包括宿舍与大门),储物柜和水卡

    参考资料

    ',34),f={href:"http://asc.sustech.edu.cn/guide/49.html?nohdbaaaiecjekng",target:"_blank",rel:"noopener noreferrer"};function b(x,_){const e=n("ExternalLinkIcon");return i(),s("div",null,[p,a("p",null,[a("a",l,[r("二维码链接(需CAS登陆)"),d(e)])]),u,a("ul",null,[a("li",null,[a("a",f,[r("校园卡业务办事指南/行政服务中心"),d(e)])])])])}const k=h(o,[["render",b],["__file","index.html.vue"]]);export{k as default}; diff --git a/assets/index.html-n44SWg7I.js b/assets/index.html-n44SWg7I.js new file mode 100644 index 000000000..b26133509 --- /dev/null +++ b/assets/index.html-n44SWg7I.js @@ -0,0 +1 @@ +import{_ as h,r as o,o as s,c,b as e,a,w as i,d as t,e as r}from"./app-9djxHuta.js";const l={},u=r('

    电子邮件服务

    学校使用企业邮箱作为邮件系统,并为每位同学分配形如12010100@mail.sustech.edu.cn的邮箱。电子邮件可以通过网页或客户端收取。

    申请别名

    一般来说,教职员的邮箱后缀为 @sustech.edu.cn,同学的邮箱后缀为 @mail.sustech.edu.cn,每位同学还可以申请一个带有姓名拼音和入学年份的邮箱别名(如在2020年入学的张三,将可以申请别名为 zhangs2020@mail.sustech.edu.cn 的邮箱。若需申请姓名+入学年份的别名邮箱,向信息中心发主题问“申请邮箱别名”的邮件,即可申请。

    容量不足怎么办

    ',5),p=e("h2",{id:"通过网页收发邮件",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#通过网页收发邮件","aria-hidden":"true"},"#"),t(" 通过网页收发邮件")],-1),_={href:"https://exmail.qq.com/login",target:"_blank",rel:"noopener noreferrer"},f={href:"https://mail.sustech.edu.cn/",target:"_blank",rel:"noopener noreferrer"},m={href:"https://mail.sustech.edu.cn/sso?lang=zh",target:"_blank",rel:"noopener noreferrer"},b=r('

    通过 QQ 电脑客户端进入企业邮网页

    登录 QQ 企业邮箱网页版后,可在“设置” --> “提醒服务” --> “QQ 提醒”中绑定 QQ 号码,绑定后可以通过网页邮箱上方工具栏中的“QQ 邮箱 / 企业邮箱”选项切换邮箱。 在“设置” --> “提醒服务” --> “QQ 提醒”中选择“点击 QQ 面板的小信封直接进入企业邮箱”选项并保存后,可以直接通过 QQ 电脑客户端进入网页版企业邮箱。

    在移动设备上收发邮件

    参数

    假如一位同学的邮箱是12010100@mail.sustech.edu.cn,密码是sustech-manual

    项目其他参数
    用户名12010100@mail.sustech.edu.cn
    密码sustech-manual
    邮件服务器(Exchange)ex.exmail.qq.com
    发件服务器(SMTP)smtp.exmail.qq.com使用SSL,端口号465
    发件服务器(POP3)pop.exmail.qq.com使用SSL,端口号995
    收件服务器(IMAP)imap.exmail.qq.com使用SSL,端口号993

    微信

    关注“腾讯企业邮箱”公众号,并按提示操作。

    苹果自带邮件应用(Mail.app)

    建议使用Exchange方式收件。

    ',10),x={href:"https://support.apple.com/zh-cn/HT201320",target:"_blank",rel:"noopener noreferrer"},g=e("h3",{id:"qq邮箱客户端",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#qq邮箱客户端","aria-hidden":"true"},"#"),t(" QQ邮箱客户端")],-1),E=e("p",null,"按照应用提示操作即可。",-1),k=e("h3",{id:"outlook客户端",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#outlook客户端","aria-hidden":"true"},"#"),t(" Outlook客户端")],-1),q=e("p",null,"建议使用Exchange方式收件。",-1),y={href:"https://support.microsoft.com/zh-cn/office/%E5%9C%A8-outlook-for-android-%E5%BA%94%E7%94%A8%E4%B8%AD%E8%AE%BE%E7%BD%AE%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6-886db551-8dfa-4fd5-b835-f8e532091872?ui=zh-cn&rs=zh-cn&ad=cn",target:"_blank",rel:"noopener noreferrer"},A=e("h3",{id:"安卓手机通用教程",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#安卓手机通用教程","aria-hidden":"true"},"#"),t(" 安卓手机通用教程")],-1),Q=e("p",null,"建议使用Exchange方式收件。",-1),B={href:"https://service.exmail.qq.com/cgi-bin/help?subtype=1&&id=20019&&no=1001530",target:"_blank",rel:"noopener noreferrer"},w=e("h2",{id:"在计算机上收发邮件",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#在计算机上收发邮件","aria-hidden":"true"},"#"),t(" 在计算机上收发邮件")],-1),P=e("h3",{id:"windows自带的邮件应用",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#windows自带的邮件应用","aria-hidden":"true"},"#"),t(" Windows自带的邮件应用")],-1),S=e("p",null,"建议使用Exchange方式收件。",-1),z={href:"https://support.microsoft.com/zh-cn/office/%e5%9c%a8-windows-10-%e9%82%ae%e4%bb%b6%e5%ba%94%e7%94%a8%e4%b8%ad%e8%ae%be%e7%bd%ae%e7%94%b5%e5%ad%90%e9%82%ae%e4%bb%b6-7ff79e8b-439b-4b47-8ff9-3f9a33166c60?ui=zh-cn&rs=zh-cn&ad=cn",target:"_blank",rel:"noopener noreferrer"},M=e("h3",{id:"macos自带的邮件应用",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#macos自带的邮件应用","aria-hidden":"true"},"#"),t(" MacOS自带的邮件应用")],-1),v=e("p",null,"建议使用IMAP方式收件。",-1),O={href:"https://support.apple.com/zh-cn/guide/mail/mail35803/mac",target:"_blank",rel:"noopener noreferrer"},L={href:"https://support.apple.com/zh-cn/guide/mail/cpmlprefacctadv/mac",target:"_blank",rel:"noopener noreferrer"},I=r('

    Outlook桌面版

    MacOS

    由于QQ邮箱不支持完整版的Exchange(只支持Exchange Activesync)因此Outlook Mac桌面版不能以Exchange模式添加账户,只能使用IMAP或POP模式添加账户。

    Windows

    推荐使用Exchange Activesync模式添加。

    ',5),C={href:"https://support.microsoft.com/zh-cn/office/%E5%90%91-outlook-%E6%B7%BB%E5%8A%A0%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E5%B8%90%E6%88%B7-6e27792a-9267-4aa4-8bb6-c84ef146101b",target:"_blank",rel:"noopener noreferrer"},D=e("h2",{id:"我想给老师发邮件-但不知道老师的邮箱该怎么办",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#我想给老师发邮件-但不知道老师的邮箱该怎么办","aria-hidden":"true"},"#"),t(" 我想给老师发邮件,但不知道老师的邮箱该怎么办?")],-1),N={href:"https://faculty.sustech.edu.cn/",target:"_blank",rel:"noopener noreferrer"},T=r("
  • 复制教师主页的网址 https://faculty.sustech.edu.cn/{faculty_name}/,如姚新老师的主页 https://faculty.sustech.edu.cn/xiny/
  • 网址的url的path部分{faculty_name}(如xiny)即为相应老师的邮箱前缀,加上@sustech.edu.cn即为老师的邮箱地址(如xiny@sustech.edu.cn)。
  • ",2),V=e("h2",{id:"更多阅读-参考",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#更多阅读-参考","aria-hidden":"true"},"#"),t(" 更多阅读/参考")],-1),W={href:"https://qianjian.space/2017/09/email-guide/",target:"_blank",rel:"noopener noreferrer"},R={href:"https://service.exmail.qq.com/cgi-bin/help?subtype=1&id=28&no=1000585",target:"_blank",rel:"noopener noreferrer"};function j(H,F){const d=o("RouterLink"),n=o("ExternalLinkIcon");return s(),c("div",null,[u,e("ul",null,[e("li",null,[a(d,{to:"/service/email/send-receive-email-by-proxy.html"},{default:i(()=>[t("解决邮箱容量不足的问题")]),_:1})])]),p,e("p",null,[t("访问 QQ 企业邮箱登录页"),e("a",_,[t("https://exmail.qq.com/login"),a(n)]),t(",输入邮箱和密码登入。也可通过"),e("a",f,[t("https://mail.sustech.edu.cn/"),a(n)]),t("上方的"),e("a",m,[t("CAS登录邮箱"),a(n)]),t("链接登入,首次登入需要输入密码绑定CAS账户和邮箱。")]),b,e("ul",null,[e("li",null,[e("a",x,[t("向 iPhone、iPad 或 iPod touch 添加电子邮件帐户"),a(n)])])]),g,E,k,q,e("ul",null,[e("li",null,[e("a",y,[t("在 Outlook for Android 应用中设置电子邮件"),a(n)])])]),A,Q,e("ul",null,[e("li",null,[e("a",B,[t("如何在Android系统中使用腾讯企业邮箱Exchange同步服务?"),a(n)])])]),w,P,S,e("ul",null,[e("li",null,[e("a",z,[t("在 Windows 10 邮件应用中设置电子邮件"),a(n)])])]),M,v,e("ul",null,[e("li",null,[e("p",null,[e("a",O,[t("在 Mac 上的“邮件”中添加或移除电子邮件帐户"),a(n)])])]),e("li",null,[e("p",null,[e("a",L,[t("在 Mac 上的“邮件”中更改服务器设置"),a(n)])])])]),I,e("ul",null,[e("li",null,[e("a",C,[t("向 Outlook 添加电子邮件帐户"),a(n)])])]),D,e("ol",null,[e("li",null,[t("在"),e("a",N,[t("https://faculty.sustech.edu.cn/"),a(n)]),t("寻找教师的个人主页**(页面可能会加载大量图片并消耗流量,请考虑直接从搜索引擎直接进入教师的个人主页)**")]),T]),V,e("ul",null,[e("li",null,[e("a",W,[t("Email 使用指南/浅见"),a(n)])]),e("li",null,[e("a",R,[t("如何设置IMAP、POP3/SMTP及其SSL加密方式?/腾讯企业邮箱"),a(n)])])])])}const J=h(l,[["render",j],["__file","index.html.vue"]]);export{J as default}; diff --git a/assets/index.html-njvynpXQ.js b/assets/index.html-njvynpXQ.js new file mode 100644 index 000000000..ec692d980 --- /dev/null +++ b/assets/index.html-njvynpXQ.js @@ -0,0 +1 @@ +import{_ as p,o as e,c as i,e as l}from"./app-9djxHuta.js";const t={},a=l('

    新生报到

    文稿部分来自《2020新生入学指南》

    报到前任务

    1. 网上预报道:请新生于2020年8月5日-27日登录新生报到系统http://freshman.sustech.edu.cn,用户名为18位身份证号,初始密码身份证号后6位。并于8月18日前完善个人基本信息,并上传一寸白底免冠照。报道前进入新生报到系统打印《新生入学报到程序单》。

      (咨询:网络信息中心 0755-88010772)

    2. 书院和导师双选:请于8月5日-8月18日在迎新报到系统同时提交3个书院志愿和导师志愿,进行双向互选。8月21日-22日为书院导师录取完毕后可在系统查询录取结果。

      (咨询:卢老师 0755-88010519)

    3. 入学费用:请持录取通知书内随寄银行卡前往就近银行网点激活,并在2020年8月20日下午6点前将7670元存入卡内。

      (咨询:吴老师 0755-88010802)

    4. 新生资助:家庭经济困难的新生,可以提前填写《南方科技大学家庭经济困难学生认定表》通过报到现场“绿色通道”入学,也可以办理生源地助学贷款。

      (咨询:陶老师 0755-88010516)

    5. 组织关系转移(限共青团员、共产党员):新生于2020年8月24日之前扫描二维码进行智慧团建系统团员身份认证/已注册智慧团建系统的学生团员进行系统内组织关系转移。填写完成后将审核截图上传到迎新报到系统指定位置(截图请保留姓名信息)。

      (咨询:熊老师 0755-88010676)

    6. 户口迁移:非深圳户籍新生入学时可以自愿选择是否办理户籍迁移手续。新生报道日起一个月为户籍转移资料收集限期,逾期视为放弃。

      (咨询:何老师 0755-88010654)

    7. 医保办理:我校本科生参加共三项保险,基本医疗需求保障全覆盖。若当年参加医疗服务其他社会保险,则可不参加我校保险购买,并填写写知情同意书。

    ​ (咨询:周老师 0755-88010579)

    1. 兵役登记:完成后才可入校办理报到手续。2020级所有男性新生在全国征兵网(http://www.gfbzb.gov.cn/)上于8月21日前完成登记。登记后将成功登记的页面截图上传至迎新报到系统指定位置。

    ​ (咨询:陈老师 0755-88010692)

    1. 学生档案:可通过自带档案或寄送档案两种方式提交。档案密封,撕毁无效。报到后未提交完整档案的新生应及时补交。

    ​ (咨询:黄老师 0755-88010512)

    1. 学生手册测试:新生可在迎新网(http://welcome.sustech.edu.cn)上下载《学生手册》学习,并于2020年8月5日-8月27日在迎新报到系统中点击“学生手册测试”进行测试,90分以上为通过。

    2. 入学准备状态测试:新生于2020年8月5日-8月27日在迎新报到系统中点击链接进入测试,一次性填答完毕。

    3. 安全教育测试:新生需要在迎新报到系统中点击链接前往测试平台观看学习视频,并于2020年8月5日-9月4日完成相关题目,80分以上为通过。

    完成上述任务即可在8月27日进行现场报到。上述任务具体操作见《2020新生入学指南》。

    现场报到

    报到时间:2020年8月27日9:00-16:00

    学校报到地点:学生宿舍11栋迎新楼101和102报到大厅

    书院报到地点:二期宿舍11栋各书院楼层

    具体报到手续见《2020新生入学指南》

    因故无法按时到校报到的学生,于8月20日前告知招生办万义超老师,说明原因。

    万老师联系方式:电话0755-88010549,传真0755-88010504,邮箱wanyc@sustech.edu.cn

    报到后

    1. 统一体检

    2. 军训延至寒假第一周(咨询:陈老师 0755-88010692)

    ',20),r=[a];function n(o,s){return e(),i("div",null,r)}const c=p(t,[["render",n],["__file","index.html.vue"]]);export{c as default}; diff --git a/assets/index.html-oM0igwOg.js b/assets/index.html-oM0igwOg.js new file mode 100644 index 000000000..647bd05f7 --- /dev/null +++ b/assets/index.html-oM0igwOg.js @@ -0,0 +1 @@ +import{_ as t,r as n,o as s,c as o,b as e,d as a,a as r,e as h}from"./app-9djxHuta.js";const d={},c=e("h1",{id:"📶选择一台合适的路由器",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#📶选择一台合适的路由器","aria-hidden":"true"},"#"),a(" 📶选择一台合适的路由器")],-1),l={href:"https://github.com/sparkcyf",target:"_blank",rel:"noopener noreferrer"},p={class:"custom-container tip"},_=e("p",{class:"custom-container-title"},"提示",-1),f={href:"https://www.acwifi.net/9985.html",target:"_blank",rel:"noopener noreferrer"},u=e("p",null,"本文写于2020年8月。",-1),I=h('

    我有需要购买路由器吗?

    除非你有如以下的需求,学校提供的网络服务一般来说已经够用了。

    • 居住于湖畔,并且办了电信的自费宽带。
    • 觉得学校提供的无线速率太慢(学校的路由器使用802.11ac 40Mhz频宽(2*2/3*3),最大单向传输速率约为450Mbps)。
    • 宿舍的无线信号覆盖较差。
    • 需要连接其他电子设备(如台式机,开发板,存储服务器等),或需要对局域网进行控制。
    • 使用了无DHCPv6功能的设备,但还想使用IPv6。

    Wi-Fi5还是Wi-Fi6?

    目前,苹果与安卓厂商的旗舰设备均已经支持Wi-Fi6(802.11ax),不少使用Intel网卡的新电脑也已经支持Wi-Fi6。相对Wi-Fi5(802.11ac),Wi-Fi6能能够带来显著的速度提升。

    随着一波新品WI-FI 6上市,那么问题来了:“廉颇老矣,尚能饭否”。一些老的WI-FI 5路由器还可以购买吗?我不知道,因为没对比过,最近玩廉颇老是输,才想起这个问题。但可以肯定的是同一台WI-FI 6路由器,用支持WI-FI 6的手机会比只支持WI-FI 5的手机在近、中、远的距离上速度都要快,再远就两者都没有信号了。

    但值得注意的是,除了Wi-Fi技术的版本,天线阵列数量和路由器支持的频宽也是选择路由器的重要因素。比如,支持160Mhz的Wi-Fi5路由器相比只支持80Mhz的Wi-Fi6路由器就能达到更高的理论带宽速度。

    同时,苹果目前发布的电脑所内置的网卡支持3*3天线,但不支持160Mhz和Wi-Fi6,若你使用苹果电脑,可以根据这一点选择合适的路由器。

    我应该重点关注什么?

    • 不要再买百兆/2.4G only的路由器了。请至少购买一个有千兆网口,支持双频的路由器(况且现在千兆双频的路由器也只要100不到)。

    • 关注路由器是否支持IPv6。教育网的一大优势就是IPv6所带来的资源和更加空闲的网络。你同是还应该关注路由器的相关设置中是否提供了IPv6防火墙的开关功能。

    • 能否刷机。由于电信的自费网络需要登陆,还会定时把你踢下线,在路由器上部署一个自动登录脚本是相当有必要的,但这就需要路由器能刷机,或者能够拿到路由器的控制权了。

    按照价格选择

    100元左右

    99元的水星D191G或D196G,3*3天线,配合3*3天线的网卡,实测最快传输速率可达700Mbps左右。支持IPv6,但无法控制IPv6防火墙。系统由于用的是vxWorks,刷机就不用想了。

    150左右的红米ac2100。3*3天线,支持160Mhz带宽,还可以刷机,在200元以内算是性价比最优的路由器了。

    200-400元

    200元左右的华为AX3/荣耀路由pro2,2*2天线。160Mhz的Wi-Fi6路由器,实测使用Intel的AX200网卡也可以跑到700Mbps左右(理论速率1.2Gbps)。支持IPv6,也有一些华为特色功能,也带USB口。但依旧没有IPv6防火墙设置。华为的路由器也不用想着刷机了。

    300元左右的小米AX1800。2*2天线,支持80Mhz,没有USB口。带外置功放,相比ax3信号会好一些。已经有人开出了ssh,支持刷机估计是迟早的事情。

    300元左右的小米AX3 Pro。相比AX3多了外置功放,但宿舍这么小的空间,没有的话问题也不太大。

    400元+

    600元左右的小米AX3600。4*4天线,支持160Mhz。参数上来看还是很不错的。也能开SSH,估计过段时间就能刷机了。

    我需要软路由吗?

    如果你需要进行有加解密运算的工作,那软路由还是有必要的。或者如果你只是把路由器当AP,而需要另一个计算设备处理路由相关的工作,那也可以考虑购置一个。

    ',22);function b(x,g){const i=n("ExternalLinkIcon");return s(),o("div",null,[c,e("p",null,[a("by "),e("a",l,[a("@sparkcyf"),r(i)])]),e("div",p,[_,e("p",null,[a("本文参考了acwifi.net的"),e("a",f,[a("相关文章"),r(i)]),a("。")]),u]),I])}const F=t(d,[["render",b],["__file","index.html.vue"]]);export{F as default}; diff --git a/assets/index.html-owNMPbyR.js b/assets/index.html-owNMPbyR.js new file mode 100644 index 000000000..0a94d5e55 --- /dev/null +++ b/assets/index.html-owNMPbyR.js @@ -0,0 +1 @@ +import{_ as o,r as t,o as n,c as i,b as e,d as s,a as r,e as d}from"./app-9djxHuta.js";const c="/assets/add1-AkpP_MP1.png",p="/assets/add2-48WTTQlO.png",h="/assets/add3-pPq4YNGb.png",l="/assets/ios-yMidMOnr.png",_="/assets/chrome-browser-desktop-2ZoGLkFF.png",m={},g=e("h1",{id:"❓站点帮助",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#❓站点帮助","aria-hidden":"true"},"#"),s(" ❓站点帮助")],-1),f=e("h2",{id:"添加南科手册到桌面",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#添加南科手册到桌面","aria-hidden":"true"},"#"),s(" 添加南科手册到桌面")],-1),x={href:"https://sspai.com/post/60928",target:"_blank",rel:"noopener noreferrer"},b={href:"https://web.dev/progressive-web-apps/",target:"_blank",rel:"noopener noreferrer"},u=d('

    Andoid

    以Chrome为例:

    三个点

    1. 点击右上角的三个点

    点击“添加到主屏幕”

    1. 点击“添加到主屏幕”

    点击“添加”

    1. 点击“添加”

    iOS

    在Safari中打开南科手册**(只有Safari可以添加)**

    添加到主屏幕

    按图示操作即可:点击图标-添加到主屏幕

    桌面设备(Windows/Mac OS X)

    以Chrome浏览器为例,Edge或是其他国产浏览器流程类似。

    添加按钮

    点击地址栏右侧的加号➕,点击安装即可添加到桌面。

    ',16);function k(w,v){const a=t("ExternalLinkIcon");return n(),i("div",null,[g,f,e("p",null,[s("南科手册支持"),e("a",x,[s("PWA"),r(a)]),e("a",b,[s("(Progressive Web App)"),r(a)]),s(",这意味着您可以将它添加到桌面,并作为一个本地应用使用。因此,在下载应用后,即使在网络不佳的环境下,您依然可以阅读南科手册上的内容。")]),u])}const P=o(m,[["render",k],["__file","index.html.vue"]]);export{P as default}; diff --git a/assets/index.html-pE2nqR1e.js b/assets/index.html-pE2nqR1e.js new file mode 100644 index 000000000..89f0b0bf0 --- /dev/null +++ b/assets/index.html-pE2nqR1e.js @@ -0,0 +1 @@ +import{_ as t,r,o as n,c as a,b as p,d as e,a as o,e as i}from"./app-9djxHuta.js";const c="/assets/2-Iv2ilUVn.jpeg",g="/assets/3-_OP0ErxB.jpeg",m="/assets/4-bpwjiTPR.jpeg",d="/assets/5-ORniMUH3.jpeg",h="/assets/6-IyBvI-Hj.jpeg",l="/assets/7-lalB6z06.jpeg",_="/assets/8-vfo3aBpN.jpeg",u={},f=p("h2",{id:"我应该怎样优雅就诊",tabindex:"-1"},[p("a",{class:"header-anchor",href:"#我应该怎样优雅就诊","aria-hidden":"true"},"#"),e(" 我应该怎样优雅就诊")],-1),x=p("div",{class:"custom-container warning"},[p("p",{class:"custom-container-title"},"默认转诊医院变更"),p("p",null,[e("学校的社区健康服务中心门诊转诊定点医疗机构已在2021年7月改为"),p("strong",null,"南方科技大学医院(西丽人民医院)"),e("。本文中的部分内容可能已经过时。")])],-1),b={href:"https://mp.weixin.qq.com/s/5DRQtc-UtGaLm-rzWMODPw",target:"_blank",rel:"noopener noreferrer"},j=i('

    南科新知 2019-08-29

    今天的推送有一点特殊——是校园大使和新知酱给大家讲一讲就诊那些事。

    刚刚入学的新生可能会印象深刻,在报到时需要的照片,除了之前的校园卡制卡工作需要,也会在你的社会保障卡和新居民身份证上出现(if you 选择迁户口)。

    今天,我们就来看看这个神秘的小卡片,到底应该怎么用。

    Step 1

    无论是感冒发烧,还是其他身体不适地症状,都要第一时间拿着社保卡(全称:“中华人民共和国社会保障卡”。没错就是下图酱紫的)前往校内社康中心挂号诊断!

    img

    注意事项

    1.社康中心的工作时间为

    工作日的8:30—17:00(中午不休息)

    联系电话为88010120

    如果在其他时间段出现不适急需就医可联系校内24小时住校医生,请拨打电话18218715551(答应小编,把这个号码存到通讯录好吗!!!)

    2.社保卡不是就诊必需,非紧急情况下建议大家一!定!拿!上!社!保!卡!(留下了贫穷的泪水)因为拿上社保卡就诊可以用社保报销很大一部分诊疗费,可以省下好多好多money!

    如果很幸运您的身体不适在社康中心就已经解决了,那么你可以直接跳到本文最后。

    但------是------,以下内容建议阅读并收藏。

    Step 2

    如果遇上社康中心医生未能解决的问题,这时候医生也就会为您办理转诊啦!简言之,就是转到其他医院,社康中心的医生会与你商量后帮你挂号(哪个时间段的哪个医生均由你们商量而定)。

    注意:每一个社康中心对应一个定点医院,南科大校内的社康中心对应的定点医院为南方科技大学医院(西丽人民医院)

    社康中心医生为您办理转诊后,你会拿到以下资料,接下来,你应该拿着社保卡+社康预约打印单+盖章后的转诊单(在社康中心收费处医生盖章)在指定时间前往转诊的医院啦!

    嘿嘿嘿,就是他们仨~~

    img

    欲知转诊后事,请听......

    小编接着啰嗦.....

    “健康的身体,

    永远是你拼命争取那无数个零前面的一。”

    Step 3

    时间安排:

    亲亲你好,小编这边建议在预约的就诊时间前提前半小时到达医院办相关手续排号比较合理。比如:我预约的就诊时间是14:30—15:00,那么我最好在14;:0到达医院,取号排队。别问为什么,问就是.....因为人真的很多,要等很久啊呜呜呜呜┭┮﹏┭┮

    交通:

    普通版:步行至塘朗站,乘坐5号线,在宝安中心转地铁1号线,在桃园站C口出,步行200m就到啦,费用6元。

    豪华版:一键(滴滴)打车,方便省事,就是费用多了那么一丢丢,大约50—60元。

    (1).到达后,请一键步行至门诊楼一楼大厅,找到下图自助办理机器,刷社保卡/身份证均可,然后取到下图的挂号指引单;

    (2).确认你所就诊科室的就诊地址,挂号指引单上面可能写的不清楚,建议在一楼大厅咨询处向工作人员咨询清楚在几楼。

    你看这个指引单它有bug(哼(¬︿̫̿¬☆))就诊地址都没写清楚!

    img

    Step 4

    就诊完毕,如果医生开出处方,那么你的南山医院一日游还没有结束!接着看下去吧!

    一、医生开出药房

    二、开检查项目(如拍X光、验血等)

    无论开出哪一种处方,都需要先缴费才能进入下一步噢,温馨提示到达下图所示自助缴费机缴费(支持微信和支付宝两种付款方式),因为人工收费处排队的人会很多(如果你只有现金支付的话那还是乖乖排队吧)。

    img

    img

    缴费完毕,会有下图所示的缴费凭条,那么此时,根据凭条上的信息,前往相应地点完成下一步即可!

    img

    温馨提示

    1.像是拍X光片一类的检查通常还会需要拿着凭条到相应科室排队然后等待叫号,所以一定要找准地方排好队然后静静地等待噢!

    2.药房窗口取药时医生会要求拿出医生开的处方那张单子,并且会在您取药后将处方收走,所以如有存档需要请提前拍照。

    3.拍X光片完成后医生一般会说要等1个小时才能拿结果(天呐,怎么可以这么久)。但是小编自己的经历是这样的:约16:00才拍完X光片,还要把结果拿给医生诊断,如果等一个小时之后拿结果医生都已经下班了呀!于是我来到我就诊时的地点,向分诊台的医生说明了情况,小姐姐超温柔地告诉我说等半小时后去找医生看看,医生或许已经可以在电脑上看到结果了。于是,我让小姐姐先帮我排号(复诊也需要排号)大概二十多分钟后,就到我了,我想医生说明了情况,医生在电脑上果然看到了结果然后给出了相应诊断、病历。

    今天想出这样一篇推送,是想告诉大家,离开父母的庇护,我们才更要好好的生活,学会看病,让自己更加健康阳光的面对未来!经验告诉我们,遇到问题别着急,多向人请教,一定有办法解决的耶~

    ------END------

    南科新知 学生新闻社

    校园大使

    文字 / 太阳豆豆 赵滢

    编辑 / 赵滢

    设计 / 新知酱

    审核 / 孙汇文 C姐姐

    版权

    © 南科新知,保留所有权利。

    ',58);function v(w,B){const s=r("ExternalLinkIcon");return n(),a("div",null,[f,x,p("p",null,[e("原文链接:"),p("a",b,[e("https://mp.weixin.qq.com/s/5DRQtc-UtGaLm-rzWMODPw"),o(s)])]),j])}const k=t(u,[["render",v],["__file","index.html.vue"]]);export{k as default}; diff --git a/assets/index.html-pLXdD7H2.js b/assets/index.html-pLXdD7H2.js new file mode 100644 index 000000000..1d8dc8806 --- /dev/null +++ b/assets/index.html-pLXdD7H2.js @@ -0,0 +1 @@ +import{_ as t,o as r,c as n,e as s}from"./app-9djxHuta.js";const o={},e=s('

    学号(SID)

    学号的含义

    例:一个典型的本科生学号12012345,共有八位:

    1: 第一位为身份,1代表学生,3代表雇员。

    20: 第二、三位为入学年份,20代表20年入学。

    1: 第四位为学生修学的学位,1代表本科生(不含国际生)。

    23: 第五、六位为班级编号,23代表这位同学在23行政班,不同的班级归属于不同的书院,所以可以从班级编号判断出书院。

    45: 第七、八为学生在班内的序号,45代表这位同学在班级内的序列号为45。(实际上一个行政班不会有这么多人)

    ',8),a=[e];function c(d,g){return r(),n("div",null,a)}const h=t(o,[["render",c],["__file","index.html.vue"]]);export{h as default}; diff --git a/assets/index.html-sNVbTfPX.js b/assets/index.html-sNVbTfPX.js new file mode 100644 index 000000000..c876e86ee --- /dev/null +++ b/assets/index.html-sNVbTfPX.js @@ -0,0 +1 @@ +import{_ as c}from"./22-23-spring-lUrMAlUU.js";import{_ as o,r as l,o as i,c as d,b as e,d as t,a,w as r,e as h}from"./app-9djxHuta.js";const u="/assets/2022-Cg5Yx66P.jpg",_={},m=e("h1",{id:"📅校历",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#📅校历","aria-hidden":"true"},"#"),t(" 📅校历")],-1),p={href:"https://www.sustech.edu.cn/zh/academic-calendar.html",target:"_blank",rel:"noopener noreferrer"},f=h('

    【当前学期】2023 春季学期

    历史校历(存档)

    ',4);function x(g,b){const s=l("ExternalLinkIcon"),n=l("RouterLink");return i(),d("div",null,[m,e("p",null,[e("a",p,[t("南科校历|南方科技大学"),a(s)])]),f,e("ul",null,[e("li",null,[a(n,{to:"/calendar/2022-2023.html"},{default:r(()=>[t("2022-2023 学年")]),_:1})]),e("li",null,[a(n,{to:"/calendar/2021-2022.html"},{default:r(()=>[t("2021-2022 学年")]),_:1})]),e("li",null,[a(n,{to:"/calendar/2020-2021.html"},{default:r(()=>[t("2020-2021 学年")]),_:1})]),e("li",null,[a(n,{to:"/calendar/2019-2020.html"},{default:r(()=>[t("2019-2020 学年")]),_:1})]),e("li",null,[a(n,{to:"/calendar/2018-2019.html"},{default:r(()=>[t("2018-2019 学年")]),_:1})])])])}const L=o(_,[["render",x],["__file","index.html.vue"]]);export{L as default}; diff --git a/assets/index.html-sQ7_nyCP.js b/assets/index.html-sQ7_nyCP.js new file mode 100644 index 000000000..9f8faa6f4 --- /dev/null +++ b/assets/index.html-sQ7_nyCP.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-2686552a","path":"/service/unifound/","title":"🖨️联创打印系统","lang":"zh-CN","frontmatter":{"sidebar":"auto"},"headers":[{"level":3,"title":"报障","slug":"报障","link":"#报障","children":[]},{"level":2,"title":"打印/复印一体机地点","slug":"打印-复印一体机地点","link":"#打印-复印一体机地点","children":[]},{"level":2,"title":"打印教程","slug":"打印教程","link":"#打印教程","children":[{"level":3,"title":"通过浏览器","slug":"通过浏览器","link":"#通过浏览器","children":[]},{"level":3,"title":"通过本地程序","slug":"通过本地程序","link":"#通过本地程序","children":[]}]},{"level":2,"title":"复印教程","slug":"复印教程","link":"#复印教程","children":[]},{"level":2,"title":"扫描教程","slug":"扫描教程","link":"#扫描教程","children":[{"level":3,"title":"理光 Ricoh 机型","slug":"理光-ricoh-机型","link":"#理光-ricoh-机型","children":[]},{"level":3,"title":"施乐 Xerox/佳能 Canon机型","slug":"施乐-xerox-佳能-canon机型","link":"#施乐-xerox-佳能-canon机型","children":[]},{"level":3,"title":"富士 Fujifilm机型","slug":"富士-fujifilm机型","link":"#富士-fujifilm机型","children":[]}]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"updatedTime":1648888562000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":5},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":5},{"name":"Neko Null","email":"jerrylu.mail@qq.com","commits":3},{"name":"JackyWangMislantiaJnirvana","email":"wmjwld@live.cn","commits":1}]},"filePathRelative":"service/unifound/README.md"}');export{l as data}; diff --git a/assets/index.html-u96FZBAJ.js b/assets/index.html-u96FZBAJ.js new file mode 100644 index 000000000..eeeb26c51 --- /dev/null +++ b/assets/index.html-u96FZBAJ.js @@ -0,0 +1 @@ +import{_ as n,r as t,o as h,c as d,b as e,d as i,a as l,e as r}from"./app-9djxHuta.js";const s={},o=r('

    🏥就医指南

    校内紧急情况

    请前往 应急处理页面

    默认转诊医院变更

    学校的社区健康服务中心门诊转诊定点医疗机构已在2021年7月改为南方科技大学医院(西丽人民医院)

    本文内容来自:

    ',4),c=e("li",null,"树德书院学长团",-1),u={href:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/emergency/%E5%BA%94%E6%80%A5%E6%89%8B%E5%86%8CEmergency_manual2020.pdf",target:"_blank",rel:"noopener noreferrer"},p={href:"https://mp.weixin.qq.com/s/AwAVmydO_JyGTN5BTh1ZMg",target:"_blank",rel:"noopener noreferrer"},_=e("li",null,"南科手册编辑部",-1),f=r('

    报销/缴费

    学生均为二档医保,签订劳务合同(缴纳五险一金)的研究助理等职工为一档医保。

    学生基本医保需要注意的事项或限制:

    1. 缴费周期:当年 9 月 1 日至次年 8 月 31 日,一般秋季学期初于学校缴费系统上进行缴费。
    2. 报销周期:当年 7 月 1 日至次年 6 月 30 日,统筹基金支付总额最高不得超过 1000 元。
    3. 基本医疗保险二档、三档参保人,应当选定本市一家社康中心作为门诊就医的定点医疗机构。参保人可变更所选定的社康中心或其他定点医疗机构,自变更生效次月起在变更后的社康中心或定点医疗机构门诊就医。
    4. 补充保险:深圳市重特大疾病补充医疗保险,大约是春季学期缴费。

    查询医保消费

    1. 微信 - 我的医保凭证(小程序) - 消费明细
    2. 支付宝 - 医保电子凭证 - 支出明细

    挂号

    1. 健康160 网站或公众号
    2. 支付宝的便民生活的医疗健康功能
    3. 微信各医院的小程序

    在校生常用就诊地点

    医院等级从高到低:三级甲等 > 三级医院 > 二级甲等 > ...

    南科大社康中心

    • 地址:南科大风雨操场旁

    • 推荐路线:步行/乘坐校巴

    • 简介:小病小伤都可以去学校社康中心治疗,办理医保卡后,买药看病很便宜,但是有可能有时医疗资源不足,此时可以在社康中心开局转诊单,去其他地方就医。另外,闲暇时间同学们可以去社康拔个火罐、贴三伏贴。

    大学城社康中心

    • 地址:深圳市南山区塘兴路77号

    福光社康中心

    • 深圳市南山区桃源街道留仙路1998号崇文花园5A栋临街铺1-2层

    南方科技大学医院(西丽人民医院) 三级医院

    • 南科大社康 默认 转诊医院,2019年由二级甲等升级为三级医院
    • 地址:深圳市南山区西丽留仙大道6019号

    深圳大学总医院 三级甲等

    • 地址:深圳市西丽大学城学苑大道1098号

    华中科技大学协和深圳医院(南山区人民医院) 三级甲等

    • 地址:深圳市南山区桃园路89号
    • 简介:南山区老牌三甲医院,又叫深圳市第六人民医院。

    Tips

    1. 医保卡是能在直属医院看门诊急诊报销交钱时直接优惠,但其他医院只能看急诊报销且这样的报销不是交钱的时候直接优惠,还要后期自己去报销(具体流程可以咨询校社康中心)。
    2. 我校医保卡直属医院默认为学校社康中心和西丽医院。但是可以根据自身情况更改绑定在其他医院和对应社康中心。
    3. 如果是大病住院了那么哪个医院都是可以用医保卡报销的。
    4. 离学校最近的医院是深大总医院,属于三甲医院。
    5. 小病小伤都可以去学校社康中心,办理医保卡后,买药看病都不会很贵,但是有可能有时医疗资源不足,此时可以在社康中心开局转诊单,去其他地方就医。
    6. 可以步行,或乘坐74、43、81、M369、M459等路公交车到达塘朗村(塘朗村口或塘朗派出所站)的 大学城社康中心 就医,价格不高,挂号费15元,医疗设备目前多于学校社康中心。
    7. 紧急情况(遇见蛇等)也可以在信息交流群(286147538)等QQ群联系校内安保人员和物业服务人员以及应急救援队队员。
    8. 一般常见药是可以在学校社康中心买到的,办理社保卡后,价格会很便宜(参考数据为:甲类药品和乙类药品,分别由社区门诊统筹基金按80%和60%的比例支付)
    9. 另外常见外伤处理用品可以直接从书院办公室等处借用急救包。
    ',24);function m(x,g){const a=t("ExternalLinkIcon");return h(),d("div",null,[o,e("ul",null,[c,e("li",null,[i("南科大应急救援队应急手册·附录D "),e("a",u,[i("手册链接(点此)"),l(a)])]),e("li",null,[i("深圳医保公众号文章"),e("a",p,[i("《我为群众办实事 | 一二三档看门诊能报销多少?果断收藏!》"),l(a)])]),_]),f])}const E=n(s,[["render",m],["__file","index.html.vue"]]);export{E as default}; diff --git a/assets/index.html-v5KoFdH8.js b/assets/index.html-v5KoFdH8.js new file mode 100644 index 000000000..485e9cfc7 --- /dev/null +++ b/assets/index.html-v5KoFdH8.js @@ -0,0 +1 @@ +import{_ as h,r as n,o as t,c as d,b as e,d as a,a as p,e as i}from"./app-9djxHuta.js";const s={},c=i('

    袁长庚老师为新生推荐的书单(2018)

    作为一名理工科大学里的文科教师,常被要求“推荐几本好书”。在一个资讯如此发达,资源获取成本如此低廉的时代,我理解上述要求之中隐含着一种信任。但有时又不确信,这种所谓信任是否只是客套甚或懒惰的表现。回想过往两年间,我几乎没有说服任何一名同学培养起阅读的习惯(很多同学爱读书,源于家庭或基础教育阶段的培养,与我无关),甚至愈发没有底气去阐述阅读的意义和必要性。去年秋季认认真真给同学们推荐的书,不知多少人已读完。(念及此,我仍旧怀念一个叫做“麒麟书吧”的地方。当年的蔡店长认真地把书单中的作品都调来,摆在专门的架上,秋冬春夏,走了完整的一个轮回)也罢,正是因为这样无期许、非功利,事情反倒单纯起来。2018年秋季没有开课,仍然列几本书,算是对“工作量”缺失的小小弥补。

    今年书单的核心理念是“品性与修养”,或更直白一点说,是“如何在一个变幻不居的时代有所持守”。不消说,这样的立意就已经决定了书单本身与开列者自己的价值观念深切纠缠。但是,与其板起面孔装作客观公正,作为一个人文学者,我更愿意在起初就亮明底线、原则和取舍。我们所处的时代,已经经不起和稀泥、打圆场,而高等教育本身的理想中本就包含着人生观、世界观、价值观的引导。在我们被移动终端和信息巨流所裹挟的生活里,知识和技能的积累不难,但心境和操守的锻铸却不易。

    以下罗列作品,都是我曾经读过甚至至今还常常重读的作品。我有意识地放进一些大家写的“小书”。所谓“小”者,只是规模的精致,绝不意味视野的短浅或品味的狭促。相反,在有限的空间内,在高度剪裁的材料中,往往能见真正高远的见识。与去年相似,书单中仍就有九本书,以每天30-50页的阅读量计算,大约一个学期便可读完。

    封面

    《镜子:照出你看不见的世界史》,爱德华多·加莱亚诺著,广西师范大学出版社2012年

    没有哪本著作比《拉丁美洲被切开的血管》更深刻地写出了南美大陆在过往四百年间所遭受的苦难,在战火横飞、独裁当道的年月里,人们把它和婴儿的襁褓一起带在身上,不舍得丢弃。这本杰作的作者正是乌拉圭记者爱德华多·加莱亚诺。作为第三世界公共知识分子的典范,加莱亚诺一直保持着敏锐的批判视角,对不公正的世界体系强加给同胞的痛苦充满愤懑。

    市面上关于世界史的书籍近年来汗牛充栋,这其中隐含着大国崛起后的中国人对自我认同的某种焦虑。我们对全球历史的追问,根源上恐怕还在“中国-世界”两极之间所产生的张力。恰因如此,公正的历史观念比事件罗列、逸闻勾沉更为重要。克罗齐有言,“一切历史都是当代史”,历史的阐释终究会进入我们当下所思所感,并生产出想象未来的蓝图。加莱亚诺的这本书,展示的是成王败寇的正统历史书写的背面,保护的是二十世纪解放思潮的历史遗产。推荐它,是想让大家仍然能保有朴素的正义感和对人类命运休戚与共的认知立场。

    《万历十五年》,黄仁宇著,中华书局2006年

    自1982年被译介至中国大陆以来,此书在数十年间究竟被多少人读过爱过,难以统计。黄仁宇先生早年是南开的学生,抗战时期做过远征军的上尉参谋,后来在密歇根大学念了历史学的博士。他是心怀“大历史”观念的最后一代学人。与今日条块分明,高度专业化的专业史学研究不同,其所关心的是如何从整体上理解中国近代以来的变迁。前几年《明朝那些事儿》风靡一时,里面讲我们当代中国人就某种意义而言仍然生活在明朝的漫长投影之中。这种将明代视作广义之“近代”起点的史观,同样是黄先生本书的题眼。

    大家并非专业史学研究者,若想实现“读史使人明智”,重要的即在于把握历史兴衰的宏观脉络和复杂机理,而不是沉迷于野史逸闻的无聊谈资。就这一点而言,市面上流行的不少史书,其实不读也罢。推荐黄先生,推荐的是一种视野和情怀,一种恳切的、饱含情感的进入历史的方式。除本书之外,黄仁宇另有《中国大历史》、《赫逊河畔谈中国历史》,都值得一阅。

    《笑谈大先生》,陈丹青著,广西师范大学出版社2011年

    “古怕文言文,今怕周树人”,在中国大陆接受过初级教育的人对此恐怕多有会心一笑。主管部门颇有默契地连年削减着鲁迅在课本中的分量,大多数人在走出校门(确切说来是不再上语文课)之后就再也没读过他的作品。但与此同时,鲁迅的思想和艺术遗产,随着我们所处世界不断涌现出的明暗风波,在全世界范围内被不断地保护和珍视。

    在强制性教育结束之后因缘际会地发现了鲁迅的诸多面向,是我在过往十多年读书生涯中最感庆幸的经历。我始终认为,鲁迅是一个永恒的、可以不断返回并从中汲取养分,且时时让人感到亲切的朋友。作为当代中国最为重要的艺术家之一,陈丹青的解读不同于多数刻板晦涩的学院作品。以艺术为枢纽,以性情为门径,他引领我们直抵“文学家、思想家、革命家”背后血肉丰满的鲁迅世界。

    《当呼吸化为空气》,保罗·卡拉尼什著,浙江文艺出版社2016年

    保罗·卡拉尼什是从文学转入生物学的奇才,是耶鲁大学医学院成绩优异的博士生,是斯坦福医院冉冉升起的学术新星,也是一名罕见的在36岁之前便罹患肺癌的患者。这本书是他生命的绝响。在其中你读不到一段精彩人生戛然而止的不甘或怨恨,甚至读不到丝毫的牢骚。面对命运巨大的不公,作者仍然细致而温柔地回溯自己的一生。你甚至会惊讶于一个短暂的生命中所包容的浩瀚。肺癌所造成的躯体上的痛苦毋庸赘言,每念及此,书页中字里行间的恬淡、从容就愈发让人唏嘘。

    时至今日,死亡仍旧是所有生命都将迎来的终极命运。我在“理解死亡”的课上曾经希望同学们从这本书里明白一个道理:无论在未来我们将迎来何种辉煌,生命仍然会在终点宣判无可逃避的“失败”。德国哲学家海德格尔说,只有“向死而生”,我们才能真正获得对自身存在的凝视。同学们青春年少,死亡遥远而模糊。不过,生死相依,脱离了对“死亡”的认识,眼下活着的意义就难以得到彻底的澄清。保罗的书是一扇窗,从中我们可以看见,死亡之景也可以明亮。

    《小王子的领悟》,周保松著,上海三联书店2018年

    圣埃克苏佩里的《小王子》是历久不衰的成人童话,也是香港中文大学政治学教授周保松的最爱。这本书是周先生对《小王子》的领悟,至真至切,促人深省。我在中大读书时,参加过周教授的讲座、沙龙,旁听过他开设的课程。有时下午饿了,匆匆跑到联合书院的饭堂里找吃的,看见他被学生们簇拥着,有说有笑。在森严的学术体系内,他愿意并且不辞辛劳地做一个优秀的“教师”,坚守中文大学六十年来关切国族命运世道人心的传统。

    《小王子》的核心在连接万物之爱,它以童话的形式揭示了人类之“爱”的哲学(甚至神学)品质。爱是跨越一切界线,是激进地将自我投诸于他人的生命之中。这本《领悟》既有对原书文本的剖析,也有在此之上对当代人类生存处境的微言大义。它可贵地体现了一个中年知识分子,在纷扰世事、无聊士林的压抑之下,仍对一本童话、一众学生、一个时代保持着孩童般的热情。

    《梵高传》,史蒂芬·奈菲、格雷高里·怀特·史密斯著,译林出版社2015年版

    说梵高是现代艺术的图腾应不为过,鸢尾花、向日葵印成日历牌、冰箱贴,卖到满世界。与同辈巨匠相比,梵高在深邃的美学之上覆盖了一层热烈而让人亲近的明亮。贩夫走卒,都可以爱梵高,爱他绚丽的黄、欣喜的蓝,丰饶的紫,爱他的世界有一种美好的直白。

    百年来,那么多人爱读梵高的传记。他落魄惨淡的一生,没有留下任何妥协、变节、逢迎、逃脱的空间。他的纯粹源于空乏其身的命运捉弄,而造化也终究成全了他一尘不染的纯净心灵。有一年国外剧集中让这个割掉耳朵的男人死而复生,亲临二十一世纪的博物馆,看自己的作品前孩子们静静临摹,情侣们合影留念,泪流满面。风格迭代,大师星移,但艺术的本质仍在于将我们带向某些不可言说的永恒之地。

    《月亮和六便士》,毛姆著,上海译文出版社2016年版(译者傅惟慈)

    这本书太有名,以至于把它放进书单,已经有落俗套之嫌。更有甚者,以今日眼光审视,一个中年男人抛家舍业追求艺术这类虚幻梦想,可谓渣男。但假若要勉强为之辩护,我不会抬出原型保罗·高更的艺术成就作虎皮。作为芸芸众生,我们都不免在一生中的某些节点胆怯认怂,“算了算了,就听我爸的去读个金融,好歹挣钱多”。但曾有的异想天开哪会轻易熄火?无数万籁俱寂的午夜,扪心问“要是当初如何如何,现在又该如何如何”。感谢毛姆,把全人类的不甘心交给一个爱艺术的混蛋。我们恨他、骂他,也爱他。

    年齿徒增,我愈加宽容和理解书里那位思特里克兰德。曾经听过的歌、爱过的画、为之哭过笑过的电影戏剧,都是庸庸日常之中为一道逃逸的出口。有时向远方,有时向故乡。在一个工业文明早已深入骨髓、价值理性无可撼动的年代,艺术仍然是重要的,仍然撄人心魄,像苍茫大海上浮起塞壬的歌。

    《他们说,我是幸运的》,艾丽斯·西伯德著,北京联合出版公司2016年版

    大洋彼岸的#me too风潮终于席卷此岸,不少国人急匆匆地哀叹“网络暴力”,痛斥“政治正确”。似乎千万女性成长经历中难于启齿、刻骨铭心的伤,揭开来还必须温良恭俭、小心翼翼。

    艾丽斯·西伯德是美国著名小说家雷蒙德·卡佛的学生,也是一名性侵犯的受害者。与大多数有类似经历的人不同,她凭借出色的文学天赋,以细腻而又隐忍的笔法将伤口揭开,走向新生。这是一本注定使人感到不快的书。但凭借他人的叙述而进入人类苦难世界,恰是阅读自身无可取代的价值之一。知悉苦痛并非为了把玩他人的隐私,而是不断确信某些人道价值的意义。构建一个性别平等、两性友善的社会,关乎我们每一个人的福祉,而这一切在中国的实现仍旧有赖于同学们这一代新人的自觉和努力。

    (西伯德还有一本同样关注性暴力的小说《可爱的骨头》,探讨了更为深邃的生死问题,同样值得一读。)

    《大背叛:科学中的欺诈》,霍勒斯·贾德森著,三联书店2018年版

    沸沸扬扬的“韩春雨事件”终以一纸“未发现主观造假”的调查结论作结。对中国科学界而言,这种遮掩再一次暴露了规范缺失、监管不力以及尚未形成行业自律所孳生的病灶。以追求客观真理为己任的科学,从不是悬浮在真空之中,它同样嵌入于特定的价值体系与文化观念。

    不幸的是,科学的进步史几乎同样是一部充满欺诈和虚伪的历史。对研究人员而言,需要与之斗争的并不仅仅是一个个智识上的挑战、手段上的局限,还有人类自身的贪欲和缺憾。科学研究者早就不再是青灯黄卷深藏于简陋实验室里的隐者,他们同样面对着世俗意义上的名利诱惑。因此,在学术生涯的起步阶段就建立起牢固的自省意识,从每一份作业每一篇报告做起,不存侥幸之心,不越雷池一步,对各位同学而言是关乎未来之路的必修功课。希望这部充斥着荒诞的历史,能作为大家修身之镜鉴。

    本书属于三联书店“新知文库”的一种,这套丛书大都引介自西方世界流行科普畅销书,今年夏天刚刚满100种,尤其适合大学生阅读。

    以上推荐与所谓“权威”无关,它只是一个长期以读写为生的普通教师的一份邀请。我很庆幸自己出生并成长于前数字时代,在我漫长而孤独的青春期,阅读让我延展了有限的生命。我希望自己曾见识的风景,也能让后来者领略。每一本书都有其品格和灵魂,每一本书与我们的相遇因而也就有万般幻化可能。你爱上某一本书的时刻,也就是你爱上接下来无数本书的时刻。祝愿大家从阅读中得欢喜宁静。

    ',35),o={href:"http://faculty.sustech.edu.cn/yuancg/",target:"_blank",rel:"noopener noreferrer"};function l(u,f){const r=n("ExternalLinkIcon");return t(),d("div",null,[c,e("p",null,[e("em",null,[a("Copyright: "),e("a",o,[a("袁长庚"),p(r)]),a(", All rights reserved.")])])])}const x=h(s,[["render",l],["__file","index.html.vue"]]);export{x as default}; diff --git a/assets/index.html-vWTAuN_G.js b/assets/index.html-vWTAuN_G.js new file mode 100644 index 000000000..de4b8d7ef --- /dev/null +++ b/assets/index.html-vWTAuN_G.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-780207b9","path":"/if-you-are-a-freshman/","title":"如果你是新生...","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"到校之前,你可以","slug":"到校之前-你可以","link":"#到校之前-你可以","children":[{"level":3,"title":"加入新生群","slug":"加入新生群","link":"#加入新生群","children":[]},{"level":3,"title":"云游南科大的校园","slug":"云游南科大的校园","link":"#云游南科大的校园","children":[]},{"level":3,"title":"关注几个公众号","slug":"关注几个公众号","link":"#关注几个公众号","children":[]},{"level":3,"title":"了解课程与培养方案","slug":"了解课程与培养方案","link":"#了解课程与培养方案","children":[]},{"level":3,"title":"读一读来自学长学姐的建议","slug":"读一读来自学长学姐的建议","link":"#读一读来自学长学姐的建议","children":[]},{"level":3,"title":"或者是南科大网红老师推荐的书单?","slug":"或者是南科大网红老师推荐的书单","link":"#或者是南科大网红老师推荐的书单","children":[]},{"level":3,"title":"再来看看有没有你感兴趣的社团","slug":"再来看看有没有你感兴趣的社团","link":"#再来看看有没有你感兴趣的社团","children":[]},{"level":3,"title":"当然,衣食住行也相当重要","slug":"当然-衣食住行也相当重要","link":"#当然-衣食住行也相当重要","children":[]},{"level":3,"title":"要是我提早到了深圳...","slug":"要是我提早到了深圳","link":"#要是我提早到了深圳","children":[]}]},{"level":2,"title":"到校之后,你可以...","slug":"到校之后-你可以","link":"#到校之后-你可以","children":[]},{"level":2,"title":"最后...","slug":"最后","link":"#最后","children":[]}],"git":{"updatedTime":1649130118000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":4},{"name":"liziwl","email":"leezisy@gmail.com","commits":2}]},"filePathRelative":"if-you-are-a-freshman/README.md"}');export{l as data}; diff --git a/assets/index.html-vmDdD7Sn.js b/assets/index.html-vmDdD7Sn.js new file mode 100644 index 000000000..5ca019b80 --- /dev/null +++ b/assets/index.html-vmDdD7Sn.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-96536bf0","path":"/contact/","title":"📇黄页","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"电话与邮件","slug":"电话与邮件","link":"#电话与邮件","children":[{"level":3,"title":"教学","slug":"教学","link":"#教学","children":[]},{"level":3,"title":"物流、餐饮、康体、后勤","slug":"物流、餐饮、康体、后勤","link":"#物流、餐饮、康体、后勤","children":[]},{"level":3,"title":"医疗与安全","slug":"医疗与安全","link":"#医疗与安全","children":[]},{"level":3,"title":"心理成长","slug":"心理成长","link":"#心理成长","children":[]},{"level":3,"title":"行政","slug":"行政","link":"#行政","children":[]},{"level":3,"title":"更多官方部门的联系方式","slug":"更多官方部门的联系方式","link":"#更多官方部门的联系方式","children":[]}]},{"level":2,"title":"邮政与快递地址","slug":"邮政与快递地址","link":"#邮政与快递地址","children":[{"level":3,"title":"邮政地址","slug":"邮政地址","link":"#邮政地址","children":[]},{"level":3,"title":"快递地址","slug":"快递地址","link":"#快递地址","children":[]}]},{"level":2,"title":"报销抬头","slug":"报销抬头","link":"#报销抬头","children":[]},{"level":2,"title":"常用Q群","slug":"常用q群","link":"#常用q群","children":[{"level":3,"title":"必备","slug":"必备","link":"#必备","children":[]},{"level":3,"title":"餐饮、住宿","slug":"餐饮、住宿","link":"#餐饮、住宿","children":[]},{"level":3,"title":"交易","slug":"交易","link":"#交易","children":[]},{"level":3,"title":"游戏","slug":"游戏","link":"#游戏","children":[]},{"level":3,"title":"其他","slug":"其他","link":"#其他","children":[]},{"level":3,"title":"美食外卖","slug":"美食外卖","link":"#美食外卖","children":[]}]}],"git":{"updatedTime":1683536160000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":11},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":10},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":4},{"name":"Da Hao","email":"v@daidahao.me","commits":1},{"name":"Fros1er","email":"34234343+Fros1er@users.noreply.github.com","commits":1},{"name":"Neko Null","email":"11712709@mail.sustc.edu.cn","commits":1},{"name":"Ruan","email":"47767371+Ryyyc@users.noreply.github.com","commits":1}]},"filePathRelative":"contact/README.md"}');export{l as data}; diff --git a/assets/index.html-yGX37ofd.js b/assets/index.html-yGX37ofd.js new file mode 100644 index 000000000..f5d1f7f00 --- /dev/null +++ b/assets/index.html-yGX37ofd.js @@ -0,0 +1 @@ +import{_ as t,r as s,o as h,c as o,b as e,d as a,a as n,e as d}from"./app-9djxHuta.js";const i={},c=e("h1",{id:"更新日志",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#更新日志","aria-hidden":"true"},"#"),a(" 更新日志")],-1),_=e("h2",{id:"_2021-02-21",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_2021-02-21","aria-hidden":"true"},"#"),a(" 2021-02-21")],-1),l={href:"https://bus.sustcra.com/new/?utm_source=sustech.online",target:"_blank",rel:"noopener noreferrer"},u=e("h2",{id:"_2021-01-31",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_2021-01-31","aria-hidden":"true"},"#"),a(" 2021-01-31")],-1),p={href:"https://sustech.online/service/student-train-ticket/",target:"_blank",rel:"noopener noreferrer"},f=e("h2",{id:"_2021-01-25",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_2021-01-25","aria-hidden":"true"},"#"),a(" 2021-01-25")],-1),x={href:"https://sustech.online/service/email/",target:"_blank",rel:"noopener noreferrer"},b=e("p",null,"修改更新日志的显示方式。",-1),m=e("h2",{id:"_2021-01-23",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_2021-01-23","aria-hidden":"true"},"#"),a(" 2021-01-23")],-1),k={href:"https://sustech.online/emergency",target:"_blank",rel:"noopener noreferrer"},g=d('

    2021-01-04

    更新校历

    2020-12-26

    更新巴士站点图,工学院站投入运营

    2020-12-24

    选课参考列表更新

    2020-12-23

    加入CRA下载站链接

    ',8);function v(N,V){const r=s("ExternalLinkIcon");return h(),o("div",null,[c,_,e("p",null,[a("更新"),e("a",l,[a("校园巴士实时位置网址"),n(r)]),a("。")]),u,e("p",null,[a("添加“"),e("a",p,[a("火车票学生优惠使用指南"),n(r)]),a("”的页面。")]),f,e("p",null,[a("添加"),e("a",x,[a("申请邮箱别名"),n(r)]),a("的方法。")]),b,m,e("p",null,[a("添加“"),e("a",k,[a("应急处理"),n(r)]),a("”页面。")]),g])}const E=t(i,[["render",v],["__file","index.html.vue"]]);export{E as default}; diff --git a/assets/index.html-yZC2JzRa.js b/assets/index.html-yZC2JzRa.js new file mode 100644 index 000000000..f332dc38f --- /dev/null +++ b/assets/index.html-yZC2JzRa.js @@ -0,0 +1 @@ +import{_ as t,r,o as d,c as o,b as e,a as n,d as a,e as s}from"./app-9djxHuta.js";const i="/assets/preview-xiaomo-maxT7qbt.jpg",_={},f=s('

    蓢村拾遗:南科大冷知识2021

    以下文章来源于 StudioGloire,作者 馮小漠。

    Snipaste_2021-07-11_22-27-10

    封面图/2019年,九华精舍改名为九华苑

    【1】九山一水、校猫与校树

    ',5),h={href:"http://mp.weixin.qq.com/s?__biz=MzAxOTE5NDAzOQ==&mid=2653489291&idx=1&sn=a23a072188048ea1c35ef528f46c8daf&chksm=80176153b760e8454a621a19797f2de861ba78c00268181590a509ab67bbe2ab696e2f336198&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},b=e("strong",null,"南科大“九山社”小记与“九山一水”小史",-1),l={href:"http://mp.weixin.qq.com/s?__biz=MzAxNzE1ODQ1NQ==&mid=400581115&idx=1&sn=e0df59ab549d24b3c15055f8a0543f0a&chksm=09fd19a33e8a90b5f4c32ca1c2b42f3eab29ef4800d3a5a9729fc79cdb573e8c3d11853440b3&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},p=e("strong",null,"榴莲传",-1),m={href:"http://mp.weixin.qq.com/s?__biz=MzI5NTc5OTc0MA==&mid=2247484288&idx=1&sn=c42319d6d36ba3c844f5af60b81857c2&chksm=ec4f5d53db38d445205bbc7e74b00438b53ecaf0398a621ded2a8bceb49cf43ab3e54b184bd5&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},x=e("strong",null,"南科大的荔枝",-1),u=e("h2",{id:"【2】校名题词",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#【2】校名题词","aria-hidden":"true"},"#"),a(" 【2】校名题词")],-1),w={href:"http://mp.weixin.qq.com/s?__biz=MzAxOTE5NDAzOQ==&mid=2653488820&idx=1&sn=214888dd0483ce16b99c01cdfc9563b6&chksm=80176f6cb760e67a63127687d2c77356e9806c480f89e825981335247acac6a06706209ff8c8&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},q=e("strong",null,"南方科技大学校名题词浅考",-1),z={href:"http://mp.weixin.qq.com/s?__biz=MzAxOTE5NDAzOQ==&mid=2653489406&idx=1&sn=0c25a5ab2e28e4dcaf32792827caba32&chksm=80176126b760e830d0338c2894bdfddf2fa7cb0eacf965946119e97891973b081d177ba7284a&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},g=e("strong",null,"南方科技大学校名题词续考",-1),k={href:"https://mp.weixin.qq.com/s/ZXfr33Y5W-yBHsNwp-ELbw",target:"_blank",rel:"noopener noreferrer"},M=e("strong",null,"南科大校名题词补记:关于韩美林先生题校名",-1),N=e("h2",{id:"【3】消失的村委楼",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#【3】消失的村委楼","aria-hidden":"true"},"#"),a(" 【3】消失的村委楼")],-1),D={href:"http://mp.weixin.qq.com/s?__biz=MzAxOTE5NDAzOQ==&mid=2653488701&idx=1&sn=55295d61f2060934b3f5d044d6afef2e&chksm=80176fe5b760e6f3f3ff03067dd40f4c838c370ccad6020f8df3590b7bbf874b901425bcaa61&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},A=e("strong",null,"冯小漠:村委楼是离我们最近的乡愁",-1),O={href:"http://mp.weixin.qq.com/s?__biz=MzI5MDUwODc5Nw==&mid=2247483797&idx=1&sn=236046b8353d20d8b134f79aa855c0ed&chksm=ec1f9b07db681211657973b41a430aca646ca119e713f19e0951c0e3a533f7437f9259152c96&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},Q=e("strong",null,"村委楼探险记",-1),U={href:"http://mp.weixin.qq.com/s?__biz=MzU3ODAwNDA1MQ==&mid=2247485564&idx=1&sn=64bbffd15da4729d1a66136477d1f587&chksm=fd7abd40ca0d3456c8023ee035c9a11018419437d471bd6602dbcf43542e55f99c46da58975d&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},T=e("strong",null,"张家瑜消失的两小时",-1),E=e("h2",{id:"【4】世界级榜单与屏幕",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#【4】世界级榜单与屏幕","aria-hidden":"true"},"#"),a(" 【4】世界级榜单与屏幕")],-1),I={href:"http://mp.weixin.qq.com/s?__biz=MzU3ODAwNDA1MQ==&mid=2247483989&idx=1&sn=b53c03e1574e3e2530df8973a3185ef6&chksm=fd7ab769ca0d3e7fe3601e8cd7c4c969ee9b2ccbd694a00f8c818310200ceac53f9fcf4b01ac&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},j=e("strong",null,"解读2017克巴博高校排行榜:南科大、上海纽约异军突起,意味着什么?",-1),v={href:"http://mp.weixin.qq.com/s?__biz=MzU2ODkzNjczNw==&mid=2247486318&idx=1&sn=984e13ecf6515c59273c3e28f09ca99a&chksm=fc871b20cbf092368551a38bf25704873984e4bb3d20f8cee1a07a226f757241cd72cf36d95b&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},B=e("strong",null,"新益求新 | 校友在埃及金字塔点亮国际屏幕!",-1),V={href:"http://mp.weixin.qq.com/s?__biz=MzU1NDUzMTM0NQ==&mid=2247484169&idx=1&sn=b051ea541ec8181778d1c0db80dc7a32&chksm=fbe36c77cc94e561ccf15e62a87caa73c5e5f5238ef455fcd345a8206952b9170f774a7c8598&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},L=e("strong",null,"全。。。大陸第八 文化衫 正式上市!",-1),S=e("h2",{id:"【5】九华与琳恩",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#【5】九华与琳恩","aria-hidden":"true"},"#"),a(" 【5】九华与琳恩")],-1),C={href:"http://mp.weixin.qq.com/s?__biz=MzU3ODAwNDA1MQ==&mid=2247485318&idx=1&sn=683c1b30d6f291eeafe485872017615f&chksm=fd7ab2baca0d3bac3b90c62d6237e1edebdfe83afa4c03d132606c69c1b35f66200950d4a115&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},W=e("strong",null,"九华精舍究竟有几幢楼?",-1),Z={href:"http://mp.weixin.qq.com/s?__biz=MzU3ODAwNDA1MQ==&mid=2247485307&idx=1&sn=1b2848ab8c7fa0b418073bd43fc2a222&chksm=fd7ab247ca0d3b518492058340a330400a0408be6334cedc3ac7d68f9a819a19b24774f0215d&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},y=e("strong",null,"我们发现了南科大琳恩图书馆的一个“小秘密”",-1),F={href:"http://mp.weixin.qq.com/s?__biz=MjM5NDg5ODc2Nw==&mid=2654371742&idx=1&sn=fab847f73732482acd6095f63dd666b6&chksm=bd4269be8a35e0a84fa959b6f436d9a59ab579d99b687d5aba8cdd6d9071f75cedc9fabbdefa&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},G=e("strong",null,"“天雨流芳”的第三层含义",-1),H=e("h2",{id:"【6】豪华厕所与独立卫浴",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#【6】豪华厕所与独立卫浴","aria-hidden":"true"},"#"),a(" 【6】豪华厕所与独立卫浴")],-1),P={href:"http://mp.weixin.qq.com/s?__biz=MzU1NDUzMTM0NQ==&mid=2247483739&idx=1&sn=629b47d8e8e585934632599034e515a3&chksm=fbe36e25cc94e733d70b2ee79df2e559925768eb4e71a4c0880725e5aa06866112dfbccd33a5&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},R=e("strong",null,"数据之外——探讨校园问题",-1),X={href:"http://mp.weixin.qq.com/s?__biz=MzUxMTU2MzMzOQ==&mid=2247483658&idx=1&sn=b422538e32db2a4b4c01e49cad294a3a&chksm=f970822ece070b38e4813e1cad1734c675d04b26e86473f9c13d26b1d0e10ecbfc4abdac5f40&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},Y=e("strong",null,"豪华厕所=贪图享乐?所长:一派胡言!",-1),J={href:"http://mp.weixin.qq.com/s?__biz=MzI5MDUwODc5Nw==&mid=2247483841&idx=1&sn=8915f278ca357f8aef35d51e72fe5a49&chksm=ec1f9b53db6812451d94c52a8fede3f89c7440373a8c38794165aef6181d7fa3f60046f0775e&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},K=e("strong",null,"种拔大学二期工程本、硕、博宿舍实地考察推文",-1),$={href:"http://mp.weixin.qq.com/s?__biz=MzAxOTE5NDAzOQ==&mid=2653490469&idx=1&sn=0d7bc02c159d258b55e959f56e221a7c&chksm=801764fdb760edeb7080e4896d27176a27fcb6ba2bd1de764c0eebea348f90af6fe8db9a8c58&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},ee=e("strong",null,"谈独立卫浴",-1),ce=e("h2",{id:"【7】学生状况调查",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#【7】学生状况调查","aria-hidden":"true"},"#"),a(" 【7】学生状况调查")],-1),ne={href:"http://mp.weixin.qq.com/s?__biz=MzU3ODAwNDA1MQ==&mid=2247484030&idx=1&sn=05a672dec13f37437e2e31b90727d65b&chksm=fd7ab742ca0d3e54a8502bf9a78bd818b056bebc8937807ce87d4c9d063525ca81a667d76b4e&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},ae=e("strong",null,"100个活在南科大的学生",-1),te={href:"http://mp.weixin.qq.com/s?__biz=MzU3ODAwNDA1MQ==&mid=2247486410&idx=1&sn=7ee33e30cca6e5e19d6a7d50420b93ad&chksm=fd7abef6ca0d37e0265bc57eb786bb95d651a1979c8af63d31959f4cc32d94df9dc461a162fa&scene=21#wechat_redirect",target:"_blank",rel:"noopener noreferrer"},re=e("strong",null,"2020,南科大孩子们的情感体验",-1),de=e("p",null,"不知道2021年新生是什么情况呢?",-1),oe=e("p",null,"我们期待一下~",-1),se=e("p",null,"[Fin.]",-1),ie=e("h2",{id:"ref",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#ref","aria-hidden":"true"},"#"),a(" Ref")],-1),_e={href:"https://mp.weixin.qq.com/s/4wCAO0pbePZWkqN65_jIxQ",target:"_blank",rel:"noopener noreferrer"},fe=e("p",null,"馮小漠的公众号:",-1),he=e("img",{src:"https://open.weixin.qq.com/qr/code?username=studiogloire#.jpg",class:"wx-qr medium-zoom-image"},null,-1);function be(le,pe){const c=r("ExternalLinkIcon");return d(),o("div",null,[f,e("p",null,[e("a",h,[b,n(c)])]),e("p",null,[e("a",l,[p,n(c)])]),e("p",null,[e("a",m,[x,n(c)])]),u,e("p",null,[e("a",w,[q,n(c)])]),e("p",null,[e("a",z,[g,n(c)])]),e("p",null,[e("a",k,[M,n(c)])]),N,e("p",null,[e("a",D,[A,n(c)])]),e("p",null,[e("a",O,[Q,n(c)])]),e("p",null,[e("a",U,[T,n(c)])]),E,e("p",null,[e("a",I,[j,n(c)])]),e("p",null,[e("a",v,[B,n(c)])]),e("p",null,[e("a",V,[L,n(c)])]),S,e("p",null,[e("a",C,[W,n(c)])]),e("p",null,[e("a",Z,[y,n(c)])]),e("p",null,[e("a",F,[G,n(c)])]),H,e("p",null,[e("a",P,[R,n(c)])]),e("p",null,[e("a",X,[Y,n(c)])]),e("p",null,[e("a",J,[K,n(c)])]),e("p",null,[e("a",$,[ee,n(c)])]),ce,e("p",null,[e("a",ne,[ae,n(c)])]),e("p",null,[e("a",te,[re,n(c)])]),de,oe,se,ie,e("p",null,[e("a",_e,[a("蓢村拾遗:南科大冷知识2021"),n(c)])]),fe,he])}const xe=t(_,[["render",be],["__file","index.html.vue"]]);export{xe as default}; diff --git a/assets/index.html-ziAy4sxZ.js b/assets/index.html-ziAy4sxZ.js new file mode 100644 index 000000000..6ab2bcb7e --- /dev/null +++ b/assets/index.html-ziAy4sxZ.js @@ -0,0 +1 @@ +import{_ as d,r as n,o as t,c as i,b as e,d as a,a as o,e as c}from"./app-9djxHuta.js";const s={},h=e("h1",{id:"选择一台合适的平板电脑",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#选择一台合适的平板电脑","aria-hidden":"true"},"#"),a(" 选择一台合适的平板电脑")],-1),p={href:"https://github.com/sparkcyf",target:"_blank",rel:"noopener noreferrer"},l=c('

    提示

    本文写于2020年8月。

    我需要平板电脑吗?

    如果你想把自己的笔记/绘图电子化,或者看看爱奇艺(误),那一台平板电脑还是有必要的。

    iPad还是其他的Android平板?

    学校里大部分使用平板的同学,使用的都是iPad。个人也建议购买iPad。因为iPad的软件生态环境会比Android平板好许多。Android的平板的出货大厂目前就只剩下三星和华为了。这两个厂家的平板做工的确不错,但是软件生态一般,而且他们的价格基本都达到了iPad的价格(MatePad Pro的价格甚至比iPad Air3更贵),那为什么不直接去买一台iPad呢?

    需要买笔吗?

    强烈推荐买一支,对做电子笔记或者绘图的时候

    ',7);function _(f,u){const r=n("ExternalLinkIcon");return t(),i("div",null,[h,e("p",null,[a("by "),e("a",p,[a("@sparkcyf"),o(r)])]),l])}const m=d(s,[["render",_],["__file","index.html.vue"]]);export{m as default}; diff --git a/assets/info-on-study.html-OSzt7bxn.js b/assets/info-on-study.html-OSzt7bxn.js new file mode 100644 index 000000000..ace49e9a4 --- /dev/null +++ b/assets/info-on-study.html-OSzt7bxn.js @@ -0,0 +1 @@ +import{_ as d,r as a,o as h,c as i,b as t,d as e,a as n,w as l,e as s}from"./app-9djxHuta.js";const p="/assets/major-overview-rA60NGfB.png",c="/assets/english-vocabulary-daka-L7m3h5KE.png",g="/assets/reader-service-6d9pxofn.png",u="/assets/database-TrGuD1Xs.png",_={},f=s('

    📖学习制度与信息

    包含GPA表、专业概览、选课指导、学习资源、图书馆学习攻略、学籍管理。

    由树德书院学长团整理。

    序言

    经过一个暑假,九月到来之时,大家就要开始在南科大的学习生活啦!我们整理了一些学习制度相关的内容,在正式开始大学生活之前,这一部分的内容尤其重要。由于大学与高中的学习差别比较大,了解这些内容可以帮助大家更好地适应大学的学习生活,调整好自己的学习节奏,制定好自己的长期或短期计划。

    GPA表

    高中和大学最明显的区别就是成绩的构成啦。 南科大有两种计分方式,一种是十三级计分制,一种是二级计分制,具体计分标准看下面:

    十三级计分制(计入GPA)

    等级A+AA-B+BB-C+CC-D+DD-F
    绩点4.003.943.853.733.553.323.092.782.422.081.631.150
    百分 参考97~ 10093~ 9690~ 9287~ 8983~ 8680~ 8277~ 7973~ 7670~ 7267~ 6963~ 6660~ 62<60
    ',9),m={class:"custom-container tip"},b=t("p",{class:"custom-container-title"},"提示",-1),x={href:"https://github.com/chenyuheng/SUSTech-GPA-Calculator",target:"_blank",rel:"noopener noreferrer"},A=s('

    二级计分制(不计入GPA)

    以通过(P,Pass)、不通过(F,Fail)方式记载成绩的课程。成绩为通过的,计入学分,不计入平均学分绩点(GPA);成绩为不通过的,既不计入学分,也不计入平均学分绩点。

    平均学分绩点(GPA)的计算方式

    一门课的学分绩 = 绩点 × 学分数

    平均学分绩点(GPA) = 所修课程学分绩求和 / 所修课程学分数求和

    一个小例子

    高数学分为4,成绩87;大物学分为4,成绩86;JAVA学分为3,成绩91

    高数学分绩 = 3.73×4 = 14.92;大物学分绩 = 3.55×4 = 14.2;JAVA学分绩 = 3.85×3 = 11.55

    GPA =(14.92 + 14.2 + 11.55)÷(4 + 4 + 3)= 3.69727272…

    提示

    大学的成绩和高中不同的是,大学的成绩构成由平时表现和期末考试成绩构成,平时表现包括出勤、作业、presentation等等,每门课第一节课老师都会介绍课程成绩的构成,一定要好好听哦。

    专业概览

    专业概览

    选课指导

    来了南科大,还有一点和高中不一样的是,高中时期课表都是学校安排好的,而在南科大,你需要自己安排好自己的课表。安排课表的时候,需要考虑自己的作息、不同课程的上课地点、一天的课程容量等等,安排课表的时候,可以多多咨询自己的导师和学长学姐们。在这里,我们会简要地介绍一下选课退课的时间安排与流程。

    选课流程:了解培养方案与课程→新生课程初选→导师指导→课程退补选→书院确认

    了解培养方案与课程

    新生来校后将会分发2020****级培养方案,其中不同的专业会有不一样的培养方案与课程建议修读学期,选课前一定要仔细阅读纸质版2020级培养方案哦。

    新生课程初选

    在秋季学期正式开学前一周教务系统将会开放进行选课。春秋季学期选课均采用积分制选课,到时候每个人都会有100分,选课的时候需要将100分进行分配到所选择的各个课进行投注,是对博弈论进行的一场操练哦。每学期选课的总量把握在15-25学分之间**。教务系统具体开放时间将会由教学部学生服务中心发邮件通知。一定要多查看邮件!**

    导师指导

    选课期间可以向书院导师咨询选课意见,后期可以将导师的选课意见填写在导师指导选课意见表中。这也是一个可以跟导师好好交流的机会~

    课程退补选

    春秋季学期的1-3周都是自由退课时间,这段时间可以在教务系统自行退课,成绩单不做记录;同时,退的课将会在对应的课中多出名额,1-3周每天中午13点整将会释放这些名额供学生们进行补选(有时候这样的“抢课”相当激烈,12:59就可以守在电脑前等待释放的名额啦,不失为大学生活的一种乐趣)。

    春秋季学期的4-8周可以到教学工作部学习服务中心进行退课,在此期间退课成绩单上将会记录“W”(Withdrawal退课)。

    第9周起不允许退课。

    ',25),k=t("p",null,"附:教学工作部联系方式(选课、加课、打印成绩单、在读证明…)",-1),G=t("p",null,"办公地点:慧园3栋203、206",-1),P=t("p",null,"办公时间:周一至周五 上午8:30 - 12:00,下午14:00 - 17:30",-1),v=t("p",null,[e("公共邮箱(教学事务):"),t("a",{href:"mailto:tao@sustech.edu.cn"},"tao@sustech.edu.cn")],-1),y=t("p",null,[e("学生学习服务邮箱:"),t("a",{href:"mailto:tao-sls@sustech.edu.cn"},"tao-sls@sustech.edu.cn")],-1),B={href:"http://tao.sustech.edu.cn/index.html",target:"_blank",rel:"noopener noreferrer"},C=t("h2",{id:"一些学习资源",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#一些学习资源","aria-hidden":"true"},"#"),e(),t("strong",null,"一些"),e("学习资源")],-1),w=t("p",null,"南科大有很多学习资源!以下会列举一部分,在未来的日子里你们会需要这些哒。",-1),N=s("
  • 学生工作部学习中心有针对通识基础必修课的互助课堂,同时,各个书院也有性质类似的学生课堂

  • 语言中心提供口语、写作辅导、托福、雅思、四六级培训等学习资源。

  • 各个院系也会组织参观实验室的活动,对某个方向感兴趣的同学也可以主动联系导师申请加入课题组

  • ",3),V={href:"https://lib.sustech.edu.cn/download/network.html?locale=zh_CN",target:"_blank",rel:"noopener noreferrer"},q=s('
  • 树德学生会

    • 【学生会·英语单词打卡】

      英语单词打卡

      树德学生会的英语单词打卡旨在通过督促、惩罚、奖励等多种措施,在一个温馨高效的学习氛围里,帮助同学们养成背单词的习惯。

      打卡QQ群:1049298186

    • 【学生会·实验室参观】

      学生会学创部会定期联系各院系各专业,并发布预告,组织一定数量的同学去到该专业。想参加的同学可以报名,听取教授讲解专业知识,进入实验室实践或参观,和学长学姐交流碰撞,更加深层次的了解一个专业。

    • 【学生会·学创刊】

      学创刊是学生会学创部针对同学们需求出品的期刊。包含内容有竞赛消息发布语言学习秘籍公开课程学习指导优秀学长学姐经验访谈等多板块内容,旨在为同学们提供多手资料,帮助大家度过丰富充实的大学四年。

  • 除了这些资源,身边的老师和同学也是很好的学习资源,有问题可以多向老师同学请教探讨。学习是主动的过程,只有主动才能获取到这些资源鸭。

  • ',2),L=s('

    图书馆学习攻略

    1. 图书馆是南科大学生平常学习的好地方!进图书馆一定要记得带上校卡刷卡进入哦。

    2. 图书馆的服务时间是周一至周日8:00 - 22:00,疫情期间可能有所变化,开馆时间有任何变化图书馆都会通过发邮件告知大家,大家要记得多查邮箱哦

    3. 琳恩图书馆各个楼层功能:

      一楼:休闲区、报刊区、阅览室、共享学习区、讨论室

      二楼:阅览区、小组活动区

      三楼:电子阅览室、自习区

      提示

      关于一楼的讨论室:在准备做小组presentation的时候可以用到讨论室,讨论室需要上图书馆官网进行预约。

    4. 图书馆有海量的学习资源:图书、数据库、讲座、沙龙,在未来的大学生活中会发挥很大的用处。

    读者服务

    ',3),S={href:"https://lib.sustech.edu.cn/page/rdr-card.html",target:"_blank",rel:"noopener noreferrer"},D=t("p",null,[t("img",{src:u,alt:"数据库导航"})],-1),E={href:"https://lib.sustech.edu.cn/dataBank/index.html",target:"_blank",rel:"noopener noreferrer"},F={href:"https://lib.sustech.edu.cn/page/freshmen.html",target:"_blank",rel:"noopener noreferrer"},T=s('

    以上攻略仅供参考,关于图书馆的更多功能和具体信息,首先,你们可以在南科大图书馆官网查看;其次,我们鼓励你们在即将到来的大学生活里自己好好探索一番!

    另外,教学楼的自习室也是学习的好去处。学校的自习室有一教2楼,荔园一栋206、207,荔园二栋304、305。

    学籍管理

    大学的学籍管理制度也与高中有很大的不同,这里我们列出了关于学业的学籍管理制度,更为详细的学籍管理,大家将在学校发的新生学习指导手册中学习到。

    学业警示

    1. 一学期取得的学分未达到9学分***(前文有提到,一学期建议选课控制在15-25分之间~)***;
    2. 一学期通过的同时理工基础课或专业必修课合计未达到两门者(此两类课程已满足培养方案要求的除外)(这就是好好读培养方案的重要性所在啦)

    强制休学

    连续两个学期GPA低于1.5者(进入毕业年级除外)。

    退学

    在读期间第三次受到学业警示者。

    关于考试与成绩

    1. 不及格重修记录:成绩不及格的课程可以重修,不及格成绩和重修成绩都要记录在成绩单中,取最高的成绩计入GPA;

      ​ √必修课不及格必须重修且不可免听

      ​ √选修课不及格可以选择不重修

    2. 旷考:旷考成绩按0分记录在成绩单上,计入GPA,重修后以实际成绩记载,计入GPA,两次成绩均计入GPA;

    3. 违纪重修:违纪课程按0分记录在成绩单上,计入GPA;该科重修成绩按照最高60分记录在成绩单上,计入GPA,两次成绩均计入GPA;

    4. 缓考:特殊情况包括出国交流、参加学科竞赛活动、突发疾病不能参加考试,需在指定日期内申请缓考,申请成功后可参加缓考补考。

    由此可见,旷考和违纪重修的后果非常严重,无论如何都不能做违纪的事情;同时。考试的时间一定要记得,建议考试时间可以舍友之间互相告知,同时设置好闹铃,以防因为睡过头而错过考试时间等遗憾发生。

    ',6),I={href:"http://tao.sustech.edu.cn/studentService/entrance-guide.html",target:"_blank",rel:"noopener noreferrer"},J=t("h2",{id:"继续阅读",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#继续阅读","aria-hidden":"true"},"#"),e(" 继续阅读...")],-1);function Q(R,W){const r=a("ExternalLinkIcon"),o=a("RouterLink");return h(),i("div",null,[f,t("div",m,[b,t("p",null,[e("推荐使用同学开发的"),t("a",x,[e("网页版GPA计算器"),n(r)]),e("快速计算GPA。")])]),A,t("blockquote",null,[k,G,P,v,y,t("p",null,[e("官网:"),t("a",B,[e("http://tao.sustech.edu.cn/index.html"),n(r)])])]),C,w,t("ol",null,[N,t("li",null,[t("p",null,[e("南科大图书馆官网"),t("a",V,[e("网络资源导航"),n(r)]),e(":(包括数据库、网络公开课、工具等)")])]),q]),L,t("p",null,[t("a",S,[e("读者服务"),n(r)])]),D,t("p",null,[t("a",E,[e("数据库导航"),n(r)])]),t("p",null,[t("strong",null,[e("附:南科大图书馆"),t("a",F,[e("新生专栏链接"),n(r)]),e("(里面有读者手册,建议大家下载下来好好读一读):")])]),T,t("p",null,[t("em",null,[e("参考资料:"),t("a",I,[e("教学工作部《新生学习指导手册》"),n(r)])])]),J,t("ul",null,[t("li",null,[n(o,{to:"/study/by-shude-college/advice-on-study.html"},{default:l(()=>[e("学习建议(包括暑假学习建议、大学学习准备、入学考试准备、个人提升。)")]),_:1})])])])}const z=d(_,[["render",Q],["__file","info-on-study.html.vue"]]);export{z as default}; diff --git a/assets/info-on-study.html-Z82wN-SX.js b/assets/info-on-study.html-Z82wN-SX.js new file mode 100644 index 000000000..f2bf2fe91 --- /dev/null +++ b/assets/info-on-study.html-Z82wN-SX.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-435bd49a","path":"/study/by-shude-college/info-on-study.html","title":"📖学习制度与信息","lang":"zh-CN","frontmatter":{"sidebar":"auto"},"headers":[{"level":2,"title":"序言","slug":"序言","link":"#序言","children":[]},{"level":2,"title":"GPA表","slug":"gpa表","link":"#gpa表","children":[{"level":3,"title":"十三级计分制(计入GPA)","slug":"十三级计分制-计入gpa","link":"#十三级计分制-计入gpa","children":[]},{"level":3,"title":"二级计分制(不计入GPA)","slug":"二级计分制-不计入gpa","link":"#二级计分制-不计入gpa","children":[]},{"level":3,"title":"平均学分绩点(GPA)的计算方式","slug":"平均学分绩点-gpa-的计算方式","link":"#平均学分绩点-gpa-的计算方式","children":[]}]},{"level":2,"title":"专业概览","slug":"专业概览","link":"#专业概览","children":[]},{"level":2,"title":"选课指导","slug":"选课指导","link":"#选课指导","children":[{"level":3,"title":"了解培养方案与课程","slug":"了解培养方案与课程","link":"#了解培养方案与课程","children":[]},{"level":3,"title":"新生课程初选","slug":"新生课程初选","link":"#新生课程初选","children":[]},{"level":3,"title":"导师指导","slug":"导师指导","link":"#导师指导","children":[]},{"level":3,"title":"课程退补选","slug":"课程退补选","link":"#课程退补选","children":[]}]},{"level":2,"title":"一些学习资源","slug":"一些学习资源","link":"#一些学习资源","children":[{"level":3,"title":"图书馆学习攻略","slug":"图书馆学习攻略","link":"#图书馆学习攻略","children":[]}]},{"level":2,"title":"学籍管理","slug":"学籍管理","link":"#学籍管理","children":[]},{"level":2,"title":"继续阅读...","slug":"继续阅读","link":"#继续阅读","children":[]}],"git":{"updatedTime":1626178001000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":5},{"name":"liziwl","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"study/by-shude-college/info-on-study.md"}');export{l as data}; diff --git a/assets/innovative-project.html-E-h7v46p.js b/assets/innovative-project.html-E-h7v46p.js new file mode 100644 index 000000000..fb93716f9 --- /dev/null +++ b/assets/innovative-project.html-E-h7v46p.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-5eb748bf","path":"/study/cse/innovative-project.html","title":"南方科技大学计算机系创新实践项目汇总","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"目录","slug":"目录","link":"#目录","children":[]},{"level":2,"title":"项目汇总","slug":"项目汇总","link":"#项目汇总","children":[{"level":3,"title":"Alia Asheralieva","slug":"alia-asheralieva","link":"#alia-asheralieva","children":[]},{"level":3,"title":"Georgios Theodoropoulos","slug":"georgios-theodoropoulos","link":"#georgios-theodoropoulos","children":[]},{"level":3,"title":"Hisao Ishibuchi","slug":"hisao-ishibuchi","link":"#hisao-ishibuchi","children":[]},{"level":3,"title":"Shin Hwei Tan","slug":"shin-hwei-tan","link":"#shin-hwei-tan","children":[]},{"level":3,"title":"程然","slug":"程然","link":"#程然","children":[]},{"level":3,"title":"陈杉","slug":"陈杉","link":"#陈杉","children":[]},{"level":3,"title":"陈馨慧","slug":"陈馨慧","link":"#陈馨慧","children":[]},{"level":3,"title":"郝祁","slug":"郝祁","link":"#郝祁","children":[]},{"level":3,"title":"李卓钊","slug":"李卓钊","link":"#李卓钊","children":[]},{"level":3,"title":"刘江","slug":"刘江","link":"#刘江","children":[]},{"level":3,"title":"刘佳琳","slug":"刘佳琳","link":"#刘佳琳","children":[]},{"level":3,"title":"刘烨庞","slug":"刘烨庞","link":"#刘烨庞","children":[]},{"level":3,"title":"马昱欣","slug":"马昱欣","link":"#马昱欣","children":[]},{"level":3,"title":"史玉回","slug":"史玉回","link":"#史玉回","children":[]},{"level":3,"title":"宋轩","slug":"宋轩","link":"#宋轩","children":[]},{"level":3,"title":"唐博","slug":"唐博","link":"#唐博","children":[]},{"level":3,"title":"唐珂","slug":"唐珂","link":"#唐珂","children":[]},{"level":3,"title":"唐茗","slug":"唐茗","link":"#唐茗","children":[]},{"level":3,"title":"唐晓颖","slug":"唐晓颖","link":"#唐晓颖","children":[]},{"level":3,"title":"王琦","slug":"王琦","link":"#王琦","children":[]},{"level":3,"title":"危学涛","slug":"危学涛","link":"#危学涛","children":[]},{"level":3,"title":"杨鹏","slug":"杨鹏","link":"#杨鹏","children":[]},{"level":3,"title":"杨双华","slug":"杨双华","link":"#杨双华","children":[]},{"level":3,"title":"姚新","slug":"姚新","link":"#姚新","children":[]},{"level":3,"title":"于仕琪","slug":"于仕琪","link":"#于仕琪","children":[]},{"level":3,"title":"余剑峤","slug":"余剑峤","link":"#余剑峤","children":[]},{"level":3,"title":"袁博","slug":"袁博","link":"#袁博","children":[]},{"level":3,"title":"张锋巍","slug":"张锋巍","link":"#张锋巍","children":[]},{"level":3,"title":"张建国","slug":"张建国","link":"#张建国","children":[]},{"level":3,"title":"张进","slug":"张进","link":"#张进","children":[]},{"level":3,"title":"张殷乾","slug":"张殷乾","link":"#张殷乾","children":[]},{"level":3,"title":"张宇","slug":"张宇","link":"#张宇","children":[]},{"level":3,"title":"张煜群","slug":"张煜群","link":"#张煜群","children":[]},{"level":3,"title":"郑锋","slug":"郑锋","link":"#郑锋","children":[]}]}],"git":{"updatedTime":null,"contributors":[]},"filePathRelative":"study/cse/innovative-project.md"}');export{l as data}; diff --git a/assets/innovative-project.html-WPrCmoWu.js b/assets/innovative-project.html-WPrCmoWu.js new file mode 100644 index 000000000..52fb7c910 --- /dev/null +++ b/assets/innovative-project.html-WPrCmoWu.js @@ -0,0 +1 @@ +import{_ as t,o as d,c as r,e}from"./app-9djxHuta.js";const a={},h=e('

    南方科技大学计算机系创新实践项目汇总

    本仓库的目的是为后续同学们选择自己的创新实践导师做参考,欢迎大家贡献每年的创新实践情况,文件按照导师组进行分类,从而帮助同学们快速确定导师研究方向新增条目格式如下

    年份项目名称组员数
    2022年春基于transformer的时序预测2

    请提交时按照上述格式添加新的条目,方向条目可以不填(如果不清楚的话)。

    由于本仓库依靠开源贡献更新,如存在任何问题请直接在仓库中的issue板块提出问题,我们将会及时更正

    目录

    项目汇总

    Alia Asheralieva

    年份项目名称组员数
    2022年秋Modelling and Simulation of Blockchains for Internet of Things (IoT) Applications
    2022年秋Mitigating Stragglers’ Effect In Distributed System3

    Georgios Theodoropoulos

    年份项目名称组员数
    2022年秋Image processing Deep Neural Networks inference performance on the edge
    2022年秋Model management in Digital Twins
    2022年秋Self-aware and self-adaptive Digital Twins with agent-based modelling

    Hisao Ishibuchi

    年份项目名称组员数
    2022年春无人机路径规划的多目标优化及仿真3
    2022年秋基于NAS和Transformer的超体积近似3
    2022年秋多目标强化学习在机器人控制问题中的研究与应用2
    2022年秋基于元学习指导代理模型的演化多目标贵重优化算法设计3
    2022年秋少样本学习中的任务异质性问题的多目标解法
    2022年秋面向大规模多目标问题的基于无上界外部档案的高性能进化算法设计
    2022年秋多目标优化算法集成框架设计

    Shin Hwei Tan

    年份项目名称组员数
    2022年春LaTeX错误修复2
    2022年春对GUI 测试用例的自动修复与更新工具的研究3
    2022年秋GUI 测试用例的自动修复与更新
    2022年秋基于Pull Request的自动维护系统
    2022年秋面向初学者的代码审查
    2022年秋协作测试的增量分析研究
    2022年秋面向自动审稿系统的研究

    程然

    年份项目名称组员数
    2022年春可并行分布式多目标遗传算法与演化计算平台2
    2022年春面向边端部署的多目标深度神经网络架构优化算法设计3
    2022年春面向不完全信息博弈游戏的演化强化学习算法3
    2022年秋面化深度学习边缘部署的神AutoML开源平台研发2
    2022年秋基于深度学习的宽体客机机翼形状设计与优化2
    2022年秋基于多模态转换的超临界翼型到流场信息的双向映射2
    2022年秋脉冲神经网路结构研究3

    陈杉

    年份项目名称组员数
    2022年秋端到端加密通信3
    2022年秋免密码认证2
    2022年秋区块链共识机制3

    陈馨慧

    年份项目名称组员数
    2022年秋GUI测试用例的自动修复与更新2
    2022年秋面向初学者的代码审查2
    2022年秋自动修复GUI 测试用例工具的研究2

    郝祁

    年份项目名称组员数
    2022年春3D自动标注3
    2022年春Cross-Domain Transfer Learning for 2D&3D Object Detection2
    2022年春车路协同三维高逼真度仿真3
    2022年春基于对抗网络的自动驾驶场景生成3
    2022年春野外机器人实时定位与建图3
    2022年秋自动驾驶感知系统自主演化研究
    2022年秋自动驾驶地图的自动高精建模
    2022年秋面向L3级自动驾驶系统开发与验证
    2022年秋面向自动驾驶数据集的场景多样性分析
    2022年秋基于对抗网络的自动驾驶场景生成5
    2022年秋自动驾驶数据间域适应性研究
    2022年秋面向自动驾驶的联合目标检测与跟踪
    2022年秋基于CARLA仿真器的泛用型仿真数据集采集工具3
    2022年秋南科大工学院地库真实交通流数据采集及其在CARLA仿真器上的回放
    2022年秋基于UE4引擎的程序化生成技术的地库仿真地图生成3
    2022年秋图像数据隐私保护3
    2022年秋仿真数据采集工具1
    2022年秋高精地图的CG渲染技术的初步探索2
    2022年秋基于CARLA的车辆仿真与检测3
    2022年秋基于分布式技术的高性能自动驾驶仿真器技术研发2
    2022年秋面向自动驾驶仿真与真实场景间域适应性分析3
    2022年秋自动驾驶数据集的视图修复与合成3

    李卓钊

    年份项目名称组员数
    2022年春A comprehensive study of message queue systems3
    2022年春MACHINE LEARNING BASED QUEUING TIME PREDICTION OF BATCH SCHEDULER ON SUPERCOMPUTERS3
    2022年秋Automatically optimizing HPL and HPCG Benchmarks on Supercomputers
    2022年秋A Comprehensive Study of Parallel File Systems for Supercomputers
    2022年秋Benchmarking the performance of multi instance GPU technology of A100 GPUs3
    2022年秋Benchmarking the Performance of Applications within Singularity and Docker Containers3
    2022年秋An Exploration on Various Optimization Techniques to Accelerate Deep Learning Model Training
    2022年秋计算中心计费系统前端页面开发实践3
    2022年秋计算中心用户管理系统开发实践3

    刘江

    年份项目名称组员数
    2022年春白内障智能诊断与筛查系统3
    2022年春辅助临床诊断的超声心动图分析系统3
    2022年春基于CSSO图像的关键参数提取及脑疾病预测研究2
    2022年春基于OCT图像的虹膜快速标注系统2
    2022年春基于超分辨的眼科病灶提取算法2
    2022年春基于多领域数据的白内障手术视频分析3
    2022年春基于跨模态学习的甲骨文识别系统的研发2
    2022年春基于轻量级神经网络架构的致盲性眼病识别技术研究2
    2022年春基于深度学习的显微镜手术器械图片的深度预测2
    2022年春基于深度学习的医学图像配准3
    2022年春基于手术显微镜的视频深度估计3
    2022年春基于医生知识引导的眼底多疾病诊断模型研究2
    2022年春角膜内皮细胞健康状况评估系统2
    2022年秋基于二维眼底照的OCT三维重建3
    2022年秋基于视频处理和深度学习技术,实现手术场景的目标跟踪
    2022年秋基于视频处理和深度学习技术,实现手术场景下的手术器械深度估计
    2022年秋基于深度学习的眼底多模态图像配准2
    2022年秋基于图像与视频处理技术,实现跨域数据的手术视频分析
    2022年秋基于图像处理和深度学习技术,实现图像翻译的手术影像生成3
    2022年秋基于图像处理和深度学习技术,实现白内障患者眼底影像增强系统3
    2022年秋基于图像处理和深度学习技术,辅助心脏临床诊断的超声心动图分析系统框架
    2022年秋基于图像处理和深度学习技术,实现大脑内部颅内动脉瘤自动检测与辅助分析3
    2022年秋基于图像处理和深度学习技术,实现基于MRI影像的视神经三维重建方法研究3
    2022年秋基于图像处理和深度学习技术,实现基于OCT影像组学特征的脑疾病分类研究
    2022年秋基于图像处理技术和眼动分析技术,实现基于医学知识引导的眼底疾病早期AI诊断
    2022年秋基于图像超分辨和深度学习技术,实现眼科病灶提取精准算法
    2022年秋基于图像处理技术及深度学习模型迁移技术,进行眼科病灶与结构提取的OOD算法研究3
    2022年秋基于多媒体技术,进行智能甲骨文识别系统研究
    2022年秋基于多媒体技术,进行下角山与三星堆智能考古可视化系统研究
    2022年秋基于多媒体技术,进行元宇宙场景下的虚拟交互手术模拟系统研发
    2022年秋基于图像处理和深度学习技术,开发结合不确定性信息的眼科角膜内皮细胞量化分析系统
    2022年秋基于图像处理和深度学习技术,研发眼结构中面向环扫影像的多结构分割智能系统
    2022年秋基于图像处理和深度学习技术,进行眼科形状先验信息在睫状肌分割中的研究
    2022年秋基于图像处理和深度学习技术,构建眼科OCT图像的虹膜快速标注系统
    2022年秋基于图像处理和深度学习技术,构建眼科ASOCT图像噪声以及不匹配数据的图像去噪算法研究
    2022年秋基于图像处理和深度学习技术,开发少标签情况下的医疗图像分割
    2022年秋基于图像处理和深度学习技术,开发多任务场景下的医疗图像分析系统
    2022年秋基于图像处理和深度多任务学习的眼科疾病诊断算法研究
    2022年秋Weakly supervised segmentation of fundus images based on gaze-map2
    2022年秋白内障智能诊断和筛查系统3
    2022年秋辅助临床诊断的超声心动图分析系统框架3
    2022年秋基于非配对数据的眼前节光学相干断层图像去噪2
    2022年秋基于高效卷积神经网络的致盲性眼病筛查与诊断系统研发3
    2022年秋基于跨模态学习的甲骨文识别系统的研发3
    2022年秋基于图像翻译的手术影像生成3
    2022年秋开发一种鲁棒的结合transformer的角膜内皮细胞分割backbone3
    2022年秋智能古玉产器地识别系统研发2

    刘佳琳

    年份项目名称组员数
    2022年秋Procedural content generation1
    2022年秋多智体智能决策问题
    2022年秋策略多样性3
    2022年秋基于Rolling Horizon演化算法的游戏玩家建模
    2022年秋Procedural 3D-scenario Generation3
    2022年秋基于多目标演化学习的具有多维多样性的游戏关卡生成3
    2022年秋基于强化学习和质量多样性算法的策略多样性生成1
    2022年秋室内场景的程序化生成3

    刘烨庞

    年份项目名称组员数
    2022年春adaptive random testing for web application3
    2022年春Automated Android Testing2
    2022年春Detecting webassembly VM vulnerabilities via fuzz testing2
    2022年春Testing deep learning based code generators3
    2022年秋基于华为云的安卓应用静态分析微服务架构3
    2022年秋安卓应用API静态兼容性分析3
    2022年秋Android third-party library detection3
    2022年秋硬件与软件能耗问题相关研究
    2022年秋API-Extraction-Analysis3
    2022年秋Application of software test method in random content generation of game scene2
    2022年秋Automated Android Testing2
    2022年秋Detecting webassembly vm vulnerabilities via fuzz testing2
    2022年秋JIT Method Rename3
    2022年秋安卓应用API兼容性问题静态分析技术研究3
    2022年秋变脸app检测3
    2022年秋机器学习模型公平性提升方法的研究2
    2022年秋软件供应链复用组件中license冲突的问题2

    马昱欣

    年份项目名称组员数
    2022年春社交网络数据可视分析2
    2022年秋数据可视化作品设计——地理信息可视化3
    2022年秋数据可视化作品设计——英雄联盟职业联赛数据分析3
    2022年秋数据可视化作品设计——足球数据分析3
    2022年秋数据可视化作品设计——科幻与社会现实3
    2022年秋基于数据可视化的课程教学系统开发3
    2022年秋可解释深度学习系统开发3
    2022年秋可视分析中的情境信息框架
    2022年秋面向虚假新闻检测的可视分析框架

    史玉回

    年份项目名称组员数
    2022年春Automated Solver Design for Real-World Problems2
    2022年春Self-supervised Learning based Device-cloud Collaborative Learning For Recommender System3
    2022年春Visualization Platform for 3D Swarm Robotics Simulator3
    2022年秋视频背景音乐推荐系统3
    2022年秋视频人脸置换系统3
    2022年秋群体无人系统仿真平台
    2022年秋虚拟机器人辅助的群体机器人动态目标追捕
    2022年秋AUTOMATED SOLVER DESIGN FOR REAL-WORLD PROBLEMS2
    2022年秋Visualization Platform for 3D Swarm Robotics Simulator2
    2022年秋基于不同特征的电影分类3
    2022年秋基于自监督学习的设备与云协同推荐系统2

    宋轩

    年份项目名称组员数
    2022年春Causality Inference in Irregular Trafic Flow Prediction3
    2022年春POI兴趣点的可视化系统搭建3
    2022年春UNITY AR的智慧城市研究与开发2
    2022年春地铁智慧调度优化中不同增强学习方法的表现分析3
    2022年春基于Hololens2的AR应用搭建2
    2022年春基于深度强化学习的产品生产价值链物资动态调度方法3
    2022年春基于图神经网络的OD流异常检测2
    2022年春基于位置的社交网络中的超边预测3
    2022年春基于虚拟现实的仿真校园中的疫情模拟3
    2022年春面向交通流数据的深度表示学习2
    2022年春数字孪生模拟系统搭建3
    2022年秋城市人流数字孪生系统3
    2022年秋基于超图知识图谱的基于社交网络的签到数据建模
    2022年秋基于因果图的异常人流建模3
    2022年秋基于元学习的时空数据预测3
    2022年秋时间序列数据的不确定性表征学习3
    2022年秋基于Transformer的长期时间序列预测3
    2022年秋Personalized Federate Learning of Trajectory Prediction3
    2022年秋Study of semantic trajectory compression
    2022年秋The study of building rooftop angle estimation
    2022年秋基于人工智能算法的产品生命周期管控方法研究3
    2022年秋基于深度学习模型的产品价值链因果推断研究
    2022年秋物联网大数据平台设计及关键技术研究2
    2022年秋基于人工智能算法的校园欺凌防控方法研究3
    2022年秋AR陶片博物馆
    2022年秋3D模型贴图的风格迁移3
    2022年秋AR博物馆向导开发3
    2022年秋Knowledge graph based POI recommendation system2
    2022年秋Life-pattern Complementation: Towards Handling Sparse Mobile Phone Mobility Data2
    2022年秋基于轨道数据的电动出租车充放电供需分析与可视化系统开发3
    2022年秋基于弧形CAD wall墙幕影院的裸眼VR开发3
    2022年秋基于区块链数据的图神经网络建模分析及可视化2
    2022年秋基于手机数据的智慧城市能耗排放感知与可视化3
    2022年秋双曲空间基于超图的社交网络签到数据建模2

    唐博

    年份项目名称组员数
    2022年春cost optimization in graph2
    2022年春RGB image guided depth map super resolution3
    2022年春多FPGA系统中时分复用分配算法设计与优化3
    2022年春基于Hologres的新型时空数据索引结构3
    2022年春云原生数据库logstore 原型系统实现3
    2022年春云原生数据库多租户资源调度原型验证3
    2022年秋Batch Influence Maximization2
    2022年秋EPOD: an edge-resident framework for proximity based outlier detection3
    2022年秋Modeling Noisy labels for Facial Expression Recognition3
    2022年秋Testbed for Edge-based Data Analytics(TEDA)3
    2022年秋面向时序有向无环图(TDAG)的可视化研究3
    2022年秋文字到海报的端到端生成2
    2022年秋芯片仿真超图多层分割算法设计及优化2
    2022年秋Identifying seed friends for influence maximization3

    唐珂

    年份项目名称组员数
    2022年春面向旅行商问题的神经网络求解器复现及泛化性能测试2
    2022年秋Predicting the stock market by machine learning3
    2022年秋Building Investment Portfolios by Machine Learning2
    2022年秋Predicting the stock market by machine learning3
    2022年秋基于深度学习的旅行商问题求解器加速技术研究3
    2022年秋基于神经组合优化的限量弧路由技术研究2
    2022年秋面向推荐系统的知识图谱质量评估3

    唐茗

    年份项目名称组员数
    2022年秋去中心化联邦学习系统搭建
    2022年秋分层联邦学习系统搭建
    2022年秋基于区块链的数据买卖系统实现
    2022年秋分布式推理系统搭建2
    2022年秋分层联邦学习2
    2022年秋基于区块链的数据买卖系统实现3
    2022年秋去中心化联邦学习的拓扑结构研究3
    2022年秋去中心化联邦学习系统搭建3

    唐晓颖

    年份项目名称组员数
    2022年春research on unsupervised multi target domain adaptation with application to retinal structure segmentation on various eye images3
    2022年秋Long-tailed multi-label medical image classification and disease recognition3
    2022年秋RESEARCH ON SUPERVISED AND UNSUPERVISED RETINAL OCTA QUALITY ASSESSMENT3

    王琦

    年份项目名称组员数
    2022年秋纠错编码在分布式存储系统中的仿真实现
    2022年秋全同态加密机制的应用与实现5

    危学涛

    年份项目名称组员数
    2022年秋基于AI的美食图片生成系统
    2022年秋内部文件泄漏追踪系统
    2022年秋唐诗宋词配乐系统
    2022年秋探索“网红”IP价值边界之谜
    2022年秋文物数字修复美颜系统
    2022年秋JAVA作业代码所有者确认技术
    2022年秋不同图片生成模型的性能比较2

    杨鹏

    年份项目名称组员数
    2022年秋证券市场仿真研究3

    杨双华

    年份项目名称组员数
    2022年春可变方向的安全隔离网关开发3

    姚新

    年份项目名称组员数
    2022年春大规模含不确定性的复杂车辆调度问题的降维2
    2022年春室内场景的程序化生成2
    2022年秋多目标优化中的目标不平衡问题及其研究
    2022年秋机器学习中的公平性问题及其研究
    2022年秋基于经验的优化2
    2022年秋Multi-objective Facility Layout(多目标设施选址问题)
    2022年秋实现自动驾驶数据集上的基于RPN的目标检测算法
    2022年秋考虑类不平衡(进化)的在线分类问题的研究
    2022年秋实现针对软件故障预测的数据提取的SZZ算法。后续将据此进行基于机器学习的软件缺陷预测研究
    2022年秋Online deep learning
    2022年秋脉冲神经网络硬件实现相关:Brain-inspired learning algorithm design and hardware implementation for spiking neural network based on neuromorphic devices
    2022年秋类脑智能硬件架构设计相关:Brain-inspired hardware architecture design based on self-aware and self-expressive computing system by drawing on the advantages of neuromorphic devices
    2022年秋机器学习模型性能评估:Failure prediction (or performance prediction) for deep neural networks by learning auxiliary models
    2022年秋不同数据集间差异/相似性分析:Analyzing the difference/similarity between two datasets through explainable approaches2
    2022年秋演化强化学习研究
    2022年秋量化交易策略研究
    2022年秋面向自然语义的小样本时序数据增强对比学习
    2022年秋基于GAN的时序数据生成
    2022年秋针对开放大模型API的语义一致性测试工具
    2022年秋感知异常修复技术
    2022年秋智能小警车围堵贼车3
    2022年秋智能小车高速依据轨迹巡航
    2022年秋形式化验证体系与工具链
    2022年秋功能安全风险评价建模与工具
    2022年秋机械臂/机器人仿真平台
    2022年秋智能推理中推理路径的自动发现与高效推理算法研究
    2022年秋云服务可靠性正向设计优化
    2022年秋机器学习组合优化方法的泛化性研究2
    2022年秋Evolutionary Workflow Scheduling in the Cloud2

    于仕琪

    年份项目名称组员数
    2022年春An Automatic Scoring System for Taekwondo3
    2022年春VR手柄光点检测2
    2022年春农业采摘机器人3
    2022年春扫地机器人的SLAM建图和自动回充功能的实现2
    2022年春无人机的识别与跟踪2
    2022年秋Point Cloud Compression2
    2022年秋采用DNN的目标检测模型训练3
    2022年秋基于深度相机的机器狗手势控制系统3
    2022年秋视频风格化3
    2022年秋柚子位姿矫正机器人3

    余剑峤

    年份项目名称组员数
    2022年春基于叙事的2d战旗游戏3
    2022年春游戏开发实践2
    2022年春主流社交平台的情感比较分析2
    2022年秋基于叙事的2D战棋游戏3
    2022年秋结合模拟经营的战棋RPG开发2
    2022年秋游戏制作实践2

    袁博

    年份项目名称组员数
    2022年秋基于强化学习的数字微流控芯片液滴路径规划3

    张锋巍

    年份项目名称组员数
    2022年春arm secure EL22
    2022年春TEE+Blockchain2
    2022年春Verification of TEE3
    2022年春基于硬件辅助的并发漏洞探测工具2
    2022年秋GPU可信执行环境
    2022年秋Arm云平台的“钉枪”攻击
    2022年秋RISC-V安全指令设计与实现3
    2022年秋Arm 安全虚拟化研究3
    2022年秋基于ARM架构的软硬件协同恶意软件分析与对抗技术2
    2022年秋Nailgun Attack
    2022年秋TEE_SEL22

    张建国

    年份项目名称组员数
    2022年春基于动态增强影像的自监督分割研究2
    2022年秋深度学习模型的特征重要性分析方法总结与探究
    2022年秋基于标签噪声的深度学习分割模型总结与探究
    2022年秋基于深度学习的生成模型的智能药物挖掘方法
    2022年秋基于深度学习检测及分割方法的月表撞击坑识别方法
    2022年秋医学影像的联邦学习研究
    2022年秋基于多模态数据的非模态分割研究
    2022年秋Transformer模型的知识蒸馏
    2022年秋深度学习中的不确定性研究
    2022年秋分布外样本(异常样本输入)检测3
    2022年秋生物医学影像分析开源挑战赛
    2022年秋计算机视觉和机器学习中的学生自选课题

    张进

    年份项目名称组员数
    2022年春基于机器学习的无门槛便携吉他2
    2022年春基于声波的接听电话手势感知3
    2022年春基于声波的设备间距离测量3
    2022年秋Acoustic Eavesdropping on Loudspeakers via mmWave-characterized Piezoelectric Effect3
    2022年秋对区块链中最大可抽取价值的研究
    2022年秋对区块链协议中通信模式的研究
    2022年秋基于帧差法的实时视频分析系统3
    2022年秋基于压电薄膜的电子听诊器
    2022年秋Continuous Wrist PPG-based Blood Pressure Measurement
    2022年秋SpiralSpy: Exploring a Stealthy and Practical Covert Channel to Attack Air-gapped Computing Devices via mmWave Sensing
    2022年秋基于PPG的手势识别或追踪1?
    2022年秋基于毫米波雷达的结构健康监测
    2022年秋基于振动信号的交互设计
    2022年秋基于毫米波的双功能系统
    2022年秋基于深度强化学习的全向智能超表面辅助通信系统优化设计
    2022年秋Efficient Volumetric Video Streaming with Edge Computing3
    2022年秋Non-Line-of-Sight Detection and Tracking In-the-Wild Using Doppler Radar3
    2022年秋swin transformer v2 图像分类任务2
    2022年秋swin transformer v2模型迁移中的图像分割和目标检测任务2

    张殷乾

    年份项目名称组员数
    2022年春Wasmtime in TEE2
    2022年春基于RUST的TEE操作系统2
    2022年春基于Rust与TEE开发云服务的安全服务2
    2022年春基于TEE架构的操作系统2
    2022年春可信执行环境在安全多方计算中的应用2
    2022年秋机密区块链2
    2022年秋基于Rust的TEE操作系统4
    2022年秋分布式系统/协议的形式化验证2
    2022年秋TEE-aided MPC System Design
    2022年秋BFT Security Analysis and Design Based on Game Theory2
    2022年秋智能合约漏洞分析
    2022年秋基于程序分析的TEE OS接口安全性分析2
    2022年秋适用于机密云计算场景的可信虚拟化TPM2
    2022年秋移植rCore到SEV机密虚拟机2
    2022年秋Confidential Blockchains2
    2022年秋可信执行环境在安全多方计算中的应用2

    张宇

    年份项目名称组员数
    2022年春a new methodology about generative model3
    2022年春基于DSMAP的多模态风格迁移2
    2022年春基于深度学习的推荐系统2
    2022年秋Recommendation based on Multi-Task Learning3
    2022年秋推荐系统模型的泛化提升3
    2022年秋基于深度学习的语音克隆2

    张煜群

    年份项目名称组员数
    2022年春Exploratory Study of Hybrid Fuzzing based on Concolic Execution2
    2022年春An empirical study of concoloc execution engine2
    2022年春探索污点分析对模糊测试的改进2
    2022年春针对Java虚拟机的即时编译系统的模糊测试技术2
    2022年秋Rust语言的安全性实证研究2
    2022年秋可载入内核模块的模糊测试研究
    2022年秋基于搜索的符号执行方法研究
    2022年秋基于软件成分分析的风险排查2
    2022年秋目标导向的模糊测试研究2
    2022年秋基于AI模型神经元激活率的数据集构建研究
    2022年秋对模糊测试中种⼦调度算法的研究
    2022年秋Accurate Fuzzing Instructed by Constraint Traits2
    2022年秋基于静态程序分析的应用包体积缩减方法探究及研发2
    2022年秋针对异构计算设备的程序优化及任务调度3

    郑锋

    年份项目名称组员数
    2022年春广告场景中的视频剪辑2
    2022年春机器人点云障碍物识别和跟踪3
    2022年春基于文本目标跟踪3
    2022年春跨媒体检索任务3
    2022年春视觉问答任务2
    2022年春小视频自动配乐3
    2022年秋Generic Event Boundary Detection, Captioning and Grounding2
    2022年秋Video Grounding2
    2022年秋多模态无人机视觉平台搭建3
    2022年秋基于联邦学习的瑕疵检测2
    2022年秋基于文本目标跟踪3
    2022年秋跨媒体检索任务3
    2022年秋面向转产场景陶瓷釉面微弱瑕疵检测算法研究2
    2022年秋三维点云物品的识别3
    2022年秋小视频自动配乐3
    ',76),i=[h];function n(o,l){return d(),r("div",null,i)}const c=t(a,[["render",n],["__file","innovative-project.html.vue"]]);export{c as default}; diff --git a/assets/interior-KIYZNKgg.jpg b/assets/interior-KIYZNKgg.jpg new file mode 100644 index 000000000..ce8ee1c9c Binary files /dev/null and b/assets/interior-KIYZNKgg.jpg differ diff --git a/assets/ios-yMidMOnr.png b/assets/ios-yMidMOnr.png new file mode 100644 index 000000000..cdb6c4551 Binary files /dev/null and b/assets/ios-yMidMOnr.png differ diff --git a/assets/major-overview-rA60NGfB.png b/assets/major-overview-rA60NGfB.png new file mode 100644 index 000000000..7a9a65daf Binary files /dev/null and b/assets/major-overview-rA60NGfB.png differ diff --git a/assets/matlab-6g9-imFB.png b/assets/matlab-6g9-imFB.png new file mode 100644 index 000000000..4b5675cb0 Binary files /dev/null and b/assets/matlab-6g9-imFB.png differ diff --git a/assets/matlab1-7dEAoyTc.png b/assets/matlab1-7dEAoyTc.png new file mode 100644 index 000000000..05cdf0d30 Binary files /dev/null and b/assets/matlab1-7dEAoyTc.png differ diff --git a/assets/matlab2-dVpy0Rho.png b/assets/matlab2-dVpy0Rho.png new file mode 100644 index 000000000..da5a34f52 Binary files /dev/null and b/assets/matlab2-dVpy0Rho.png differ diff --git a/assets/paper-tools.html-ggwsgvYA.js b/assets/paper-tools.html-ggwsgvYA.js new file mode 100644 index 000000000..f7c305070 --- /dev/null +++ b/assets/paper-tools.html-ggwsgvYA.js @@ -0,0 +1 @@ +import{_ as o,r as a,o as l,c as s,b as e,d as t,a as n}from"./app-9djxHuta.js";const h={},i=e("h1",{id:"几个赶-ddl-的好用工具🔧",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#几个赶-ddl-的好用工具🔧","aria-hidden":"true"},"#"),t(" 几个赶 ddl 的好用工具🔧")],-1),d=e("p",null,"赶 ddl 的朋友们,你们还好吗? 接下来,我来推荐几个赶 ddl,写论文的好用工具🔧",-1),c=e("h2",{id:"google-translate-翻译器",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#google-translate-翻译器","aria-hidden":"true"},"#"),t(" Google Translate 翻译器")],-1),_={href:"https://translate.google.com",target:"_blank",rel:"noopener noreferrer"},p=e("p",null,"国际大厂出品,用过都知道。",-1),u=e("h2",{id:"deepl-translate-翻译器",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#deepl-translate-翻译器","aria-hidden":"true"},"#"),t(" DeepL Translate 翻译器")],-1),m={href:"https://www.deepl.com/translator",target:"_blank",rel:"noopener noreferrer"},b=e("p",null,"好用,长句翻译有时优于谷歌翻译。",-1),w=e("h2",{id:"grammarly-英文-语法检查器",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#grammarly-英文-语法检查器","aria-hidden":"true"},"#"),t(" Grammarly (英文)语法检查器")],-1),f={href:"https://www.grammarly.com",target:"_blank",rel:"noopener noreferrer"},g=e("p",null,"一键检查,10000字的论文也不用担心自己语法问题啦。",-1),x=e("h2",{id:"多语言支持语法检查器",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#多语言支持语法检查器","aria-hidden":"true"},"#"),t(" 多语言支持语法检查器")],-1),k={href:"https://www.websiteplanet.com/zh-hans/webtools/spell-checker",target:"_blank",rel:"noopener noreferrer"},y=e("h2",{id:"秘塔写作猫-中文-语法检查器",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#秘塔写作猫-中文-语法检查器","aria-hidden":"true"},"#"),t(" 秘塔写作猫 (中文)语法检查器")],-1),E={href:"https://xiezuocat.com/",target:"_blank",rel:"noopener noreferrer"},T=e("p",null,"同样是一键检查,针对中文特别优化。",-1),B=e("h2",{id:"quillbot-同义转写",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#quillbot-同义转写","aria-hidden":"true"},"#"),t(" QuillBot 同义转写")],-1),q={href:"https://quillbot.com/",target:"_blank",rel:"noopener noreferrer"},z=e("p",null,"一个直接帮你 paraphrase,妈妈再也不用担心我降重啦。",-1),v=e("h2",{id:"mybib-参考格式化",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#mybib-参考格式化","aria-hidden":"true"},"#"),t(" Mybib 参考格式化")],-1),G={href:"https://www.mybib.com/",target:"_blank",rel:"noopener noreferrer"},I=e("p",null,"Reference 一键式操作,什么 GBT 7714-2015,APA,IEEE 格式都支持。",-1),L=e("h2",{id:"turnitin-查重",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#turnitin-查重","aria-hidden":"true"},"#"),t(" Turnitin 查重")],-1),N={href:"https://www.turnitin.com/",target:"_blank",rel:"noopener noreferrer"},V=e("p",null,"查重必备,并且南科大图书馆已购买该服务,可申请免费使用。",-1);function A(C,D){const r=a("ExternalLinkIcon");return l(),s("div",null,[i,d,c,e("p",null,[e("a",_,[t("https://translate.google.com"),n(r)])]),p,u,e("p",null,[e("a",m,[t("https://www.deepl.com/translator"),n(r)])]),b,w,e("p",null,[e("a",f,[t("https://www.grammarly.com"),n(r)])]),g,x,e("ul",null,[e("li",null,[e("a",k,[t("https://www.websiteplanet.com/zh-hans/webtools/spell-checker"),n(r)])])]),y,e("p",null,[e("a",E,[t("https://xiezuocat.com/"),n(r)])]),T,B,e("p",null,[e("a",q,[t("https://quillbot.com/"),n(r)])]),z,v,e("p",null,[e("a",G,[t("https://www.mybib.com/"),n(r)])]),I,L,e("p",null,[e("a",N,[t("https://www.turnitin.com/"),n(r)])]),V])}const P=o(h,[["render",A],["__file","paper-tools.html.vue"]]);export{P as default}; diff --git a/assets/paper-tools.html-qavDURca.js b/assets/paper-tools.html-qavDURca.js new file mode 100644 index 000000000..9c519b80e --- /dev/null +++ b/assets/paper-tools.html-qavDURca.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-d1061704","path":"/study/paper-tools.html","title":"几个赶 ddl 的好用工具🔧","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"Google Translate 翻译器","slug":"google-translate-翻译器","link":"#google-translate-翻译器","children":[]},{"level":2,"title":"DeepL Translate 翻译器","slug":"deepl-translate-翻译器","link":"#deepl-translate-翻译器","children":[]},{"level":2,"title":"Grammarly (英文)语法检查器","slug":"grammarly-英文-语法检查器","link":"#grammarly-英文-语法检查器","children":[]},{"level":2,"title":"多语言支持语法检查器","slug":"多语言支持语法检查器","link":"#多语言支持语法检查器","children":[]},{"level":2,"title":"秘塔写作猫 (中文)语法检查器","slug":"秘塔写作猫-中文-语法检查器","link":"#秘塔写作猫-中文-语法检查器","children":[]},{"level":2,"title":"QuillBot 同义转写","slug":"quillbot-同义转写","link":"#quillbot-同义转写","children":[]},{"level":2,"title":"Mybib 参考格式化","slug":"mybib-参考格式化","link":"#mybib-参考格式化","children":[]},{"level":2,"title":"Turnitin 查重","slug":"turnitin-查重","link":"#turnitin-查重","children":[]}],"git":{"updatedTime":1660915408000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":2}]},"filePathRelative":"study/paper-tools.md"}');export{l as data}; diff --git a/assets/pms-p1-HqscRncN.png b/assets/pms-p1-HqscRncN.png new file mode 100644 index 000000000..e9a39b81a Binary files /dev/null and b/assets/pms-p1-HqscRncN.png differ diff --git a/assets/pms-p2-OzA2_Nu_.png b/assets/pms-p2-OzA2_Nu_.png new file mode 100644 index 000000000..a904289b7 Binary files /dev/null and b/assets/pms-p2-OzA2_Nu_.png differ diff --git a/assets/pms-p3-lnwKkcsW.png b/assets/pms-p3-lnwKkcsW.png new file mode 100644 index 000000000..ac594d2e2 Binary files /dev/null and b/assets/pms-p3-lnwKkcsW.png differ diff --git a/assets/pms-p4-G4KBqnVq.png b/assets/pms-p4-G4KBqnVq.png new file mode 100644 index 000000000..b073e54bb Binary files /dev/null and b/assets/pms-p4-G4KBqnVq.png differ diff --git a/assets/pms-p6-BZrD9Ugs.png b/assets/pms-p6-BZrD9Ugs.png new file mode 100644 index 000000000..9f0dff0a7 Binary files /dev/null and b/assets/pms-p6-BZrD9Ugs.png differ diff --git a/assets/pms-p7-DY-A_oFG.png b/assets/pms-p7-DY-A_oFG.png new file mode 100644 index 000000000..f68655a48 Binary files /dev/null and b/assets/pms-p7-DY-A_oFG.png differ diff --git a/assets/pms-p8-pPNg_pVJ.png b/assets/pms-p8-pPNg_pVJ.png new file mode 100644 index 000000000..22bdf9fb3 Binary files /dev/null and b/assets/pms-p8-pPNg_pVJ.png differ diff --git a/assets/preview-xiaomo-maxT7qbt.jpg b/assets/preview-xiaomo-maxT7qbt.jpg new file mode 100644 index 000000000..faadd07f5 Binary files /dev/null and b/assets/preview-xiaomo-maxT7qbt.jpg differ diff --git a/assets/print-1-3wmHB-f5.jpeg b/assets/print-1-3wmHB-f5.jpeg new file mode 100644 index 000000000..e09470541 Binary files /dev/null and b/assets/print-1-3wmHB-f5.jpeg differ diff --git a/assets/print-2-m8eNSzoT.jpeg b/assets/print-2-m8eNSzoT.jpeg new file mode 100644 index 000000000..822f7f9df Binary files /dev/null and b/assets/print-2-m8eNSzoT.jpeg differ diff --git a/assets/print-3-ipovTwCB.jpeg b/assets/print-3-ipovTwCB.jpeg new file mode 100644 index 000000000..3a3c69c53 Binary files /dev/null and b/assets/print-3-ipovTwCB.jpeg differ diff --git a/assets/print-4-4uTQn0p0.jpeg b/assets/print-4-4uTQn0p0.jpeg new file mode 100644 index 000000000..0a1e5ef18 Binary files /dev/null and b/assets/print-4-4uTQn0p0.jpeg differ diff --git a/assets/print-5-jT5e6jii.jpeg b/assets/print-5-jT5e6jii.jpeg new file mode 100644 index 000000000..fd20412ec Binary files /dev/null and b/assets/print-5-jT5e6jii.jpeg differ diff --git a/assets/print-6kGhpibK.png b/assets/print-6kGhpibK.png new file mode 100644 index 000000000..bd60f633c Binary files /dev/null and b/assets/print-6kGhpibK.png differ diff --git a/assets/reader-service-6d9pxofn.png b/assets/reader-service-6d9pxofn.png new file mode 100644 index 000000000..c72f4f997 Binary files /dev/null and b/assets/reader-service-6d9pxofn.png differ diff --git a/assets/redirect.html-7SkKp2Ci.js b/assets/redirect.html-7SkKp2Ci.js new file mode 100644 index 000000000..7cf258728 --- /dev/null +++ b/assets/redirect.html-7SkKp2Ci.js @@ -0,0 +1 @@ +import{_ as f,o as m,c as u,e as v}from"./app-9djxHuta.js";const _={mounted(){function a(){$.getJSON("/2023.json",function(t){var o={};for(let r=0;r 🚌校园巴士 - 自动跳转

    根据国家法定节假日和周末自动跳转。如停留在此页面,请刷新。

    🚌校园巴士

    ',4),p=[y];function b(a,t,o,e,d,i){return m(),u("div",null,p)}const D=f(_,[["render",b],["__file","redirect.html.vue"]]);export{D as default}; diff --git a/assets/redirect.html-ABkB5Trh.js b/assets/redirect.html-ABkB5Trh.js new file mode 100644 index 000000000..be07174a6 --- /dev/null +++ b/assets/redirect.html-ABkB5Trh.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-48975204","path":"/transport/redirect.html","title":"🚌校园巴士 - 自动跳转","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"根据国家法定节假日和周末自动跳转。如停留在此页面,请刷新。","slug":"根据国家法定节假日和周末自动跳转。如停留在此页面-请刷新。","link":"#根据国家法定节假日和周末自动跳转。如停留在此页面-请刷新。","children":[]},{"level":2,"title":"🚌校园巴士","slug":"🚌校园巴士","link":"#🚌校园巴士","children":[]}],"git":{"updatedTime":1670668241000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":8}]},"filePathRelative":"transport/redirect.md"}');export{e as data}; diff --git a/assets/registered-organization-2019.html-SF8849i2.js b/assets/registered-organization-2019.html-SF8849i2.js new file mode 100644 index 000000000..5fa0467ea --- /dev/null +++ b/assets/registered-organization-2019.html-SF8849i2.js @@ -0,0 +1 @@ +import{_ as t,o as e,c as n,e as l}from"./app-9djxHuta.js";const d={},r=l('

    注册社团列表(2018-2019年度)

    思想政治类

    社团名称社长姓名副社长姓名指导老师
    学生研习社梁振宇许博清 张玄来小栋
    军事爱好者社团张田旭任海翔袁长庚

    学术科技类

    社团名称社长姓名副社长姓名指导老师
    航模社袁浩岚张逸飞 吴梦霏 林悦滢 翟许辰何紫琳、李斯 明
    天文社温黎平万雨豪 许景波叶生毅
    电子和电子工程协会(IEEE)南科 大学生分会社团郑金涛余梦霞班莹莹
    虚拟现实技术社祁晨晨黄德淳郝祁
    国际材料研究学会(MRS)南科 大分会社团李冲王俊玮 韩明昊王芳
    模拟联合国社隋瑗徐阳
    计算机研究协会社团李照钟兆玮 吴江宁郝祁
    翻译社Tan Chin Chin张胡梦圆 毛振江 王超刘姗艺
    工业设计社吴迪黄德淳尉进
    科普社团宋帅东刘威胡玙璠

    创新创业类

    社团名称社长姓名社长学号副社长姓名指导老师
    创新创业协会社叶顶强11810121颜秋阳 申奥 于启东 杨照基张冬

    文化体育类

    社团名称社长姓名副社长姓名指导老师
    桥牌社张楚唯尹水杉 郑旭川李蓝
    乒乓球社韩旭东罗雨萌 骆诗航何紫琳
    炽焱足球社彭程邹镒泽 李荀 李世超赵一品
    Penbeat社陈冶冬汪海鹏 黄炜杰 张一驰郭超
    散打社郭诗岳王颷卢阳
    电子音乐社闫炜杰张晨旭 乔昱淇袁长庚
    Wink舞社林悦滢徐嘉玉赖莎
    雁落弓社汤忠融张森瀚任奕霏
    定向越野社彭睿杰王品轩 孙习羽侯思宇
    西乐社张瑞祺魏林通
    魔方社王珺韩昕汝邱星源
    日本语言学习社王铎霖张子健 李之宸李冬娜
    排球社涂皖欣杨萌钰侯思宇
    弈林棋社王家辰袁靖侯思宇
    科幻协会社团王子瑞徐佳慧吴岩
    Dauber画社陆品谚侯思宇
    电影沙龙社沈洋高膨 黄云浩袁长庚
    吉他社张博文胡浩誉 何相汝魏林通
    Rugby社黄裕清马宇杰 邓周燕 邵师尧 吴凯跃于璐
    SCAP动漫社陈子建钱柏臣 张洋溢Jesse Cancelmo
    川衡社李奇隆蔡依农 郭泰森罗林斯特
    电竞社徐衡张朝滇 张雪琰侯思宇
    致仁烘焙社阎沁琳邹佳迪 吴一凡 刘泽霈邱星源
    围棋社宋政宇吴宇闻 徐楠侯思宇
    书画社熊天楚荐天蓝帅月
    NOVA街舞社李超刘昊天赖莎
    清羽飞扬羽毛球社祝学林刘澄昱 郑煜涛 徐品深 冯浩然 叶可欣魏伟成
    跆拳道社刘怡王庭哲赵洋
    音乐剧社谭荔丹纪涛
    南科武学社唐家豪欧阳灏赵洋
    推理社岑思宇张正源
    万智牌社吴克非杨锐 范霄弈党骐
    自行车社李明阳殷腾峻 杨其朔魏伟成
    搏击社何睿中郭诗岳 王颷 高天栎卢阳
    篮球社肖奕楠李不言董伦红
    女子篮球社吴练璠张沁琳 曹蓝心 张星玥董伦红
    轻音社张淘月聂秋实 刘盛豪 付钰 田野鲁大为
    桌游社周子越贺泽宇
    轮滑社胡世杰胡明涛孙颜
    辩论与口才社于涵霖马敬博刘萍
    滑板社范航瑞唐之遥何绮婷
    摄影社孙思玥张旺 卿博文 张博文郭超
    瑜伽社钱偶讷吴伟悦马缨
    文学社路凯梁钰栋袁长庚
    橡胶调酒社池锟丁启维袁长庚
    拉丁社杨晨煜团委艺术中心 负责
    精灵宝可梦中心社刘畅毓白同旭邱星源
    东亚神话与邦乐研究社胡烜榛何琰 周梓钦王晓葵
    钢琴社郑泽强李文沛 王照坤 王竞辉 南江翊魏林通
    文化创意社熊天楚云泽彬 汪紫烟张璞
    孟荀学社孟斐李岩松 韩志远 谢壮壮 张一凡赵建华
    志愿公益类
    绿色营自然保育社蔡佩静吕沫
    招生宣传社团胡凌云冀潇崔繁
    猫社李游吕玥 黄纪潮吴一敏
    手语社李之宸陈旭丹陈梦鸽
    其他类
    花粉俱乐部社刘怡斌罗培聿 钟万里许嘉桐

    筹备社团

    社团名称社长姓名副社长姓名指导老师
    大学生就业与职业发展社团郭锦桐
    游戏王社唐若皓
    网球社孙云柯
    游泳社方泽桐

    参考资料

    • 关于公布2018-2019年度南方科技大学学生社团年审工作结果的通知(邮件)
    ',13),a=[r];function s(i,g){return e(),n("div",null,a)}const y=t(d,[["render",s],["__file","registered-organization-2019.html.vue"]]);export{y as default}; diff --git a/assets/registered-organization-2019.html-bp8QVK35.js b/assets/registered-organization-2019.html-bp8QVK35.js new file mode 100644 index 000000000..5a864ecba --- /dev/null +++ b/assets/registered-organization-2019.html-bp8QVK35.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-461d4a7c","path":"/organizations/registered-organization-2019.html","title":"注册社团列表(2018-2019年度)","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"思想政治类","slug":"思想政治类","link":"#思想政治类","children":[]},{"level":2,"title":"学术科技类","slug":"学术科技类","link":"#学术科技类","children":[]},{"level":2,"title":"创新创业类","slug":"创新创业类","link":"#创新创业类","children":[]},{"level":2,"title":"文化体育类","slug":"文化体育类","link":"#文化体育类","children":[]},{"level":2,"title":"筹备社团","slug":"筹备社团","link":"#筹备社团","children":[]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"updatedTime":1602669270000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"organizations/registered-organization-2019.md"}');export{e as data}; diff --git a/assets/registered-organization-2020.html-_Nr1Xd7j.js b/assets/registered-organization-2020.html-_Nr1Xd7j.js new file mode 100644 index 000000000..9ba983788 --- /dev/null +++ b/assets/registered-organization-2020.html-_Nr1Xd7j.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-6ba7e826","path":"/organizations/registered-organization-2020.html","title":"注册社团列表(2019-2020年度)","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"updatedTime":1602669270000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"organizations/registered-organization-2020.md"}');export{t as data}; diff --git a/assets/registered-organization-2020.html-khW2Dmy2.js b/assets/registered-organization-2020.html-khW2Dmy2.js new file mode 100644 index 000000000..24fd1f0ae --- /dev/null +++ b/assets/registered-organization-2020.html-khW2Dmy2.js @@ -0,0 +1 @@ +import{_ as t,o as e,c as n,e as l}from"./app-9djxHuta.js";const d={},r=l('

    注册社团列表(2019-2020年度)

    社团名称社团类型社长姓名指导老师姓名主管部门
    NOVA 街舞社文化体育类廖婧池赖莎体育中心
    Wink 舞社文化体育类周今月赖莎体育中心
    辩论社文化体育类丁启维刘萍树礼书院
    定向越野社文化体育类冯浩轩侯思宇体育中心
    乒乓球社文化体育类韩旭东何紫琳 秦晨芳体育中心 校团委
    桥牌社文化体育类郑旭川谢阅校团委
    书画社文化体育类荐天蓝张玉洁致仁书院
    跆拳道社文化体育类陈振宇赵洋体育中心
    自然国学社文化体育类孟斐乐美理学院
    Dauber 画社文化体育类陆品谚侯思宇体育中心
    搏击社文化体育类何睿中卢阳体育中心
    川衡社文化体育类李奇隆罗林斯特体育中心
    电竞社文化体育类徐衡侯思宇体育中心
    翻译社文化体育类Tan Chin Chin谢玲琍语言中心
    钢琴社文化体育类郭傲魏林通树仁书院
    吉他社文化体育类张博文魏林通树仁书院
    南风诗社文化体育类曹子旋李蓝人文科学中心、树礼书 院
    武学社文化体育类杨瀚博赵洋体育中心
    清羽飞扬羽毛球社文化体育类石松林孙瑜 侯杰体育中心 树德书院
    日语社文化体育类年通宇李冬娜党政办公室
    树礼微电影社文化体育类白钰溦王浩树礼书院
    文化创意社文化体育类熊天楚张璞宣传与公共关系部
    西乐社文化体育类阳嘉辉卢雪霞树仁书院
    校园大使文化体育类冯晨曦李思颖校团委
    雁落弓社文化体育类汤忠融任奕霏致新书院
    弈林棋社文化体育类杨奕辰侯思宇体育中心
    游戏王社文化体育类唐若皓陈窗叙重大事项办公室
    游泳社文化体育类方泽桐王鑫体育中心
    致诚歌唱社文化体育类陈宏洋罗芬致诚书院
    致诚设计社文化体育类邓煜王莲君致诚书院
    致诚咏春社文化体育类杜昊澄甘立海致诚书院
    致仁烘焙社文化体育类郭嘉欣顾佳致仁书院
    致仁民乐团文化体育类付钰张玉洁致仁书院
    SCAP 动漫社文化体育类张洋溢原指导老师离职一星
    树礼阿卡贝拉社文化体育类文颖潼解一琪树礼书院
    炽焱足球社文化体育类彭程赵一品体育中心
    东亚神话与邦乐研究社文化体育类胡烜榛王晓葵社科中心
    瑜伽社文化体育类钱偶讷马缨树德书院
    风华主持队文化体育类张欣怡李思颖校团委
    电影沙龙社文化体育类蒋润喆袁长庚社科中心
    电子音乐社文化体育类乔昱淇袁长庚社科中心
    拉丁社文化体育类吴伟悦熊天成校团委
    篮球社文化体育类陈俊滔董伦红体育中心
    轮滑社文化体育类胡世杰孙颜体育中心
    魔方社文化体育类王珺邱星源致仁书院
    女子篮球社文化体育类林慧燕董伦红体育中心
    排球社文化体育类裴鸿婧侯思宇体育中心
    树仁京剧社文化体育类周名昊魏林通树仁书院
    天文社文化体育类黄子炫叶生毅地球与空间科学系
    推理社文化体育类岑思宇杨枫宇树仁书院
    万智牌社文化体育类吴克非党骐党政办公室
    围棋社文化体育类宋政宇侯思宇体育中心
    文学社文化体育类路凯袁长庚社科中心
    橡树调酒社文化体育类池锟袁长庚社科中心
    野战社文化体育类刘瀛泽白波体育中心
    音乐剧社文化体育类谭荔丹纪涛艺术中心
    致仁咖啡社文化体育类丁启维张玉洁致仁书院
    致新非物质文化遗产社文化体育类张程浩陈梦鸽致新书院
    致新古琴社文化体育类李心平陈梦鸽致新书院
    棍网球社(筹)文化体育类梅宏悦郭超树礼书院
    滑板社(筹)文化体育类范航瑞何婷婷化学系
    空手道社(筹)文化体育类李博涵赵洋体育中心
    南枝未央汉服社(筹)文化体育类韦婉儿解一琪树礼书院
    轻小说社(筹)文化体育类贾拿云鲁大为物理系
    摄影社(筹)文化体育类孙思玥郭超树礼书院
    网球社(筹)文化体育类李睿杰白波体育中心
    致诚健身社(筹)文化体育类徐子屹崔科峰致诚书院
    致仁杠铃社(筹)文化体育类王超逸张玉洁致仁书院
    学生研习社思想政治类张玄来小栋树仁书院
    军事爱好者社团(筹)思想政治类张田旭袁长庚社科中心
    猫社志愿公益类闫一茗王坤心理成长中心
    树礼科普社志愿公益类杨宇昂王浩树礼书院
    招生宣传协会志愿公益类胡凌云崔繁招生办
    绿足迹自然保育社志愿公益类蔡佩静吕沫生物系
    树德 STEAM+创客教育社团 (筹)志愿公益类胡艺霖李斯明树德书院
    航模社学术科技类徐嘉睿何紫琳 李斯明体育中心 树德书院
    DataHub 社团学术科技类唐龙飞田国梁统计与数据科学系
    数学物理社学术科技类张奥孔良量子科学与工程研究院
    材料研究学会南科大学生分 会学术科技类王旭扬王芳材料科学与工程系
    工业设计社学术科技类吴迪尉进系统设计与智能制造学 院
    计算机研究协会社团学术科技类樊青远郝祁计算机科学与工程系
    深渔俱乐部学术科技类廖崇霖张传伦 程斯宇海洋科学与工程系
    虚拟现实技术社学术科技类黄德淳吴岩人文中心
    自主智能机器人社团学术科技类郭永杉潘阳 李斯明机械与能源工程系 树德书院
    模拟联合国协会(筹)学术科技类徐源榕徐阳国际合作部
    未来企业家俱乐部创新创业类刘师宇邵理阳创新创业学院
    创新创业协会社创新创业类于启东张冬创新创业学院
    CAN 极客社团(筹)创新创业类王炜皓赵耀计算机科学与工程系
    大学生就业与职业发展社团 (筹)创新创业类米国俊陆经纬就业指导中心
    花粉俱乐部其他类刘行许嘉桐学生工作部
    理想社(筹)其他类蔡任伟陈向东 程要提理学院

    参考资料

    • 关于公布2019-2020年度南方科技大学学生社团年审工作结果的通知(邮件)
    ',4),a=[r];function i(c,s){return e(),n("div",null,a)}const g=t(d,[["render",i],["__file","registered-organization-2020.html.vue"]]);export{g as default}; diff --git a/assets/registered-organization-2021.html-cnNXJwPe.js b/assets/registered-organization-2021.html-cnNXJwPe.js new file mode 100644 index 000000000..7ed602b0c --- /dev/null +++ b/assets/registered-organization-2021.html-cnNXJwPe.js @@ -0,0 +1 @@ +import{_ as t,o as d,c as r,e}from"./app-9djxHuta.js";const a={},h=e('

    注册社团列表(2020-2021年度)

    社团名称社团类型社长姓名指导老师姓名主管部门
    NOVA 街舞社文化体育廖婧池赖莎体育中心
    RS 轮滑社文化体育王丹阳孙颜体育中心
    SCAP 动漫社(筹)文化体育张洋溢指导老师离职
    WINK 舞社文化体育周若雨赖莎体育中心
    万智牌社文化体育杨子青党骐党政办公室
    东亚神话与邦乐研 究社文化体育周航王晓葵社科中心
    乒乓球社文化体育韩亦雄秦晨芳 何紫琳校团委 体育中心
    书画社文化体育王子墨张玉洁致仁书院
    凤凰社(筹)文化体育石松林吴晔昊树仁书院
    南枝未央汉服社文化体育韦婉儿解一琪树礼书院
    南风诗社文化体育高强李蓝树礼书院
    围棋社文化体育丁泽洋侯思宇体育中心
    国旗护卫队其他刘炎炜陈子廷征兵工作站
    天文社学术科技唐乐陶叶生毅地理与空间科学系
    学生研习社思想政治张玄杨枫宇树仁书院
    定向越野社文化体育孙逸涵侯思宇 张玉洁体育中心 致仁书院
    川衡社文化体育余天泽罗林斯特 钟宇昕体育中心 树德书院
    开言堂相声社文化体育徐春骥宋帅东致新书院
    弈林棋社文化体育张一鸣侯思宇体育中心
    心理学社(筹)文化体育李秋实王坤学生工作部 心理成长中心
    战术研习社文化体育魏子荀白波体育中心
    拉丁舞社文化体育董小雅熊天成校团委
    招生宣传协会志愿公益郑芙嘉崔繁招生办公室
    排球俱乐部文化体育杨佳怡侯思宇体育中心
    数学物理社(筹)学术科技张奥孔良量子研究院
    文化创意社文化体育云泽彬朱增光宣传与共公关系部
    文学社文化体育姚健袁长庚社会科学中心
    日语社文化体育许天淇李冬娜党政办公室
    明航支教队志愿公益唐易坤熊天成校团委
    机器智能社学术科技韩旭东融亦鸣 宋超阳机械与能源工程系
    树仁京剧社文化体育周名昊魏林通树仁书院
    树仁吉他社文化体育蔡家仪吴晔昊树仁书院
    树德 STEAM+创客 教育社团志愿公益周峻弘李斯明树德书院
    树德力量举社文化体育孙一翔钟宇昕树德书院
    树礼科幻协会文化体育任泰衡李蓝树礼书院
    树礼科普社志愿公益林雨航王浩树礼书院
    树礼说唱社文化体育刘懋祥解一琪树礼书院
    树礼阿卡贝拉社文化体育文颖潼解一琪树礼书院
    校园大使文化体育尹沫文李思颖校团委
    桥牌社文化体育马玄轶夏侯露钰校团委
    棍网球社文化体育孙介朴郭超树礼书院
    模拟联合国协会学术科技郑可锌徐阳国际合作部
    武学社文化体育覃天泽赵洋体育中心
    清羽飞扬社文化体育吴海涵孙瑜 侯杰体育中心 树德书院
    游戏王社文化体育宫正陈窗叙规划发展部
    游泳社文化体育李蔚王鑫体育中心
    狼人杀社(筹)文化体育马晨昊指导老师离职
    猫社志愿公益张闻城王坤学生工作部 心理成长中心
    瑜伽社文化体育王雅淇马缨树德书院
    电声社文化体育宋致远熊天成校团委
    电影沙龙社文化体育陈梓歆袁长庚社会科学中心
    电竞社文化体育周子航侯思宇体育中心
    立直麻雀社文化体育尹水杉顾理一商学院
    篮球社文化体育陈俊滔董伦红体育中心
    粤语社(筹)文化体育陈旭丹钟宇昕树德书院
    绿足迹自然保育社志愿公益蔡佩静吕沫生命科学学院
    美丽中国教育协会 (筹)志愿公益周萌指导老师离职
    翻译社(筹)学术科技毛振江指导老师离职
    自然国学社文化体育孟斐乐美理学院
    致仁 Camerata 咖 啡社文化体育周君泽张玉洁致仁书院
    致仁民乐团文化体育荐天蓝张玉洁致仁书院
    致仁烘培室文化体育王怡张玉洁致仁书院
    致新古琴社文化体育麦晋源陈梦鸽致新书院
    致新非物质文化遗 产社文化体育张程浩陈梦鸽致新书院
    致诚健身社文化体育陈孙兵张瀚文致诚书院
    致诚咏春社文化体育杜昊澄甘立海致诚书院
    致诚歌唱社文化体育岳翼遥张琦致诚书院
    致诚设计社文化体育周安然陈胤淇致诚书院
    航模社学术科技徐嘉睿何紫琳 李斯明体育中心 树德书院
    花粉俱乐部其他刘行许嘉桐学生工作部
    虚拟现实技术社学术科技黄德淳吴岩人文科学中心
    行水国风音乐社 (筹)文化体育张重言侯杰树德书院
    西乐社文化体育李忻睿卢雪霞 周祐民树仁书院 海洋科学与工程系
    计算机研究协会学术科技陈俊峰郝祁计算机科学与工程系
    跆拳道社文化体育陈振宇赵洋体育中心
    轻小说社文化体育贾拿云鲁大为物理系
    辩论社文化体育黄一鸣刘萍树礼书院
    钢琴社文化体育赵子安魏林通树仁书院
    雁落弓社文化体育贺思楠陈梦鸽致新书院
    风华主持队文化体育贾松硕李思颖校团委
    魔方社文化体育马旺张玉洁致仁书院

    参考资料

    • 关于公布2020-2021年度南方科技大学学生社团年审工作结果的通知(邮件)
    ',4),i=[h];function n(o,c){return d(),r("div",null,i)}const l=t(a,[["render",n],["__file","registered-organization-2021.html.vue"]]);export{l as default}; diff --git a/assets/registered-organization-2021.html-uiiNm4vO.js b/assets/registered-organization-2021.html-uiiNm4vO.js new file mode 100644 index 000000000..702d375df --- /dev/null +++ b/assets/registered-organization-2021.html-uiiNm4vO.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-6d5cc0c5","path":"/organizations/registered-organization-2021.html","title":"注册社团列表(2020-2021年度)","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"updatedTime":1658460499000,"contributors":[{"name":"sparkcyf","email":"sparktour@outlook.com","commits":1}]},"filePathRelative":"organizations/registered-organization-2021.md"}');export{t as data}; diff --git a/assets/sakai-1-gdIu9juD.png b/assets/sakai-1-gdIu9juD.png new file mode 100644 index 000000000..e0fe74e11 Binary files /dev/null and b/assets/sakai-1-gdIu9juD.png differ diff --git a/assets/sakai-2-ZZGlPs7t.png b/assets/sakai-2-ZZGlPs7t.png new file mode 100644 index 000000000..bb504e6df Binary files /dev/null and b/assets/sakai-2-ZZGlPs7t.png differ diff --git a/assets/sakai-3-yJEYBaFd.png b/assets/sakai-3-yJEYBaFd.png new file mode 100644 index 000000000..ef398f056 Binary files /dev/null and b/assets/sakai-3-yJEYBaFd.png differ diff --git a/assets/sakai-4-NMHOlmrU.png b/assets/sakai-4-NMHOlmrU.png new file mode 100644 index 000000000..c6c5dc74f Binary files /dev/null and b/assets/sakai-4-NMHOlmrU.png differ diff --git a/assets/sakai-5-cj7Fmjqo.png b/assets/sakai-5-cj7Fmjqo.png new file mode 100644 index 000000000..5462ecf99 Binary files /dev/null and b/assets/sakai-5-cj7Fmjqo.png differ diff --git a/assets/scan-2-0-KFLwn75T.jpeg b/assets/scan-2-0-KFLwn75T.jpeg new file mode 100644 index 000000000..eb0032aec Binary files /dev/null and b/assets/scan-2-0-KFLwn75T.jpeg differ diff --git a/assets/scan-2-1-5nSBK4Tj.jpeg b/assets/scan-2-1-5nSBK4Tj.jpeg new file mode 100644 index 000000000..d9d0d5999 Binary files /dev/null and b/assets/scan-2-1-5nSBK4Tj.jpeg differ diff --git a/assets/scan-2-4-SitOkdDi.jpeg b/assets/scan-2-4-SitOkdDi.jpeg new file mode 100644 index 000000000..11f0704ee Binary files /dev/null and b/assets/scan-2-4-SitOkdDi.jpeg differ diff --git a/assets/schedule-2gA_GM7X.png b/assets/schedule-2gA_GM7X.png new file mode 100644 index 000000000..36a0ec10a Binary files /dev/null and b/assets/schedule-2gA_GM7X.png differ diff --git a/assets/send-receive-email-by-proxy.html-_tGNcqtL.js b/assets/send-receive-email-by-proxy.html-_tGNcqtL.js new file mode 100644 index 000000000..25e607f06 --- /dev/null +++ b/assets/send-receive-email-by-proxy.html-_tGNcqtL.js @@ -0,0 +1 @@ +import{_ as s,r as t,o as a,c as i,b as e,d as o,a as d,e as r}from"./app-9djxHuta.js";const n="/assets/1-1bpHsARR.png",l="/assets/2-YKyWLga5.png",p="/assets/3-wJ5wenVd.png",_="/assets/4-6aZcFcyC.png",h="/assets/5-Wuazp14Y.png",m="/assets/6-N_UgIkBF.png",g={},Q=e("h1",{id:"解决邮箱容量不足的问题",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#解决邮箱容量不足的问题","aria-hidden":"true"},"#"),o(" 解决邮箱容量不足的问题")],-1),f={class:"custom-container warning"},B=e("p",{class:"custom-container-title"},"功能下线",-1),u={href:"https://www.ithome.com/0/686/054.htm",target:"_blank",rel:"noopener noreferrer"},x=r('

    by 贾纪源

    要求

    1. 有足够空间的 个人QQ邮箱A
    2. 容量不足的邮箱(以下用 企业邮箱B 举例)提供 POP3(Post Office Protocol 3)服务

    具体效果与配置注意事项

    1. 企业邮箱B 中删除邮件,个人QQ邮箱A 中存储的 企业邮箱B 的邮件不会被删除,以达到备份邮件、清理 企业邮箱B 空间的效果。
    2. 个人QQ邮箱A 中收取 企业邮箱B 的邮件,收件人依然保持显示 “企业邮箱B
    3. 个人QQ邮箱A 中发送或回复 企业邮箱B 的邮件,发件人将显示为 “企业邮箱B 发送 (以 个人QQ邮箱A) 代发”。
    4. 企业邮箱B 的垃圾邮箱策略,垃圾箱中的邮件可以不会被 个人QQ邮箱A 收取。
    5. 部分邮件服务商的POP3协议使用客户端密码,而不是网页账号密码。

    操作步骤

    1. 打开 个人QQ邮箱A,进入设置

      1

    2. 选择其他邮箱

      2

    3. 添加其他邮箱账户(企业邮箱B

      3

    4. 输入学校邮箱账号

      4

    5. 输入学校邮箱密码,点击验证

      5

    6. 输入POP服务器和端口点击验证

      6

    ',7);function b(P,A){const c=t("ExternalLinkIcon");return a(),i("div",null,[Q,e("div",f,[B,e("p",null,[e("a",u,[o("腾讯 QQ 邮箱宣布“关联邮箱帐号”功能 2023 年 5 月 15 日下线"),d(c)]),o(",该功能将不可用。")])]),x])}const k=s(g,[["render",b],["__file","send-receive-email-by-proxy.html.vue"]]);export{k as default}; diff --git a/assets/send-receive-email-by-proxy.html-iMlJABuM.js b/assets/send-receive-email-by-proxy.html-iMlJABuM.js new file mode 100644 index 000000000..856199722 --- /dev/null +++ b/assets/send-receive-email-by-proxy.html-iMlJABuM.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-ac3449b2","path":"/service/email/send-receive-email-by-proxy.html","title":"解决邮箱容量不足的问题","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"要求","slug":"要求","link":"#要求","children":[]},{"level":2,"title":"具体效果与配置注意事项","slug":"具体效果与配置注意事项","link":"#具体效果与配置注意事项","children":[]},{"level":2,"title":"操作步骤","slug":"操作步骤","link":"#操作步骤","children":[]}],"git":{"updatedTime":1681649675000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":2},{"name":"Ziqiang Li","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"service/email/send-receive-email-by-proxy.md"}');export{e as data}; diff --git a/assets/streetview-TzWISs--.svg b/assets/streetview-TzWISs--.svg new file mode 100644 index 000000000..f1bcdc0d3 --- /dev/null +++ b/assets/streetview-TzWISs--.svg @@ -0,0 +1 @@ +查看街景: VIEW STREETVIEW查看街景VIEW STREETVIEW \ No newline at end of file diff --git a/assets/style-nYv4aB65.css b/assets/style-nYv4aB65.css new file mode 100644 index 000000000..6119e20d3 --- /dev/null +++ b/assets/style-nYv4aB65.css @@ -0,0 +1 @@ +:root{--back-to-top-z-index: 5;--back-to-top-color: #3eaf7c;--back-to-top-color-hover: #71cda3}.back-to-top{cursor:pointer;position:fixed;bottom:2rem;right:2.5rem;width:2rem;height:1.2rem;background-color:var(--back-to-top-color);-webkit-mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2049.484%2028.284'%3e%3cg%20transform='translate(-229%20-126.358)'%20fill='currentColor'%3e%3crect%20width='35'%20height='5'%20rx='2'%20transform='rotate(-45%20296.902%20-200.874)'/%3e%3crect%20width='35'%20height='5'%20rx='2'%20transform='rotate(-135%20169.502%2020.377)'/%3e%3c/g%3e%3c/svg%3e") no-repeat;mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2049.484%2028.284'%3e%3cg%20transform='translate(-229%20-126.358)'%20fill='currentColor'%3e%3crect%20width='35'%20height='5'%20rx='2'%20transform='rotate(-45%20296.902%20-200.874)'/%3e%3crect%20width='35'%20height='5'%20rx='2'%20transform='rotate(-135%20169.502%2020.377)'/%3e%3c/g%3e%3c/svg%3e") no-repeat;z-index:var(--back-to-top-z-index)}.back-to-top:hover{background-color:var(--back-to-top-color-hover)}@media (max-width: 959px){.back-to-top{display:none}}@media print{.back-to-top{display:none}}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-1px}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--medium-zoom-z-index: 100;--medium-zoom-bg-color: #ffffff;--medium-zoom-opacity: 1}.medium-zoom-overlay{background-color:var(--medium-zoom-bg-color)!important;z-index:var(--medium-zoom-z-index)}.medium-zoom-overlay~img{z-index:calc(var(--medium-zoom-z-index) + 1)}.medium-zoom--opened .medium-zoom-overlay{opacity:var(--medium-zoom-opacity)}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}:root{--c-brand: #3eaf7c;--c-brand-light: #4abf8a;--c-bg: #ffffff;--c-bg-light: #f3f4f5;--c-bg-lighter: #eeeeee;--c-bg-dark: #ebebec;--c-bg-darker: #e6e6e6;--c-bg-navbar: var(--c-bg);--c-bg-sidebar: var(--c-bg);--c-bg-arrow: #cccccc;--c-text: #2c3e50;--c-text-accent: var(--c-brand);--c-text-light: #3a5169;--c-text-lighter: #4e6e8e;--c-text-lightest: #6a8bad;--c-text-quote: #999999;--c-border: #eaecef;--c-border-dark: #dfe2e5;--c-tip: #42b983;--c-tip-bg: var(--c-bg-light);--c-tip-title: var(--c-text);--c-tip-text: var(--c-text);--c-tip-text-accent: var(--c-text-accent);--c-warning: #ffc310;--c-warning-bg: #fffae3;--c-warning-bg-light: #fff3ba;--c-warning-bg-lighter: #fff0b0;--c-warning-border-dark: #f7dc91;--c-warning-details-bg: #fff5ca;--c-warning-title: #f1b300;--c-warning-text: #746000;--c-warning-text-accent: #edb100;--c-warning-text-light: #c1971c;--c-warning-text-quote: #ccab49;--c-danger: #f11e37;--c-danger-bg: #ffe0e0;--c-danger-bg-light: #ffcfde;--c-danger-bg-lighter: #ffc9c9;--c-danger-border-dark: #f1abab;--c-danger-details-bg: #ffd4d4;--c-danger-title: #ed1e2c;--c-danger-text: #660000;--c-danger-text-accent: #bd1a1a;--c-danger-text-light: #b5474d;--c-danger-text-quote: #c15b5b;--c-details-bg: #eeeeee;--c-badge-tip: var(--c-tip);--c-badge-warning: #ecc808;--c-badge-warning-text: var(--c-bg);--c-badge-danger: #dc2626;--c-badge-danger-text: var(--c-bg);--t-color: .3s ease;--t-transform: .3s ease;--code-bg-color: #282c34;--code-hl-bg-color: rgba(0, 0, 0, .66);--code-ln-color: #9e9e9e;--code-ln-wrapper-width: 3.5rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-code: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--navbar-height: 3.6rem;--navbar-padding-v: .7rem;--navbar-padding-h: 1.5rem;--sidebar-width: 20rem;--sidebar-width-mobile: calc(var(--sidebar-width) * .82);--content-width: 740px;--homepage-width: 960px}.back-to-top{--back-to-top-color: var(--c-brand);--back-to-top-color-hover: var(--c-brand-light)}.DocSearch{--docsearch-primary-color: var(--c-brand);--docsearch-text-color: var(--c-text);--docsearch-highlight-color: var(--c-brand);--docsearch-muted-color: var(--c-text-quote);--docsearch-container-background: rgba(9, 10, 17, .8);--docsearch-modal-background: var(--c-bg-light);--docsearch-searchbox-background: var(--c-bg-lighter);--docsearch-searchbox-focus-background: var(--c-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--c-brand);--docsearch-hit-color: var(--c-text-light);--docsearch-hit-active-color: var(--c-bg);--docsearch-hit-background: var(--c-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--c-border-dark);--docsearch-footer-background: var(--c-bg)}.external-link-icon{--external-link-icon-color: var(--c-text-quote)}.medium-zoom-overlay{--medium-zoom-bg-color: var(--c-bg)}#nprogress{--nprogress-color: var(--c-brand)}.pwa-popup{--pwa-popup-text-color: var(--c-text);--pwa-popup-bg-color: var(--c-bg);--pwa-popup-border-color: var(--c-brand);--pwa-popup-shadow: 0 4px 16px var(--c-brand);--pwa-popup-btn-text-color: var(--c-bg);--pwa-popup-btn-bg-color: var(--c-brand);--pwa-popup-btn-hover-bg-color: var(--c-brand-light)}.search-box{--search-bg-color: var(--c-bg);--search-accent-color: var(--c-brand);--search-text-color: var(--c-text);--search-border-color: var(--c-border);--search-item-text-color: var(--c-text-lighter);--search-item-focus-bg-color: var(--c-bg-light)}html.dark{--c-brand: #3aa675;--c-brand-light: #349469;--c-bg: #22272e;--c-bg-light: #2b313a;--c-bg-lighter: #262c34;--c-bg-dark: #343b44;--c-bg-darker: #37404c;--c-text: #adbac7;--c-text-light: #96a7b7;--c-text-lighter: #8b9eb0;--c-text-lightest: #8094a8;--c-border: #3e4c5a;--c-border-dark: #34404c;--c-tip: #318a62;--c-warning: #e0ad15;--c-warning-bg: #2d2f2d;--c-warning-bg-light: #423e2a;--c-warning-bg-lighter: #44442f;--c-warning-border-dark: #957c35;--c-warning-details-bg: #39392d;--c-warning-title: #fdca31;--c-warning-text: #d8d96d;--c-warning-text-accent: #ffbf00;--c-warning-text-light: #ddb84b;--c-warning-text-quote: #ccab49;--c-danger: #fc1e38;--c-danger-bg: #39232c;--c-danger-bg-light: #4b2b35;--c-danger-bg-lighter: #553040;--c-danger-border-dark: #a25151;--c-danger-details-bg: #482936;--c-danger-title: #fc2d3b;--c-danger-text: #ea9ca0;--c-danger-text-accent: #fd3636;--c-danger-text-light: #d9777c;--c-danger-text-quote: #d56b6b;--c-details-bg: #323843;--c-badge-warning: var(--c-warning);--c-badge-warning-text: #3c2e05;--c-badge-danger: var(--c-danger);--c-badge-danger-text: #401416;--code-hl-bg-color: #363b46}html.dark .DocSearch{--docsearch-logo-color: var(--c-text);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgba(3, 4, 9, .3);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgba(73, 76, 106, .5), 0 -4px 8px 0 rgba(0, 0, 0, .2)}html,body{padding:0;margin:0;background-color:var(--c-bg);transition:background-color var(--t-color)}html.dark{color-scheme:dark}html{font-size:16px}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;color:var(--c-text)}a{font-weight:500;color:var(--c-text-accent);text-decoration:none;overflow-wrap:break-word}p a code{font-weight:400;color:var(--c-text-accent)}kbd{font-family:var(--font-family-code);color:var(--c-text);background:var(--c-bg-lighter);border:solid .15rem var(--c-border-dark);border-bottom:solid .25rem var(--c-border-dark);border-radius:.15rem;padding:0 .15em}code{font-family:var(--font-family-code);color:var(--c-text-lighter);padding:.25rem .5rem;margin:0;font-size:.85em;background-color:var(--c-bg-light);border-radius:3px;overflow-wrap:break-word;transition:background-color var(--t-color)}blockquote{font-size:1rem;color:var(--c-text-quote);border-left:.2rem solid var(--c-border-dark);margin:1rem 0;padding:.25rem 0 .25rem 1rem;overflow-wrap:break-word}blockquote>p{margin:0}ul,ol{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid var(--c-border);transition:border-color var(--t-color)}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{a.header-anchor{display:none}}a.header-anchor:hover{text-decoration:none}a.header-anchor:focus-visible{opacity:1}@media print{a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}}p,ul,ol{line-height:1.7;overflow-wrap:break-word}hr{border:0;border-top:1px solid var(--c-border)}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto;transition:border-color var(--t-color)}tr{border-top:1px solid var(--c-border-dark);transition:border-color var(--t-color)}tr:nth-child(2n){background-color:var(--c-bg-light);transition:background-color var(--t-color)}tr:nth-child(2n) code{background-color:var(--c-bg-dark)}th,td{padding:.6em 1em;border:1px solid var(--c-border-dark);transition:border-color var(--t-color)}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:6px solid var(--c-bg-arrow)}.arrow.down{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid var(--c-bg-arrow)}.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid var(--c-bg-arrow)}.arrow.left{border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:6px solid var(--c-bg-arrow)}.badge{display:inline-block;font-size:14px;font-weight:600;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:var(--c-bg);vertical-align:top;transition:color var(--t-color),background-color var(--t-color)}.badge.tip{background-color:var(--c-badge-tip)}.badge.warning{background-color:var(--c-badge-warning);color:var(--c-badge-warning-text)}.badge.danger{background-color:var(--c-badge-danger);color:var(--c-badge-danger-text)}.badge+.badge{margin-left:5px}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:var(--font-family-code);font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#ec5975}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:#3eaf7c}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.375;padding:1.3rem 1.5rem;margin:.85rem 0;border-radius:6px;overflow:auto}.theme-default-content pre code,.theme-default-content pre[class*=language-] code{color:#fff;padding:0;background-color:transparent!important;border-radius:0;overflow-wrap:unset;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.theme-default-content .line-number{font-family:var(--font-family-code)}div[class*=language-]{position:relative;background-color:var(--code-bg-color);border-radius:6px}div[class*=language-]:before{content:attr(data-ext);position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:var(--code-ln-color)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent!important;position:relative;z-index:1}div[class*=language-] .highlight-lines{-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.375}div[class*=language-] .highlight-lines .highlight-line{background-color:var(--code-hl-bg-color)}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlight-line:before{content:" ";position:absolute;z-index:2;left:0;top:0;display:block;width:var(--code-ln-wrapper-width);height:100%}div[class*=language-].line-numbers-mode pre{margin-left:var(--code-ln-wrapper-width);padding-left:1rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;width:var(--code-ln-wrapper-width);text-align:center;color:var(--code-ln-color);padding-top:1.25rem;line-height:1.375;counter-reset:line-number}div[class*=language-].line-numbers-mode .line-numbers .line-number{position:relative;z-index:3;-webkit-user-select:none;-moz-user-select:none;user-select:none;height:1.375em}div[class*=language-].line-numbers-mode .line-numbers .line-number:before{counter-increment:line-number;content:counter(line-number);font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;width:var(--code-ln-wrapper-width);height:100%;border-radius:6px 0 0 6px;border-right:1px solid var(--code-hl-bg-color)}@media (max-width: 419px){.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.code-group__nav{margin-top:.85rem;margin-bottom:calc(-1.7rem - 6px);padding-bottom:calc(1.7rem - 6px);padding-left:10px;padding-top:10px;border-top-left-radius:6px;border-top-right-radius:6px;background-color:var(--code-bg-color)}.code-group__ul{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.code-group__nav-tab{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:#ffffffe6;font-weight:600}.code-group__nav-tab:focus{outline:none}.code-group__nav-tab:focus-visible{outline:1px solid rgba(255,255,255,.9)}.code-group__nav-tab-active{border-bottom:var(--c-brand) 1px solid}@media (max-width: 419px){.code-group__nav{margin-left:-1.5rem;margin-right:-1.5rem;border-radius:0}}.code-group-item{display:none}.code-group-item__active{display:block}.code-group-item>pre{background-color:orange}.custom-container{transition:color var(--t-color),border-color var(--t-color),background-color var(--t-color)}.custom-container .custom-container-title{font-weight:600}.custom-container .custom-container-title:not(:only-child){margin-bottom:-.4rem}.custom-container.tip,.custom-container.warning,.custom-container.danger{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-container.tip{border-color:var(--c-tip);background-color:var(--c-tip-bg);color:var(--c-tip-text)}.custom-container.tip .custom-container-title{color:var(--c-tip-title)}.custom-container.tip a{color:var(--c-tip-text-accent)}.custom-container.tip code{background-color:var(--c-bg-dark)}.custom-container.warning{border-color:var(--c-warning);background-color:var(--c-warning-bg);color:var(--c-warning-text)}.custom-container.warning .custom-container-title{color:var(--c-warning-title)}.custom-container.warning a{color:var(--c-warning-text-accent)}.custom-container.warning blockquote{border-left-color:var(--c-warning-border-dark);color:var(--c-warning-text-quote)}.custom-container.warning code{color:var(--c-warning-text-light);background-color:var(--c-warning-bg-light)}.custom-container.warning details{background-color:var(--c-warning-details-bg)}.custom-container.warning details code{background-color:var(--c-warning-bg-lighter)}.custom-container.warning .external-link-icon{--external-link-icon-color: var(--c-warning-text-quote)}.custom-container.danger{border-color:var(--c-danger);background-color:var(--c-danger-bg);color:var(--c-danger-text)}.custom-container.danger .custom-container-title{color:var(--c-danger-title)}.custom-container.danger a{color:var(--c-danger-text-accent)}.custom-container.danger blockquote{border-left-color:var(--c-danger-border-dark);color:var(--c-danger-text-quote)}.custom-container.danger code{color:var(--c-danger-text-light);background-color:var(--c-danger-bg-light)}.custom-container.danger details{background-color:var(--c-danger-details-bg)}.custom-container.danger details code{background-color:var(--c-danger-bg-lighter)}.custom-container.danger .external-link-icon{--external-link-icon-color: var(--c-danger-text-quote)}.custom-container.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:var(--c-details-bg)}.custom-container.details code{background-color:var(--c-bg-darker)}.custom-container.details h4{margin-top:0}.custom-container.details figure:last-child,.custom-container.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-container.details summary{outline:none;cursor:pointer}.home{padding:var(--navbar-height) 2rem 0;max-width:var(--homepage-width);margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero h1,.home .hero .description,.home .hero .actions{margin:1.8rem auto}.home .hero .actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:var(--c-text-lightest)}.home .hero .action-button{display:inline-block;font-size:1.2rem;padding:.8rem 1.6rem;border-width:2px;border-style:solid;border-radius:4px;transition:background-color var(--t-color);box-sizing:border-box}.home .hero .action-button.primary{color:var(--c-bg);background-color:var(--c-brand);border-color:var(--c-brand)}.home .hero .action-button.primary:hover{background-color:var(--c-brand-light)}.home .hero .action-button.secondary{color:var(--c-brand);background-color:var(--c-bg);border-color:var(--c-brand)}.home .hero .action-button.secondary:hover{color:var(--c-bg);background-color:var(--c-brand-light)}.home .features{border-top:1px solid var(--c-border);transition:border-color var(--t-color);padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:var(--c-text-light)}.home .feature p{color:var(--c-text-lighter)}.home .theme-default-content{padding:0;margin:0}.home .footer{padding:2.5rem;border-top:1px solid var(--c-border);text-align:center;color:var(--c-text-lighter);transition:border-color var(--t-color)}@media (max-width: 719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width: 419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero h1,.home .hero .description,.home .hero .actions{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.page{padding-top:var(--navbar-height);padding-left:var(--sidebar-width)}.navbar{position:fixed;z-index:20;top:0;left:0;right:0;height:var(--navbar-height);box-sizing:border-box;border-bottom:1px solid var(--c-border);background-color:var(--c-bg-navbar);transition:background-color var(--t-color),border-color var(--t-color)}.sidebar{font-size:16px;width:var(--sidebar-width);position:fixed;z-index:10;margin:0;top:var(--navbar-height);left:0;bottom:0;box-sizing:border-box;border-right:1px solid var(--c-border);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-brand) var(--c-border);background-color:var(--c-bg-sidebar);transition:transform var(--t-transform),background-color var(--t-color),border-color var(--t-color)}.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-track{background-color:var(--c-border)}.sidebar::-webkit-scrollbar-thumb{background-color:var(--c-brand)}.sidebar-mask{position:fixed;z-index:9;top:0;left:0;width:100vw;height:100vh;display:none}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(1){transform:rotate(45deg) translate3d(5.5px,5.5px,0)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(2){transform:scale3d(0,1,1)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(3){transform:rotate(-45deg) translate3d(6px,-6px,0)}.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(1),.theme-container.sidebar-open .navbar>.toggle-sidebar-button .icon span:nth-child(3){transform-origin:center}.theme-container.no-navbar .theme-default-content h1,.theme-container.no-navbar .theme-default-content h2,.theme-container.no-navbar .theme-default-content h3,.theme-container.no-navbar .theme-default-content h4,.theme-container.no-navbar .theme-default-content h5,.theme-container.no-navbar .theme-default-content h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .page{padding-top:0}.theme-container.no-navbar .sidebar{top:0}.theme-container.no-sidebar .sidebar{display:none}@media (max-width: 719px){.theme-container.no-sidebar .sidebar{display:block}}.theme-container.no-sidebar .page{padding-left:0}.theme-default-content a:hover{text-decoration:underline}.theme-default-content img{max-width:100%}.theme-default-content h1,.theme-default-content h2,.theme-default-content h3,.theme-default-content h4,.theme-default-content h5,.theme-default-content h6{margin-top:calc(.5rem - var(--navbar-height));padding-top:calc(1rem + var(--navbar-height));margin-bottom:0}.theme-default-content h1:first-child,.theme-default-content h2:first-child,.theme-default-content h3:first-child,.theme-default-content h4:first-child,.theme-default-content h5:first-child,.theme-default-content h6:first-child{margin-bottom:1rem}.theme-default-content h1:first-child+p,.theme-default-content h1:first-child+pre,.theme-default-content h1:first-child+.custom-container,.theme-default-content h2:first-child+p,.theme-default-content h2:first-child+pre,.theme-default-content h2:first-child+.custom-container,.theme-default-content h3:first-child+p,.theme-default-content h3:first-child+pre,.theme-default-content h3:first-child+.custom-container,.theme-default-content h4:first-child+p,.theme-default-content h4:first-child+pre,.theme-default-content h4:first-child+.custom-container,.theme-default-content h5:first-child+p,.theme-default-content h5:first-child+pre,.theme-default-content h5:first-child+.custom-container,.theme-default-content h6:first-child+p,.theme-default-content h6:first-child+pre,.theme-default-content h6:first-child+.custom-container{margin-top:2rem}@media (max-width: 959px){.sidebar{font-size:15px;width:var(--sidebar-width-mobile)}.page{padding-left:var(--sidebar-width-mobile)}}@media (max-width: 719px){.sidebar{top:0;padding-top:var(--navbar-height);transform:translate(-100%)}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translate(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width: 419px){h1{font-size:1.9rem}}.navbar{--navbar-line-height: calc( var(--navbar-height) - 2 * var(--navbar-padding-v) );padding:var(--navbar-padding-v) var(--navbar-padding-h);line-height:var(--navbar-line-height)}.navbar .logo{height:var(--navbar-line-height);margin-right:var(--navbar-padding-v);vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:var(--c-text);position:relative}.navbar .navbar-items-wrapper{display:flex;position:absolute;box-sizing:border-box;top:var(--navbar-padding-v);right:var(--navbar-padding-h);height:var(--navbar-line-height);padding-left:var(--navbar-padding-h);white-space:nowrap;font-size:.9rem}.navbar .navbar-items-wrapper .search-box{flex:0 0 auto;vertical-align:top}@media screen and (max-width: 719px){.navbar{padding-left:4rem}.navbar .site-name{display:block;width:calc(100vw - 11rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.navbar .can-hide{display:none}}.navbar-items{display:inline-block}@media print{.navbar-items{display:none}}.navbar-items a{display:inline-block;line-height:1.4rem;color:inherit}.navbar-items a:hover,.navbar-items a.router-link-active{color:var(--c-text)}.navbar-items .navbar-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:var(--navbar-line-height)}.navbar-items .navbar-item:first-child{margin-left:0}.navbar-items .navbar-item>a:hover,.navbar-items .navbar-item>a.router-link-active{margin-bottom:-2px;border-bottom:2px solid var(--c-text-accent)}@media (max-width: 719px){.navbar-items .navbar-item{margin-left:0}.navbar-items .navbar-item>a:hover,.navbar-items .navbar-item>a.router-link-active{margin-bottom:0;border-bottom:none}.navbar-items a:hover,.navbar-items a.router-link-active{color:var(--c-text-accent)}}.toggle-sidebar-button{position:absolute;top:.6rem;left:1rem;display:none;padding:.6rem;cursor:pointer}.toggle-sidebar-button .icon{display:flex;flex-direction:column;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;cursor:inherit}.toggle-sidebar-button .icon span{display:inline-block;width:100%;height:2px;border-radius:2px;background-color:var(--c-text);transition:transform var(--t-transform)}.toggle-sidebar-button .icon span:nth-child(2){margin:6px 0}@media screen and (max-width: 719px){.toggle-sidebar-button{display:block}}.toggle-color-mode-button{display:flex;margin:auto;margin-left:1rem;border:0;background:none;color:var(--c-text);opacity:.8;cursor:pointer}@media print{.toggle-color-mode-button{display:none}}.toggle-color-mode-button:hover{opacity:1}.toggle-color-mode-button .icon{width:1.25rem;height:1.25rem}.DocSearch{transition:background-color var(--t-color)}.navbar-dropdown-wrapper{cursor:pointer}.navbar-dropdown-wrapper .navbar-dropdown-title,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:var(--c-text)}.navbar-dropdown-wrapper .navbar-dropdown-title:hover,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile:hover{border-color:transparent}.navbar-dropdown-wrapper .navbar-dropdown-title .arrow,.navbar-dropdown-wrapper .navbar-dropdown-title-mobile .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.navbar-dropdown-wrapper .navbar-dropdown-title-mobile{display:none;font-weight:600;font-size:inherit}.navbar-dropdown-wrapper .navbar-dropdown-title-mobile:hover{color:var(--c-text-accent)}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item{color:inherit;line-height:1.7rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle{margin:.45rem 0 0;border-top:1px solid var(--c-border);padding:1rem 0 .45rem;font-size:.9rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>span{padding:0 1.5rem 0 1.25rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>a{font-weight:inherit}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle>a.router-link-active:after{display:none}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem-wrapper{padding:0;list-style:none}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem-wrapper .navbar-dropdown-subitem{font-size:.9em}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a:hover,.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.router-link-active{color:var(--c-text-accent)}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid var(--c-text-accent);border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item:first-child .navbar-dropdown-subtitle{margin-top:0;padding-top:0;border-top:0}.navbar-dropdown-wrapper.mobile.open .navbar-dropdown-title,.navbar-dropdown-wrapper.mobile.open .navbar-dropdown-title-mobile{margin-bottom:.5rem}.navbar-dropdown-wrapper.mobile .navbar-dropdown-title,.navbar-dropdown-wrapper.mobile .navbar-dropdown-title-mobile{display:none}.navbar-dropdown-wrapper.mobile .navbar-dropdown-title-mobile{display:block}.navbar-dropdown-wrapper.mobile .navbar-dropdown{transition:height .1s ease-out;overflow:hidden}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle{border-top:0;margin-top:0;padding-top:0;padding-bottom:0}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subtitle,.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item>a{font-size:15px;line-height:2rem}.navbar-dropdown-wrapper.mobile .navbar-dropdown .navbar-dropdown-item .navbar-dropdown-subitem{font-size:14px;padding-left:1rem}.navbar-dropdown-wrapper:not(.mobile){height:1.8rem}.navbar-dropdown-wrapper:not(.mobile):hover .navbar-dropdown,.navbar-dropdown-wrapper:not(.mobile).open .navbar-dropdown{display:block!important}.navbar-dropdown-wrapper:not(.mobile).open:blur{display:none}.navbar-dropdown-wrapper:not(.mobile) .navbar-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:var(--c-bg-navbar);padding:.6rem 0;border:1px solid var(--c-border);border-bottom-color:var(--c-border-dark);text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}.page{padding-bottom:2rem;display:block}.page .theme-default-content{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.page .theme-default-content{padding:2rem}}@media (max-width: 419px){.page .theme-default-content{padding:1.5rem}}.page-meta{max-width:var(--content-width);margin:0 auto;padding:1rem 2.5rem;overflow:auto}@media (max-width: 959px){.page-meta{padding:2rem}}@media (max-width: 419px){.page-meta{padding:1.5rem}}.page-meta .meta-item{cursor:default;margin-top:.8rem}.page-meta .meta-item .meta-item-label{font-weight:500;color:var(--c-text-lighter)}.page-meta .meta-item .meta-item-info{font-weight:400;color:var(--c-text-quote)}.page-meta .edit-link{display:inline-block;margin-right:.25rem}@media print{.page-meta .edit-link{display:none}}.page-meta .last-updated{float:right}@media (max-width: 719px){.page-meta .last-updated{font-size:.8em;float:none}.page-meta .contributors{font-size:.8em}}.page-nav{max-width:var(--content-width);margin:0 auto;padding:1rem 2.5rem 2rem;padding-bottom:0}@media (max-width: 959px){.page-nav{padding:2rem}}@media (max-width: 419px){.page-nav{padding:1.5rem}}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid var(--c-border);transition:border-color var(--t-color);padding-top:1rem;overflow:auto}.page-nav .prev a:before{content:"←"}.page-nav .next{float:right}.page-nav .next a:after{content:"→"}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .navbar-items{display:none;border-bottom:1px solid var(--c-border);transition:border-color var(--t-color);padding:.5rem 0 .75rem}.sidebar .navbar-items a{font-weight:600}.sidebar .navbar-items .navbar-item{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar .sidebar-items{padding:1.5rem 0}@media (max-width: 719px){.sidebar .navbar-items{display:block}.sidebar .navbar-items .navbar-dropdown-wrapper .navbar-dropdown .navbar-dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar .sidebar-items{padding:1rem 0}}.sidebar-item{cursor:default;border-left:.25rem solid transparent;color:var(--c-text)}.sidebar-item:focus-visible{outline-width:1px;outline-offset:-1px}.sidebar-item.active:not(p.sidebar-heading){font-weight:600;color:var(--c-text-accent);border-left-color:var(--c-text-accent)}.sidebar-item.sidebar-heading{transition:color .15s ease;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0}.sidebar-item.sidebar-heading+.sidebar-item-children{transition:height .1s ease-out;overflow:hidden;margin-bottom:.75rem}.sidebar-item.collapsible{cursor:pointer}.sidebar-item.collapsible .arrow{position:relative;top:-.12em;left:.5em}.sidebar-item:not(.sidebar-heading){font-size:1em;font-weight:400;display:inline-block;margin:0;padding:.35rem 1rem .35rem 2rem;line-height:1.4;width:100%;box-sizing:border-box}.sidebar-item:not(.sidebar-heading)+.sidebar-item-children{padding-left:1rem;font-size:.95em}.sidebar-item-children .sidebar-item-children .sidebar-item:not(.sidebar-heading){padding:.25rem 1rem .25rem 1.75rem}.sidebar-item-children .sidebar-item-children .sidebar-item:not(.sidebar-heading).active{font-weight:500;border-left-color:transparent}a.sidebar-heading+.sidebar-item-children .sidebar-item:not(.sidebar-heading).active{border-left-color:transparent}a.sidebar-item{cursor:pointer}a.sidebar-item:hover{color:var(--c-text-accent)}.table-of-contents .badge{vertical-align:middle}.dropdown-enter-from,.dropdown-leave-to{height:0!important}.fade-slide-y-enter-active{transition:all .2s ease}.fade-slide-y-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.fade-slide-y-enter-from,.fade-slide-y-leave-to{transform:translateY(10px);opacity:0}.home-gray{filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)}td[data-v-259a8620],tr[data-v-259a8620]{border:none}table[data-v-dc817d2c]{border-collapse:collapse;border:none;border-spacing:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#444;font-weight:500;margin-top:5px;width:95%;max-width:500px}@media (max-width: 320px){table[data-v-dc817d2c]{font-size:12px}.bus-timer-tb td[data-v-dc817d2c]{padding:0}}.bus-running[data-v-dc817d2c]{background-color:#afff5e3b;color:green}.bus-waiting[data-v-dc817d2c]{background-color:#eeeeee69}.plus-note[data-v-dc817d2c]{font-size:10px}.bus-timer-tb th[data-v-dc817d2c],.bus-timer-tb td[data-v-dc817d2c]{border:none;padding:10px;text-align:left}.bus-timer-tb th[data-v-dc817d2c]{background-color:#dce9f9}.bus-timer-tb th[data-v-dc817d2c]:first-child{border-radius:6px 0 0}.bus-timer-tb th[data-v-dc817d2c]:last-child{border-radius:0 6px 0 0}button{padding:10px 15px;margin:3px}.card[data-v-00202de1]{background-color:#e3e3e3;color:#000;padding:.5rem;font-size:13px}.cards[data-v-00202de1]{max-width:500px;margin:0;display:grid;grid-gap:.3rem;grid-template-columns:repeat(3,1fr)}@media (min-width: 300px){.cards[data-v-00202de1]{grid-template-columns:repeat(4,1fr)}}@media (min-width: 400px){.cards[data-v-00202de1]{grid-template-columns:repeat(6,1fr)}}.ant-segmented[data-v-4fc19259]{color:unset;font-size:unset;font-variant:unset;font-feature-settings:unset}.tab-container[data-v-4fc19259]{margin-top:6px}.bus-location-hint[data-v-4fc19259]{padding-bottom:4px}.maplibregl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:-webkit-full-screen{height:100%;width:100%}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-moz-user-select:none;-webkit-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8h-8z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath fill='%23999' d='m10.5 16 4 8 4-8h-8z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8h-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1 9-9z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1 9-9z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1 9-9z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath fill='%23000' fill-opacity='.4' d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z'/%3E%3Cpath fill='%23e1e3e9' d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z'/%3E%3Cpath fill='%23fff' d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (-ms-high-contrast:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath fill='%23000' fill-opacity='.4' d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z'/%3E%3Cpath fill='%23e1e3e9' d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z'/%3E%3Cpath fill='%23fff' d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath fill='%23000' fill-opacity='.4' d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z'/%3E%3Cpath fill='%23e1e3e9' d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z'/%3E%3Cpath fill='%23fff' d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;top:0;right:0;bottom:0;left:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}.map-container[data-v-b4cb2a49]{height:400px;width:100%}.filter-group[data-v-b4cb2a49]{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;font-weight:600;position:absolute;top:10px;right:10px;z-index:1;border-radius:3px;width:120px;color:#fff}.filter-group input[type=checkbox]:first-child+label[data-v-b4cb2a49]{border-radius:3px 3px 0 0}.filter-group label[data-v-b4cb2a49]:last-child{border-radius:0 0 3px 3px;border:none}.filter-group input[type=checkbox][data-v-b4cb2a49]{display:none}.filter-group input[type=checkbox]+label[data-v-b4cb2a49]{background-color:#3386c0;display:block;cursor:pointer;padding:10px;border-bottom:1px solid rgba(0,0,0,.25)}.filter-group input[type=checkbox]+label[data-v-b4cb2a49]{background-color:#3386c0;text-transform:capitalize}.filter-group input[type=checkbox]+label[data-v-b4cb2a49]:hover,.filter-group input[type=checkbox]:checked+label[data-v-b4cb2a49]{background-color:#4ea0da}.filter-group input[type=checkbox]:checked+label[data-v-b4cb2a49]:before{content:"✔";margin-right:5px}.map-interaction-allow{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iNTEyLjAwMDAwMHB0IiBoZWlnaHQ9IjUxMi4wMDAwMDBwdCIgdmlld0JveD0iMCAwIDUxMi4wMDAwMDAgNTEyLjAwMDAwMCIKIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgoKPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsNTEyLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzMzMzMzMyIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTI0MzAgNDg5OSBjLTQ5MyAtNTcgLTg3NSAtNDQ1IC05MzAgLTk0OCAtMTMgLTEyMyAtNyAtMTc3IDMwIC0yMzQKMzcgLTU4IDk2IC04NyAxNzYgLTg3IDEzNSAxIDIxNCA4MiAyMTQgMjIzIDAgMTgzIDk5IDM4NCAyNDMgNDkzIDI4MSAyMTMgNjk4CjE2MyA5MDIgLTEwOSA1NyAtNzUgNzYgLTExMSAxMDYgLTIwMiAyMiAtNjcgMjMgLTg0IDI3IC00NTIgbDMgLTM4MiAtOTE4IC0zCi05MTggLTMgLTg1IC0zMSBjLTE2MyAtNTggLTI4OCAtMTY5IC0zNTkgLTMxNyAtNjkgLTE0NSAtNjYgLTkyIC02NiAtMTE0MiAwCi04NzQgMSAtOTU1IDE4IC0xMDE1IDYxIC0yMjYgMjMxIC0zOTYgNDU3IC00NTcgNjAgLTE3IDE1MSAtMTggMTIzMCAtMTggMTA3OQowIDExNzAgMSAxMjMwIDE4IDIyNiA2MSAzOTYgMjMxIDQ1NyA0NTcgMTcgNjAgMTggMTQxIDE4IDEwMjUgbDAgOTYwIC0yNyA4MApjLTQ5IDE0NSAtMTM3IDI2MiAtMjU3IDM0MiAtNjkgNDYgLTE5NiA5MCAtMjgzIDk5IGwtNjggNyAwIDMyOSBjMCAxODEgLTUKMzcyIC0xMSA0MjUgLTU2IDUwNSAtNDM3IDg4NiAtOTQyIDk0MiAtMTA3IDEyIC0xMzkgMTIgLTI0NyAweiBtMTI5NSAtMjE0OApjNTAgLTIyIDkxIC02OSAxMDUgLTExOSA2IC0yNCAxMCAtMzQ3IDEwIC05MzMgbDAgLTg5NSAtMjcgLTU1IGMtMjMgLTQ1IC0zNwotNTkgLTgyIC04MSBsLTU1IC0yOCAtMTExNSAwIC0xMTE2IDAgLTUxIDI0IGMtNTMgMjUgLTgzIDU4IC0xMDIgMTE1IC0xNiA0NQotMTcgMTc5OCAtMiAxODUzIDE0IDUwIDU1IDk3IDEwNSAxMTkgMzggMTggOTUgMTkgMTE2NSAxOSAxMDcwIDAgMTEyNyAtMQoxMTY1IC0xOXoiLz4KPHBhdGggZD0iTTI0ODcgMjM0MCBjLTIyMiAtMzkgLTM4MyAtMjYyIC0zNDcgLTQ4MiAxOCAtMTE0IDk1IC0yMzQgMTgxIC0yODUKbDI5IC0xNyAwIC0xNjkgYzAgLTE0NSAzIC0xNzMgMTkgLTIwNSAzOSAtNzUgMTAxIC0xMTIgMTkxIC0xMTIgOTAgMCAxNTIgMzcKMTkxIDExMiAxNiAzMiAxOSA2MCAxOSAyMDUgbDAgMTY4IDQ1IDMwIGMxNTYgMTA1IDIxNCAzMzAgMTMwIDUxMiAtNzkgMTc0Ci0yNzEgMjc2IC00NTggMjQzeiIvPgo8L2c+Cjwvc3ZnPgo=);background-size:86% 86%}.map-interaction-lock{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iNTEyLjAwMDAwMHB0IiBoZWlnaHQ9IjUxMi4wMDAwMDBwdCIgdmlld0JveD0iMCAwIDUxMi4wMDAwMDAgNTEyLjAwMDAwMCIKIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgoKPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsNTEyLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIKZmlsbD0iIzMzMzMzMyIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTIzNzAgNTEwNSBjLTQ0MSAtNjkgLTgyNiAtMzk0IC05NjUgLTgxNSAtNTMgLTE2MSAtNTcgLTE5NSAtNjIKLTU0NiBsLTUgLTMzMSAtNzEgLTYgYy0yNTcgLTIwIC00OTcgLTE5OSAtNjA0IC00NTIgLTU0IC0xMjcgLTU0IC0xMjEgLTUxCi0xMjg1IGwzIC0xMDc1IDIzIC03MCBjODQgLTI1MCAyNTYgLTQyMCA1MDIgLTQ5NyBsNzUgLTIzIDEzNDUgMCAxMzQ1IDAgNzUKMjMgYzI0OCA3OSA0MTcgMjQ2IDUwMiA0OTcgbDIzIDcwIDMgMTA3NSBjMyAxMjI3IDcgMTE2MyAtNzkgMTMzOCAtNDIgODcgLTYzCjExNiAtMTMyIDE4NSAtNDUgNDUgLTExMSA5OSAtMTQ3IDEyMCAtODQgNDggLTIwNiA4NyAtMjk3IDk0IGwtNzMgNiAwIDI4MQpjLTEgMjk3IC03IDM4MiAtNDEgNTEwIC0xNTcgNjA3IC03NTEgOTk3IC0xMzY5IDkwMXogbTQxNSAtNTA5IGMyMDQgLTY5IDM2NwotMjE5IDQ0OSAtNDE0IDQ5IC0xMTUgNTYgLTE3OSA1NiAtNDg4IGwwIC0yODQgLTczMSAwIC03MzAgMCAzIDMxOCAzIDMxNyAyOAo4MCBjODggMjUyIDI4OCA0MzMgNTQyIDQ5MSA5OSAyMyAyODIgMTMgMzgwIC0yMHogbTEwODYgLTE2ODcgYzU2IC0yNiAxMDUKLTc1IDEyOCAtMTI5IGwyMSAtNDkgLTIgLTEwMzkgLTMgLTEwMzkgLTMwIC00OSBjLTE5IC0zMCAtNDkgLTYwIC03OSAtNzkKbC00OSAtMzAgLTEyOTcgMCAtMTI5NyAwIC00OSAzMCBjLTMwIDE5IC02MCA0OSAtNzkgNzkgbC0zMCA0OSAtMyAxMDM2IGMtMgo5MzYgLTEgMTA0MCAxNCAxMDc5IDMwIDgwIDk0IDEzNSAxNzYgMTUxIDI0IDUgNjA2IDggMTI5MyA4IDExMzAgLTIgMTI1MyAtNAoxMjg2IC0xOHoiLz4KPHBhdGggZD0iTTI0NjUgMjQyOCBjLTg5IC0xNyAtMTg0IC03MCAtMjUzIC0xNDIgLTIwNCAtMjEyIC0xODEgLTUzMyA1MSAtNzE2Cmw1NyAtNDUgMCAtMTgzIGMwIC0yMDYgOSAtMjQzIDc4IC0zMDMgNTAgLTQ0IDkxIC01OSAxNjQgLTU5IDc2IDAgMTM0IDI2IDE4MQo4MSA1MCA1NyA1NyA5NSA1NyAyOTAgbDAgMTc0IDU3IDQ1IGMyMzEgMTgyIDI1NSA1MDQgNTMgNzE0IC0xMTkgMTI0IC0yNzgKMTc2IC00NDUgMTQ0eiIvPgo8L2c+Cjwvc3ZnPgo=);background-size:80% 80%}.chart[data-v-adb0a662]{height:70vh;width:100%}.visitor-badge[data-v-adb0a662]{display:none}.tg{border:1px solid transparent;font-weight:400}.tg .tg-0lax{border:inherit;font-weight:inherit;text-align:left;vertical-align:top}@media (max-width: 419px){.theme-default-content{padding:1.5rem}h1{margin-top:0}}div.emergency{border-style:solid;border-width:2px;border-color:#fe0000;text-align:center;vertical-align:center}div.emergency p a{color:#fe0000;font-weight:700;word-break:normal}img.wx-qr.medium-zoom-image{min-width:100px;max-width:150px}.bt-sub{margin-top:1%;display:inline-block;width:32%;text-align:center}.bt-sub-new{margin-top:1%;display:inline-block;width:90%;text-align:center}.bt-sub{margin-top:1%;display:inline-block;width:48%;text-align:center}/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::-moz-placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (min-width: 751px){#docsearch-container{min-width:171.36px}}@media (max-width: 750px){.DocSearch-Container{position:fixed}#docsearch-container{min-width:52px}}@media print{#docsearch-container{display:none}} diff --git a/assets/style-w40geAFS.js b/assets/style-w40geAFS.js new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/assets/style-w40geAFS.js @@ -0,0 +1 @@ + diff --git a/assets/unifound-1-H9l9OSVW.jpeg b/assets/unifound-1-H9l9OSVW.jpeg new file mode 100644 index 000000000..b600273c5 Binary files /dev/null and b/assets/unifound-1-H9l9OSVW.jpeg differ diff --git a/assets/unifound-10-ngE4wPzS.png b/assets/unifound-10-ngE4wPzS.png new file mode 100644 index 000000000..bcefa612f Binary files /dev/null and b/assets/unifound-10-ngE4wPzS.png differ diff --git a/assets/unifound-2-NKKRBwHt.jpeg b/assets/unifound-2-NKKRBwHt.jpeg new file mode 100644 index 000000000..f29417feb Binary files /dev/null and b/assets/unifound-2-NKKRBwHt.jpeg differ diff --git a/assets/unifound-3-NG1hd-77.jpeg b/assets/unifound-3-NG1hd-77.jpeg new file mode 100644 index 000000000..424334163 Binary files /dev/null and b/assets/unifound-3-NG1hd-77.jpeg differ diff --git a/assets/unifound-4-M1Yshlai.png b/assets/unifound-4-M1Yshlai.png new file mode 100644 index 000000000..742286f9b Binary files /dev/null and b/assets/unifound-4-M1Yshlai.png differ diff --git a/assets/unifound-5-x_jt3FzV.jpeg b/assets/unifound-5-x_jt3FzV.jpeg new file mode 100644 index 000000000..cbaa1874a Binary files /dev/null and b/assets/unifound-5-x_jt3FzV.jpeg differ diff --git a/assets/unifound-6-olNh-qAZ.jpeg b/assets/unifound-6-olNh-qAZ.jpeg new file mode 100644 index 000000000..b38ee9eb6 Binary files /dev/null and b/assets/unifound-6-olNh-qAZ.jpeg differ diff --git a/assets/unifound-7-NcPipp4R.jpeg b/assets/unifound-7-NcPipp4R.jpeg new file mode 100644 index 000000000..2296537a8 Binary files /dev/null and b/assets/unifound-7-NcPipp4R.jpeg differ diff --git a/assets/unifound-8-Bp45vDhW.jpeg b/assets/unifound-8-Bp45vDhW.jpeg new file mode 100644 index 000000000..a2935ce6d Binary files /dev/null and b/assets/unifound-8-Bp45vDhW.jpeg differ diff --git a/assets/unifound-9-Fnq6Wd7h.jpeg b/assets/unifound-9-Fnq6Wd7h.jpeg new file mode 100644 index 000000000..c37a8ec78 Binary files /dev/null and b/assets/unifound-9-Fnq6Wd7h.jpeg differ diff --git a/assets/unifound-home-KwZl9eOQ.png b/assets/unifound-home-KwZl9eOQ.png new file mode 100644 index 000000000..b90ca586a Binary files /dev/null and b/assets/unifound-home-KwZl9eOQ.png differ diff --git a/assets/vehicle-charger.html-O7MfnQcf.js b/assets/vehicle-charger.html-O7MfnQcf.js new file mode 100644 index 000000000..ea0675813 --- /dev/null +++ b/assets/vehicle-charger.html-O7MfnQcf.js @@ -0,0 +1 @@ +import{_ as t,o as d,c as r,e}from"./app-9djxHuta.js";const a={},h=e('

    充电桩分布

    新能源车

    位置数量(台)
    学生宿舍(7-10栋)57
    工学院101
    学术交流中心15
    南科大中心35
    国际会议中心40
    教师公寓29

    四轮电动车

    位置数量(台)
    二科走廊4
    书院3栋1楼4
    创园4栋1楼4
    创园5栋1楼4
    荔园8栋1楼4
    荔园9栋1楼4

    两轮电动车

    位置数量(台)
    1号门自行车雨糊16
    3号门自行车雨棚16
    欣园1栋自行车棚16
    慧园2栋自行车棚16
    学生宿舍17栋自行车棚10
    学生宿舍12栋10
    第一教学楼10
    教师公寓6栋10
    湖群书院2栋10
    荔园9栋10
    创园5栋10
    ',7),c=[h];function i(o,n){return d(),r("div",null,c)}const l=t(a,[["render",i],["__file","vehicle-charger.html.vue"]]);export{l as default}; diff --git a/assets/vehicle-charger.html-WCvJbGTa.js b/assets/vehicle-charger.html-WCvJbGTa.js new file mode 100644 index 000000000..47f29801e --- /dev/null +++ b/assets/vehicle-charger.html-WCvJbGTa.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-42f2be94","path":"/life/vehicle-charger.html","title":"充电桩分布","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"新能源车","slug":"新能源车","link":"#新能源车","children":[]},{"level":2,"title":"四轮电动车","slug":"四轮电动车","link":"#四轮电动车","children":[]},{"level":2,"title":"两轮电动车","slug":"两轮电动车","link":"#两轮电动车","children":[]}],"git":{"updatedTime":1650789245000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":1}]},"filePathRelative":"life/vehicle-charger.md"}');export{e as data}; diff --git a/assets/workday.html-K3eFMMMJ.js b/assets/workday.html-K3eFMMMJ.js new file mode 100644 index 000000000..07d500e70 --- /dev/null +++ b/assets/workday.html-K3eFMMMJ.js @@ -0,0 +1 @@ +import{_ as x}from"./busline2-MmQkur0r.js";import{_ as F,r as C,o as y,c as M,b as n,d as b,a as m,e as N}from"./app-9djxHuta.js";const L={mounted(){function u(e){var r=new Date;r.setMinutes(r.getMinutes()-e);var o=r.getHours(),s=o<10?"0"+o:o,a=r.getMinutes(),d=a<10?"0"+a:a;return s+":"+d}function h(e){for(var r=u(20),o=u(0),s=0,a=0,d=e.length;a"+$(this).text()+"")}))}},r,o,s,a,d,t=h(i.hl2coe);r=t.now_table;var B=t.row,p=$("#work-bus-hl2coe").DataTable($.extend(!0,{data:r},e)),l=$(p.row(Math.min(B,r.length)).node()).offset().top-$(p.row(0).node()).offset().top;$("#bus-table-hl2coe .dataTables_scrollBody").scrollTop(l);var t=h(i.coe2hl);o=t.now_table;var g=t.row,w=$("#work-bus-coe2hl").DataTable($.extend(!0,{data:o},e)),l=$(w.row(Math.min(g,o.length)).node()).offset().top-$(w.row(0).node()).offset().top;$("#bus-table-coe2hl .dataTables_scrollBody").scrollTop(l);var t=h(i.hl2rb);s=t.now_table;var D=t.row,E=$("#work-bus-hl2rb").DataTable($.extend(!0,{data:s},e)),l=$(E.row(Math.min(D,s.length)).node()).offset().top-$(E.row(0).node()).offset().top;$("#bus-table-hl2rb .dataTables_scrollBody").scrollTop(l);var t=h(i.rb2hl);a=t.now_table;var T=t.row,v=$("#work-bus-rb2hl").DataTable($.extend(!0,{data:a},e)),l=$(v.row(Math.min(T,a.length)).node()).offset().top-$(v.row(0).node()).offset().top;$("#bus-table-rb2hl .dataTables_scrollBody").scrollTop(l);var t=h(i.ip2lh);d=t.now_table;var k=t.row,A=$("#work-bus-ip2lh").DataTable($.extend(!0,{data:d},e)),l=$(A.row(Math.min(k,d.length)).node()).offset().top-$(A.row(0).node()).offset().top;$("#bus-table-ip2lh .dataTables_scrollBody").scrollTop(l)}}document.addEventListener("DOMContentLoaded",_,!1),$(document).ready(function(){_()})}},S=N('

    🚌校园巴士 - 工作日 (2021年6月18日更新)

    快速跳转

    1路 欣园 → 工学院(共109班)

    1路 工学院 → 欣园(共98班)

    2路 欣园 → 科研楼(共71班)

    2路 科研楼 → 欣园(共85班)

    智园 → 教工食堂 → 荔园(共2班)

    参考文献

    ',15),V=n("code",null,"校园服务办公室 ",-1),j={href:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/transport/Campus_Bus_Schedule_2021_06_CN.pdf",target:"_blank",rel:"noopener noreferrer"},I={href:"https://mirrors.sustech.edu.cn/git/sustech-online/sustech-online-ng/-/raw/master/docs/transport/Campus_Bus_Schedule_2021_06_EN.pdf",target:"_blank",rel:"noopener noreferrer"};function R(u,h,i,_,e,r){const o=C("ExternalLinkIcon");return y(),M("div",null,[S,n("ul",null,[n("li",null,[b("2021年6月18日 "),V,b(" 邮件《【关于调整校园巴士运行班次及线路的通知 Notice on Adjustment of Campus Bus Schedule and Routes【2021】26号》 "),n("ul",null,[n("li",null,[n("a",j,[b("下载链接-中文"),m(o)]),b("(右键 / 长按保存)")]),n("li",null,[n("a",I,[b("Download-English"),m(o)]),b("(Right click / long press to save)")])])])])])}const q=F(L,[["render",R],["__file","workday.html.vue"]]);export{q as default}; diff --git a/assets/workday.html-KqZWowSu.js b/assets/workday.html-KqZWowSu.js new file mode 100644 index 000000000..8e1561077 --- /dev/null +++ b/assets/workday.html-KqZWowSu.js @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-8059a7a6","path":"/transport/workday.html","title":"🚌校园巴士 - 工作日 (2021年6月18日更新)","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"快速跳转","slug":"快速跳转","link":"#快速跳转","children":[]},{"level":2,"title":"1路 欣园 → 工学院(共109班)","slug":"_1路-欣园-→-工学院-共109班","link":"#_1路-欣园-→-工学院-共109班","children":[]},{"level":2,"title":"1路 工学院 → 欣园(共98班)","slug":"_1路-工学院-→-欣园-共98班","link":"#_1路-工学院-→-欣园-共98班","children":[]},{"level":2,"title":"2路 欣园 → 科研楼(共71班)","slug":"_2路-欣园-→-科研楼-共71班","link":"#_2路-欣园-→-科研楼-共71班","children":[]},{"level":2,"title":"2路 科研楼 → 欣园(共85班)","slug":"_2路-科研楼-→-欣园-共85班","link":"#_2路-科研楼-→-欣园-共85班","children":[]},{"level":2,"title":"智园 → 教工食堂 → 荔园(共2班)","slug":"智园-→-教工食堂-→-荔园-共2班","link":"#智园-→-教工食堂-→-荔园-共2班","children":[]},{"level":2,"title":"参考文献","slug":"参考文献","link":"#参考文献","children":[]}],"git":{"updatedTime":1640077007000,"contributors":[{"name":"liziwl","email":"leezisy@gmail.com","commits":14},{"name":"sparkcyf","email":"sparktour@outlook.com","commits":7}]},"filePathRelative":"transport/workday.md"}');export{l as data}; diff --git "a/assets/\346\200\245\346\225\221\347\256\261\345\234\260\345\233\276_\346\225\221\346\217\264\351\230\237\345\234\260\345\233\276\347\273\204-mG1yk4G2.jpg" "b/assets/\346\200\245\346\225\221\347\256\261\345\234\260\345\233\276_\346\225\221\346\217\264\351\230\237\345\234\260\345\233\276\347\273\204-mG1yk4G2.jpg" new file mode 100644 index 000000000..9cef9cb70 Binary files /dev/null and "b/assets/\346\200\245\346\225\221\347\256\261\345\234\260\345\233\276_\346\225\221\346\217\264\351\230\237\345\234\260\345\233\276\347\273\204-mG1yk4G2.jpg" differ diff --git "a/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\255\246\344\271\240\347\257\207.html--HPv0u2n.js" "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\255\246\344\271\240\347\257\207.html--HPv0u2n.js" new file mode 100644 index 000000000..586982e38 --- /dev/null +++ "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\255\246\344\271\240\347\257\207.html--HPv0u2n.js" @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-6323734e","path":"/study/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E5%AD%A6%E4%B9%A0%E7%AF%87.html","title":"新生攻略之学习篇","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"入学考试","slug":"入学考试","link":"#入学考试","children":[{"level":3,"title":"1. 英语","slug":"_1-英语","link":"#_1-英语","children":[]},{"level":3,"title":"2. 计算机","slug":"_2-计算机","link":"#_2-计算机","children":[]}]},{"level":2,"title":"专业与选课","slug":"专业与选课","link":"#专业与选课","children":[{"level":3,"title":"1. 专业","slug":"_1-专业","link":"#_1-专业","children":[]},{"level":3,"title":"2. 选课","slug":"_2-选课","link":"#_2-选课","children":[]}]},{"level":2,"title":"英语学习","slug":"英语学习","link":"#英语学习","children":[{"level":3,"title":"1. 英文教学","slug":"_1-英文教学","link":"#_1-英文教学","children":[]},{"level":3,"title":"2. 四六级考试","slug":"_2-四六级考试","link":"#_2-四六级考试","children":[]},{"level":3,"title":"3. 雅思 & 托福 & GRE","slug":"_3-雅思-托福-gre","link":"#_3-雅思-托福-gre","children":[]}]},{"level":2,"title":"学习方法","slug":"学习方法","link":"#学习方法","children":[{"level":3,"title":"1. 改变认知","slug":"_1-改变认知","link":"#_1-改变认知","children":[]},{"level":3,"title":"2. 各科推荐学习方法","slug":"_2-各科推荐学习方法","link":"#_2-各科推荐学习方法","children":[]}]},{"level":2,"title":"学习工具","slug":"学习工具","link":"#学习工具","children":[{"level":3,"title":"1. 笔记能手","slug":"_1-笔记能手","link":"#_1-笔记能手","children":[]},{"level":3,"title":"2.软件分享","slug":"_2-软件分享","link":"#_2-软件分享","children":[]},{"level":3,"title":"3.校内学习相关网站","slug":"_3-校内学习相关网站","link":"#_3-校内学习相关网站","children":[]},{"level":3,"title":"4.必备小工具","slug":"_4-必备小工具","link":"#_4-必备小工具","children":[]}]}],"git":{"updatedTime":1641053234000,"contributors":[{"name":"lethal233","email":"11811407@mail.sustech.edu.cn","commits":1}]},"filePathRelative":"study/by-zhicheng-college/新生攻略之学习篇.md"}');export{l as data}; diff --git "a/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\255\246\344\271\240\347\257\207.html-kEzyXUh7.js" "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\255\246\344\271\240\347\257\207.html-kEzyXUh7.js" new file mode 100644 index 000000000..7aaa623ef --- /dev/null +++ "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\255\246\344\271\240\347\257\207.html-kEzyXUh7.js" @@ -0,0 +1 @@ +import{_ as n,r,o,c as h,b as a,a as e,w as s,d as t,e as l}from"./app-9djxHuta.js";const d="/assets/image1-bJBZ0pkL.png",c="/assets/image2-cQVqPC0N.png",_="/assets/image5-ltQRRJZL.png",u="/assets/image6-2epYrBsD.png",g="/assets/image7-1LZ5K7Ow.png",m="/assets/image8-odgYWEnu.png",f="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAA5ADkDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9S5qz7z/j6rVzVS4tAeRWIFWsjU9dsdBtPtN9fW9naW3/AD9V5h8V/idfWd//AMI14V/0zW7r/j5u/wDnwrhbD4Y6R9l/4qO+ufE93/y/Xd3Xg1s09g/YHZRoHqlx8bPBll4X1DV7PXLHUvsFt/x6Wl99qrlfD37U/gy7vrqw1v7ToF3a/wDHzd3f/Hp/4FV51/aXwd026+zXPhq2/wBFuv8Aj7+w/wCiVf8AHnwyvvGFh9u0DxDc2f8Ao32r+zvtX+iaza0Ksa+xPqyzvPtlWq8/+FHiseMPAenX11Zf2Zdm2/0m0/59a9A+1ivUPOMm51K2s7+0tp5f9Kuv+PasT4o+MbbwH8P9a8Sz/wDLhbfaq8t+K3hS5vfijouuGRLYGx+y2N2P+Pq1uq4z42fEf/hKfhD4l8GarbXv9tX9r9ltv7OtftVeZXx9HD7nZQoXObv/AIkeGvgPa/adevrnUtb1n/Sr67/6eqh1v4tWPxa0bT7bQdX+x+Grq6/06vCvivoOr/Fr+xPGelWNzqX2q1+y31p/z4XX/PrXovwB+EviXwr8OfEtzc6R/pd/bf6Lp13XzF6Dr3PuvqVD6ufQviD4keA/h3dWngy8tvsX/En+3/ZPsH+iWtr/ANfX/HrWB8HPgz4R174U6Lfa9Y3N5d39r/x93f8Ax92tfOl/4w0j7Vd6R4j8M232u1/0W6u/sv2r/wAlat+F/FUvjC2uvhrY+M9Ws9EurW11Cx1HT7m6tbu1/wCvWvpqFehiKx8p9WrexPo/4Aj/AIVN8Qda+Fd9q9zqR/4/7D7Xc/8ALrX03X53/C/4zWPjz426L9ltrnUtQ/ti1/4mN3/z61+gv2uvUOKpQ948Z/aMvLf/AIQO7sTdD7Xf3Vra2P8ApP8Ax63VR2dn9jtf9J/4+6479pi01fwrdaf48u9c/wCKZ0a+tf8AiX/Zv+PX/p6rW8bfEix8B+Df+ElvvtP2T/p0tftVfneeQr4o7MGEPw3svCvifxL4hsftNndat/x9Wn/Lp9q/5+q6uvL/AIb/ABa1f4keLbu2ufDX9iaJ9h+1Wv8AaFz/AKXdVH47t/EPj3xna+A/C+rjwxa2tr9q1jULU4u7W2/6da+cw2GxDrntuvagQX/wl8IePPtdzffabO7urr/j7tLr7LUX/CB+Avhva2ljpVzbf2hf/wDP3df6X/x611Vv+zBfWf8AzV/xA91/0921h/8AItVbD9lexs9Z/tj/AIT3V7zWv+fv/Ra/UspwH1etdnxdfG16VE8k/YM+Cdzpus6h4z177TZ/8uljaXdtX3t9jr570X4F32m6z9rsfiLc2cmP+fW1+1V9CfY6+oq0aPMcv1+vV948Y/ae0Kw8V/Dq1sdUtvtmn3Os2H2r/r1+1V5Bf6dq954j8NfCLVdIvdS+wX9rdf2jd2v+iXVha1718ff+RCP/AF/2H/pVXdn/AFlrXj1sFSPao7HhXirwfpngH4leGdX0qxsdE0m6tbqwvvslr9lpnwp+Hfhr4j3/AIl8S69Yi8u7q/urS1u/+nW1/wBFre/a7/5N98V1L+x//wAkH8Nf9eteVhqUfbiv7p5f8VvCHhH4ZfErRba6Fzpnhq/sbq6uf9Puv+Pquy/Z/wDCdl4n+Fen6vfaOmL/AM26tbS7/wBK/wBF/wCXWvE/+Cqf/IufDX/sMXVfY/w7/wCSe+Gf+vC1/wDSWvaRzGPqf7PngPUW+0/8I1bWZ/6dB9lr1Hyahuf9fVuvQMD/2Q==",A="/assets/image10-bO1AUMjh.png",B="/assets/image11-MQx0qaX8.png",b="/assets/image12-kPYX3u_3.png",x="/assets/image13-du6ak7nw.png",v="/assets/image14-oP2DJprQ.png",Q="/assets/image15-Uq4mFIQn.png",w="/assets/image16-YCWUyFK0.png",E="/assets/image17-8F3lPeMq.png",q="/assets/image18-UbgSNUxV.png",P="/assets/image19-OCVupc78.png",F="/assets/image20-Jpuia5Wc.png",C="/assets/image21-d2lalF_V.png",V="/assets/image22-Rn0Ef2lx.jpeg",X="/assets/image23-djmm4kYz.jpeg",U="/assets/image24-yqO-pdxZ.png",D="/assets/image25-FVHpj2Ac.png",W="/assets/image26-fyeNqCV0.jpeg",R="/assets/image27-rpxje01-.png",k="/assets/image28-AAba_U7P.png",z="/assets/image29-yqNso8bD.png",I="/assets/image30-S0N2s1FP.png",S="/assets/image31-ClOstKqs.png",L="/assets/image32-5rxGR0Xz.png",j="/assets/image33-WqqQQMxS.png",G="/assets/image34--I77aB8o.png",H="/assets/image35-o-wl3Q49.png",N="/assets/image36-666HLBk6.png",M="/assets/image37-zaSW9pnh.png",y="/assets/image38-XupIoys2.png",K="/assets/image39-_2gQNdV-.png",Z="/assets/image40-wzORGks0.png",O="/assets/image41-s9nOr_AW.png",J="/assets/image42-XClEGlJp.png",Y="/assets/image43-LoeOtrqz.png",T="/assets/image44-IGm-aJZi.png",$="/assets/image46-aQAaQJ7T.png",aa="/assets/image47-fy3e6xVe.png",ta="/assets/image48-KSI9TtFQ.png",ea="/assets/image49-HlJhspDL.png",ia={},sa=a("h1",{id:"新生攻略之学习篇",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#新生攻略之学习篇","aria-hidden":"true"},"#"),t(" 新生攻略之学习篇")],-1),pa=a("p",null,[a("em",null,"本部分由 致诚书院大学长团 提供")],-1),la={class:"table-of-contents"},ra=a("h2",{id:"入学考试",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#入学考试","aria-hidden":"true"},"#"),t(" 入学考试")],-1),na=a("p",null,"南科大新生入学考试安排在新生适应周,根据21届的校历安排,应该是安排在刚刚开学时的军训周(具体时间关注校内通知)。考试只考两门,即英语和计算机,而且目的是为了根据大家的水平给予选课的方案,属于分级考试而非选拔性考试,因此大家不必太担心,以从容的心态准备和面对就好。下面给大家从不同方面简单介绍一下这两门考试,以便大家更好的准备!",-1),oa=a("h3",{id:"_1-英语",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#_1-英语","aria-hidden":"true"},"#"),t(" 1. 英语")],-1),ha=a("ol",null,[a("li",null,"考试内容: 英语分级考试并分为两部分:听力和阅读,题目与形式与托福考试类似,同学们可以在假期在网上或者购买托福的原题练习,会对考试有一定的帮助。(手机APP推荐:小站托福;电脑网站推荐:")],-1),da={href:"http://top.zhan.com/toefl",target:"_blank",rel:"noopener noreferrer"},ca={href:"https://toefl.viplgw.cn/",target:"_blank",rel:"noopener noreferrer"},_a=l('
    1. 考试形式:笔试,2个小时
    2. 考试结果:考试结束后,老师们会根据大家的考试成绩并结合大家的英语高考成绩与适应周英语课上大家的表现,综合评定后,将英语水平分为I、II、III,三个等级,水平依次递增,同学们根据自己的等级开始学习对应的英语课程。

    图:三种水平对应的需要修读的英语课程(每学期一门)

    2. 计算机

    1. 考试内容:计算机分级考试不会很难,会考察大家一些计算机的基础知识、逻辑、进制转换、伪代码、Java编程等。编程题也不会为难大家,一般是看程序选择输出结果或者选择一个选项完善程序之类的,大家不用过于担心,不过假期可以对以上内容进行一个简单的了解做一些准备。
    2. 考试形式:根据20级的经验,应该还是以笔试并且全部是选择题的形式。
    3. 考试结果:

    计算机分级考试的结果只分为通过与不通过两种,通过后可以直接修读"计算机程序设计基础"(通识必修课)这门课程,但如果未能通过的话,需要先修读并通过"计算机导论B"这门课程后,方能修读"计算机程序设计基础"。

    总之,南科大的分级考试主旨是为了帮助大家更好的学习大学课程,并不会对大学的成绩造成任何影响,因此学弟学妹们不必过于紧张。不过在考试前按照上述内容科学的备考,争取考出一个较好的成绩,还是对减少一些学业的压力有一定的作用的!预祝大家考试顺利!

    专业与选课

    专业问题是南科大学生在之后会一直关心和迷茫的事情,无论你们现在是不是已经有了目标,去了解专业将是你们之后一定会做的事情呢。而且专业的选择直接关系到了选课,选课也有很多学问,我们为大家总结了专业相关和一些选课要知道的事情,让大家以后不会太手忙脚乱!

    1. 专业

    1. 专业设置 图:南科大本科生可选专业院系设置汇总

    2. 专业选择方面的一点点提醒。 虽然南科大是自由选择专业,但还是需要心里有一点方向的!因为大家开学之后选课是要根据以后要进专业的先修课选择的。比如说,如果你要1+3进数学系或者统计系,你大一上就要开始学数学分析,另外的同学就只需要学高等数学。如果没有确定的方向也不用太担心,一般情况下不同专业都有很多重叠的通识课,你可以选出你感兴趣的几个专业重叠的课程在上学期上,在上学期好好了解自己感兴趣的几个专业,下学期就学这个专业剩下的先修课就好啦。当然如果你没有很强的1+3进专业的意愿的话,你还有一年的探索时间,甚至有机会临时反悔,也可以选择一些专业的先修课看看自己适不适合。

    3. 专业确定的一点点方法建议

      1. 网上了解相关院系的情况:导师及专业的科研情况等等
      2. 与感兴趣的院系的老师们联系,多多交流(注意礼貌!),找到自己感兴趣的科研方向很重要!
      3. 与大三大四的学长学姐多聊一聊,了解自己以后可能会经历什么,要做什么准备等等
      4. 兴趣!当然很重要,这个可以应用于排除法hhhhh

    2. 选课

    选课方法

    大家开学的时候会收到一个大厚本,就是2021级的培养方案啦!因为我们现在也没有大家的培养方案,因此介绍时就以2020级的培养方案为例,都是一样的,可能会有轻微变动而已,大家清楚里面有什么就可以啦!

    1. 学分限制,选课的学分是有界限的,下限15,上限25。就是告诉大家,不要上不够课,也不要上太多课,注意劳逸结合哈。

    2. 课程结构 图:课程结构总结(参考2020级培养方案)

    3. 通识课程。 体育课大家都必须选体育 I,英语要根据大家入学等级测评的结果来选择,思政课在下面四个任选一个(在四年里修完这四门就行,如果学分不够了可以放弃一学期,体育和英语也是同理) 图:大学四门思政课要求

      另外大一上下两个学期必须有一个学期选一门叫做写作与交流的课。

      大家大学四年必须修够人文课程2学分,社科课程2学分,艺术课程2学分(有些艺术社团是可以提供学分滴),至于什么时候选这些课程就完全看你啦,有早早修完的,也有等大三大四课变少之后再选的(说是用来养老的)。

    4. 先修课

    大家的培养方案每个专业上都会有这样的一页。根据这个来选择一个学期的课程就好啦,注意均匀分开两学期的课程。

    P.S.这里建议一定要咨询一下学长学姐课程的难度,比如线代和Java就不适合放在一个学期学,两门课任务都比较重,在一个学期会比较辛苦。当然如果你有信心能处理的话这都不是问题哈哈。

    刚刚也提到了可以先选感兴趣专业重叠的课程。

    另外,如果你入学等级考试计算机没有合格的话,第一个学期是选不了Java的,必须要先修计算机导论的课程。

    42a74e2ffa4e786842e80b66392fcbf

    ​ 图:计算机科学与技术先修课示例

    选课流程

    选课的流程一般是这样的:查看课程信息------积分选课------退补选课------导师确认

    下图是我们为大家总结的流程图:

    图:选课流程总结

    1. 查看课程信息:

      这个环节大家可以看到完整的排课信息了,哪门课什么时间哪位老师,这个时候大家可以开始了解课程并开始选择了,在这个阶段可以先排好自己的课表(虽然大概率以后会改)。建议大家选一门课的时候问问学长学姐有没有推荐的老师以及课程难度(受欢迎的老师并不一定适合所有人,不要追求老师选的人多不多,多问问老师讲课的风格和习惯的讲课方式等等!!这个挺重要的)。

    2. 积分选课:

      这个阶段每个人一共有100积分,为你想选的课程投入一定的积分。比如一节课容量50人,他们投入的积分从高到低排,前50人就选上这门课了,如果最后几名投入积分相同,则都落选。这是一场博弈啊博弈!到时候一门课有多少人选择也会一直更新,当然你看不到他们投入的积分,能不能顺利选到这门课,就看你的脑袋瓜和运气了。(刚刚说到的课表会变动的情况就从这里开始了,很可能你的计划被迫改变,包括下面的阶段)

    3. 退补选课:

      这个阶段,是拼网速的时候了。这时候所有因为各种原因容量没有满的课程,都会在每天中午一点开放抢课,不用积分,先到先得。还有一种方式,就是直接找老师申请加课,注意礼貌!但有些老师会同意,有些老师可能因为教师容量问题没办法同意,建议一定要提前向学长学姐了解一下什么课比较好加上,可以考虑先保住其他课程,如果情况很严峻的话(这应该在积分选课阶段为这里做准备)。

    4. 导师确认:

      最后一个环节是如果你的课表不打算再更改了,可以通过系统让你的生活老师确认你的课表,这个时候的课表就成为了你的最终课表了(确认的具体操作会发邮件通知)。当然,不是这个时候你才可以联系导师,前面如果你对你的选课有迷茫,也是可以找生活导师寻求建议的!

    上面的很多环节到时候都会有邮件通知或有讲座讲解,这里希望同学们先了解一个大概,另外给了一些官方不会讲到的建议,只希望到时候大家不会听不懂或者不了解情况啦。

    英语学习

    1. 英文教学

    1. 南科大的课程主要分为中英双语班和英文班:

      中英双语班:一般来说老师的 ppt 是几乎全英的(会有个别中文注释~),但老师会用中文上课,所以大家的对知识的理解不会有问题啦~

      英文班:英文班当然就是 ppt 和老师上课都是英文的了,但老师的语速大多比较慢,说到比较难的单词也会加上中文翻译,所以听懂课堂内容也不是那么困难滴~(如果英文班没有国际生的话,事情就好商量了,老师会多说一些中文的,但上英文班确实是可以帮助记单词滴)

    2. 一点小建议:一般来说高数和大物课建议选中英双语课。当然,如果"博弈"(积分选课)失败的话可能就会被迫选全英班了。大家还是需要根据自己的英语水平决定,也可以参考英语分级考试的等级哦~

    2. 四六级考试

    1. 目前,南科大的学生在入学的第一个学期(也就是 12月)是不能考英语四级的,大家在第二年6月才能开始四六级的考试,有特殊情况注意邮件通知。

    2. 同学们在大一下学期一定要注意翻看邮箱,不要错过了四六级考试的报名时间(记得要交报名费鸭!,不然就得再等半年啦~)

    3. 四级考试难度不大,大家复习一下词汇,做几套真题应该就没什么问题了(如果想要拿很高分还是要多花些力气哒~),主要是熟悉题型与考试流程。不要像个别学长学姐一样不了解题型,直接被听力炸懵。

    4. 六级就有些难度了,需要大家比较认真复习了(当然学霸除外啦~)

    3. 雅思 & 托福 & GRE

    ',33),ua=a("li",null,[a("p",null,"托福跟雅思一样都是语言能力测试, 而 GRE ( Graduate RecordExamination)是指美国研究生入学考试,关注的是逻辑水平和学术能力。")],-1),ga=a("li",null,[a("p",null,"雅思和托福的有效期都是 2 年(这个可能根据学校的具体要求有所不同),而 GRE 的有效期是 5 年。")],-1),ma=a("li",null,[a("p",null,"一般申请英联邦国家的研究生项目,如:英国、澳大利亚、新西兰、加拿大、新加坡等,或者中国香港的大学,就需要提供雅思成绩。")],-1),fa=a("li",null,[a("p",null,"申请美国的研究生项目,就需要提供托福和 GRE 成绩。")],-1),Aa={href:"https://global.sustech.edu.cn",target:"_blank",rel:"noopener noreferrer"},Ba=l('

    学习方法

    1. 改变认知

    大学的学习内容和高中有很大差别。相比于高中来说,大学课程的节奏更快、设计范围更大。往往老师上课只讲了最重要的部分,需要自己在课余时间花费更多的精力来补充学习。尤其是南科大的英语教学模式,这就更加需要我们在课下做好充足的准备。所以大学学习的最首要的改变就是认知上的改变。我们要认识到大学与高中学习方式上的差别,积极探索新的适合自己的学习方式。这要才能避免陷入被动,收获好成绩。

    2. 各科推荐学习方法

    1)数学

    在南科大数学大一的学习中,主要分为高等数学类(数学分析,高等数学 A 以及高等 数学 B)和线性代数类(高等代数,线性代数 A 以及线性代数 B)。不同专业的数学先修课 程是不同的,大家一定要参考培养方案进行选课。

    数学分析

    数学分析这门课程主要是针对想要进入数学系的同学,对同学们证明方面的要求比较严格。这门课程的难度是非常高的,想要漂亮 gpa 的同学需要慎重考虑噢!

    这门课程对逻辑的要求相当严格,所以预习是十分重要的,大家如果想在暑假期间了解 这门课程的话,可以先去浏览一些相关的教材。

    教材:常庚哲,史济怀《数学分析教程》

    高等数学

    高等数学的适用对象为除数学系外的其它专业的学生,且更偏向于应用。

    教材与教参:

    高数课本 Thomas' Calculus (13th Edition)

    高数中文参考书 同济大学数学系编《高等数学》高等教育出版社

    高等代数

    高等代数完全是针对想进入数学系并且想攻读数学与应用数学专业的学生。这是一门难 度非常大的学科,需要耗费很多的时间。

    和数学分析一样,对于这类课程,提前预习和保证思考的纯粹是相当重要的。并且因为 章节知识的连贯性很强,所以在学习过程中建议频繁的进行自我复习。

    教材:李炯生,查建国,王新茂《线性代数(第二版)》

    线性代数

    线性代数分 A、B 两级教学,A 级适用对象为数学及物理等对数学要求较高的学 生;B 级适用对象为所选专业对线代或数学要求较低的学生。

    刚开始接触这门课的时候或许会感到有些吃力,但只要跟着老师的进度,认真做笔记, 写作业,之后就会越来越得心应手。学习的过程中不要死记硬背,注重对概念的理解,打牢 基础。

    教材与教参:Gilbert Strang: Linear Algebra and its Applications (4th Edition)

    2)物理

    大学物理分 A、B、C 级进行教学,A 级面向物理专业学生,B 级面向物理专业或其它 理工科专业学生,C 级面向非理工科专业学生。

    大学物理 A

    面向物理专业学生,难度稍大,适合在高中对大学物理有所了解,对物理 有着浓厚兴趣并且数学基础较好的同学。如果想要在这门课上拿到一个比较高的等级就要付 出很多的时间去钻研,所以同学们一定要慎重考虑呀!可以点击下方链接下载教材来了解一 下难度哦!

    教材:伯克利物理学教程第一卷(力学)

    伯克利物理学教程第三卷(波动)

    Electricity and Magnetism

    PS:大学物理 A 里的热学与近代物理的教材和大学物理 B用的是同一本。

    大学物理 B 和大学物理 C

    大学物理 B 面向物理专业或其它理工科专业学生,大学物理 C 主要面向金融方面的专业的学生。教学大纲与高中所学内容基本一致,只是在教学内容和教学难度上进行了一定的丰富和拔高。

    教材:Principle of Physics

    物理实验

    旨在培养严谨的科学思维和创新能力,培养理论联系实际特别是与科学技术发展相适应的综合能力。

    参考书:《大学物理实验(第一册 第二版)》高等教育出版社 (可在图书馆借到或在跳蚤市场上收二手书)

    3)生物

    生物分两级教学,A 级的学习侧重于看论文做深入研究,主要面向生物专业、其它对生 物有较高要求专业的学生,B 级的学习背诵的内容更多,主要面向其它对生物有一般要求专业的学生。

    参考资料:Campbell Essential Biology with Physiology

    4)化学

    《化学原理》分两级教学,A 级面向化学专业、其它对化学有较高要求专业的学生,B 级面向其它对化学有一般要求专业的学生。相较于 B 级,A 级的学习内容要更加充实。 参考资料:Chemistry the Central Science

    ps:如果生物和化学在同一学期内同时选修,那么本学期将会有很硬核的背诵任务!所以同 学们最好不要同时修习这两门课呀!

    5)计算机

    计算机导论

    《计算机导论》分两级教学,通过计算机能力测试的学生可选修《计算机导论 A》,未通过的同学则必修《计算机导论 B》。

    参考书及参考资料: Computer Science an Overview (12th Edition)

    《计算机科学概论》

    计算机程序设计基础

    《计算机程序设计基础》分两级教学,A 级面向计算机专业、其它对计算机有 较 高要求专业的学生,B 级面向其它对计算机有一般要求专业的学生,编程语言为 Java。 (注意:必修《计算机导论 B》的同学只有 pass 了这门课才能修《计算机程序设计基础》)

    参考书:Introduction to Java Programming (10th Edition)

    Java: How to Program (8th Edition)

    学习工具

    1. 笔记能手

    纸质笔记vs电子笔记

    同学们可以根据自己的好恶选择

    纸质笔记:

    1. 同学们可以继续保持自己高中所留下来的习惯,容易快速适应

    2. 分页整理,查看起来比较方便,可以同时看多份资料

    3. 条理清楚,写一遍使人印象深刻,也可以时常复习

    4. 便于提交纸质版作业,不需要打印

    电子笔记:

    1. 有许多强大软件,实现更多功能

    2. 方便在电子文档中做注释,笔记方便修改与清除

    3. 电子版笔记方便交流,导出PDF便利

    4. 有些软件可以录音,方便复习

    2.软件分享

    1. 网易有道词典(PC端)

      有道词典PC端可以帮助我们快速适应大学生活,其中最常用的功能就是截屏翻译功能。这个功能可以提高我们阅读英文的速度,提高效率

    2. Quizlet

      Quizlet是南科大英语学习一般都会用到的一个软件。

    ​ 老师通常会利用Quizlet来帮助大家学习NAWL与NGSL词汇。没有用过的小伙伴也不用着急,英语课上老师会教大家如何安装与使用。

    1. MyScript Calculator

      MyScript Calculator是一款手写计算器

    ​ 相比于普通的计算器效率有明显提升,但是因为考试时不允许使用手机或pad,小伙伴们要在具有一定计算能力之后再使用噢~

    1. Notability / GoodNotes

      使用 iPad 记笔记的软件主要以 Notability 和 GoodNotes 居多。

    ​ 两个软件各有优劣,价格也不同,同学们可以根据自己的需求进行选择。

    1. QQ邮箱

      南科大很多事情会以邮件的形式通知,同学们最好养成定期查看邮件,管理邮件的习惯,开学后根据同学们的学号会有相应的腾讯企业邮箱,使用QQ邮箱可以同时管理多个邮件地址。

    3.校内学习相关网站

    本介绍旨在帮助新生了解南科大学生常用的学习系统的进入方式与用法,希望大家能更好的融入大学学习生活!

    南科大官网

    ',84),ba={href:"https://www.sustech.edu.cn/",target:"_blank",rel:"noopener noreferrer"},xa=l('

    南科大学生常用系统页面

    官网内单击学生即可跳转至该页面

    在学生常用系统中,包括学习部分、生活部分以及其他相关链接。下面就为大家详细介绍一些学习相关的系统。

    本科教务系统

    进入后选择CAS用户登录。

    注:CAS系统为南科大学生与教职工所拥有的系统,学生的账号为学号,初始密码为身份证后六位,几乎所有系统包括WiFi的登录都需要CAS账户登录。

    进入后,有关功能的全部选项集中在右下角处:包括业务查询、业务办理和选课业务。

    1. 业务查询中包括如图所示的几类,日后同学们也会用到,常用的有考试查询、成绩查询、绩点查询、全校课表等。

    1. 业务办理(如下图):比较常用的是场地借用申请,点击进入之后再单击"添加场地借用"即可借用教学区的教室啦,通常可以借教室进行班会,pre练习等活动哦。

    1. 选课业务:包括选课和加课两项业务功能,是进行积分选课、抢课、退课、加课的主要战场!选课具体流程参考攻略上方的介绍!

    点击进入"我要选课"后,即可看到选课信息。最上方可以搜索课程,左上方有课程类别,同学们搜索课程时一定要主义好下方类别是否对应,避免出现找不到的情况。每个课程右侧会显示课程容量与已选人数、冲突课程等,大家要据此来选择课程与判断投入积分的多少!如果点击最左侧"已选"的话,便能查看自己的选课情况,并可以进行更改积分和退课等操作。大学长们也会在大家第一次选课时期给予相应的指导,同学们可以多与大学长沟通以便更好地安排自己的课程哦!

    Blackboard系统

    Blackboard系统,简称BB系统,是南科大教学常用的系统之一,很多课程(如高数、线代等)都会通过该系统发布通知、课件、作业、成绩等,也可以通过BB系统完成作业提交。点击进入并完成登录后,即可进入该系统。

    课程开始后,老师或助教会将同学们拉入对应的课程平台,点击进入后,可以看到老师发布的各种信息:如课程内容、考核方式、课件、作业提交入口等。下图为2020年秋季杨少曼老师思修课平台,供大家参考。

    对于提交作业,一些课程(如高数、线代)虽然会在BB上开通平台,但提交作业采用的是线下的方式,提醒大家在学期初要仔细听好老师的要求哦!也有一些课程,如写作与交流、思修(根据授课老师而定)会采用线上提交的方式,具体操作步骤见下图:

    同时,提醒大家网上提交作业一定要注意ddl!!!迟交或者忘交都是会扣分的哦!

    Sakai系统

    与BB系统并行的另一大重要的教学常用系统,功能与BB类似,大物、Java课程便会用到该系统。点击进入并单击上方log in 即可登录进入系统。

    与BB相同,课程开始后老师或助教会将同学们拉入站点,进入后左侧为菜单栏:单击作业/Assignment即可查看作业提交状态与开始和结束时间。单击左侧作业标题即可进入提交作业界面。同样提醒大家注意作业提交的ddl哦!(下图为2021年春季刘畅老师大物下站点,供大家参考)

    作业提交结束的几天后,老师会在站点给同学们打分并标注错误的题号,大家可点击左侧的成绩册/Gradebook查看自己的得分情况。

    图书馆

    有关馆内资料的搜索与图书借还事项开学后图书馆会安排视频讲解,这里为大家介绍一下图书馆预约功能。进入大学后,很多课程避免不了都要进行小组合作项目,因此图书馆讨论间便成为了一项非常重要的资源,在讨论间同学们可以进行小组项目的讨论,也可以约上三五好友在期末复习周时在讨论间一起讨论问题。

    将图书馆主页面拉到下方即可看到讨论见预约按钮,也可以通过学生常用系统中的"图书馆讨论间预约"直接进入。

    进入并登录后,在资源列表中选择所需要预约的讨论间并按照指示完成预约即可!

    首次预约前,记得阅读预约须知哦!最重要的注意事项包括:①三人以上才可预约,②通过刷卡确认签到,超过十五分钟未签到按照违规处理,违规会取消预约权限一周等。

    4.必备小工具

    计算器:大学与高中的不同之一就在于一些考试能使用计算器了!比如大物、化学等科目更侧重与对知识和能力的考察,因此可以在考试和平时作业时使用计算器,所以人手一个计算器是十分重要的!

    版权信息

    图片来源: App Store,软件截图,网站截图、2020级南方科技大学本科生人才培养方案、唐昕宇

    资料参考: 2020致诚新生攻略之英语学习篇、2020致诚新生攻略之课程学习篇、2020级南方科技大学本科生人才培养方案

    特别鸣谢: 杨少曼老师大一上思修BB站点、刘畅老师大一下Sakai站点

    制作:致诚书院大学长团 段宜凯 贾松硕 王婧懿 唐昕宇

    致诚书院出品,本文已获授权在 sustech.online 转载,转载请注明出处。

    ',47);function va(Qa,wa){const i=r("router-link"),p=r("ExternalLinkIcon");return o(),h("div",null,[sa,pa,a("nav",la,[a("ul",null,[a("li",null,[e(i,{to:"#入学考试"},{default:s(()=>[t("入学考试")]),_:1}),a("ul",null,[a("li",null,[e(i,{to:"#_1-英语"},{default:s(()=>[t("1. 英语")]),_:1})]),a("li",null,[e(i,{to:"#_2-计算机"},{default:s(()=>[t("2. 计算机")]),_:1})])])]),a("li",null,[e(i,{to:"#专业与选课"},{default:s(()=>[t("专业与选课")]),_:1}),a("ul",null,[a("li",null,[e(i,{to:"#_1-专业"},{default:s(()=>[t("1. 专业")]),_:1})]),a("li",null,[e(i,{to:"#_2-选课"},{default:s(()=>[t("2. 选课")]),_:1})])])]),a("li",null,[e(i,{to:"#英语学习"},{default:s(()=>[t("英语学习")]),_:1}),a("ul",null,[a("li",null,[e(i,{to:"#_1-英文教学"},{default:s(()=>[t("1. 英文教学")]),_:1})]),a("li",null,[e(i,{to:"#_2-四六级考试"},{default:s(()=>[t("2. 四六级考试")]),_:1})]),a("li",null,[e(i,{to:"#_3-雅思-托福-gre"},{default:s(()=>[t("3. 雅思 & 托福 & GRE")]),_:1})])])]),a("li",null,[e(i,{to:"#学习方法"},{default:s(()=>[t("学习方法")]),_:1}),a("ul",null,[a("li",null,[e(i,{to:"#_1-改变认知"},{default:s(()=>[t("1. 改变认知")]),_:1})]),a("li",null,[e(i,{to:"#_2-各科推荐学习方法"},{default:s(()=>[t("2. 各科推荐学习方法")]),_:1})])])]),a("li",null,[e(i,{to:"#学习工具"},{default:s(()=>[t("学习工具")]),_:1}),a("ul",null,[a("li",null,[e(i,{to:"#_1-笔记能手"},{default:s(()=>[t("1. 笔记能手")]),_:1})]),a("li",null,[e(i,{to:"#_2-软件分享"},{default:s(()=>[t("2.软件分享")]),_:1})]),a("li",null,[e(i,{to:"#_3-校内学习相关网站"},{default:s(()=>[t("3.校内学习相关网站")]),_:1})]),a("li",null,[e(i,{to:"#_4-必备小工具"},{default:s(()=>[t("4.必备小工具")]),_:1})])])])])]),ra,na,oa,ha,a("ul",null,[a("li",null,[t("小站托福 "),a("a",da,[t("http://top.zhan.com/toefl"),e(p)])]),a("li",null,[t("雷哥网托福 "),a("a",ca,[t("https://toefl.viplgw.cn/"),e(p)])])]),_a,a("ol",null,[ua,ga,ma,fa,a("li",null,[a("p",null,[t('南科大有很多寒暑假或者整个学期的出国科研或游学项目,一般都会发邮件通知,欢迎大家关注"南科大国际合作部"公众号或官网 '),a("a",Aa,[t("https://global.sustech.edu.cn"),e(p)]),t(" 自行了解。有些项目需要提供雅思或托福语言成绩,所以有意向的同学需要自己规划考语言成绩")])])]),Ba,a("p",null,[a("a",ba,[t("https://www.sustech.edu.cn/"),e(p)]),t("(建议收藏进浏览器收藏夹)")]),xa])}const qa=n(ia,[["render",va],["__file","新生攻略之学习篇.html.vue"]]);export{qa as default}; diff --git "a/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\256\277\350\210\215\347\224\237\346\264\273\347\257\207.html-gjhp7v-1.js" "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\256\277\350\210\215\347\224\237\346\264\273\347\257\207.html-gjhp7v-1.js" new file mode 100644 index 000000000..2d3168d47 --- /dev/null +++ "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\256\277\350\210\215\347\224\237\346\264\273\347\257\207.html-gjhp7v-1.js" @@ -0,0 +1 @@ +import{_ as e,r as a,o as g,c as i,b as t,a as n,w as o,d as s,e as p}from"./app-9djxHuta.js";const l="/assets/image1-6Fjhx_zj.png",c="/assets/image2-9kNPnG7_.jpeg",_="/assets/image3-fAP9ugQs.jpeg",d="/assets/image4-DRFs6paZ.jpeg",h="/assets/image5-2K8STqff.jpeg",u="/assets/image6-vo_42VAg.jpeg",m="/assets/image7-fTrFkX8i.jpeg",f={},x=t("h1",{id:"新生攻略之宿舍生活篇",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#新生攻略之宿舍生活篇","aria-hidden":"true"},"#"),s(" 新生攻略之宿舍生活篇")],-1),b=t("p",null,[t("em",null,"本部分由 致诚书院大学长团 提供")],-1),j=t("p",null,"首先,热烈欢迎大家来到南科大!大家会在11栋迎新楼度过大一一年的生活,等到大二再搬到书院的住宿区和书院的前辈们住在一起噢。",-1),v=t("p",null,"宿舍是我们每一天的起点和终点,下面小编就以11栋宿舍为中心按照衣食住行用分类跟大家讲一下吧~",-1),k={class:"table-of-contents"},N=p('

    一、住,豪华宿舍配置

    宿舍楼单层的平面图在这里啦,两端是楼梯和卫生间,楼层东侧有额外的消防电梯。中部是功能区,有公共晾衣间、饮水机、电梯和小活动室。小活动室中配有桌椅和沙发,还有冷藏冰柜和微波炉,夜宵好去处(划掉)。

    Ps:下头这个图是自己画的,大家凑合着看看就行哈哈哈。

    公共晾衣间内有撑衣杆,鞋子也可以在这里晾晒,晾晒完毕记得及时取走自己的衣物。饮水机也被放置在这里,提供热水和常温水,热水记得看饮水机上的温度显示,如果接了温水泡面的话 😭(难受)。

    日常用电梯共有三台,是分楼层停靠的,大家注意每个电梯的停靠楼层。电梯高峰期人很多,比如中午时间段大家上下楼比较频繁,建议尽量错峰或者走楼梯锻炼身体doge。

    楼层两侧的卫生间有洗漱台和[独立的淋浴间],淋浴记得插卡使用热水。如果遇到插卡不出热水的情况,可以先检查自己的学生卡是否进行了热水充值,开学充值一元后期无限使用,也就是说热水是免费的哦。还是不可以的话可以找到宿管老师询问情况。

    接下来就是宿舍内部啦,宿舍都是四人间,每人都是标配的下桌上床。宿舍的储物空间还是非常大的,门口有双层柜,床下有衣柜和一个小侧柜,而且床侧楼梯也是隐藏的柜子哦。衣柜里的隔层板是可活动的,可以根据自己的需求大小调整。窗外还有一个小的晾衣杆,如果内衣裤不想拿到公共晾衣间的话,晾在这里就好啦,不过记得用夹子固定一下,如果被风吹下去就...

    二、食,只隔一条马路的双层复式食堂

    校内共四处学生食堂,按照距离11栋远近来说:10栋第二学生食堂,也就是常说的新生食堂,荔园食堂,一教食堂和中心食堂。还有一处欣园食堂,不过大家很少会在那里吃饭。新生食堂周内有时也会供应夜宵,大家可以注意一下食堂的通知哦。大家日常吃饭其实还有很多选择,比如赛百味、肯德基或者南科麦香屋(面包坊)等等,详细的介绍可以参考之前的新生攻略之食堂篇。小声:校外也有很多好吃的噢,大家加油寻找吧~

    三、衣,24h自助洗衣系统

    在宿舍楼2层东侧有洗衣间,洗衣机、烘干机和洗鞋机一应俱全。手机上下载海狸洗衣APP,可以实时查看洗衣机的使用情况,进行预约或者使用。男女生的洗衣机是分开的,大家使用时注意区分。其中也有一套大号洗衣机和烘干机可以清洗被褥等大号衣物。**请不要在洗衣机里清洗内衣裤和袜子等,保持自己和他人的卫生健康。**衣服清洗完毕及时从洗衣机内取走,不然很可能被拿错哦。

    各大应用商店均可下载,本图截取自小米应用商店

    四、行,地处学校中部的黄金地带

    因为学校的地势呈一个斜坡,而11栋正好处于坡的中部,再向上是荔园和欣园,向下则是教学楼图书馆等,所以去哪里都比较方便啦。11栋楼下有学生宿舍校巴站,疫情期间大家乘车需要佩戴口罩哦。因为学校的斜坡地势,想购买自行车的同学注意了,骑下去很爽,但骑上来还是挺累的,建议购买可变速的自行车。深圳的太阳很毒,而且有时会发生短时强降雨,大家出门记得一定要带防晒晴雨伞呀。

    五、用,其余的生活使用细节

    宿舍楼旁边的十三栋配有天虹超市快递收发室(广东省深圳市南方科技大学13栋快递收发室),大家采购和网购都很方便啦,也可以向外寄快递的。当然有时候快递公司会把快递投放在快递柜中,一般会放在8栋快递柜,在新生食堂西侧,涵泳图书馆南侧一层。大家可以在手机上关注微信公众号近邻宝校园,绑定好手机号后就可以方便地在手机上看到自己的快递是否到达啦。

    宿舍用电每人都有每年120度免费额度,超额度是会断电的,大家要节约用电呀。宿舍内电器功率不得超过1500W。电控系统会在每年2月末和8月末按照宿舍人数进行充值。如果遇到度数不够使用的话,可以在南方科技大学企业微信中进行水电充值,点击水电充值,绑定好房间即可充值。饭卡充值也是在这里的,点击校园卡选项,进入充值界面即可。
    全校范围内提供免费的WiFi,大家认证登录后就可以免费使用了。

    如果有小可爱不小心丢失了自己的校园卡可以通过以下两个方式补办噢(注意!!!任选其一!!!不要两个都弄!!!小编曾经两个同时进行然后一次补了两张卡,痛苦面具 😭。 ①在琳恩图书馆或者书院一栋学生事务中心的[自助补卡机]进行补办,需要扣款20元作为补卡费用,保证卡里有足够的金额就好。可以当场取卡,但是门禁需要过[几个小时]才能转移成功,新卡是不支持1元热水继承的,需要再进行热水充值。
    ②在南方科技大学企业微信进行挂失补卡,在微信上付款等待补卡通知,补好后会有老师通知去书院一栋学生事务中心领取。

    还有一个小提醒,宿舍内还是需要配备蟑螂药的,11栋宿舍楼虽然很新,但是深圳蟑螂更强(卑微.jpg),保持宿舍内干净卫生,做到有备无患就好啦。如果在宿舍楼内发现蟑螂,可以向宿管老师报备,联系专业的杀虫人员处理。宿舍楼应该会建立一个新生宿舍微信群,大家有任何情况都可以在微信群里向宿管老师反应。

    好啦,这就是宿舍生活的大致情况啦!大家还有什么问题都可以在群里提出,大学长们会耐心解答的,希望大家在宿舍都能开心每一天!

    版权信息

    图片来源: 南方科技大学官网、南方科技大学致诚书院微信公众号、我的手机

    资料参考: 2020级新生攻略之宿舍生活篇

    制作:致诚书院大学长团 闫瑞泽

    致诚书院出品,本文已获授权在 sustech.online 转载,转载请注明出处。

    ',25);function P(V,F){const r=a("router-link");return g(),i("div",null,[x,b,j,v,t("nav",k,[t("ul",null,[t("li",null,[n(r,{to:"#一、住-豪华宿舍配置"},{default:o(()=>[s("一、住,豪华宿舍配置")]),_:1})]),t("li",null,[n(r,{to:"#二、食-只隔一条马路的双层复式食堂"},{default:o(()=>[s("二、食,只隔一条马路的双层复式食堂")]),_:1})]),t("li",null,[n(r,{to:"#三、衣-24h自助洗衣系统"},{default:o(()=>[s("三、衣,24h自助洗衣系统")]),_:1})]),t("li",null,[n(r,{to:"#四、行-地处学校中部的黄金地带"},{default:o(()=>[s("四、行,地处学校中部的黄金地带")]),_:1})]),t("li",null,[n(r,{to:"#五、用-其余的生活使用细节"},{default:o(()=>[s("五、用,其余的生活使用细节")]),_:1})])])]),N])}const B=e(f,[["render",P],["__file","新生攻略之宿舍生活篇.html.vue"]]);export{B as default}; diff --git "a/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\256\277\350\210\215\347\224\237\346\264\273\347\257\207.html-wphzvIo4.js" "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\256\277\350\210\215\347\224\237\346\264\273\347\257\207.html-wphzvIo4.js" new file mode 100644 index 000000000..fc44a40d7 --- /dev/null +++ "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\256\277\350\210\215\347\224\237\346\264\273\347\257\207.html-wphzvIo4.js" @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-2b8cac58","path":"/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E5%AE%BF%E8%88%8D%E7%94%9F%E6%B4%BB%E7%AF%87.html","title":"新生攻略之宿舍生活篇","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"一、住,豪华宿舍配置","slug":"一、住-豪华宿舍配置","link":"#一、住-豪华宿舍配置","children":[]},{"level":2,"title":"二、食,只隔一条马路的双层复式食堂","slug":"二、食-只隔一条马路的双层复式食堂","link":"#二、食-只隔一条马路的双层复式食堂","children":[]},{"level":2,"title":"三、衣,24h自助洗衣系统","slug":"三、衣-24h自助洗衣系统","link":"#三、衣-24h自助洗衣系统","children":[]},{"level":2,"title":"四、行,地处学校中部的黄金地带","slug":"四、行-地处学校中部的黄金地带","link":"#四、行-地处学校中部的黄金地带","children":[]},{"level":2,"title":"五、用,其余的生活使用细节","slug":"五、用-其余的生活使用细节","link":"#五、用-其余的生活使用细节","children":[]}],"git":{"updatedTime":1641050582000,"contributors":[{"name":"lethal233","email":"11811407@mail.sustech.edu.cn","commits":1}]},"filePathRelative":"life/by-zhicheng-college/新生攻略之宿舍生活篇.md"}');export{e as data}; diff --git "a/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\346\240\241\345\206\205\344\273\213\347\273\215\347\257\207.html-FzvAtoLo.js" "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\346\240\241\345\206\205\344\273\213\347\273\215\347\257\207.html-FzvAtoLo.js" new file mode 100644 index 000000000..0bec50dcb --- /dev/null +++ "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\346\240\241\345\206\205\344\273\213\347\273\215\347\257\207.html-FzvAtoLo.js" @@ -0,0 +1 @@ +import{_ as r,r as o,o as i,c as n,b as s,a,w as e,d as p,e as g}from"./app-9djxHuta.js";const _="/assets/image1-7W_44qIs.png",l="/assets/image2-puCIP2Aa.jpeg",m="/assets/image3-Jxzzco2D.jpeg",c="/assets/image4-wZpv8ax-.jpeg",h="/assets/image5-nu8ECIhb.jpeg",d="/assets/image6-4cYa-6Nk.jpeg",u="/assets/image7-nslJUznl.png",f="/assets/image8-8p-TehjD.jpeg",j="/assets/image9-pl_ZtQAo.jpeg",b="/assets/image10-iLhAvEhP.jpeg",x="/assets/image11-yDsbToSL.png",w="/assets/image12-tQTZcA28.png",z="/assets/image13-h2bFNI9J.png",q="/assets/image14-UXFuwDO3.jpeg",T="/assets/image15-DlYLI3if.jpeg",k="/assets/image16-2iRVOHpF.png",v="/assets/image17-7F4JGb2E.jpeg",S="/assets/image18-qgf4P8El.jpeg",D="/assets/image19-xkgbzVNw.jpeg",U="/assets/image20-sMhsqFof.jpeg",B="/assets/image21-bSsrLDkB.jpeg",K="/assets/image22-AzpbJy9S.png",V="/assets/image23-b8xdYFve.jpeg",y="/assets/image24-uVzhkywk.jpeg",N="/assets/image25-DsqQYtMg.png",P="/assets/image26-h06W9g0_.png",Q="/assets/image27-Ds9SxF2-.png",W="/assets/image28-XzrhDrhU.jpeg",C="/assets/image29-eDyz4ueq.jpeg",E="/assets/image30-qTcBKf7n.jpeg",F="/assets/image31-i6z-wWh4.jpeg",I="/assets/image32-I7-vuVl-.jpeg",M="/assets/image33-mY4TjhUd.png",Z="/assets/image34-8Gpzvf0j.jpeg",L="/assets/image35-GcKIW6ZB.jpeg",R="/assets/image36-w7LH7wQd.jpeg",Y="/assets/image37-zT_pB_1b.jpeg",J="/assets/image38-Pv8vRwVd.jpeg",X="/assets/image39-oEuJhZOK.jpeg",A="/assets/image40-SdIJEvzm.jpeg",G="/assets/image41-jTUVWrwE.jpeg",H="/assets/image42-yNYlX8fz.jpeg",O="/assets/image43-1SmPPWhN.png",$="/assets/image44-DMLYu3Bf.png",ss="/assets/image45-n9U3aXb9.jpeg",ps="/assets/image46-sx_87zP8.jpeg",ts="/assets/image47-wBXkt7Hw.jpeg",as="/assets/image48-j1D_M810.jpeg",es="/assets/image49-Q3dXgD9G.png",rs="/assets/image50-gRxKrinX.jpeg",os="/assets/image51-Q8qUZ4N1.jpeg",is="/assets/image52-B0Mf3Tf4.jpeg",ns="/assets/image53-xWmeCqly.jpeg",gs="/assets/image54-CRTw9ewM.jpeg",_s="/assets/image55-gZrK6Mq8.jpeg",ls="/assets/image56-HZl-UlmQ.jpeg",ms="/assets/image57-PjlK7WRC.jpeg",cs="/assets/image58-p824Kebg.jpeg",hs="/assets/image59-IMrkSnML.jpeg",ds="/assets/image60-Qg9sBUAE.jpeg",us="/assets/image61-WykWbjBb.jpeg",fs="/assets/image62-sGCpUaai.jpeg",js="/assets/image63-RP0YwU16.png",bs="/assets/image64-DzkcnLzf.jpeg",xs="/assets/image65-Q1qf9ytS.jpeg",ws="/assets/image66-wywroydz.jpg",zs="/assets/image67-eZmwTQtV.jpeg",qs="/assets/image68-R-KjoHsS.jpeg",Ts="/assets/image69-vSFRKKde.jpeg",ks={},vs=s("h1",{id:"新生攻略之校内介绍篇",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#新生攻略之校内介绍篇","aria-hidden":"true"},"#"),p(" 新生攻略之校内介绍篇")],-1),Ss=s("p",null,[s("em",null,"本部分由 致诚书院大学长团 提供")],-1),Ds={class:"table-of-contents"},Us=g('

    食堂篇

    1. 高消费餐厅

    1)西餐厅

    正如其名,牛排、烩饭、扒类、鹅肝等菜品在西餐厅一应俱全,橙宝开学时和导师在这里聚餐后就念念不忘呢~偶尔想去奢侈一把的话要记得提前预约哦! 人均:120 - 150元

    2)茶餐厅

    好吃的中式共享菜,在西餐厅旁,位置较为隐蔽。 人均:30 - 50

    3)南苑小筑

    坐落在润扬斜对面,南苑小筑店面复古,港味扑面而来。橙宝超爱和朋友一起去吃南苑小筑的各种扒餐、焗饭、中式简餐、港式云吞面和共享菜。它对犯懒的阿宅们也十分友好,可在公众号点餐,由小哥送到大家宿舍楼下呢! 人均:30 - 60元

    2. 新生食堂

    早餐(7:00 -- 9:00)

    十栋食堂提供中西式点心、粥、茶叶蛋等常规早餐。其中不得不强调靠门窗口的肠粉,橙宝可是心甘情愿为它早起排队的哦! 人均:5 - 10元

    午餐&晚餐

    1)十栋

    一楼:自选窗口中提供小盘菜、卤肉套餐、海南鸡套餐、水煮肉片等,其中金灿灿的绝美鸡米饭绝对值得一试!肠粉窗口在中午提供面食,不过调料、种类都较少,大家可以自己多多尝试~

    二楼:西式套餐(炒饭或意面+蔬菜+肉排+酱料)。分量很足,连橙宝都吃撑了呢。

    2)九栋

    一元一个的好吃水饺(有怪怪的茴香口味)、广式煲仔饭、自选小盘菜(提醒大家看清价格,合理搭配!不然很容易一顿30元+)。

    夜宵**(工作日19:30 -- 22:00)**:

    包括粥、汤圆、炒粉等等,晚课后的心灵抚慰~

    硬件配置:微波炉、饮水机+杯子

    1. 十栋小盘菜均价:12-25元

    九栋煲仔饭均价:15-20元

    十栋西式套餐均价:20元

    十栋面食均价:15元

    3. 中心食堂&湖畔食堂

    1)中心食堂

    作为2020年末冉冉升起的新星,它左连一丹图书馆,右接第二科研楼,且入驻了面点王、KFC(含早餐)和茶米相期门店,让你在校内也能尝绝美点心、吃汉堡炸鸡、喝果茶奶茶。

    橙宝告诉大家一个小秘密:在面点王一次性点两块酱骨架,小哥有时候会给你三块哦~

    面点王均价:15 - 25元

    橙宝高声呐喊:食堂自营的菜品也是一绝!!

    早餐:

    和新生食堂相似,但只在周末提供哦~

    午餐&晚餐:

    各窗口包含风味面食、定制小炒、东北炖菜、潮汕卤味套餐、麻辣烫、大众菜等等。味道惊艳舌尖,价格并不很高。

    均价:10 - 30元

    大众菜窗口旁有贩卖饮品的大冰柜

    2)湖畔食堂

    早餐:

    和新生食堂相似,只在周中提供哦~

    午餐&晚餐:

    以最高的性价比傲视群雄,它的大众菜包含5元、3元、1元的菜式,小炒鸡柳、菠萝咕噜肉、煎鱼等菜式相当好吃,非常适合吃土的少男少女。(但橙宝有时候也会被略过重的油量狠狠油到)进门左手边的面食窗口也提供炸酱面、番茄鸡蛋面、猪杂面等多个选择。

    大众菜均价:6 - 9元

    面食均价:10 - 15元

    小卖部:

    在自选窗口对面,售卖奶类饮品、咖啡和平价小面包。

    4. 欣园食堂&荔园食堂

    1)欣园食堂

    欣园食堂比较遥远,大家去的机会比较少,但是仍然十分的美味。

    2)荔园食堂

    橙宝在荔园下课后的第一目的地,就是六栋的荔园食堂啦。

    早餐(7:00 -- 9:00)

    和新生食堂相似,但是种类更丰富,橙宝觉得荔园的肉包更好吃~

    午餐&晚餐:

    一楼:得到众多好评的大众菜,不过价格多变,一定要看好价格哦。

    二楼:学校食堂中TOP水平之一,据说这里有学校最好吃的面!其他窗口也提供包含鸡排饭、特色小碟菜等菜品,橙宝都很推荐。

    一楼均价:8 - 15元

    二楼均价:15 - 20元

    【Tip:传统食堂都需要大家倾倒食物残渣,回收餐具,一定不要忘了哦。】

    5. "非常规"餐厅

    1)赛百味食堂

    坐落在第一科研楼与第一教学楼之间的经典快餐店,售卖自选夹层的美式三明治、小块披萨、鸡肉卷、薯宝、鸡翅、曲奇等小吃。校内折扣也挺香的,大家可以理性尝试~

    均价:20 - 30

    2)星巴克食堂

    小资情调、少人排队的高贵星爸爸,除饮品外提供美食三明治、千层面、精致小蛋糕等,是在琳恩图书馆学累了下来放松的优选。 均价:30 - 40

    3)超市食堂

    唯一的全天候营业的食堂,懒觉者的早午餐唯一指定食堂,你面对其他食堂排队长龙望而却步时的好去处,主要有湖畔超市、荔园超市、天虹微喔三家,提供车仔面、关东煮、各种熟食与面包。此外,天虹提供加热、煮面的服务哦~但是橙宝告诉大家,在妮可,不多吃正经食堂的话是会后悔的!

    4)学者咖啡&湖畔一栋致仁咖啡社

    第二科研楼一楼的学者咖啡提供咖啡、超级美味的饺子、牛肉面和冰淇淋(听说在哪里可以经常遇见留学生哦)

    湖畔一楼的咖啡社环境和氛围也非常棒哦。

    以上就是妮可的食堂介绍啦,橙宝希望大家可以在南科大吃的开心。校外还有更多的深圳美食,大家可以移步至本公众号相关推送查看。

    学习场所篇

    1. 两个主要教学区域

    说到上课,妮可主要有两个教学区域:第一教学楼荔园

    1)第一教学楼

    门外的超大显示屏,滚动播放学校最新动态

    一楼宽阔明亮的教室,有时有名叫"麻酱"的猫猫出没哦

    高层也有让人心旷神怡的露天平台~

    而一教隔壁的 第二教学楼 布满机房,是计算机系上机课程的授课场所

    2)荔园

    相比一教,荔园多出的实验室和机房为各专业实验课提供场所。其他和第一教学楼相差不大。

    略显抽象的夜景

    阶梯教室

    不知不觉就下课啦!橙宝知道努力的大家没有学够,想温习刚刚学过的知识。这时除了一教和荔园的空教室都可以进入自习外,图书馆更是一个很好的选择!

    2. 图书馆

    学校里共有三个图书馆:琳恩图书馆,一丹图书馆,涵泳图书馆

    1)琳恩图书馆

    位于第一教学楼对面,下课后来这里很方便。

    一楼门口有一家星巴克,可以带杯咖啡优雅地进馆自习!

    一楼自习区左侧是美丽落地窗,同时有打印机、自助借还书机和图书杀菌机、半开放讨论区

    二楼有半开放讨论区

    图为三楼睡觉区,同时也有电脑区、大量藏书

    2)一丹图书馆

    一丹图书馆由慈善家陈一丹先生捐赠,分为24小时开放的一楼自习区和8:00 -- 22:00开放的其余楼层,白天入馆记得走二楼大门哦!

    一楼是通宵自习室,来这里学习的人非常多,临近考试的时候更是座无虚席。也有舒适的小沙发哦【Tip:一楼大门仅在22:00-次日8:00开放】

    二楼有藏书室(含打印机)和电脑区

    三楼有半开放讨论间、封闭式讨论间(后者需要在官网预约)。同学们可以在这里组队学习,还可以借用白板、投影等设备~

    四楼是常规自习室。这里可以看到湖畔美丽的景色,橙宝超喜欢的!

    3)涵泳图书馆

    包含自习室、讨论间,室内可漂亮了,不过位置相对较少。

    3. 科研楼

    1)第一科研楼

    在第一教学楼对面,一楼的报告厅承办许多活动和讲座(e.g. 书院教育讲座、s赛决赛线下观赛活动地点)

    二楼有联创打印机,在一教打印机坏了或者没纸的时候能来这里救急哦

    2)第二科研楼

    教授们的办公室、院系的实验室

    3)第四科研楼

    步道乐跑的打卡点,到时候跟着导航走就好啦

    4. 院系大楼

    1)工学院

    新建成的理工院楼中老师们已经就位,实验室在陆陆续续往里面搬迁

    2)理学院

    一号校门进来的大楼就是理学院!

    3)商学院

    4)人文社科学院

    人文社科学院老师的办公地点,为学校增添许多人文、历史气息

    除了上课和科研,橙宝呼吁大家多多去老师们的[办公室]提问哦!主要分布在第一教学楼,科研楼,院系大楼,慧园,人文社科学院,具体位置请积极询问老师~

    运动场所篇

    图:介绍顺序一览

    1.欣园区

    1)篮球场

    一共有10个全场,是全校最大的篮球场

    2)足球场

    五人制小场,一共有两个全场,可以在这里举行一些小型比赛

    3)网球场

    2.松禾体育场 + 润杨体育馆

    1)标准400m跑道+标准足球场

    2)真人cs场地&攀岩墙(跑道旁)

    cs随时都可以打,只需要提前预约就可以啦

    攀岩墙一般供体育课中的攀岩课教学使用

    3)室内羽毛球场

    位于润杨体育馆一楼,有大型活动时会撤去场地,提醒大家留意邮件通知哦

    4)润扬健身房

    润杨健身房位于润杨体育馆四楼,24小时开放,较湖畔健身房设施更全,内有各种自由、固定器械,还配备空调,饮水机和淋浴间。

    3.湖畔运动区

    1)湖畔健身房

    24小时开放,相比润扬健身房空间较小,固定器械较少。

    2)舞房

    位于湖畔健身房隔壁,配有空调和音响,是体育课和社团课的授课场所,没有课程时可以随时进去热舞。

    3)乒乓球馆

    位于湖畔四栋楼下,共有十几台乒乓球桌,随时开放。

    4)台球馆

    位于湖畔二栋楼下,有两个九球台和一个斯诺克台,同学们只需要向宿管交50元现金押金就能开桌啦。

    4.风雨操场

    1)篮球场

    是室内篮球场,只有一个全场,记得要预约哦

    2)排球场

    3)拳击馆

    4)游泳馆

    户外游泳池,只有夏天开放,记得留意邮件通知哦

    5.棒球场

    一大片用来打棒球的草地,也是棒球课和棒球社社活的场地。

    活动场所篇

    1. 致诚活动室

    当你想和朋友一起玩玩桌游,当你想和你的ta一起坐下来好好聊聊天,当你突然需要小组讨论,当你想找个地方躲避炎炎夏日,当你手痒想弹弹钢琴......这些问题都有同一个答案:去致诚活动室啊!

    致诚活动室位于湖畔三栋对面,左临湖畔超市、右接健身房舞房,旁设有会议室。内设台灯、桌椅、沙发、钢琴与适量书籍等,组成它温馨明亮的室内布置。活动室是与朋友玩耍、多人聚会的好去处,有时也会举行橙子节、音乐角等书院活动。

    【橙宝提醒大家:休息时段玩耍请注意控制音量哦!】

    2. 学生事务中心

    学生事务中心位于中心食堂二楼,内设有失物招领处与补办学生卡的机器(橙宝祝大家永远不要使用它,但补办新卡时不要忘了冲一元水费哦),学校开通银行卡、高铁优惠票等业务也很可能需要到这里办理。

    3. 社康中心

    社康中心上接十一栋,下接教师公寓,旁临游泳馆。若大家有任何身体状况,都可以前往此处挂号就诊。一定记得听从医嘱,该去大医院检查一定要去,在学校要照顾好自己嗷。

    4. 国际会议中心

    一号门旁的豪华会议+表演场所,校庆、跨年晚会(十佳歌手总决赛)等等大型节目的举办场地。

    5. 教工之家

    位于教师公寓内,坐校巴到专家公寓站即可快速到达。它是每年致诚生日会的举办场地,同时也大概率是致诚舞会的举办场地。

    版权信息

    图片来源: 1088SUSTech,致新书院,SUSTechOnline,卓著,郑微言,邬静芙

    资料参考: 南方科技大学致诚书院公众号

    特别鸣谢: 致新书院提供校园地图

    制作:致诚书院大学长团 邬静芙,郑微言,卓著

    致诚书院出品,本文已获授权在 sustech.online 转载,转载请注明出处。

    ',227);function Bs(Ks,Vs){const t=o("router-link");return i(),n("div",null,[vs,Ss,s("nav",Ds,[s("ul",null,[s("li",null,[a(t,{to:"#食堂篇"},{default:e(()=>[p("食堂篇")]),_:1}),s("ul",null,[s("li",null,[a(t,{to:"#_1-高消费餐厅"},{default:e(()=>[p("1. 高消费餐厅")]),_:1})]),s("li",null,[a(t,{to:"#_2-新生食堂"},{default:e(()=>[p("2. 新生食堂")]),_:1})]),s("li",null,[a(t,{to:"#_3-中心食堂-湖畔食堂"},{default:e(()=>[p("3. 中心食堂&湖畔食堂")]),_:1})]),s("li",null,[a(t,{to:"#_4-欣园食堂-荔园食堂"},{default:e(()=>[p("4. 欣园食堂&荔园食堂")]),_:1})]),s("li",null,[a(t,{to:"#_5-非常规-餐厅"},{default:e(()=>[p('5. "非常规"餐厅')]),_:1})])])]),s("li",null,[a(t,{to:"#学习场所篇"},{default:e(()=>[p("学习场所篇")]),_:1}),s("ul",null,[s("li",null,[a(t,{to:"#_1-两个主要教学区域"},{default:e(()=>[p("1. 两个主要教学区域")]),_:1})]),s("li",null,[a(t,{to:"#_2-图书馆"},{default:e(()=>[p("2. 图书馆")]),_:1})]),s("li",null,[a(t,{to:"#_3-科研楼"},{default:e(()=>[p("3. 科研楼")]),_:1})]),s("li",null,[a(t,{to:"#_4-院系大楼"},{default:e(()=>[p("4. 院系大楼")]),_:1})])])]),s("li",null,[a(t,{to:"#运动场所篇"},{default:e(()=>[p("运动场所篇")]),_:1}),s("ul",null,[s("li",null,[a(t,{to:"#_1-欣园区"},{default:e(()=>[p("1.欣园区")]),_:1})]),s("li",null,[a(t,{to:"#_2-松禾体育场-润杨体育馆"},{default:e(()=>[p("2.松禾体育场 + 润杨体育馆")]),_:1})]),s("li",null,[a(t,{to:"#_3-湖畔运动区"},{default:e(()=>[p("3.湖畔运动区")]),_:1})]),s("li",null,[a(t,{to:"#_4-风雨操场"},{default:e(()=>[p("4.风雨操场")]),_:1})]),s("li",null,[a(t,{to:"#_5-棒球场"},{default:e(()=>[p("5.棒球场")]),_:1})])])]),s("li",null,[a(t,{to:"#活动场所篇"},{default:e(()=>[p("活动场所篇")]),_:1}),s("ul",null,[s("li",null,[a(t,{to:"#_1-致诚活动室"},{default:e(()=>[p("1. 致诚活动室")]),_:1})]),s("li",null,[a(t,{to:"#_2-学生事务中心"},{default:e(()=>[p("2. 学生事务中心")]),_:1})]),s("li",null,[a(t,{to:"#_3-社康中心"},{default:e(()=>[p("3. 社康中心")]),_:1})]),s("li",null,[a(t,{to:"#_4-国际会议中心"},{default:e(()=>[p("4. 国际会议中心")]),_:1})]),s("li",null,[a(t,{to:"#_5-教工之家"},{default:e(()=>[p("5. 教工之家")]),_:1})])])])])]),Us])}const Ns=r(ks,[["render",Bs],["__file","新生攻略之校内介绍篇.html.vue"]]);export{Ns as default}; diff --git "a/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\346\240\241\345\206\205\344\273\213\347\273\215\347\257\207.html-doqURwl2.js" "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\346\240\241\345\206\205\344\273\213\347\273\215\347\257\207.html-doqURwl2.js" new file mode 100644 index 000000000..c53d5a24e --- /dev/null +++ "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\346\240\241\345\206\205\344\273\213\347\273\215\347\257\207.html-doqURwl2.js" @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-66965350","path":"/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E6%A0%A1%E5%86%85%E4%BB%8B%E7%BB%8D%E7%AF%87.html","title":"新生攻略之校内介绍篇","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"食堂篇","slug":"食堂篇","link":"#食堂篇","children":[{"level":3,"title":"1. 高消费餐厅","slug":"_1-高消费餐厅","link":"#_1-高消费餐厅","children":[]},{"level":3,"title":"2. 新生食堂","slug":"_2-新生食堂","link":"#_2-新生食堂","children":[]},{"level":3,"title":"3. 中心食堂&湖畔食堂","slug":"_3-中心食堂-湖畔食堂","link":"#_3-中心食堂-湖畔食堂","children":[]},{"level":3,"title":"4. 欣园食堂&荔园食堂","slug":"_4-欣园食堂-荔园食堂","link":"#_4-欣园食堂-荔园食堂","children":[]},{"level":3,"title":"5. \\"非常规\\"餐厅","slug":"_5-非常规-餐厅","link":"#_5-非常规-餐厅","children":[]}]},{"level":2,"title":"学习场所篇","slug":"学习场所篇","link":"#学习场所篇","children":[{"level":3,"title":"1. 两个主要教学区域","slug":"_1-两个主要教学区域","link":"#_1-两个主要教学区域","children":[]},{"level":3,"title":"2. 图书馆","slug":"_2-图书馆","link":"#_2-图书馆","children":[]},{"level":3,"title":"3. 科研楼","slug":"_3-科研楼","link":"#_3-科研楼","children":[]},{"level":3,"title":"4. 院系大楼","slug":"_4-院系大楼","link":"#_4-院系大楼","children":[]}]},{"level":2,"title":"运动场所篇","slug":"运动场所篇","link":"#运动场所篇","children":[{"level":3,"title":"1.欣园区","slug":"_1-欣园区","link":"#_1-欣园区","children":[]},{"level":3,"title":"2.松禾体育场 + 润杨体育馆","slug":"_2-松禾体育场-润杨体育馆","link":"#_2-松禾体育场-润杨体育馆","children":[]},{"level":3,"title":"3.湖畔运动区","slug":"_3-湖畔运动区","link":"#_3-湖畔运动区","children":[]},{"level":3,"title":"4.风雨操场","slug":"_4-风雨操场","link":"#_4-风雨操场","children":[]},{"level":3,"title":"5.棒球场","slug":"_5-棒球场","link":"#_5-棒球场","children":[]}]},{"level":2,"title":"活动场所篇","slug":"活动场所篇","link":"#活动场所篇","children":[{"level":3,"title":"1. 致诚活动室","slug":"_1-致诚活动室","link":"#_1-致诚活动室","children":[]},{"level":3,"title":"2. 学生事务中心","slug":"_2-学生事务中心","link":"#_2-学生事务中心","children":[]},{"level":3,"title":"3. 社康中心","slug":"_3-社康中心","link":"#_3-社康中心","children":[]},{"level":3,"title":"4. 国际会议中心","slug":"_4-国际会议中心","link":"#_4-国际会议中心","children":[]},{"level":3,"title":"5. 教工之家","slug":"_5-教工之家","link":"#_5-教工之家","children":[]}]}],"git":{"updatedTime":1641050582000,"contributors":[{"name":"lethal233","email":"11811407@mail.sustech.edu.cn","commits":1}]},"filePathRelative":"life/by-zhicheng-college/新生攻略之校内介绍篇.md"}');export{l as data}; diff --git "a/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\347\244\276\345\233\242\347\257\207.html-0Pj1URpm.js" "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\347\244\276\345\233\242\347\257\207.html-0Pj1URpm.js" new file mode 100644 index 000000000..43a39166a --- /dev/null +++ "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\347\244\276\345\233\242\347\257\207.html-0Pj1URpm.js" @@ -0,0 +1 @@ +import{_ as n,r as s,o as i,c as l,b as a,a as p,w as r,d as e,e as d}from"./app-9djxHuta.js";const h="/assets/image1-BAlMJleB.jpeg",o="/assets/image2-ncmbwAtN.jpeg",c="/assets/image3-uIzqPPMv.jpeg",u="/assets/image4-UiDUe49T.jpeg",_="/assets/image5-LasjrymB.jpeg",f="/assets/image6-p8MZpc0y.jpeg",g={},m=a("h1",{id:"新生攻略之社团篇",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#新生攻略之社团篇","aria-hidden":"true"},"#"),e(" 新生攻略之社团篇")],-1),x=a("p",null,[a("em",null,"本部分由 致诚书院大学长团 提供")],-1),b={class:"table-of-contents"},q=d('

    前言

    欢迎各位2021级的新生们加入南科大!刚刚结束高考的你们,一定对未来的大学生活充满了期待吧!相信,你也想要拥有丰富多彩的大学校园生活,如此,社团活动又怎能缺席!

    南科大目前共有社团百余个,主要分为思想政治、学术科技、创新创业、文化体育、志愿公益五个大类。社团为爱好相同的同学们提供了相聚相识、交流进步的平台,也为有一技之长的同学建立了提升能力、展示自我的机会。加入社团,不仅可以强化相关领域的技能水平,还可以在培养兴趣爱好的同时,提升个人人际交往能力。

    本篇攻略,就让橙宝带你了解南科大社团!

    一、如何选择合适的社团?

    想要加入社团却不知道如何了解社团?不要担心,"百团大战"就是你了解社团的好时机!南科大社团联合会会在每年初秋举办一年一度的"百团大战"活动,届时,各个社团都会精心布置自己的摊位,展示自己的风采,张罗来往同学驻足观看,给予同学们了解社团、加入社团的机会。此外,有的社团也会利用qq空间或是微信公众号来进行宣传,同学们可以多多留意。遇到感兴趣的社团,也不妨加入该社团的招新群了解一下噢~

    在这里还有一个小小的提醒,有些社团由于受到特定书院管理,名字前会加上该书院的名字(如致诚咏春社、致仁民乐团等),但这并不意味着其他书院同学不能加入该社团噢!在南科大,所有社团都是面向全校同学开放的,只要你有兴趣,就去报名参加吧!

    二、学生社团联合会注册社团名单(截止2020.9)

    思想政治类

    学生研习社

    学术科技类

    航模社 社团数学物理社 DataHub社团

    材料研究学会南科大学生分会 工业设计社 计算机研究协会社团

    深渔俱乐部 虚拟现实技术社 自主智能机器人社团

    创新创业类

    未来企业家俱乐部 创新创业协会

    文化体育类

    致仁民乐团社 辩论社 Wink舞社

    定向越野社 乒乓球社 桥牌社

    东亚神话与邦乐研究社 书画社 跆拳道社

    清羽飞扬羽毛球社 自然国学社 Dauber画社

    树礼微电影社 搏击社 川衡社

    树仁钢琴社 电竞社 NOVA街舞社

    文化创意社 翻译社 吉他社

    致诚歌唱社 猫社 南风诗社

    树礼阿卡贝拉社 武学社 日语社

    致诚设计社 西乐社 校园大使

    雁落弓社 弈林棋社 游戏王社

    致诚咏春社 游泳社 万智牌社

    致仁烘焙社 电影沙龙社 篮球社

    南枝未央汉服社 网球社 树礼科幻协会

    SCAP动漫社 轮滑社 魔方社

    致仁咖啡社 致诚健身社 Susmusic树礼说唱社

    炽焱足球社 排球社 树仁京剧社

    电影沙龙社 音乐剧社 瑜伽社

    电子音乐社 拉丁社 风华主持队

    女子篮球社 天文社 推理社

    橡树调酒社 围棋社 文学社

    致新非物质文化遗产社 致新古琴社 野战社

    树德力量举社 开言堂相声社

    志愿公益类

    绿足迹自然保育社 树礼科普社 招生宣传协会

    其他类

    花粉俱乐部

    筹备社团

    军事爱好者社团(筹) 粤语社(筹) 滑板社(筹)

    大学生就业与职业发展社团(筹) 棍网球社(筹) CAN极客社团(筹)

    空手道社(筹) 理想社(筹) 模拟联合国协会(筹)

    绿色智慧校园社(筹) 轻小说社(筹) 摄影社(筹)

    行水国风音乐社(筹) 狼人杀社(筹) 致仁微创社(筹)

    海洋机器人社(筹) 立直麻雀社(筹) 美丽中国教育协会(筹)

    电声乐社(筹) 树德STEAM+创客教育社团(筹)

    (部分社团可能已转正,该名单仅供参考)

    Ps:部分社团(如合唱团、舞蹈团、季风剧社等)直接由艺术中心管辖,加入需要进行具有相应的能力,并经过选拔,不归属社团联合会管理,故未包含在本名单内。敬请谅解!

    三、致诚书院特色社团

    致诚健身社

    致诚书院健身社于2020年初开始策划,2020年七月正式成立,现有社员约25人。社团目前设有社长一名,由致诚书院2020级陈孙兵担任;副社长分别由2018级侯文楚、2019级杨扬和2020级黄宇海三位同学担任。设有指导老师和指导教练各一名,分别由致诚书院辅导员张瀚文老师和颜永涛教练担任。社团指定活动室为致诚书院三栋楼下健身房。

    致诚书院健身社的宗旨是通过专业、科学的训练方式,提高运动表现力,提升个人自信,丰富课余生活,从而达到快乐健身的目的。健身社不只关注训练健硕的肌肉,更重要的是,希望通过综合性的训练,提高基础力量和核心力量,从而提高个人在篮球、羽毛球以及排球运动等中的表现力。所以,无论是健身小白还是健身大佬,在这里,都能找到适合自己的位置。

    致诚歌唱社

    歌唱社全名"南方科技大学致诚书院歌唱社团",由校内爱好唱歌的学生组成,由致诚书院和艺术中心共同指导及管理。南方科技大学在籍学生,只要对唱歌有浓厚兴趣,具备一定的声乐基础,遵守本社团章程,皆可申请入社,通过面试考核即可正式成为本社社员。预计每学期招收新生20位以内。

    歌唱社社内氛围良好,一群志趣相投的同学们聚集在一起,不分年龄,有的只是对唱歌和音乐的共同信仰与追求。大家在歌声中相识,用音乐传递快乐,用音乐互相鼓励。

    社团拥有强大的专业辅导老师阵容。社团成员们更是活跃在学校内各类大、小型舞台、晚会上。2020年南科好声音十佳歌手有七位来自致诚歌唱社,校庆晚会的舞台上也经常出现着歌唱社成员的身影。我社在2020年成功举办致诚音乐角活动,并在2021致诚橙子节音乐表演中获得成功,同学们反响良好。

    致诚歌唱社荣获2020年度艺术中心优秀社团一等奖。

    致诚设计社

    致诚设计社是由致诚书院和艺术中心共同指导的艺术社团,旨在让学生了解平面设计的基础理论和知识,包括海报设计、logo设计、包装设计等,同时也致力于提升学生的设计应用能力,激发想象力和创造力,培养学生的设计思维,致力于学生审美素养的提升。

    设计社每周安排一节培训课,由知名的专业设计师Max和Christy进行指导,课堂有趣又实用。同时,设计社经常现身于学校各个活动中,每次都给同学们不一样的创造体验。设计社的同学们也有更多机会去尝试设计出不同的作品,有机会出现在书院或学校组织的展览中,以及为学校活动进行logo、海报等设计哦!

    致诚咏春社

    在致诚咏春社,你将获得:

    专业的咏春教练!手把手的精准指导,让大家的练武路上从不迷茫。

    负责的练教课堂!除了有教练前来的正课,为了保证部员们的练习质量,我们还在每周周三周五自发组织,由学长带头的自主练教课程!

    温馨的社团氛围!温暖的社团环境,更是给了大家在练习的辛苦中的一丝甜津。

    四、创建社团

    如果你没有找到喜欢的社团,你可以选择联合小伙伴一起创建社团哦。根据社联要求,一个社团的成立需要至少 10 位发起者(有可能修订到更多人数)以及相应的指导老师。如果条件尽数满足的话,那就可以轻松的组建自己的社团啦!不过作为新生入学,橙宝还是建议第一年尽量避免进行一些如同创建社团这样的耗费精力的活动,毕竟学习要紧哦!

    尾声

    社团作为大学生活的调味剂,可以使我们在学习之余获得丰富的课余时光,让我们在短暂休息的同时收获珍贵的友谊,变得更加积极。同时橙宝也要提醒各位,在加入社团收获快乐的同时,也不能忘记学业噢!如果本末倒置,那就太得不偿失啦!

    本篇攻略到此就结束啦,橙宝在此祝愿各位21级的小伙伴们都能找到自己感兴趣的社团,收获充实又愉快的大学生活!

    版权信息

    图片来源: 南科大社联菌公众号 南方科技大学致诚书院公众号

    资料参考: 南科大社联菌公众号 社团联合会社团名单 南方科技大学致诚书院公众号

    特别鸣谢: 致诚书院2020级大学长杜昊澄 帮我改文案的聪明人(x)

    制作:致诚书院大学长团 林瀚兰

    致诚书院出品,本文已获授权在 sustech.online 转载,转载请注明出处。

    ',83);function j(v,N){const t=s("router-link");return i(),l("div",null,[m,x,a("nav",b,[a("ul",null,[a("li",null,[p(t,{to:"#前言"},{default:r(()=>[e("前言")]),_:1})]),a("li",null,[p(t,{to:"#一、如何选择合适的社团"},{default:r(()=>[e("一、如何选择合适的社团?")]),_:1})]),a("li",null,[p(t,{to:"#二、学生社团联合会注册社团名单-截止2020-9"},{default:r(()=>[e("二、学生社团联合会注册社团名单(截止2020.9)")]),_:1}),a("ul",null,[a("li",null,[p(t,{to:"#思想政治类"},{default:r(()=>[e("思想政治类")]),_:1})]),a("li",null,[p(t,{to:"#学术科技类"},{default:r(()=>[e("学术科技类")]),_:1})]),a("li",null,[p(t,{to:"#创新创业类"},{default:r(()=>[e("创新创业类")]),_:1})]),a("li",null,[p(t,{to:"#文化体育类"},{default:r(()=>[e("文化体育类")]),_:1})]),a("li",null,[p(t,{to:"#志愿公益类"},{default:r(()=>[e("志愿公益类")]),_:1})]),a("li",null,[p(t,{to:"#其他类"},{default:r(()=>[e("其他类")]),_:1})]),a("li",null,[p(t,{to:"#筹备社团"},{default:r(()=>[e("筹备社团")]),_:1})])])]),a("li",null,[p(t,{to:"#三、致诚书院特色社团"},{default:r(()=>[e("三、致诚书院特色社团")]),_:1}),a("ul",null,[a("li",null,[p(t,{to:"#致诚健身社"},{default:r(()=>[e("致诚健身社")]),_:1})]),a("li",null,[p(t,{to:"#致诚歌唱社"},{default:r(()=>[e("致诚歌唱社")]),_:1})]),a("li",null,[p(t,{to:"#致诚设计社"},{default:r(()=>[e("致诚设计社")]),_:1})]),a("li",null,[p(t,{to:"#致诚咏春社"},{default:r(()=>[e("致诚咏春社")]),_:1})])])]),a("li",null,[p(t,{to:"#四、创建社团"},{default:r(()=>[e("四、创建社团")]),_:1})]),a("li",null,[p(t,{to:"#尾声"},{default:r(()=>[e("尾声")]),_:1})])])]),q])}const B=n(g,[["render",j],["__file","新生攻略之社团篇.html.vue"]]);export{B as default}; diff --git "a/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\347\244\276\345\233\242\347\257\207.html-7dVvoWez.js" "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\347\244\276\345\233\242\347\257\207.html-7dVvoWez.js" new file mode 100644 index 000000000..7d4709c5c --- /dev/null +++ "b/assets/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\347\244\276\345\233\242\347\257\207.html-7dVvoWez.js" @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-66317da4","path":"/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E7%A4%BE%E5%9B%A2%E7%AF%87.html","title":"新生攻略之社团篇","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"前言","slug":"前言","link":"#前言","children":[]},{"level":2,"title":"一、如何选择合适的社团?","slug":"一、如何选择合适的社团","link":"#一、如何选择合适的社团","children":[]},{"level":2,"title":"二、学生社团联合会注册社团名单(截止2020.9)","slug":"二、学生社团联合会注册社团名单-截止2020-9","link":"#二、学生社团联合会注册社团名单-截止2020-9","children":[{"level":3,"title":"思想政治类","slug":"思想政治类","link":"#思想政治类","children":[]},{"level":3,"title":"学术科技类","slug":"学术科技类","link":"#学术科技类","children":[]},{"level":3,"title":"创新创业类","slug":"创新创业类","link":"#创新创业类","children":[]},{"level":3,"title":"文化体育类","slug":"文化体育类","link":"#文化体育类","children":[]},{"level":3,"title":"志愿公益类","slug":"志愿公益类","link":"#志愿公益类","children":[]},{"level":3,"title":"其他类","slug":"其他类","link":"#其他类","children":[]},{"level":3,"title":"筹备社团","slug":"筹备社团","link":"#筹备社团","children":[]}]},{"level":2,"title":"三、致诚书院特色社团","slug":"三、致诚书院特色社团","link":"#三、致诚书院特色社团","children":[{"level":3,"title":"致诚健身社","slug":"致诚健身社","link":"#致诚健身社","children":[]},{"level":3,"title":"致诚歌唱社","slug":"致诚歌唱社","link":"#致诚歌唱社","children":[]},{"level":3,"title":"致诚设计社","slug":"致诚设计社","link":"#致诚设计社","children":[]},{"level":3,"title":"致诚咏春社","slug":"致诚咏春社","link":"#致诚咏春社","children":[]}]},{"level":2,"title":"四、创建社团","slug":"四、创建社团","link":"#四、创建社团","children":[]},{"level":2,"title":"尾声","slug":"尾声","link":"#尾声","children":[]}],"git":{"updatedTime":1641050582000,"contributors":[{"name":"lethal233","email":"11811407@mail.sustech.edu.cn","commits":1}]},"filePathRelative":"life/by-zhicheng-college/新生攻略之社团篇.md"}');export{l as data}; diff --git a/baidu_verify_yQSeRkHJla.html b/baidu_verify_yQSeRkHJla.html new file mode 100644 index 000000000..c436fa529 --- /dev/null +++ b/baidu_verify_yQSeRkHJla.html @@ -0,0 +1 @@ +yQSeRkHJla \ No newline at end of file diff --git a/bus_echart/line1.json b/bus_echart/line1.json new file mode 100644 index 000000000..e3ab92b38 --- /dev/null +++ b/bus_echart/line1.json @@ -0,0 +1,7 @@ +{ +"type": "FeatureCollection", +"name": "line1", +"features": [ +{ "type": "Feature", "properties": { }, "geometry": { "type": "LineString", "coordinates": [ [ 113.990200060822701, 22.603344460572981 ], [ 113.990333174477954, 22.6027102287388 ], [ 113.990514670805609, 22.602456133880072 ], [ 113.990841364195418, 22.602195989143752 ], [ 113.991522590249474, 22.601607860773861 ], [ 113.991928480107561, 22.601056324430257 ], [ 113.992014308823357, 22.600526671759035 ], [ 113.991857592439558, 22.599956793999745 ], [ 113.991319364892504, 22.59945330686925 ], [ 113.990811827365107, 22.599193050967941 ], [ 113.990575899339404, 22.599034258589519 ], [ 113.9904009525345, 22.59862018369482 ], [ 113.990297849077294, 22.59752639824848 ], [ 113.990406327742804, 22.597096158685559 ], [ 113.990876062144395, 22.597041478974589 ], [ 113.991556690432802, 22.597245555836601 ], [ 113.992034233315295, 22.597268141810218 ], [ 113.992716208614596, 22.5968173712095 ], [ 113.993255214215793, 22.596303261873739 ], [ 113.993825116256502, 22.596059903602399 ], [ 113.994263768917307, 22.596071162002989 ], [ 113.994550623676702, 22.595519179429939 ], [ 113.995287231625795, 22.59597241715224 ], [ 113.996529642577698, 22.59731692465482 ], [ 113.998045551138802, 22.59902110136386 ], [ 113.998796135228801, 22.599533641486811 ], [ 113.999268394440591, 22.59985760187152 ], [ 113.999694748456065, 22.60001075474797 ], [ 113.99959043851149, 22.600077670561472 ], [ 113.998862527224802, 22.600735126645151 ], [ 113.998734780644995, 22.60117875994807 ], [ 113.998727256701201, 22.601482470906578 ], [ 113.998481110292403, 22.60178382602745 ], [ 113.998261380730199, 22.6021205004729 ], [ 113.998069751945195, 22.602587716731222 ], [ 113.998002614761702, 22.60300575140722 ], [ 113.997951304905101, 22.603237178781896 ], [ 113.997875516790629, 22.603308756445561 ], [ 113.997744992815711, 22.603304545994757 ], [ 113.996886641557893, 22.602980895656401 ], [ 113.996240102907393, 22.602883482030911 ], [ 113.995692321548532, 22.602884199237216 ], [ 113.99544081214448, 22.60296074557758 ], [ 113.995081378986399, 22.603359305092631 ], [ 113.994741145789746, 22.603739446476169 ], [ 113.994480941287335, 22.603995004469603 ], [ 113.994202150749047, 22.604231976427151 ], [ 113.993949700332195, 22.60464554145209 ], [ 113.99351020410505, 22.605376557033196 ], [ 113.993517765384382, 22.605457210679489 ], [ 113.993563133060434, 22.60551013963487 ], [ 113.994420192192678, 22.606010786177364 ], [ 113.994877490364317, 22.606242258091399 ], [ 113.995278497141001, 22.606402240970631 ], [ 113.995327766644706, 22.606673415602611 ], [ 113.996490585116902, 22.6063775771138 ], [ 113.997715653744606, 22.60596002561628 ], [ 113.998320711544395, 22.60613169032316 ], [ 113.998664870688501, 22.606599236851789 ], [ 113.998897946580101, 22.608153316116329 ], [ 113.998161891211794, 22.609753417676441 ], [ 113.9976555155949, 22.610514448689759 ], [ 113.997348907905405, 22.61067741494136 ] ] } } +] +} diff --git a/bus_echart/line1_dir2.json b/bus_echart/line1_dir2.json new file mode 100644 index 000000000..3d0d0886d --- /dev/null +++ b/bus_echart/line1_dir2.json @@ -0,0 +1,8 @@ +{ +"type": "FeatureCollection", +"name": "line1_dir2", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { }, "geometry": { "type": "LineString", "coordinates": [ [ 113.990195209100918, 22.603359950080943 ], [ 113.990264777696609, 22.602969879384361 ], [ 113.990380810814315, 22.602613491951406 ], [ 113.990612877049728, 22.602356561476483 ], [ 113.991006560841953, 22.602045758482628 ], [ 113.991246915157191, 22.601842700526642 ], [ 113.991391956554338, 22.601722523369016 ], [ 113.991478981392618, 22.601643786610573 ], [ 113.991521882373362, 22.601603862466593 ], [ 113.991633995607671, 22.601483109056794 ], [ 113.991769272208089, 22.601354310412173 ], [ 113.9920345671635, 22.600520030614991 ], [ 113.991935605721906, 22.60002742855453 ], [ 113.991319364892504, 22.59945330686925 ], [ 113.990811827365107, 22.599193050967941 ], [ 113.990575899339404, 22.599034258589519 ], [ 113.9904009525345, 22.59862018369482 ], [ 113.990297849077294, 22.59752639824848 ], [ 113.990406327742804, 22.597096158685559 ], [ 113.990876062144395, 22.597041478974589 ], [ 113.991556690432802, 22.597245555836601 ], [ 113.992034233315295, 22.597268141810218 ], [ 113.992716208614596, 22.5968173712095 ], [ 113.993255214215793, 22.596303261873739 ], [ 113.993825116256502, 22.596059903602399 ], [ 113.994263768917307, 22.596071162002989 ], [ 113.994550623676702, 22.595519179429939 ], [ 113.995287231625795, 22.59597241715224 ], [ 113.996529642577698, 22.59731692465482 ], [ 113.998045551138802, 22.59902110136386 ], [ 113.998796135228801, 22.599533641486811 ], [ 113.999617218935498, 22.600021304717611 ], [ 113.998862527224802, 22.600735126645151 ], [ 113.998734780644995, 22.60117875994807 ], [ 113.998727256701201, 22.601482470906578 ], [ 113.998481110292403, 22.60178382602745 ], [ 113.998261380730199, 22.6021205004729 ], [ 113.998069751945195, 22.602587716731222 ], [ 113.998002614761702, 22.60300575140722 ], [ 113.997948911711902, 22.603250629401881 ], [ 113.997860239698099, 22.603341259123599 ], [ 113.996886641557893, 22.602980895656401 ], [ 113.996240102907393, 22.602883482030911 ], [ 113.995511755429106, 22.602900402831931 ], [ 113.995081378986399, 22.603359305092631 ], [ 113.994494659845699, 22.60394737599491 ], [ 113.993949700332195, 22.60464554145209 ], [ 113.993478403889895, 22.605480929778221 ], [ 113.995278497141001, 22.606402240970631 ], [ 113.995327766644706, 22.606673415602611 ], [ 113.996490585116902, 22.6063775771138 ], [ 113.997715653744606, 22.60596002561628 ], [ 113.998320711544395, 22.60613169032316 ], [ 113.998664870688501, 22.606599236851789 ], [ 113.998897946580101, 22.608153316116329 ], [ 113.998161891211794, 22.609753417676441 ], [ 113.9976555155949, 22.610514448689759 ], [ 113.997348907905405, 22.61067741494136 ] ] } } +] +} diff --git a/bus_echart/line2.json b/bus_echart/line2.json new file mode 100644 index 000000000..b912ec7c8 --- /dev/null +++ b/bus_echart/line2.json @@ -0,0 +1,7 @@ +{ +"type": "FeatureCollection", +"name": "line2", +"features": [ +{ "type": "Feature", "properties": { }, "geometry": { "type": "LineString", "coordinates": [ [ 113.991459678304494, 22.599604921099228 ], [ 113.991896923307195, 22.599936617485952 ], [ 113.992010569899804, 22.6005318195689 ], [ 113.991917242336896, 22.60102266627295 ], [ 113.991712546568195, 22.601367155914083 ], [ 113.991526274764496, 22.601612498395962 ], [ 113.992045849875581, 22.60262745159568 ], [ 113.992339522764453, 22.602968084896109 ], [ 113.992798857282978, 22.603280910653833 ], [ 113.99298710913483, 22.60350336409337 ], [ 113.993853067653333, 22.603677155592816 ], [ 113.994199451060737, 22.604268045049292 ], [ 113.993864148579476, 22.604784676421257 ], [ 113.993509428331166, 22.605403434168586 ], [ 113.99351895664168, 22.605477278575066 ], [ 113.993583272737652, 22.605524920127628 ], [ 113.995278497141001, 22.606402240970631 ], [ 113.995327766644706, 22.606673415602611 ], [ 113.996490585116902, 22.6063775771138 ], [ 113.997715653744606, 22.60596002561628 ], [ 113.998320711544395, 22.60613169032316 ], [ 113.998664870688501, 22.606599236851789 ], [ 113.998897946580101, 22.608153316116329 ], [ 113.998161891211794, 22.609753417676441 ], [ 113.9976555155949, 22.610514448689759 ], [ 113.997348907905405, 22.61067741494136 ] ] } } +] +} diff --git a/bus_echart/stop1.json b/bus_echart/stop1.json new file mode 100644 index 000000000..2ddeb97ea --- /dev/null +++ b/bus_echart/stop1.json @@ -0,0 +1,20 @@ +{ + "type": "FeatureCollection", + "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, + "features": [ + { "type": "Feature", "properties": { "name": "工学院", "dist": 0.0 }, "geometry": { "type": "Point", "coordinates": [113.9902, 22.60336] } }, + { "type": "Feature", "properties": { "name": "科研楼", "dist": 542.89970148591362 }, "geometry": { "type": "Point", "coordinates": [113.99153, 22.599643] } }, + { "type": "Feature", "properties": { "name": "七号门", "dist": 907.62735789785825 }, "geometry": { "type": "Point", "coordinates": [113.990399, 22.597132] } }, + { "type": "Feature", "properties": { "name": "行政楼", "dist": 1149.0456938127084 }, "geometry": { "type": "Point", "coordinates": [113.992403, 22.597011] } }, + { "type": "Feature", "properties": { "name": "1号门", "dist": 1513.4263569176362 }, "geometry": { "type": "Point", "coordinates": [113.994898, 22.59569] } }, + { "type": "Feature", "properties": { "name": "3号门", "dist": 2230.3249460522952 }, "geometry": { "type": "Point", "coordinates": [113.99939, 22.599893] } }, + { "type": "Feature", "properties": { "name": "专家公寓", "dist": 2546.2198658400307 }, "geometry": { "type": "Point", "coordinates": [113.998329, 22.601975] } }, + { "type": "Feature", "properties": { "name": "教工餐厅", "dist": 2727.0013627137873 }, "geometry": { "type": "Point", "coordinates": [113.997811, 22.603325] } }, + { "type": "Feature", "properties": { "name": "社康中心", "dist": 2939.8507316668038 }, "geometry": { "type": "Point", "coordinates": [113.995981, 22.60293] } }, + { "type": "Feature", "properties": { "name": "学生宿舍", "dist": 3238.416725109053 }, "geometry": { "type": "Point", "coordinates": [113.993824, 22.604854] } }, + { "type": "Feature", "properties": { "name": "荔园", "dist": 3621.0661168663187 }, "geometry": { "type": "Point", "coordinates": [113.995238, 22.606518] } }, + { "type": "Feature", "properties": { "name": "创园", "dist": 3804.8412646531024 }, "geometry": { "type": "Point", "coordinates": [113.996732, 22.606278] } }, + { "type": "Feature", "properties": { "name": "慧园", "dist": 3991.5552242009744 }, "geometry": { "type": "Point", "coordinates": [113.998372, 22.606102] } }, + { "type": "Feature", "properties": { "name": "欣园", "dist": 4592.7727333861958 }, "geometry": { "type": "Point", "coordinates": [113.997473, 22.610667] } } + ] +} \ No newline at end of file diff --git a/bus_echart/stop2.json b/bus_echart/stop2.json new file mode 100644 index 000000000..69dc0991a --- /dev/null +++ b/bus_echart/stop2.json @@ -0,0 +1,13 @@ +{ + "type": "FeatureCollection", + "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, + "features": [ + { "type": "Feature", "properties": { "name": "科研楼", "dist": 8.96320513008415 }, "geometry": { "type": "Point", "coordinates": [113.99153, 22.599643] } }, + { "type": "Feature", "properties": { "name": "工学院", "dist": 546.92460644903099 }, "geometry": { "type": "Point", "coordinates": [113.9902, 22.60336] } }, + { "type": "Feature", "properties": { "name": "学生宿舍", "dist": 3238.416725109053 }, "geometry": { "type": "Point", "coordinates": [113.993824, 22.604854] } }, + { "type": "Feature", "properties": { "name": "荔园", "dist": 1357.3744467274953 }, "geometry": { "type": "Point", "coordinates": [113.995238, 22.606518] } }, + { "type": "Feature", "properties": { "name": "创园", "dist": 1541.1495945142797 }, "geometry": { "type": "Point", "coordinates": [113.996732, 22.606278] } }, + { "type": "Feature", "properties": { "name": "慧园", "dist": 1727.8635540621517 }, "geometry": { "type": "Point", "coordinates": [113.998372, 22.606102] } }, + { "type": "Feature", "properties": { "name": "欣园", "dist": 2329.0810632473731 }, "geometry": { "type": "Point", "coordinates": [113.997473, 22.610667] } } + ] +} \ No newline at end of file diff --git a/bus_times/one_down.json b/bus_times/one_down.json new file mode 100644 index 000000000..f368125b6 --- /dev/null +++ b/bus_times/one_down.json @@ -0,0 +1,179 @@ +{ + "times": [ + "07:00", + "07:05", + "07:10", + "07:15", + "07:20", + "07:25", + "07:30", + "07:35", + "07:40", + "07:45", + "07:50", + "07:55", + "08:00", + "08:05", + "08:10", + "08:15", + "08:20", + "08:25", + "08:30", + "08:35", + "08:40", + "08:45", + "08:50", + "08:55", + "09:00", + "09:05", + "09:10", + "09:15", + "09:20", + "09:25", + "09:30", + "09:35", + "09:40", + "09:50", + "10:00", + "10:10", + "10:20", + "10:30", + "10:40", + "10:50", + "11:00", + "11:20", + "11:35", + "11:45", + "11:50", + "12:00", + "12:10", + "12:20", + "12:30", + "12:40", + "12:50", + "12:55", + "13:00", + "13:10", + "13:20", + "13:30", + "13:40", + "13:50", + "14:00", + "14:10", + "14:20", + "14:30", + "14:40", + "14:50", + "15:00", + "15:10", + "15:20", + "15:30", + "15:40", + "15:50", + "16:00", + "16:10", + "16:20", + "16:30", + "16:40", + "16:50", + "17:00", + "17:10", + "17:15", + "17:25", + "17:30", + "17:35", + "17:40", + "17:45", + "17:50", + "17:55", + "18:00", + "18:05", + "18:10", + "18:15", + "18:20", + "18:30", + "18:40", + "18:50", + "19:00", + "19:10", + "19:20", + "19:30", + "19:40", + "19:50", + "20:00", + "20:10", + "20:20", + "20:30", + "20:40", + "20:50", + "21:00", + "21:10", + "21:20", + "21:30", + "21:40", + "21:50", + "22:00", + "22:15", + "22:30", + "22:45" + ], + "stations": [ + [ + "欣园", + 0 + ], + [ + "慧园", + 0.07692307692307693 + ], + [ + "创园", + 0.15384615384615385 + ], + [ + "荔园", + 0.23076923076923078 + ], + [ + "学生宿舍", + 0.3076923076923077 + ], + [ + "社康中心", + 0.38461538461538464 + ], + [ + "教工餐厅", + 0.46153846153846156 + ], + [ + "专家公寓", + 0.5384615384615384 + ], + [ + "三号门", + 0.6153846153846154 + ], + [ + "一号门", + 0.6923076923076923 + ], + [ + "行政楼", + 0.7692307692307693 + ], + [ + "七号门", + 0.8461538461538461 + ], + [ + "科研楼", + 0.9230769230769231 + ], + [ + "工学院", + 1 + ] + ], + "minuteOnRoad": 20 +} \ No newline at end of file diff --git a/bus_times/one_down_holiday.json b/bus_times/one_down_holiday.json new file mode 100644 index 000000000..1b68a6c32 --- /dev/null +++ b/bus_times/one_down_holiday.json @@ -0,0 +1,123 @@ +{ + "times": [ + "07:00", + "07:20", + "07:40", + "08:00", + "08:20", + "08:40", + "09:00", + "09:20", + "09:40", + "10:00", + "10:20", + "10:40", + "10:50", + "11:00", + "11:10", + "11:20", + "11:30", + "11:40", + "11:50", + "12:00", + "12:10", + "12:20", + "12:30", + "12:40", + "12:50", + "13:00", + "13:20", + "13:40", + "14:00", + "14:20", + "14:40", + "15:00", + "15:20", + "15:40", + "16:00", + "16:20", + "16:40", + "17:00", + "17:10", + "17:20", + "17:30", + "17:40", + "17:50", + "18:00", + "18:10", + "18:20", + "18:30", + "18:40", + "18:50", + "19:00", + "19:10", + "19:20", + "19:40", + "20:00", + "20:20", + "20:40", + "21:00", + "21:20", + "21:40", + "22:00" + ], + "stations": [ + [ + "欣园", + 0 + ], + [ + "慧园", + 0.07692307692307693 + ], + [ + "创园", + 0.15384615384615385 + ], + [ + "荔园", + 0.23076923076923078 + ], + [ + "学生宿舍", + 0.3076923076923077 + ], + [ + "社康中心", + 0.38461538461538464 + ], + [ + "教工餐厅", + 0.46153846153846156 + ], + [ + "专家公寓", + 0.5384615384615384 + ], + [ + "三号门", + 0.6153846153846154 + ], + [ + "一号门", + 0.6923076923076923 + ], + [ + "行政楼", + 0.7692307692307693 + ], + [ + "七号门", + 0.8461538461538461 + ], + [ + "科研楼", + 0.9230769230769231 + ], + [ + "工学院", + 1 + ] + ], + "minuteOnRoad": 20 +} \ No newline at end of file diff --git a/bus_times/one_up.json b/bus_times/one_up.json new file mode 100644 index 000000000..d7c3d72da --- /dev/null +++ b/bus_times/one_up.json @@ -0,0 +1,163 @@ +{ + "times": [ + "07:20", + "07:25", + "07:30", + "07:40", + "07:46", + "07:50", + "08:00", + "08:05", + "08:10", + "08:15", + "08:20", + "08:25", + "08:30", + "08:35", + "08:40", + "08:45", + "08:50", + "08:55", + "09:00", + "09:05", + "09:10", + "09:15", + "09:20", + "09:25", + "09:30", + "09:40", + "09:50", + "10:00", + "10:10", + "10:20", + "10:30", + "10:40", + "10:50", + "11:00", + "11:10", + "11:20", + "11:30", + "11:40", + "11:50", + "12:00", + "12:10", + "12:20", + "12:30", + "12:40", + "12:45", + "12:55", + "13:00", + "13:10", + "13:20", + "13:40", + "13:50", + "14:00", + "14:10", + "14:20", + "14:30", + "14:40", + "14:50", + "15:00", + "15:10", + "15:20", + "15:30", + "15:40", + "15:50", + "16:00", + "16:10", + "16:20", + "16:30", + "16:40", + "16:50", + "17:00", + "17:10", + "17:20", + "17:30", + "17:35", + "17:40", + "17:45", + "17:50", + "18:00", + "18:10", + "18:20", + "18:30", + "18:40", + "18:50", + "19:00", + "19:10", + "19:20", + "19:30", + "19:40", + "19:50", + "20:00", + "20:10", + "20:20", + "20:30", + "20:50", + "21:00", + "21:20", + "21:30", + "21:50", + "22:00", + "22:15", + "22:40", + "22:50", + "22:55", + "23:05" + ], + "stations": [ + [ + "工学院", + 0 + ], + [ + "科研楼", + 0.07692307692307693 + ], + [ + "七号门", + 0.15384615384615385 + ], + [ + "行政楼", + 0.23076923076923078 + ], + [ + "一号门", + 0.3076923076923077 + ], + [ + "三号门", + 0.38461538461538464 + ], + [ + "专家公寓", + 0.46153846153846156 + ], + [ + "教工餐厅", + 0.5384615384615384 + ], + [ + "社康中心", + 0.6153846153846154 + ], + [ + "学生宿舍", + 0.6923076923076923 + ], + [ + "荔园", + 0.7692307692307693 + ], + [ + "慧园", + 0.9230769230769231 + ], + [ + "欣园", + 1 + ] + ], + "minuteOnRoad": 20 +} \ No newline at end of file diff --git a/bus_times/one_up_holiday.json b/bus_times/one_up_holiday.json new file mode 100644 index 000000000..66920a78a --- /dev/null +++ b/bus_times/one_up_holiday.json @@ -0,0 +1,119 @@ +{ + "times": [ + "07:20", + "07:40", + "08:00", + "08:20", + "08:40", + "09:00", + "09:20", + "09:40", + "10:00", + "10:20", + "10:40", + "11:00", + "11:10", + "11:20", + "11:30", + "11:40", + "11:50", + "12:00", + "12:10", + "12:20", + "12:30", + "12:40", + "12:50", + "13:00", + "13:20", + "13:40", + "14:00", + "14:20", + "14:40", + "15:00", + "15:20", + "15:40", + "16:00", + "16:20", + "16:40", + "17:00", + "17:10", + "17:20", + "17:30", + "17:40", + "17:50", + "18:00", + "18:10", + "18:20", + "18:30", + "18:40", + "18:50", + "19:00", + "19:10", + "19:20", + "19:30", + "19:40", + "20:00", + "20:20", + "20:40", + "21:00", + "21:20", + "21:40", + "22:00", + "22:20" + ], + "stations": [ + [ + "工学院", + 0 + ], + [ + "科研楼", + 0.07692307692307693 + ], + [ + "七号门", + 0.15384615384615385 + ], + [ + "行政楼", + 0.23076923076923078 + ], + [ + "一号门", + 0.3076923076923077 + ], + [ + "三号门", + 0.38461538461538464 + ], + [ + "专家公寓", + 0.46153846153846156 + ], + [ + "教工餐厅", + 0.5384615384615384 + ], + [ + "社康中心", + 0.6153846153846154 + ], + [ + "学生宿舍", + 0.6923076923076923 + ], + [ + "荔园", + 0.7692307692307693 + ], + [ + "慧园", + 0.9230769230769231 + ], + [ + "欣园", + 1 + ] + ], + "minuteOnRoad": 20 +} \ No newline at end of file diff --git a/bus_times/two_down.json b/bus_times/two_down.json new file mode 100644 index 000000000..1f983c1cb --- /dev/null +++ b/bus_times/two_down.json @@ -0,0 +1,118 @@ +{ + "times": [ + "07:32", + "07:36", + "07:42", + "07:44", + "07:46", + "07:48", + "07:55", + "08:03", + "08:10", + "08:18", + "08:24", + "08:30", + "08:40", + "08:48", + "08:54", + "08:57", + "09:06", + "09:13", + "09:18", + "09:23", + "09:26", + "09:33", + "09:36", + "09:38", + "09:43", + "09:48", + "09:53", + "09:55", + "09:58", + "10:03", + "10:10", + "10:25", + "10:35", + "10:45", + "10:55", + "11:05", + "11:10", + "11:20", + "11:30", + "11:40", + "11:50", + "11:55", + "12:05", + "12:15", + "12:25", + "12:35", + "12:45", + "13:05", + "13:23", + "13:26", + "13:33", + "13:36", + "13:45", + "13:55", + "14:10", + "14:20", + "14:30", + "14:50", + "15:10", + "15:20", + "15:30", + "15:40", + "15:53", + "15:56", + "16:05", + "16:20", + "16:40", + "17:00", + "17:10", + "17:20", + "17:26", + "17:36", + "17:46", + "17:53", + "18:06", + "18:16", + "18:23", + "18:26", + "18:35", + "18:50", + "19:05", + "19:15", + "19:25" + ], + "stations": [ + [ + "欣园", + 0 + ], + [ + "慧园", + 0.16666666666666666 + ], + [ + "创园", + 0.3333333333333333 + ], + [ + "荔园", + 0.5 + ], + [ + "学生宿舍", + 0.6666666666666666 + ], + [ + "工学院", + 0.8333333333333334 + ], + [ + "科研楼", + 1 + ] + ], + "minuteOnRoad": 15 +} \ No newline at end of file diff --git a/bus_times/two_up.json b/bus_times/two_up.json new file mode 100644 index 000000000..56e8ec3bf --- /dev/null +++ b/bus_times/two_up.json @@ -0,0 +1,123 @@ +{ + "times": [ + "07:35", + "07:43", + "07:55", + "08:13", + "08:22", + "08:28", + "08:34", + "08:38", + "08:48", + "08:57", + "09:03", + "09:13", + "09:33", + "09:35", + "09:43", + "09:46", + "09:53", + "09:56", + "10:03", + "10:06", + "10:15", + "10:25", + "10:35", + "10:45", + "10:55", + "11:05", + "11:15", + "11:25", + "11:35", + "11:45", + "11:55", + "12:05", + "12:15", + "12:18", + "12:25", + "12:33", + "12:36", + "12:45", + "12:55", + "13:05", + "13:15", + "13:25", + "13:33", + "13:36", + "13:45", + "13:53", + "13:56", + "14:15", + "14:25", + "14:35", + "14:45", + "14:55", + "15:10", + "15:30", + "15:45", + "15:58", + "16:03", + "16:06", + "16:20", + "16:40", + "17:10", + "17:20", + "17:35", + "17:45", + "17:55", + "18:05", + "18:15", + "18:23", + "18:26", + "18:40", + "18:50", + "19:05", + "19:15", + "19:25", + "19:35", + "19:45", + "19:55", + "20:05", + "20:25", + "20:45", + "20:55", + "21:03", + "21:10", + "21:40", + "21:53", + "21:56", + "22:10", + "22:30" + ], + "stations": [ + [ + "科研楼", + 0 + ], + [ + "工学院", + 0.16666666666666666 + ], + [ + "学生宿舍", + 0.3333333333333333 + ], + [ + "荔园", + 0.5 + ], + [ + "创园", + 0.6666666666666666 + ], + [ + "慧园", + 0.8333333333333334 + ], + [ + "欣园", + 1 + ] + ], + "minuteOnRoad": 15 +} \ No newline at end of file diff --git a/calendar/2018-2019.html b/calendar/2018-2019.html new file mode 100644 index 000000000..ed547259c --- /dev/null +++ b/calendar/2018-2019.html @@ -0,0 +1,39 @@ + + + + + + + + + 校历 - 2018-2019 学年 | 南科手册 + + + + + + + + + diff --git a/calendar/2019-2020.html b/calendar/2019-2020.html new file mode 100644 index 000000000..6c674a8ce --- /dev/null +++ b/calendar/2019-2020.html @@ -0,0 +1,39 @@ + + + + + + + + + 校历 - 2019-2020 学年 | 南科手册 + + + + + + + + + diff --git a/calendar/2020-2021.html b/calendar/2020-2021.html new file mode 100644 index 000000000..35be69c77 --- /dev/null +++ b/calendar/2020-2021.html @@ -0,0 +1,39 @@ + + + + + + + + + 校历 - 2020-2021 学年 | 南科手册 + + + + + + + + + diff --git a/calendar/2021-2022.html b/calendar/2021-2022.html new file mode 100644 index 000000000..bffe3720f --- /dev/null +++ b/calendar/2021-2022.html @@ -0,0 +1,39 @@ + + + + + + + + + 校历 - 2021-2022 学年 | 南科手册 + + + + + + + + + diff --git a/calendar/2021fall.html b/calendar/2021fall.html new file mode 100644 index 000000000..028271eed --- /dev/null +++ b/calendar/2021fall.html @@ -0,0 +1,39 @@ + + + + + + + + + 南科手册 + + + + + + + + + diff --git a/calendar/2022-2023.html b/calendar/2022-2023.html new file mode 100644 index 000000000..f88099603 --- /dev/null +++ b/calendar/2022-2023.html @@ -0,0 +1,39 @@ + + + + + + + + + 校历 - 2022-2023 学年 | 南科手册 + + + + + + + + + diff --git a/calendar/index.html b/calendar/index.html new file mode 100644 index 000000000..51c15ca98 --- /dev/null +++ b/calendar/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 📅校历 | 南科手册 + + + + + + + + + diff --git a/contact/index.html b/contact/index.html new file mode 100644 index 000000000..5f0fd3624 --- /dev/null +++ b/contact/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 📇黄页 | 南科手册 + + + + + +

    📇黄页

    电话与邮件

    座机默认区号0755

    24h 校内服务热线(a.k.a. 物业热线,报修用,查号用): 88010123

    一般办公时间

    • 周一至周五
    • 上午 8:30 - 12:00
    • 下午 2:00 - 5:30

    教学

    物流、餐饮、康体、后勤

    名称地址电话工作时间
    行政服务前台行政楼一楼88010596
    信息中心88010777
    专家公寓86664284
    欣园收发室欣园1栋880106488:30-13:00; 14:00-19:00
    慧园收发室慧园7栋88010649
    书院收发室书院5栋88010111
    荔园收发室荔园8栋88015011
    二期收发室二期13栋88010670
    学生餐厅88015026
    教工餐厅88015023
    荔园餐厅88015237
    西餐厅88015240
    茶餐厅88015244
    场馆预订服务专家公寓2栋二楼880106508:00-22:00

    失物招领处

    区域具体位置
    教学楼,科研楼一教201对面的玻璃房
    食堂食堂一楼小卖部(卖饮料处),一楼打饭刷卡的地方
    图书馆一楼前台,各层楼口移动推车
    宿舍区一栋学生事务中心,三栋物业办公室
    行政楼一楼前台
    风雨操场物业管理玻璃房
    大操场,教师公寓一带专家公寓二栋一楼
    荔园食堂二楼卖饮料处,荔园一栋208(教室管理处)
    欣园宿管值班室(好像是在欣园一栋)

    给个小建议,捡到校园卡的同学可以直接给失主发邮件,反正学号名字校园卡上都有。

    医疗与安全

    • 医疗服务由校医疗中心提供,中心内设有内科、外科、口腔科等专科诊室,配有药房、理疗室、治疗室、留观室等功能辅助诊室。

      • 地点: 学生服务楼一楼
      • 服务时间: 周一至周五,上午 8:30-12:00,下午 14:00-17:00
      • 联系电话
        • 全科门诊:88010120
        • 药房:88010499
        • 投诉建议:88010499
        • 社康管理中心投诉、建议、咨询:13632658609
      • 24小时急诊联系电话: 18218715551
      • 急诊范围: 发热、急腹症、外伤等
    • 安保 | 报警: 88010110

    心理成长

    心理咨询服务资源:

    • 【网上服务大厅预约】(首推预约方式) :

      登陆学校官网 ---> “网站导航” ---> “常用系统” ---> “网上服务大厅”(ehall.sustech.edu.cn) ---> 搜索“心理健康管理” 应用 ---> 进行预约

    • 【邮箱预约】

      邮箱:counseling@sustech.edu.cn

      来信请注明姓名、年级、班级、手机号码和个人空闲的时段。

    • 【电话预约】

      紧急或特殊情况下也可通过电话预约:

      0755-88010576(周一至周五8:30—12:00, 14:00-17:30)

    心理中心为我校学生设立了24小时心理热线和24小时QQ在线咨询,均由校外专业心理机构的心理咨询师提供心理咨询服务:

    • 【24小时热线(00:00-24:00)】

      拨打400-098-0708转9

    • 【24小时QQ在线咨询】

      2853301071(添加QQ通过学校名称和学号验证)

    • 如有紧急情况,可拨打深圳心理援助及危机干预热线:(康宁医院)400-995-995-9,0755-25629459

    • 参加团体咨询/辅导、讲座、沙龙等

      请留意 counseling@sustech.edu.cn 邮箱发布的信息

      微信公众号:南科大心理成长中心

    行政

    • 党政办公室: 88010229

    更多官方部门的联系方式

    邮政与快递地址

    提示

    以下地址以书院(湖畔)一栋101室为例

    邮政地址适用于挂号信,成绩单等

    中文

    邮政编码: 518055

    中华人民共和国

    广东省,深圳市,南山区,学苑大道1088号南方科技大学

    书院收发室/书院1栋101

    英文

    Zip Code: 518055

    Residential College Mail Room / Room 101, Residential College 1

    Southern University of Science and Technology , 1088 Xueyuan Avenue,

    Nanshan District, Shenzhen, Guangdong

    P.R. China

    快递地址适用于快递

    广东省 深圳市 南山区 桃源街道

    学苑大道1088号南方科技大学湖畔收发室

    更多快递相关信息,请参考邮件与快递收发一节。

    报销抬头

    参考南方科技大学报账服务指南(2019年版)在新窗口打开

    名称:南方科技大学

    地址:深圳市南山区学苑大道1088号

    电话:0755-88010000

    开户银行:中信银行深圳分行营业部

    银行账号:8110301013200282614

    统一社会信用代码或纳税人识别号:124403005521093031

    发票信息请再次向财务或秘书确认,以防损失。

    常用Q群

    • 部分可以直接点击群名,自动跳转到 QQ / TIM 页面。
    • 部分需要手动输入群号。

    必备 推荐加入

    ⬇️ 禁止表情包和水群

    ⬇️ 含水量🌊较大

    • 南科大新总群: 652842755

    餐饮、住宿

    交易

    游戏

    其他

    美食外卖

    提示

    下面的餐饮服务均为校外商家运营,南科手册不对其做担保。部分可能已经不再服务。

    大部分外卖仅能放在校门口(五号门,六号门,七号门),个别外卖可以送达宿舍楼下。

    QQ群

    • 挑东西凑单群:688705412

    • 香喷喷的蛋炒饭啊:814371752

    • 南科大烤冷面:581112298

    • 烤冷面二群:637366756

    • 南园小筑美食外卖群:640426124

    • 南风点点咨询群一群:434861612

    • 一点点奶茶凑单群:638896518

    • 益禾堂配送南科大一群:882972978

    • 湖畔外卖有偿帮带群:751258581

    微信公众号

    • 南园小筑

    • 南风点点nkd

    • 挑东西

    微信小程序

    • 至尊东北特色烤冷面
    + + + diff --git a/contact/professor-emails/index.html b/contact/professor-emails/index.html new file mode 100644 index 000000000..41f015d12 --- /dev/null +++ b/contact/professor-emails/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 教授邮件列表 | 南科手册 + + + + + +

    教授邮件列表

    理学院

    数学系

    姓名邮箱
    陈懿茂在新窗口打开chenym@sustech.edu.cn
    Victor Didenko在新窗口打开diviol@gmail.com
    董世杰在新窗口打开dongsj@sustech.edu.cn
    Efim Zelmanov在新窗口打开官网未找到邮箱
    方复全在新窗口打开fangfq@sustech.edu.cn
    付云皓在新窗口打开fuyh@sustech.edu.cn
    冯致程在新窗口打开fengzc@sustech.edu.cn
    古嘉雯在新窗口打开gujw@sustech.edu.cn
    Stavros Garoufalidis在新窗口打开stavros@sustech.edu.cn
    高辉在新窗口打开gaoh@sustech.edu.cn
    花永霞在新窗口打开huayx@sustech.edu.cn
    Jana Hertz在新窗口打开rhertz@sustech.edu.cn
    胡勇在新窗口打开huy@sustech.edu.cn
    Ingrid Irmer在新窗口打开ingridmary@sustech.edu.cn
    Alexander Kurganov在新窗口打开alexander@sustech.edu.cn
    李景治在新窗口打开lijz@sustech.edu.cn
    李才恒在新窗口打开lich@sustech.edu.cn
    李展在新窗口打开liz7(at)sustech(dot)edu(dot)cn
    李觉先在新窗口打开lijx2019@sustech.edu.cn
    刘博辰在新窗口打开liubc@sustech.edu.cn
    刘智慧在新窗口打开liuzh3@sustech.edu.cn
    马富明在新窗口打开mafm@sustech.edu.cn
    马梓铭在新窗口打开官网未找到邮箱
    邱雁南在新窗口打开qiuyn@sustech.edu.cn
    苏琳琳在新窗口打开sull@sustech.edu.cn
    孙景瑞在新窗口打开sunjr@sustech.edu.cn
    汤涛在新窗口打开tangt@sustech.edu.cn
    Raul Mario Ures De La Madrid在新窗口打开ures@sustech.edu.cn
    王融在新窗口打开wangr3@sustech.edu.cn
    吴纪桃在新窗口打开wujt@sustech.edu.cn
    温家强在新窗口打开wenjq@sustech.edu.cn
    吴开亮在新窗口打开wukl@sustech.edu.cn
    邬龙挺在新窗口打开官网未找到邮箱
    王晓明在新窗口打开wangxm@sustech.edu.cn
    熊捷在新窗口打开xiongj@sustech.edu.cn
    向子卿在新窗口打开官网未找到邮箱
    向青在新窗口打开xiangq@sustech.edu.cn
    杨将在新窗口打开yangj7@sustech.edu.cn
    杨燕在新窗口打开yangy3@sustech.edu.cn
    张振在新窗口打开zhangz@sustech.edu.cn
    曾萍萍在新窗口打开zengpp@sustech.edu.cn
    朱一飞在新窗口打开zhuyf@sustech.edu.cn
    张进在新窗口打开zhangj9@sustech.edu.cn
    张文龙在新窗口打开zhangwl@sustech.edu.cn
    张艺赢在新窗口打开zhangyy3@sustech.edu.cn
    张继平在新窗口打开官网未找到邮箱

    物理系

    姓名邮箱
    陈朗在新窗口打开chenlang@sustech.edu.cn
    陈远珍在新窗口打开chenyz@sustech.edu.cn
    陈伟强在新窗口打开chenwq@sustech.edu.cn
    陈卓昱在新窗口打开chenzhuoyu@sustech.edu.cn
    戴亚南在新窗口打开daiyn@sustech.edu.cn
    顾铭强在新窗口打开gumq@sustech.edu.cn
    Sebastian Garcia-Saenz在新窗口打开sgarciasaenz@sustech.edu.cn
    郭鸣阳在新窗口打开guomy@sustech.edu.cn
    何佳清在新窗口打开hejq@sustech.edu.cn
    黄丽在新窗口打开huangl@sustech.edu.cn
    何洪涛在新窗口打开heht@sustech.edu.cn
    黄明远在新窗口打开huangmy@sustech.edu.cn
    胡松柏在新窗口打开husb@sustech.edu.cn
    蒋绍龙在新窗口打开jiangsl@sustech.edu.cn
    刘畅在新窗口打开liuc@sustech.edu.cn
    刘奇航在新窗口打开liuqh@sustech.edu.cn
    鲁大为在新窗口打开ludw@sustech.edu.cn
    林君浩在新窗口打开linjh@sustech.edu.cn
    卢海舟在新窗口打开luhz@sustech.edu.cn
    李军学在新窗口打开lijx3@sustech.edu.cn
    刘影在新窗口打开liuy37@sustech.edu.cn
    刘松在新窗口打开lius9@sustech.edu.cn
    柳卫平在新窗口打开liuwp@sustech.edu.cn
    Modesto Leonardo在新窗口打开lmodesto@sustech.edu.cn
    梅佳伟在新窗口打开meijw@sustech.edu.cn
    马晓光在新窗口打开maxg@sustech.edu.cn
    吴紫辉在新窗口打开wuzh3@sustech.edu.cn
    孙煜杰在新窗口打开sunyj@sustech.edu.cn
    唐叔贤在新窗口打开tongsy@sustech.edu.cn
    王干在新窗口打开wangg@sustech.edu.cn
    王克东在新窗口打开wangkd@sustech.edu.cn
    王善民在新窗口打开wangsm@sustech.edu.cn
    吴留锁在新窗口打开wuls@sustech.edu.cn
    王峻岭在新窗口打开jwang@sustech.edu.cn
    王取泉在新窗口打开wangqq6@sustech.edu.cn
    王戊在新窗口打开wangw7@sustech.edu.cn
    薛其坤在新窗口打开xueqk@sustech.edu.cn
    徐虎在新窗口打开xuh@sustech.edu.cn
    许志芳在新窗口打开xuzf@sustech.edu.cn
    谢琳在新窗口打开xiel3@sustech.edu.cn
    徐泽东在新窗口打开xuzd@sustech.edu.cn
    俞大鹏在新窗口打开yudp@sustech.edu.cn
    叶飞在新窗口打开yef@sustech.edu.cn
    叶茂在新窗口打开yem@sustech.edu.cn
    姚秋石在新窗口打开yaoqs@sustech.edu.cn
    杨兵在新窗口打开yangbing@sustech.edu.cn
    殷嘉鑫在新窗口打开yinjx@sustech.edu.cn
    张立源在新窗口打开zhangly@sustech.edu.cn
    赵予生在新窗口打开zhaoys@sustech.edu.cn
    赵悦在新窗口打开zhaoy@sustech.edu.cn
    朱金龙在新窗口打开zhujl@sustech.edu.cn

    化学系

    姓名邮箱
    支志明在新窗口打开官网未找到邮箱
    钟龙华在新窗口打开oscarchung@sustech.edu.cn
    陈忠仁在新窗口打开chenzr@sustech.edu.cn
    崔剑方在新窗口打开cuijf@sustech.edu.cn
    常晓勇在新窗口打开changxy@sustech.edu.cn
    Chris Soon Heng TAN在新窗口打开christan@sustech.edu.cn
    段乐乐在新窗口打开duanll@sustech.edu.cn
    董哲在新窗口打开dongz@sustech.edu.cn
    郭庆在新窗口打开guoq@sustech.edu.cn
    顾均在新窗口打开guj6@sustech.edu.cn
    黄乃正在新窗口打开官网未找到邮箱
    黄立民在新窗口打开huanglm@sustech.edu.cn
    何川在新窗口打开hec@sustech.edu.cn
    何凤在新窗口打开hef@sustech.edu.cn
    何振宇在新窗口打开jasonhcy@sustech.edu.cn
    郝瑞在新窗口打开haor@sustech.edu.cn
    贾铁争在新窗口打开jiatz@sustech.edu.cn
    姜洪岩在新窗口打开jianghy@sustech.edu.cn
    刘科在新窗口打开liuk@sustech.edu.cn
    陆为在新窗口打开luw@sustech.edu.cn
    李鹏飞在新窗口打开lipf@sustech.edu.cn
    李欣在新窗口打开lix7@sustech.edu.cn
    刘运根在新窗口打开liuyg@sustech.edu.cn
    刘心元在新窗口打开liuxy3@sustech.edu.cn
    刘柳在新窗口打开liuleoliu@sustech.edu.cn
    李闯创在新窗口打开ccli@sustech.edu.cn
    马大为在新窗口打开madw@sustech.edu.cn
    闵龙在新窗口打开minl@sustech.edu.cn
    毛陵玲在新窗口打开maoll@sustech.edu.cn
    倪勇在新窗口打开niy@sustech.edu.cn
    权泽卫在新窗口打开quanzw@sustech.edu.cn
    曲建飞在新窗口打开qujf@sustech.edu.cn
    舒伟在新窗口打开shuw@sustech.edu.cn
    唐勇在新窗口打开tangy3@sustech.edu.cn
    谭斌在新窗口打开tanb@sustech.edu.cn
    田瑞军在新窗口打开tianrj@sustech.edu.cn
    陶丽芝在新窗口打开taolz@sustech.edu.cn
    黄文忠在新窗口打开keithwongmc@sustech.edu.cn
    王阳刚在新窗口打开wangyg@sustech.edu.cn
    王杰在新窗口打开wangjie@sustech.edu.cn
    王健纯在新窗口打开wangjc3@sustech.edu.cn
    吴振禹在新窗口打开wuzy@sustech.edu.cn
    徐晶在新窗口打开xuj@sustech.edu.cn
    许宗祥在新窗口打开xuzx@sustech.edu.cn
    谢小江在新窗口打开xiexj@sustech.edu.cn
    徐晨在新窗口打开xuc@sustech.edu.cn
    夏海平在新窗口打开xiahp@sustech.edu.cn
    徐明华在新窗口打开xumh@sustech.edu.cn
    谢作伟在新窗口打开xiezw@sustech.edu.cn
    杨学明在新窗口打开yangxm@sustech.edu.cn
    于洋在新窗口打开yuy7@sustech.edu.cn
    余沛源在新窗口打开yupy@sustech.edu.cn
    杨天罡在新窗口打开yangtg@sustech.edu.cn
    杨烽在新窗口打开yangf3@sustech.edu.cn
    俞书宏在新窗口打开yush@sustech.edu.cn
    张绪穆在新窗口打开zhangxm@sustech.edu.cn
    张元竹在新窗口打开zhangyz@sustech.edu.cn
    郑智平在新窗口打开zhengzp@sustech.edu.cn
    周友运在新窗口打开zhouyy@sustech.edu.cn
    赵斌在新窗口打开zhaobin@sustech.edu.cn

    地球与空间科学系

    姓名邮箱
    包雪阳在新窗口打开baoxy@sustech.edu.cn
    陈晓非在新窗口打开chenxf@sustech.edu.cn
    陈斌在新窗口打开chenb6@sustech.edu.cn
    陈克杰在新窗口打开chenkj@sustech.edu.cn
    陈志豪在新窗口打开chenzh@sustech.edu.cn
    董莉在新窗口打开dongl@sustech.edu.cn
    方鑫定在新窗口打开fangxd@sustech.edu.cn
    傅磊在新窗口打开ful@sustech.edu.cn
    高科在新窗口打开gaok@sustech.edu.cn
    郭俊鑫在新窗口打开guojx@sustech.edu.cn
    韩鹏在新窗口打开hanp@sustech.edu.cn
    何展翔在新窗口打开hezx@sustech.edu.cn
    胡佳顺在新窗口打开hujs@sustech.edu.cn
    景志成在新窗口打开jingzc@sustech.edu.cn
    林玉峰在新窗口打开linyf@sustech.edu.cn
    刘凯军在新窗口打开liukj@sustech.edu.cn
    李景春在新窗口打开lijc@susutech.edu.cn
    李正伟在新窗口打开lizw3@sustech.edu.cn
    孟浩然在新窗口打开menghr@sustech.edu.cn
    钱韵衣在新窗口打开qianyy@sustech.edu.cn
    任恒鑫在新窗口打开renhx@sustech.edu.cn
    冉将军在新窗口打开ranjj@sustech.edu.cn
    孙耀充在新窗口打开sunyc@sustech.edu.cn
    宋真龙在新窗口打开songzl@sustech.edu.cn
    田振粮在新窗口打开tianzl@sustech.edu.cn
    王泽伟在新窗口打开wangzw@sustech.edu.cn
    王蕊嘉在新窗口打开wangrj@sustech.edu.cn
    徐锦承在新窗口打开xujc@sustech.edu.cn
    徐建宽在新窗口打开xujk@sustech.edu.cn
    徐世庆在新窗口打开xusq3@sustech.edu.cn
    信丹华在新窗口打开xindh@sustech.edu.cn
    杨辉在新窗口打开yangh@sustech.edu.cn
    杨振涛在新窗口打开yangzt@sustech.edu.cn
    杨剑在新窗口打开yangj36@sustech.edu.cn
    杨迪琨在新窗口打开yangdk@sustech.edu.cn
    杨亭在新窗口打开yangt3@sustech.edu.cn
    俞春泉在新窗口打开yucq@sustech.edu.cn
    叶生毅在新窗口打开yesy@sustech.edu.cn
    叶玲玲在新窗口打开yell@sustech.edu.cn
    杨英杰在新窗口打开yangyj@sustech.edu.cn
    张伟在新窗口打开zhangwei@sustech.edu.cn
    张振国在新窗口打开zhangzg@sustech.edu.cn
    张剑锋在新窗口打开zhangjf@sustech.edu.cn

    统计与数据科学系

    姓名邮箱
    陈欣在新窗口打开chenx8@sustech.edu.cn
    Gabrielle Mary JING在新窗口打开gmjing@sustech.edu.cn
    胡延庆在新窗口打开huyq@sustech.edu.cn
    蒋学军在新窗口打开jiangxj@sustech.edu.cn
    焦熙云在新窗口打开jiaoxy@sustech.edu.cn
    荆炳义在新窗口打开jingby@sustech.edu.cn
    李曾在新窗口打开liz9@sustech.edu.cn
    马一方在新窗口打开mayf@sustech.edu.cn
    邵启满在新窗口打开shaoqm@sustech.edu.cn
    史建清在新窗口打开shijq@sustech.edu.cn
    田国梁在新窗口打开tiangl@sustech.edu.cn
    王超在新窗口打开wangc6@sustech.edu.cn
    徐匆在新窗口打开xuc6@sustech.edu.cn
    杨丽丽在新窗口打开yangll@sustech.edu.cn
    杨鹏在新窗口打开yangp_AT_sustc.edu.cn.
    张卓松在新窗口打开zhangzs3@sustech.edu.cn

    工学院

    力学与航空航天工程系

    姓名邮箱
    Asit Kumar Gain在新窗口打开a.gain@sustech.edu.cn
    包斌在新窗口打开baob@sustech.edu.cn
    陈十一在新窗口打开chensy@sustech.edu.cn
    曹人靖在新窗口打开caorj@sustech.edu.cn
    陈曦在新窗口打开chenx33@sustech.edu.cn
    陈瑜在新窗口打开cheny36@sustech.edu.cn
    邓巍巍在新窗口打开dengww@sustech.edu.cn
    丁可琦在新窗口打开dingkq@sustech.edu.cn
    黄克服在新窗口打开huangkf@sustech.edu.cn
    黄仕迪在新窗口打开huangsd@sustech.edu.cn
    洪伟在新窗口打开hongw@sustech.edu.cn
    鲁春在新窗口打开官网未找到邮箱
    刘轶军在新窗口打开liuyj3@sustech.edu.cn
    李晓东在新窗口打开lixd@buaa.edu.cn
    HsuChew Lee在新窗口打开leeh@sustech.edu.cn
    李琪在新窗口打开liq33@sustech.edu.cn
    刘巨在新窗口打开liuj36@sustech.edu.cn
    刘宇在新窗口打开liuy@sustech.edu.cn
    李真在新窗口打开liz33@sustech.edu.cn
    罗圣峰在新窗口打开luosf@sustech.edu.cn
    李明武在新窗口打开limw@sustech.edu.cn
    MATTEO LULLI在新窗口打开lulli@sustech.edu.cn
    马永锋在新窗口打开mayf3@sustech.edu.cn
    任光明在新窗口打开rengm@sustech.edu.cn
    单肖文在新窗口打开shanxw@sustech.edu.cn
    谭唤书在新窗口打开tanhs@sustech.edu.cn
    唐欣在新窗口打开tangx@sustech.edu.cn
    滕健在新窗口打开tengj@sustech.edu.cn
    Vikrant Gupta在新窗口打开vikrant@sustech.edu.cn
    王泉在新窗口打开wangq@sustech.edu.cn
    王连平在新窗口打开wanglp@sustech.edu.cn
    万敏平在新窗口打开wanmp@sustech.edu.cn
    王建春在新窗口打开wangjc@sustech.edu.cn
    王浩在新窗口打开wangh7@sustc.edu.cn
    魏佐君在新窗口打开weizj@sustech.edu.cn
    吴雷在新窗口打开wul@sustech.edu.cn
    王云朋在新窗口打开wangyp@sustech.edu.cn
    王波在新窗口打开wangb6@sustech.edu.cn
    夏克青在新窗口打开xiakq@sustech.edu.cn
    冼桃在新窗口打开xiant@sustech.edu.cn
    薛亚辉在新窗口打开xueyh@sustech.edu.cn
    余鹏在新窗口打开yup6@sustech.edu.cn
    余同希在新窗口打开metxyu@ust.hk
    杨灿辉在新窗口打开yangch@sustech.edu.cn
    杨东在新窗口打开yangd3@sustech.edu.cn
    杨杨在新窗口打开yangy33@sustech.edu.cn
    袁鸿雁在新窗口打开yuanhy3@sustech.edu.cn
    喻田在新窗口打开yut3@sustech.edu.cn
    章亮炽在新窗口打开zhanglc@sustech.edu.cn
    周波在新窗口打开zhoub3@sustech.edu.cn
    张新在新窗口打开zhangx8@sustech.edu.cn
    张天汉在新窗口打开zhangth@sustech.edu.cn

    机械与能源工程系

    姓名邮箱
    白家鸣在新窗口打开baijm@sustech.edu.cn
    陈士博在新窗口打开chensb@sustech.edu.cn
    谌骅在新窗口打开chenh6@sustech.edu.cn
    陈熹翰在新窗口打开chenxh@sustech.edu.cn
    邓辉在新窗口打开dengh@sustech.edu.cn
    丁克蜜在新窗口打开dingkm@sustech.edu.cn
    戴建生在新窗口打开daijs@sustech.edu.cn
    付成龙在新窗口打开fucl@sustech.edu.cn
    冯慧娟在新窗口打开fenghj@sustech.edu.cn
    郭亮在新窗口打开guol3@sustech.edu.cn
    葛锜在新窗口打开geq@sustech.edu.cn
    胡程志在新窗口打开hucz@sustech.edu.cn
    何斌斌在新窗口打开hebb@sustech.edu.cn
    胡小刚在新窗口打开huxg@sustech.edu.cn
    江淼在新窗口打开jiangm@sustech.edu.cn
    贾振中在新窗口打开jiazz@sustech.edu.cn
    柯文德在新窗口打开kewd@sustech.edu.cn
    孔贺在新窗口打开kongh@sustech.edu.cn
    路冬在新窗口打开lud@sustech.edu.cn
    卢宏兴在新窗口打开luhx@sustech.edu.cn
    刘思聪在新窗口打开liusc@sustech.edu.cn
    刘伟在新窗口打开liuw2@sustech.edu.cn
    林蒙在新窗口打开linm@sustech.edu.cn
    冷雨泉在新窗口打开lengyq@sustech.edu.cn
    逯文君在新窗口打开luwj@sustech.edu.cn
    刘吉在新窗口打开liuj9@sustech.edu.cn
    刘德荣在新窗口打开liudr@sustech.edu.cn
    李一举在新窗口打开liyj6@sustech.edu.cn
    马永胜在新窗口打开mays@sustech.edu.cn
    潘阳在新窗口打开pany@sustech.edu.cn
    丘龙斌在新窗口打开qiulb@sustech.edu.cn
    融亦鸣在新窗口打开rongym@sustech.edu.cn
    宋超阳在新窗口打开songcy@sustech.edu.cn
    王海江在新窗口打开wanghj@sustech.edu.cn
    吴勇波在新窗口打开wuyb@sustech.edu.cn
    王帅在新窗口打开wangs@sustech.edu.cn
    魏艳在新窗口打开weiy@sustech.edu.cn
    王宏强在新窗口打开wanghq6@sustech.edu.cn
    王峥在新窗口打开wangz@sustech.edu.cn
    韦齐和在新窗口打开weiqh@sustech.edu.cn
    万佳雨在新窗口打开wanjy@sustech.edu.cn
    徐少林在新窗口打开xusl@sustech.edu.cn
    杨再跃在新窗口打开yangzy3@sustech.edu.cn
    易娟在新窗口打开yij3@sustech.edu.cn
    朱强在新窗口打开zhuq@sustech.edu.cn
    张璧在新窗口打开zhangb@sustech.edu.cn
    郑裕基在新窗口打开zhengyj@sustech.edu.cn
    赵永华在新窗口打开zhaoyh@sustech.edu.cn
    张通达在新窗口打开zhangtd@sustech.edu.cn
    曾林在新窗口打开zengl3@sustech.edu.cn
    张巍在新窗口打开zhangw3@sustech.edu.cn
    曾国松在新窗口打开zenggs@sustech.edu.cn
    赵天寿在新窗口打开zhaots@sustech.edu.cn

    材料科学与工程系

    姓名邮箱
    程鑫在新窗口打开chengx@sustech.edu.cn
    程春在新窗口打开chengc@sustech.edu.cn
    陈国强在新窗口打开chengq3@sustech.edu.cn
    崔结顺在新窗口打开cuijs@sustech.edu.cn
    陈先强在新窗口打开chenxq@sustech.edu.cn
    陈少卿在新窗口打开chensq3@sustech.edu.cn
    邓永红在新窗口打开dengyh@sustech.edu.cn
    邓梦宇在新窗口打开dengmy@sustech.edu.cn
    方驹在新窗口打开fangj@sustech.edu.cn
    冯军在新窗口打开fengj@sustech.edu.cn
    郭传飞在新窗口打开guocf@sustech.edu.cn
    郭旭岗在新窗口打开guoxg@sustech.edu.cn
    郭晗在新窗口打开guoh3@sustech.edu.cn
    何祝兵在新窗口打开hezb@sustech.edu.cn
    黄锦涛在新窗口打开huangjt@sustech.edu.cn
    何进在新窗口打开hej3@sustech.edu.cn
    何振在新窗口打开hez@sustech.edu.cn
    黄博远在新窗口打开huangby@sustech.edu.cn
    梁永晔在新窗口打开liangyy@sustech.edu.cn
    李辉在新窗口打开hui.li@sustech.edu.cn
    李贵新在新窗口打开ligx@sustech.edu.cn
    刘玮书在新窗口打开liuws@sustech.edu.cn
    罗光富在新窗口打开luogf@sustech.edu.cn
    娄飞在新窗口打开louf@sustech.edu.cn
    卢周广在新窗口打开luzg@sustech.edu.cn
    李波在新窗口打开lib6@sustech.edu.cn
    李江宇在新窗口打开lijy@sustech.edu.cn
    李磊在新窗口打开lil33@sustech.edu.cn
    黎长建在新窗口打开licj@sustech.edu.cn
    李保文在新窗口打开libw@sustech.edu.cn
    任富增在新窗口打开renfz@sustech.edu.cn
    孙大陟在新窗口打开sundz@sustech.edu.cn
    孙会靓在新窗口打开sunhl@sustech.edu.cn
    沈翔瀛在新窗口打开shenxy@sustech.edu.cn
    田颜清在新窗口打开tianyq@sustech.edu.cn
    田雷蕾在新窗口打开tianll@sustech.edu.cn
    汪宏在新窗口打开wangh6@sustech.edu.cn
    王湘麟在新窗口打开wangxl3@sustech.edu.cn
    温瑞涛在新窗口打开wenrt@sustech.edu.cn
    邬家臻在新窗口打开wujz@sustech.edu.cn
    王金龙在新窗口打开wangjl6@sustech.edu.cn
    徐政和在新窗口打开xuzh@sustech.edu.cn
    徐强在新窗口打开xuq@sustech.edu.cn
    徐保民在新窗口打开xubm@sustech.edu.cn
    项晓东在新窗口打开xiangxd@sustech.edu.cn
    严明在新窗口打开yanm@sustech.edu.cn
    叶飞在新窗口打开yef3@sustech.edu.cn
    杨俊龙在新窗口打开yangjl@sustech.edu.cn
    于严淏在新窗口打开yuyh@sustech.edu.cn
    俞书宏在新窗口打开yush@sustech.edu.cn
    张文清在新窗口打开zhangwq@sustech.edu.cn
    钟锦辉在新窗口打开zhongjh@sustech.edu.cn

    电子与电气工程系

    姓名邮箱
    陈霏在新窗口打开fchen@sustech.edu.cn
    陈锐在新窗口打开chenr@sustc.edu.cn
    陈树明在新窗口打开chensm@sustech.edu.cn
    程庆沙在新窗口打开chengqs@sustech.edu.cn
    陈晓龙在新窗口打开chenxl@sustech.edu.cn
    丛龙庆在新窗口打开conglq@sustech.edu.cn
    蔡月飞在新窗口打开caiyf@sustech.edu.cn
    贡毅在新窗口打开gongy@sustech.edu.cn
    高振在新窗口打开gaoz@sustech.edu.cn
    化梦媛在新窗口打开huamy@sustech.edu.cn
    何志海在新窗口打开hezh@sustech.edu.cn
    何力在新窗口打开hel@sustech.edu.cn
    蹇林旎在新窗口打开jianln@sustech.edu.cn
    嘉有为在新窗口打开jiayw@sustech.edu.cn
    姜俊敏在新窗口打开jiangjm@sustech.edu.cn
    Aung Ko Ko KYAW在新窗口打开aung@sustech.edu.cn
    刘言军在新窗口打开官网未找到邮箱
    刘召军在新窗口打开liuzj@sustc.edu.cn
    罗丹在新窗口打开luod@sustech.edu.cn
    刘奂奂在新窗口打开liuhh@sustech.edu.cn
    刘湃在新窗口打开liup7@sustech.edu.cn
    刘凡在新窗口打开liuf6@sustech.edu.cn
    Lars Samuelson在新窗口打开lars.samuelson2021@mail.sustech.edu.cn
    孟庆虎在新窗口打开mengqh@sustech.edu.cn
    马俊在新窗口打开maj3@sustech.edu.cn
    孙小卫在新窗口打开官网未找到邮箱
    邵理阳在新窗口打开shaoly@sustech.edu.cn
    沈平在新窗口打开shenp@sustech.edu.cn
    唐晓颖在新窗口打开tangxy@sustech.edu.cn
    王锐在新窗口打开wangr@sustc.edu.cn
    王恺在新窗口打开wangk@sustech.edu.cn
    王太宏在新窗口打开wangth@sustech.edu.cn
    王建坤在新窗口打开wangjk@sustech.edu.cn
    于明在新窗口打开yum@sustech.edu.cn
    叶涛在新窗口打开yet@sustc.edu.cn
    虞亚军在新窗口打开yuyj@sustech.edu.cn
    袁伟杰在新窗口打开yuanwj@sustech.edu.cn
    游昌盛在新窗口打开youcs@sustech.edu.cn
    张宏在新窗口打开hzhang@sustech.edu.cn
    张新海在新窗口打开zhangxh@sustech.edu.cn
    张福才在新窗口打开zhangfc@sustech.edu.cn
    张青峰在新窗口打开zhangqf@sustech.edu.cn

    计算机科学与工程系

    姓名邮箱
    Asheralieva Alia在新窗口打开asheralievaa@sustech.edu.cn
    陈杉在新窗口打开chens3@sustech.edu.cn
    程然在新窗口打开chengr@sustech.edu.cn
    丁宇龙在新窗口打开dingyl_AT_sustc.edu.cn
    郝祁在新窗口打开haoq@sustech.edu.cn
    Hisao Ishibuchi在新窗口打开hisao@sustech.edu.cn
    刘烨庞在新窗口打开liuyp1@sustech.edu.cn
    刘佳琳在新窗口打开liujl@sustech.edu.cn
    刘江在新窗口打开liuj@sustech.edu.cn
    李卓钊在新窗口打开lizz@sustech.edu.cn
    马昱欣在新窗口打开mayx@sustech.edu.cn
    史玉回在新窗口打开shiyh@sustech.edu.cn
    Joseph, SIFAKIS在新窗口打开joseph.sifakis@univ-grenoble-alpes.fr
    宋轩在新窗口打开songx@sustech.edu.cn
    Georgios Theodoropoulos在新窗口打开georgios@sustech.edu.cn
    唐珂在新窗口打开tangk3@sustech.edu.cn
    陈馨慧在新窗口打开tansh3@sustech.edu.cn
    唐博在新窗口打开tangb3@sustech.edu.cn
    唐茗在新窗口打开tangm3@sustech.edu.cn
    王琦在新窗口打开wangqi@sustech.edu.cn
    危学涛在新窗口打开weixt@sustech.edu.cn
    姚新在新窗口打开xiny@sustech.edu.cn
    袁博在新窗口打开yuanb@sustech.edu.cn
    杨易在新窗口打开Yi.Yang_AT_uts.edu.au
    杨鹏在新窗口打开yangp_AT_sustc.edu.cn.
    杨双华在新窗口打开yangsh@sustech.edu.cn
    余剑峤在新窗口打开yujq3@sustech.edu.cn
    于仕琪在新窗口打开yusq@sustech.edu.cn
    郑锋在新窗口打开zhengf@sustech.edu.cn
    张煜群在新窗口打开zhangyq@sustech.edu.cn
    张进在新窗口打开zhangj4@sustech.edu.cn
    张宇在新窗口打开zhangy7@sustech.edu.cn
    张锋巍在新窗口打开zhangfw@sustech.edu.cn
    张建国在新窗口打开zhangjg@sustech.edu.cn
    张殷乾在新窗口打开zhangyq3@sustech.edu.cn

    海洋科学与工程系

    姓名邮箱
    包方闻在新窗口打开baofw@sustech.edu.cn
    陈永顺在新窗口打开johnyc@sustech.edu.cn
    陈建飞在新窗口打开chenjf3@sustech.edu.cn
    蔡巍在新窗口打开caiw@sustech.edu.cn
    陈雨霏在新窗口打开chenyf3@sustech.edu.cn
    范陆在新窗口打开fanl@sustech.edu.cn
    冯兴亚在新窗口打开fengxy@sustech.edu.cn
    傅勇在新窗口打开fuy3@sustech.edu.cn
    冯伟强在新窗口打开fengwq@sustech.edu.cn
    FELIPE FRANCO ORELLANA ROVIROSA在新窗口打开felipe@mail.sustech.edu.cn
    郭震在新窗口打开guoz3@sustech.edu.cn
    侯超在新窗口打开houc@sustech.edu.cn
    郝马克在新窗口打开mark@sustech.edu.cn
    侯圣伟在新窗口打开housw@sustech.edu.cn
    何立朋在新窗口打开help@sustech.edu.cn
    蒋晓东在新窗口打开jiangxd@sustech.edu.cn
    刘青松在新窗口打开qsliu@sustech.edu.cn
    李芯芯在新窗口打开lixinxin@sustech.edu.cn
    李莹在新窗口打开liy66@sustech.edu.cn
    刘志强在新窗口打开liuzq@sustech.edu.cn
    林间在新窗口打开linj@sustech.edu.cn
    李世林在新窗口打开lisl3@sustech.edu.cn
    罗彬在新窗口打开luob@sustech.edu.cn
    林观在新窗口打开ling@sustech.edu.cn
    罗怡鸣在新窗口打开luoym@sustech.edu.cn
    Jason Phipps Morgan在新窗口打开jason@sustc.edu.cn
    钱学生在新窗口打开qianxs@sustech.edu.cn
    孙兆华在新窗口打开sunzh@sustech.edu.cn
    史亚男在新窗口打开shiyn@sustech.edu.cn
    宋光铃在新窗口打开songgl@sustech.edu.cn
    王誉泽在新窗口打开wangyz@sustech.edu.cn
    吴嘉瑜在新窗口打开wujy3@sustech.edu.cn
    魏振华在新窗口打开weizh@sustech.edu.cn
    王凯在新窗口打开wangk3@sustech.edu.cn
    徐景平在新窗口打开xujp@sustech.edu.cn
    杨挺在新窗口打开tyang@sustech.edu.cn
    于勇在新窗口打开yuy3@sustech.edu.cn
    姚炜琪在新窗口打开yaowq@sustech.edu.cn
    余锡平在新窗口打开yuxp@sustech.edu.cn
    张传伦在新窗口打开zhangcl@sustech.edu.cn
    周祐民在新窗口打开chouym@sustech.edu.cn
    曾芝瑞在新窗口打开zengzr@sustech.edu.cn
    张晨在新窗口打开zhangc@sustech.edu.cn
    仲义在新窗口打开zhongy@sustech.edu.cn
    郑峰峰在新窗口打开zhengff@sustech.edu.cn
    周志远在新窗口打开zhouzy@sustech.edu.cn
    邹广在新窗口打开zoug@sustech.edu.cn
    展鹏在新窗口打开zhanp@sustech.edu.cn
    张帆在新窗口打开zhangf@sustech.edu.cn

    生物医学工程系

    姓名邮箱
    陈放怡在新窗口打开chenfy@sustech.edu.cn
    陈义峰在新窗口打开chenyf6@sustech.edu.cn
    房晓峰在新窗口打开fangxf@sustech.edu.cn
    顾东风在新窗口打开gudf@sustech.edu.cn
    郭琼玉在新窗口打开guoqy@sustech.edu.cn
    郭智勇在新窗口打开guozy@sustech.edu.cn
    何俊龙在新窗口打开hejl@sustech.edu.cn
    何思聪在新窗口打开hesc@sustech.edu.cn
    蒋兴宇在新窗口打开jiang@sustech.edu.cn
    金大勇在新窗口打开jindy@sustech.edu.cn
    康天怿在新窗口打开kangty@sustech.edu.cn
    李凯在新窗口打开lik@sustech.edu.cn
    刘超在新窗口打开liuc33@sustech.edu.cn
    刘泉影在新窗口打开liuqy@sustech.edu.cn
    李依明在新窗口打开liym2019@sustech.edu.cn
    刘强在新窗口打开liuq7@sustech.edu.cn
    厉大晏在新窗口打开lidy7@mail.sustech.edu.cn
    刘洪梅在新窗口打开liuhm@sustech.edu.cn
    罗智在新窗口打开luoz@sustech.edu.cn
    李志方在新窗口打开lizf3@sustech.edu.cn
    刘莹在新窗口打开liuy63@sustech.edu.cn
    米超在新窗口打开mic@sustech.edu.cn
    齐伟智在新窗口打开qiwz@sustech.edu.cn
    唐斌在新窗口打开tangb@sustech.edu.cn
    唐建波在新窗口打开tangjb@sustech.edu.cn
    唐浩在新窗口打开tangh@sustech.edu.cn
    吴长锋在新窗口打开wucf@sustech.edu.cn
    吴德成在新窗口打开wudc@sustech.edu.cn
    王斗在新窗口打开wangd9@sustech.edu.cn
    王文锦在新窗口打开wangwj3@sustech.edu.cn
    吴伟俊在新窗口打开wuwj@sustech.edu.cn
    奚磊在新窗口打开xilei@sustech.edu.cn
    肖凯在新窗口打开xiaok3@sustech.edu.cn
    杨用在新窗口打开yangy9@sustech.edu.cn
    姚明曦在新窗口打开yaomx@sustech.edu.cn
    张明明在新窗口打开zhangmm@sustech.edu.cn
    张博在新窗口打开zhangb3@sustech.edu.cn
    张华威在新窗口打开官网未找到邮箱
    张冲在新窗口打开zhangc9@sustech.edu.cn
    张路在新窗口打开zhanglu@sustech.edu.cn
    张俊睿在新窗口打开zhangjr6@sustech.edu.cn

    环境科学与工程学院

    姓名邮箱
    贲玉婕在新窗口打开benyj@sustech.edu.cn
    陈洪在新窗口打开chenh3@sustech.edu.cn
    陈柯伟在新窗口打开chenkw@sustech.edu.cn
    段艳华在新窗口打开duanyh@sustech.edu.cn
    冯炼在新窗口打开fengl@sustech.edu.cn
    范林峰在新窗口打开fanlf@sustech.edu.cn
    傅宗玫在新窗口打开fuzm@sustech.edu.cn
    范典在新窗口打开fand@sustech.edu.cn
    Luke Gibson在新窗口打开biodiversity@sustech.edu.cn
    郭芷琳在新窗口打开guozl@sustech.edu.cn
    胡清在新窗口打开huq@sustech.edu.cn
    韩峰在新窗口打开hanf@sustech.edu.cn
    姜继平在新窗口打开jiangjp@sustech.edu.cn
    姜丽光在新窗口打开jianglg@sustech.edu.cn
    匡星星在新窗口打开kuangxx@sustech.edu.cn
    李海龙在新窗口打开lihailong@sustech.edu.cn
    刘崇炫在新窗口打开liucx@sustech.edu.cn
    刘俊国在新窗口打开liujg@sustech.edu.cn
    李炜怡在新窗口打开liwy3@sustech.edu.cn
    刘鑫在新窗口打开liux5@sustech.edu.cn
    梁修雨在新窗口打开liangxy@sustech.edu.cn
    雷洋在新窗口打开leiy3@sustech.edu.cn
    李三百在新窗口打开lisb6@sustech.edu.cn
    梁凤超在新窗口打开liangfc@sustech.edu.cn
    刘蓓在新窗口打开liub@sustech.edu.cn
    刘延在新窗口打开liuy8@sustech.edu.cn
    刘景富在新窗口打开liujf@sustech.edu.cn
    裘文慧在新窗口打开qiuwh@sustech.edu.cn
    齐伟在新窗口打开qiw@sustech.edu.cn
    史江红在新窗口打开shijh@sustech.edu.cn
    史海匀在新窗口打开shihy@sustech.edu.cn
    索红日在新窗口打开suohr@sustech.edu.cn
    沈惠中在新窗口打开shenhz@sustech.edu.cn
    陶澍在新窗口打开taos@sustech.edu.cn
    唐圆圆在新窗口打开tangyy@sustech.edu.cn
    田勇在新窗口打开tiany@sustech.edu.cn
    田展在新窗口打开tianz@sustech.edu.cn
    王俊坚在新窗口打开wangjj@sustech.edu.cn
    王钟颍在新窗口打开wangzy6@sustech.edu.cn
    王扬在新窗口打开wangyang@sustech.edu.cn
    王辰在新窗口打开wangc@sustech.edu.cn
    王大山在新窗口打开wangds6@sustech.edu.cn
    夏雨在新窗口打开xiay@sustech.edu.cn
    徐鹏在新窗口打开xup@sustech.edu.cn
    肖凯在新窗口打开xiaok@sustech.edu.cn
    易树平在新窗口打开yisp@sustech.edu.cn
    叶斌在新窗口打开yeb@sustech.edu.cn
    颜枫在新窗口打开yanf@sustech.edu.cn
    杨新在新窗口打开yangx@sustech.edu.cn
    尹晓光在新窗口打开yinxg@sustech.edu.cn
    叶建淮在新窗口打开yejh@sustech.edu.cn
    张东晓在新窗口打开zhangdx@sustech.edu.cn
    张作泰在新窗口打开zhangzt@sustech.edu.cn
    郑春苗在新窗口打开zhengcm@sustech.edu.cn
    郑焰在新窗口打开yan.zheng@sustech.edu.cn
    郑一在新窗口打开zhengy@sustech.edu.cn
    曾振中在新窗口打开zengzz@sustech.edu.cn
    朱雷在新窗口打开zhul3@sustech.edu.cn
    赵俊良在新窗口打开zhaojl3@sustech.edu.cn
    张斌田在新窗口打开zhangbintian@sustech.edu.cn
    郑国贸在新窗口打开zhenggm@sustech.edu.cn

    深港微电子学院

    姓名邮箱
    安丰伟在新窗口打开anfw@sustech.edu.cn
    崔德虎在新窗口打开cuidh@sustech.edu.cn
    陈全在新窗口打开chenq3@sustech.edu.cn
    陈凯在新窗口打开chenk6@sustech.edu.cn
    陈蕾在新窗口打开chenl33@sustech.edu.cn
    陈鹏在新窗口打开chenp6@sustech.edu.cn
    陈玉鹏在新窗口打开chenyp@sustech.edu.cn
    丁孙安在新窗口打开dingsa@sustech.edu.cn
    方小虎在新窗口打开fangxh@sustech.edu.cn
    郭跃进在新窗口打开guoyj@sustech.edu.cn
    高源在新窗口打开gaoy@sustech.edu.cn
    呼唤在新窗口打开huh3@sustech.edu.cn
    李携曦在新窗口打开khli@sustech.edu.cn
    李毅在新窗口打开liy37@sustech.edu.cn
    林苑菁在新窗口打开linyj2020@sustech.edu.cn
    李毅达在新窗口打开liyd3@sustech.edu.cn
    刘晓光在新窗口打开liuxg@sustech.edu.cn
    林龙扬在新窗口打开linly@sustech.edu.cn
    刘小龙在新窗口打开liuxl@sustech.edu.cn
    李明杰在新窗口打开limj@sustech.edu.cn
    李嘉敏在新窗口打开lijm3@sustech.edu.cn
    刘荣辉在新窗口打开liurh@sustech.edu.cn
    毛伟在新窗口打开maow@sustech.edu.cn
    马宣在新窗口打开max3@sustech.edu.cn
    潘权在新窗口打开panq@sustech.edu.cn
    Robert Sokolovskij在新窗口打开sokolovskijr@sustech.edu.cn
    苏龙兴在新窗口打开sulx@sustech.edu.cn
    田兆波在新窗口打开tianzb@mail.sustech.edu.cn
    王敏在新窗口打开wangm@sustech.edu.cn
    汪飞在新窗口打开wangf@sustech.edu.cn
    汪青在新窗口打开wangq7@sustech.edu.cn
    吴小虎在新窗口打开wuxh@sustech.edu.cn
    王大帅在新窗口打开wangds3@sustech.edu.cn
    余浩在新窗口打开yuh3@sustech.edu.cn
    叶怀宇在新窗口打开yehy@sustech.edu.cn
    于洪宇在新窗口打开yuhy@sustech.edu.cn
    詹陈长在新窗口打开zhancc@sustech.edu.cn
    祝渊在新窗口打开zhuy3@sustech.edu.cn
    张国飙在新窗口打开zhanggb@sustech.edu.cn
    周菲迟在新窗口打开zhoufc@sustech.edu.cn
    赵前程在新窗口打开zhaoqc@sustech.edu.cn
    张汝民在新窗口打开zhangrm@sustech.edu.cn

    系统设计与智能制造学院

    姓名邮箱
    白紫千在新窗口打开baizq@sustech.edu.cn
    陈园在新窗口打开chenyuan@sustech.edu.cn
    陈亮名在新窗口打开chenlm6@sustech.edu.cn
    段广仁在新窗口打开官网未找到邮箱
    丁克蜜在新窗口打开dingkm@sustech.edu.cn
    Fred HAN在新窗口打开fred@sustech.edu.cn
    洪小平在新窗口打开hongxp@sustech.edu.cn
    胡颀在新窗口打开huq3@sustech.edu.cn
    吕冬在新窗口打开lvd2019@mail.sustech.edu.cn
    刘国平在新窗口打开liugp@sustech.edu.cn
    李洪飞在新窗口打开lihf@sustech.edu.cn
    刘涛在新窗口打开liut6@sustech.edu.cn
    马兆远在新窗口打开mazy@sustech.edu.cn
    欧钢在新窗口打开ougang2020@mail.sustech.edu.cn
    Volker Altstädt在新窗口打开altstaedt@uni-bayreuth.de
    吴景深在新窗口打开wujingshen@sustech.edu.cn
    王珂在新窗口打开wangk7@sustech.edu.cn
    王振坤在新窗口打开wangzk3@sustech.edu.cn
    吴迪在新窗口打开官网未找到邮箱
    熊异在新窗口打开xiongy3@sustech.edu.cn
    徐翔在新窗口打开xux3@sustech.edu.cn
    叶林在新窗口打开yelin@sustech.edu.cn
    周利民在新窗口打开zhoulm@sustech.edu.cn
    张建民在新窗口打开zhangjm2021@mail.sustech.edu.cn
    周鼎在新窗口打开zhoud3@sustech.edu.cn

    生命科学学院

    生物系

    姓名邮箱
    杜嘉木在新窗口打开dujm@sustech.edu.cn
    邓兴旺在新窗口打开deng@sustech.edu.cn
    郭红卫在新窗口打开guohw@sustech.edu.cn
    黄安诚在新窗口打开huangac@sustech.edu.cn
    梁建生在新窗口打开liangjs@sustech.edu.cn
    李瑞熙在新窗口打开lirx@sustech.edu.cn
    李文阳在新窗口打开liwy@sustech.edu.cn
    李健在新窗口打开lij8@sustech.edu.cn
    梁超在新窗口打开liangc@sustech.edu.cn
    Peter Pimpl在新窗口打开pimpl@sustech.edu.cn
    宋毅在新窗口打开songy3@sustech.edu.cn
    吴柘在新窗口打开wuz@sustech.edu.cn
    翟继先在新窗口打开zhaijx@sustech.edu.cn

    基础免疫与微生物学系

    姓名邮箱
    董涛在新窗口打开dongt@sustech.edu.cn
    何思聪在新窗口打开hesc@sustech.edu.cn
    刘忠民在新窗口打开liuzm@sustech.edu.cn
    欧西军在新窗口打开ouxj@sustech.edu.cn
    温子龙在新窗口打开wenzl@sustech.edu.cn
    余化鹏在新窗口打开yuhp@sustech.edu.cn
    周稳在新窗口打开zhouw@sustech.edu.cn
    张丽在新窗口打开zhangl3@sustech.edu.cn

    系统生物学系

    姓名邮箱
    陈炜在新窗口打开chenw@sustech.edu.cn
    陈曦在新窗口打开chenx9@sustech.edu.cn
    戴紫薇在新窗口打开daizw@sustech.edu.cn
    Andrew Hutchins在新窗口打开andrewh@sustech.edu.cn
    靳文菲在新窗口打开jinwf@sustech.edu.cn
    李妍在新窗口打开liy33@sustech.edu.cn
    孙颖在新窗口打开suny@sustech.edu.cn
    朱丹灵在新窗口打开zhudl@sustech.edu.cn
    曾福星在新窗口打开zengfx@sustech.edu.cn
    郑梅珍在新窗口打开zhengmz@sustech.edu.cn

    化学生物学系

    姓名邮箱
    陈永龙在新窗口打开chenyl@sustech.edu.cn
    龚欣在新窗口打开gongx@sustech.edu.cn
    黄鸿达在新窗口打开huanghd@sustech.edu.cn
    李耀旺在新窗口打开liyw@sustech.edu.cn
    李颜颜在新窗口打开liyy6@sustech.edu.cn
    廖茂富在新窗口打开liaomf@sustech.edu.cn
    隋森芳在新窗口打开官网未找到邮箱
    沈庆涛在新窗口打开shenqt@sustech.edu.cn
    王玲在新窗口打开wangl8@sustech.edu.cn
    余聪在新窗口打开yuc@sustech.edu.cn
    闫凯歌在新窗口打开yankg@sustech.edu.cn

    神经生物学系

    姓名邮箱
    程龙珍在新窗口打开chenglz@sustech.edu.cn
    陈小菁在新窗口打开chenxj@sustech.edu.cn
    侯圣陶在新窗口打开houst@sustech.edu.cn
    姬生健在新窗口打开jisj@sustech.edu.cn
    刘东在新窗口打开liud@sustech.edu.cn
    饶枫在新窗口打开raof@sustech.edu.cn
    宋昆在新窗口打开songk@sustech.edu.cn
    魏志毅在新窗口打开weizy@sustech.edu.cn
    肖波在新窗口打开xiaob@sustech.edu.cn
    赵燕在新窗口打开zhaoyan@sustech.edu.cn
    张明杰在新窗口打开zhangmj@sustech.edu.cn

    医学院

    医学神经科学系

    姓名邮箱
    宋学军在新窗口打开songxuejun@sustech.edu.cn
    田瑞琳在新窗口打开tianrl@sustech.edu.cn
    王子龙在新窗口打开wangzl6@sustech.edu.cn

    药理学系

    姓名邮箱
    卞劲松在新窗口打开bianjs@sustech.edu.cn
    冯宇亮在新窗口打开fengyl@sustech.edu.cn
    胡宇慧在新窗口打开huyh@sustech.edu.cn
    贺云娇在新窗口打开heyj@sustech.edu.cn
    何涟在新窗口打开hel3@sustech.edu.cn
    胡琪楠在新窗口打开huqn@sustech.edu.cn
    李婉秋在新窗口打开liwq3@sustech.edu.cn
    鲁昊骋在新窗口打开luhc@sustech.edu.cn
    李亮在新窗口打开lil@sustech.edu.cn
    王鹏在新窗口打开wangp6@sustech.edu.cn
    王玉琨在新窗口打开wangyk@sustech.edu.cn
    王莹在新窗口打开wangy6@sustech.edu.cn
    曾臣在新窗口打开zengc@sustech.edu.cn

    生物化学系

    姓名邮箱
    肖国芝在新窗口打开xiaogz@sustech.edu.cn
    曹惠玲在新窗口打开caohl@sustech.edu.cn
    车骏在新窗口打开chej@mail.sustech.edu.cn
    曹丽伟在新窗口打开caolw@sustech.edu.cn
    杜长征在新窗口打开ducz@sustech.edu.cn
    郭莹莹在新窗口打开官网未找到邮箱
    洪鑫在新窗口打开hongx@sustech.edu.cn
    胡海亮在新窗口打开huhl@sustech.edu.cn
    贾宁在新窗口打开jian@sustech.edu.cn
    刘泉在新窗口打开liuq3@sustech.edu.cn
    吕考升在新窗口打开lvks@sustech.edu.cn
    刘婕在新窗口打开liuj33@sustech.edu.cn
    饶海在新窗口打开raoh@sustech.edu.cn
    苏明媛在新窗口打开sumy@sustech.edu.cn
    鄢仁鸿在新窗口打开yanrh@sustech.edu.cn
    张建超在新窗口打开zhangjc3@sustech.edu.cn

    人类细胞生物和遗传学系

    姓名邮箱
    陈国安在新窗口打开cheng@sustech.edu.cn
    陈浩在新窗口打开chenh7@sustech.edu.cn
    董金堂在新窗口打开dongjt@sustech.edu.cn
    卢奕在新窗口打开luy3@sustech.edu.cn
    帅世民在新窗口打开shuaism@sustech.edu.cn
    夏思源在新窗口打开xiasy@sustech.edu.cn
    徐鹰在新窗口打开xuy9@sustech.edu.cn
    张志潜在新窗口打开zhangzq@sustech.edu.cn
    张宝童在新窗口打开zhangbt@sustech.edu.cn

    公共卫生及应急管理学院

    姓名邮箱
    顾东风在新窗口打开gudf@sustech.edu.cn
    韩昕昕在新窗口打开hanxx@sustech.edu.cn
    黄捷在新窗口打开huangj@sustech.edu.cn
    梁凤超在新窗口打开liangfc@sustech.edu.cn
    裴勇刚在新窗口打开peiyg@sustech.edu.cn
    王海东在新窗口打开wanghd@sustech.edu.cn
    杨春富在新窗口打开yangcf@sustech.edu.cn
    朱斌在新窗口打开zhub6@sustech.edu.cn
    赵文静在新窗口打开zhaowj@sustech.edu.cn

    商学院

    金融系

    姓名邮箱
    陈路明在新窗口打开chenlm3@sustech.edu.cn
    胡大宁在新窗口打开hudn@sustech.edu.cn
    金李在新窗口打开官网未找到邮箱
    刘春晖在新窗口打开官网未找到邮箱
    赖舒芳在新窗口打开laisf@sustech.edu.cn
    栗沛沛在新窗口打开官网未找到邮箱
    刘威汉在新窗口打开liuwh@sustech.edu.cn
    刘南钦在新窗口打开liunq@sustech.edu.cn
    李润在新窗口打开lir7@sustech.edu.cn
    李仲飞在新窗口打开lizf6@sustech.edu.cn
    孙便霞在新窗口打开sunbx@sustech.edu.cn
    王苏生在新窗口打开wangss@sustech.edu.cn
    王新杰在新窗口打开xinjie.wang@sustech.edu.cn
    王赫在新窗口打开官网未找到邮箱
    王缘在新窗口打开wangy36@sustech.edu.cn
    王树勋在新窗口打开wangsx@sustech.edu.cn
    杨招军在新窗口打开yangzj@sustech.edu.cn
    严硕在新窗口打开官网未找到邮箱
    杨旭宁在新窗口打开官网未找到邮箱
    杨博文在新窗口打开yangbw@sustech.edu.cn
    周倜在新窗口打开zhout@sustech.edu.cn
    曾晓亮在新窗口打开zengxl@sustech.edu.cn
    朱昊然在新窗口打开zhuhr@sustech.edu.cn

    信息系统与管理工程系

    姓名邮箱
    陈琨在新窗口打开chenk@sustech.edu.cn
    陈康林在新窗口打开chenkl@sustech.edu.cn
    樊潇帅在新窗口打开fanxs@sustech.edu.cn
    顾理一在新窗口打开guly@sustech.edu.cn
    郭悦在新窗口打开guoy@sustech.edu.cn
    何翘楚在新窗口打开heqc@sustech.edu.cn
    黄伟在新窗口打开huangw7@sustech.edu.cn
    柯玮玲在新窗口打开kewl@sustech.edu.cn
    李少波在新窗口打开lisb3@sustech.edu.cn
    雷扬在新窗口打开leiy@sustech.edu.cn
    李媛媛在新窗口打开Liyy3@sustech.edu.cn
    刘翰林在新窗口打开liuhl@sustech.edu.cn
    罗源昆在新窗口打开luoyk3@sustech.edu.cn
    卢涛在新窗口打开lut@sustech.edu.cn
    李垚在新窗口打开liy68@sustech.edu.cn
    刘黎明在新窗口打开liulm3@sustech.edu.cn
    李崇在新窗口打开lic6@sustech.edu.cn
    陆晔在新窗口打开luye@sustech.edu.cn
    钱共鸣在新窗口打开qiangm@sustech.edu.cn
    覃正在新窗口打开qinz@sustech.edu.cn
    邱琳在新窗口打开qiul@sustech.edu.cn
    钱坤在新窗口打开qiank@sustech.edu.cn
    Moris Strub在新窗口打开strub@sustech.edu.cn
    王松昊在新窗口打开wangsh2021@sustech.edu.cn
    王宇在新窗口打开wangy2021@sustech.edu.cn
    许婷在新窗口打开xut3@sustech.edu.cn
    叶茂亮在新窗口打开yeml@sustech.edu.cn
    杨玉坤在新窗口打开yangyk@sustech.edu.cn

    人文社会科学学院

    人文科学中心

    姓名邮箱
    陈跃红在新窗口打开chenyuehong@sustech.edu.cn
    陈劲松在新窗口打开chenjs@sustech.edu.cn
    李凤亮在新窗口打开lifengliang@sustech.edu.cn
    刘洋在新窗口打开liuy9@sustech.edu.cn
    李蓝在新窗口打开lil6@sustech.edu.cn
    钱艾琳在新窗口打开qianal@sustech.edu.cn
    孙顺在新窗口打开suns@sustech.edu.cn
    唐克扬在新窗口打开tangky@sustech.edu.cn
    田松在新窗口打开tians@sustech.edu.cn
    吴岩在新窗口打开wuy6@sustech.edu.cn
    杨果在新窗口打开yangg3@sustech.edu.cn
    杨莉在新窗口打开yangl6@sustech.edu.cn
    杨河在新窗口打开yangh3@sustech.edu.cn
    周秀梅在新窗口打开zhouxm@sustech.edu.cn

    社会科学中心暨社会科学高等研究院

    姓名邮箱
    Jie Chen 陈捷在新窗口打开chenj7@sustech.edu.cn
    唐际根在新窗口打开tangjg@sustech.edu.cn
    王晓葵在新窗口打开wangxk@sustech.edu.cn
    王雨在新窗口打开wangy63@sustech.edu.cn
    王莉莉在新窗口打开wangll3@sustech.edu.cn
    张静红在新窗口打开zhangjh3@sustech.edu.cn

    高等教育研究中心

    姓名邮箱
    高媛在新窗口打开cygao@sustech.edu.cn
    韩蔚在新窗口打开hanwei@sustc.edu.cn
    姜帆在新窗口打开jiangf6@sustech.edu.cn
    李铭在新窗口打开lim@sustc.edu.cn
    刘绪在新窗口打开liux9@sustech.edu.cn
    沈红在新窗口打开shenh6@sustech.edu.cn
    王伯庆在新窗口打开wangbq@sustech.edu.cn
    赵建华在新窗口打开zhaojh@sustech.edu.cn

    语言中心

    姓名邮箱
    褚彧在新窗口打开chuy@sustech.edu.cn
    董蓉蓉在新窗口打开dongrr@sustech.edu.cn
    Albert Evans在新窗口打开evansa@sustech.edu.cn
    胡玉秀在新窗口打开huyx@sustech.edu.cn
    李卓在新窗口打开liz@sustech.edu.cn
    刘丽莎在新窗口打开liuls@sustech.edu.cn
    柳青在新窗口打开liuq@sustech.edu.cn
    任莉在新窗口打开renl@sustech.edu.cn
    徐嗣群在新窗口打开xusq@sustech.edu.cn
    喻永阳在新窗口打开yuyy@sustech.edu.cn
    张新婷在新窗口打开zhangxt@sustech.edu.cn

    艺术中心

    姓名邮箱
    刘辉在新窗口打开liuh6@sustech.edu.cn
    赵易山在新窗口打开zhaoys3@sustech.edu.cn
    毕宝仪在新窗口打开biby@sustech.edu.cn
    温颖在新窗口打开weny@sustc.edu.cn
    周明聪在新窗口打开zhoumc@sustech.edu.cn
    纪涛在新窗口打开jit@sustech.edu.cn
    刘珂廷在新窗口打开liukt@sustech.edu.cn
    皮晟在新窗口打开pis@sustech.edu.cn
    李瀚瀚在新窗口打开官网未找到邮箱

    创新创业学院

    创新创业学院

    姓名邮箱
    韩松在新窗口打开hans@sustech.edu.cn
    刘正白在新窗口打开liuzb3@sustech.edu.cn
    李逸明在新窗口打开liym3@sustech.edu.cn
    宋章启在新窗口打开songzq@sustech.edu.cn
    王凭慧在新窗口打开wangph@sustech.edu.cn
    徐洪礼在新窗口打开xuhl3@sustech.edu.cn
    张浩凡在新窗口打开zhanghf@sustech.edu.cn
    赵柏松在新窗口打开zhaobs@sustech.edu.cn

    创新创意设计学院

    创新创意设计学院

    姓名邮箱
    安鹏铖在新窗口打开anpc@sustech.edu.cn
    费道闻在新窗口打开tfischer@sustech.edu.cn
    何人可在新窗口打开herk@sustech.edu.cn
    何净植在新窗口打开cmherr@sustech.edu.cn
    Seungwoo JE在新窗口打开seungwoo@sustech.edu.cn
    关道文在新窗口打开官网未找到邮箱
    雷沁圆在新窗口打开leiqy@sustech.edu.cn
    罗涛在新窗口打开luot@sustech.edu.cn
    李雪亮在新窗口打开lixl6@sustech.edu.cn
    Enza MIGLIORE在新窗口打开emigliore@sustech.edu.cn
    Mirna ZORDAN在新窗口打开mzordan@sustech.edu.cn
    Marcel Zaes SAGESSER在新窗口打开官网未找到邮箱
    Marcelo SOARES在新窗口打开soaresmm@sustech.edu.cn
    万芳在新窗口打开wanf@sustech.edu.cn
    徐秋石在新窗口打开xuqs3@mail.sustech.edu.cn
    萧若薇在新窗口打开xiaorw@sustech.edu.cn
    张婉琳在新窗口打开zhangwl3@sustech.edu.cn

    教学单位

    思想政治教育与研究中心

    姓名邮箱
    高玉林在新窗口打开gaoyl@sustech.edu.cn
    乐正在新窗口打开lez@sustech.edu.cn
    兰美荣在新窗口打开lanmr@sustech.edu.cn
    马俊军在新窗口打开majj@sustech.edu.cn
    帅松林在新窗口打开shuaisl@sustech.edu.cn
    孙志凤在新窗口打开sunzf@sustech.edu.cn
    滕明政在新窗口打开tengsustc@163.com
    王德军在新窗口打开wangdj@sustech.edu.cn
    王春英在新窗口打开wangcy6@sustech.edu.cn
    吴清一在新窗口打开wuqy@sustech.edu.cn
    杨晗旭在新窗口打开yanghx@sustech.edu.cn
    杨少曼在新窗口打开yangsm@sustech.edu.cn
    袁海军在新窗口打开yuanhj@sustech.edu.cn
    尹玮煜在新窗口打开yinwy@sustech.edu.cn
    祖嘉合在新窗口打开zujh@sustc.edu.cn
    张守民在新窗口打开zhangsm@sustech.edu.cn
    张涛在新窗口打开zhangt@sustech.edu.cn

    体育中心

    姓名邮箱
    白波在新窗口打开baib@sustc.edu.cn
    董伦红在新窗口打开donglh@sustc.edu.cn
    侯思宇在新窗口打开housy@sustc.edu.cn
    何紫琳在新窗口打开hezl@sustech.edu.cn
    赖莎在新窗口打开lais@sustech.edu.cn
    刘健钧在新窗口打开liujj@sustc.edu.cn
    卢阳在新窗口打开luy@sustc.edu.cn
    孙颜在新窗口打开sunyan@sustc.edu.cn
    魏伟成在新窗口打开weiwc@sustc.edu.cn
    杨佳在新窗口打开247784542@qq.com
    赵飞在新窗口打开zhaof@sustc.edu.cn
    赵一品在新窗口打开zhaoyp@sustc.edu.cn

    科研单位

    杰曼诺夫数学中心

    姓名邮箱
    崔书墨在新窗口打开cuism@sustech.edu.cn
    董世杰在新窗口打开dongsj@sustech.edu.cn
    Efim Zelmanov在新窗口打开官网未找到邮箱
    冯致程在新窗口打开fengzc@sustech.edu.cn
    Stavros Garoufalidis在新窗口打开stavros@sustech.edu.cn
    黄少创在新窗口打开huangsc@sustech.edu.cn
    Ingrid Irmer在新窗口打开ingridmary@sustech.edu.cn
    Mikko Korhonen在新窗口打开korhonen_mikko@hotmail.com
    权超禹在新窗口打开quancy@sustech.edu.cn
    汤涛在新窗口打开tangt@sustech.edu.cn
    邬龙挺在新窗口打开官网未找到邮箱
    张继平在新窗口打开官网未找到邮箱

    格拉布斯研究院

    姓名邮箱
    Cheng Jun Kee在新窗口打开junkee@sustech.edu.cn
    陈大发在新窗口打开chendf@sustech.edu.cn
    汉京春在新窗口打开hanjc@sustech.edu.cn
    韩亮在新窗口打开hanl@sustech.edu.cn
    韩兴旺在新窗口打开hanxw@sustech.edu.cn
    金明宇在新窗口打开jinmy@sustech.edu.cn
    路正宇在新窗口打开luzy@sustech.edu.cn
    刘益真在新窗口打开liuyz3@mail.sustech.edu.cn
    权茂在新窗口打开quanm@sustech.edu.cn
    饶小峰在新窗口打开raoxf@sustech.edu.cn
    宋桥在新窗口打开songq@sustech.edu.cn
    王永彬在新窗口打开wangyb1@sustech.edu.cn
    王健纯在新窗口打开wangjc3@sustech.edu.cn
    王健纯在新窗口打开wangjc3@sustech.edu.cn
    夏海平在新窗口打开xiahp@sustech.edu.cn
    邢祥友在新窗口打开xingxy@sustech.edu.cn
    许维词在新窗口打开xuwc@mail.sustech.edu.cn
    杨清镜在新窗口打开yangqj@sustech.edu.cn
    张宇峰在新窗口打开zhangyf3@sustech.edu.cn

    量子科学与工程研究院

    姓名邮箱
    陈洁菲在新窗口打开chenjf@sustech.edu.cn
    陈静静在新窗口打开chenjj3@sustech.edu.cn
    陈廷勇在新窗口打开chenty@sustech.edu.cn
    陈媛在新窗口打开cheny9@sustech.edu.cn
    陈朝宇在新窗口打开chency@sustech.edu.cn
    陈华在新窗口打开chenh9@sustech.edu.cn
    陈济雷在新窗口打开chenjl6@sustech.edu.cn
    戴俊峰在新窗口打开daijf@sustech.edu.cn
    邓修豪在新窗口打开dengxh@sustech.edu.cn
    邓可在新窗口打开dengk@sustech.edu.cn
    杜宗正在新窗口打开duzz@sustech.edu.cn
    邓晓玮在新窗口打开dengxw@sustech.edu.cn
    付柏山在新窗口打开fubs@sustech.edu.cn
    范靖云在新窗口打开Fanjy@sustech.edu.cn
    郭抒在新窗口打开guos@sustech.edu.cn
    黄培豪在新窗口打开huangph@sustech.edu.cn
    黄文在新窗口打开huangw3@sustech.edu.cn
    胡玲在新窗口打开hul@sustech.edu.cn
    贺煜在新窗口打开hey6@sustech.edu.cn
    孔良在新窗口打开kongl@sustc.edu.cn
    李俊在新窗口打开lij3@sustech.edu.cn
    李剑在新窗口打开lij33@sustech.edu.cn
    李正达在新窗口打开lizd@sustech.edu.cn
    林本川在新窗口打开linbc@sustech.edu.cn
    刘书萍在新窗口打开liusp@sustech.edu.cn
    陆四荣在新窗口打开lusr@sustech.edu.cn
    刘松在新窗口打开lius3@sustech.edu.cn
    路尧在新窗口打开luy7@sustech.edu.cn
    李勤在新窗口打开liqin@sustech.edu.cn
    刘旭明在新窗口打开liuxm3@sustech.edu.cn
    马小明在新窗口打开maxm3@sustech.edu.cn
    牛晶晶在新窗口打开niujj@sustech.edu.cn
    潘天洛在新窗口打开pantl@sustech.edu.cn
    潘长钊在新窗口打开pancz@sustech.edu.cn
    王小琼在新窗口打开wangxq@sustech.edu.cn
    苏慧敏在新窗口打开suhm@sustech.edu.cn
    宋学锋在新窗口打开songxf@sustech.edu.cn
    邵继峰在新窗口打开shaojf@sustech.edu.cn
    谭电在新窗口打开tand@sustech.edu.cn
    谭振兵在新窗口打开tanzb@sustech.edu.cn
    吴志钢在新窗口打开wuzg@sustech.edu.cn
    王硕在新窗口打开wangs6@sustech.edu.cn
    汪福东在新窗口打开wangfd@sustech.edu.cn
    王浩在新窗口打开wangh@sustech.edu.cn
    王中凯在新窗口打开wangzk@sustech.edu.cn
    王玉成在新窗口打开wangyc3@sustech.edu.cn
    王乐在新窗口打开wangl36@sustech.edu.cn
    辛涛在新窗口打开xint@sustech.edu.cn
    徐源在新窗口打开xuy5@sustech.edu.cn
    俞大鹏在新窗口打开yudp@sustech.edu.cn
    杨天罡在新窗口打开yangtg@sustech.edu.cn
    尉石在新窗口打开yus3@sustech.edu.cn
    虞祥龙在新窗口打开yuxl@sustech.edu.cn
    杨胜军在新窗口打开yangsj@sustech.edu.cn
    严通行在新窗口打开yantx@sustech.edu.cn
    姚娟在新窗口打开yaoj3@sustech.edu.cn
    张振生在新窗口打开zhangzs@sustech.edu.cn
    钟满金在新窗口打开Zhongmj@sustech.edu.cn
    张君华在新窗口打开zhangjh6@sustech.edu.cn
    郑攀在新窗口打开zhengp@sustech.edu.cn
    钟有鹏在新窗口打开zhongyp@sustech.edu.cn
    周盛华在新窗口打开zhoush@sustech.edu.cn

    前沿与交叉科学研究院

    姓名邮箱
    崔欢欢在新窗口打开cuihh@sustc.edu.cn
    陈柔羲在新窗口打开chenrx@sustech.edu.cn
    樊建涛在新窗口打开fanjt@sustech.edu.cn
    方亮在新窗口打开fangl@sustc.edu.cn
    桂志刚在新窗口打开guizg@sustc.edu.cn
    顾强帅在新窗口打开guqs@sustc.edu.cn
    韩松柏在新窗口打开hansb@sustech.edu.cn
    李帅在新窗口打开lis6@sustech.edu.cn
    李忠良在新窗口打开lizl@sustc.edu.cn
    李之勇在新窗口打开lizy6@sustc.edu.cn
    林海斌在新窗口打开linhb@sustech.edu.cn
    宁澄清在新窗口打开ningcq@sustech.edu.cn
    苏峰育在新窗口打开fysu@sustech.edu.cn
    Sornette Didier在新窗口打开didier@sustech.edu.cn
    盛洁明在新窗口打开shengjm@sustech.edu.cn
    王培在新窗口打开wangp@sustc.edu.cn
    王晓飞在新窗口打开wangxf6@sustc.edu.cn
    邬苏东在新窗口打开wusd@sustc.edu.cn
    王朋飞在新窗口打开wangpf6@sustech.edu.cn
    王李平在新窗口打开wanglp3@sustech.edu.cn
    向少华在新窗口打开xiangsh@sustc.edu.cn
    杨琰在新窗口打开yangy6@sustech.edu.cn
    叶财超在新窗口打开yecc@sustech.edu.cn
    赵新彦在新窗口打开zhaoxy@sustech.edu.cn
    赵府在新窗口打开zhaof3@sustc.edu.cn
    翟晶莹在新窗口打开zhaijy@sustc.edu.cn

    公共平台

    公共分析测试中心

    姓名邮箱
    吴文政在新窗口打开ngamc@sustech.edu.cn
    谢宇聪在新窗口打开tseyc@sustech.edu.cn
    + + + diff --git a/emergency/index.html b/emergency/index.html new file mode 100644 index 000000000..51abe6b59 --- /dev/null +++ b/emergency/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 应急处理 | 南科手册 + + + + + +

    应急处理

    医疗

    紧急医疗

    1. 拨打医疗急救 120
    2. 如果在校内,先拨打24小时客服中心电话 0755-88010123。物业有应急处理包,会尽快赶来救助;再拨打120。或者还有学校物业保安部值班电话 0755-88015047。
    3. 还可以打学校医疗中心医生的电话 18218715551 (24h,只要医生没有睡觉就可以接通), 或是学校急救电话 0755-88010120。
    4. 经过紧急处理后,可查看 🏥就医指南

    校内AED地图©南科大应急救援队

    校内AED实景地图

    校内急救箱地图©南科大应急救援队

    提示

    不保证急救箱药品齐全,如缺少药品请向相关组织反馈进行补充。

    应急手册©南科大应急救援队

    • 手册链接(点此)在新窗口打开
    • 包含心肺复苏,止血,包扎,固定,休克,气道异物梗阻,中暑,踩踏事故,消防事故,烧伤、烫伤,触电,食物中毒,毒蛇咬伤,被动物咬伤,溺水,运动损伤,脑梗,脑溢血,心肌梗塞,高原反应,皮肤过敏等指引。
    • 建议平时阅读学习。
    • 应急救援队广告位:附属医院举办周期性的心肺复苏术和AED使用实践培训,狮子会开展周期性的献血活动,欢迎大家关注。

    财物

    • 监控调取审批流程及申请表在新窗口打开:(1)联系事件发生所在区域的安管员进行确认。经确认属实后填写《监控查看申请表》;(2)学生申请查监控,需所属书院院长审批;(3)部门职工申请查监控,需所属部门负责人或负责人秘书审批。;(4)审批过的申请表交安保部,由安保项目负责人请示安全、健康与环境办公室负责人签字后,协同中控室工作人员调取。
    • 拨打匪警 110,立案侦查。根据《广东省高级人民法院 广东省人民检察院关于确定盗窃刑事案件数额标准的通知》(粤高法发〔2013〕16号)盗窃数额定量标准为:一类地区包括广州、深圳、珠海、佛山、中山、东莞等六个市,盗窃数额较大的起点掌握在三千元以上数额巨大的起点掌握在十万元以上数额特别巨大的起点掌握在五十万元以上
    • 离学校最近的是塘朗派出所,地址:南山区塘兴路11号,电话:0755-26552833。
    + + + diff --git a/facility/building-11-elevator.html b/facility/building-11-elevator.html new file mode 100644 index 000000000..1ac271592 --- /dev/null +++ b/facility/building-11-elevator.html @@ -0,0 +1,39 @@ + + + + + + + + + 如何“破解”11栋电梯 | 南科手册 + + + + + +

    如何“破解”11栋电梯

    by 曹正阳

    事先声明

    安全

    电梯是特种设备,和人身安全直接相关,请严肃的使用电梯。本文目的是为了给大家丰富眼界,不鼓励效仿,你的安全需要你自己负责。

    背景介绍

    本文主要写给11栋土著,但以防你没有11栋住宿经验,简单介绍一下11栋的电梯。

    11栋共有四部电梯,除消防电梯外,其余三部因为人太多,限制了每部电梯的具体到达楼层。

    比如2号电梯可以到达1~2楼,11~14楼。

    比如2号电梯可以到达1~2楼,11~14楼。

    长久以来,三部电梯只能使用一部。即使当所有电梯都空闲,你也只能选择对应的一部,不免有些难受。

    “破解”流程

    使用其他电梯去到目标楼层

    前提条件

    **除了你,没有其他人在使用电梯。**一般这种情况会发生在深夜和假期人少的时候。

    原理

    开始长按某个楼层键的一瞬间,意味着取消去往这个楼层。当电梯只有一个目的地,即面板上只有一个楼层的按键亮着,长按这个个亮着的按键不到两秒,电梯会在当前运行位置停下来,松手按键变暗。再按开门键,你就可以到达运行停止位置的楼层。

    图仅仅在演示长按可以取消,此时电梯还是会前往1楼。

    图仅仅在演示长按可以取消,此时电梯还是会前往1楼。

    具体操作

    假设你是一位11楼的住户,刚踢完球大汗淋漓。和你一同等待电梯的,只有一位刚结束学习的13楼住户,你不想给这位13楼住户留下不好的印象,于是你进入了最右边的3号电梯。

    DSC_4011.JPG

    你按下了15楼的按钮,但你不是真的要去15楼。

    ezgif-4-ff801845c5.gif

    在电梯数字快要跳到11楼时,你开始长按15楼按键,电梯失去了目标,停在了11楼。松开按着15楼的手,面板上15楼按键熄灭。

    ezgif-4-9deed49e58.gif

    于是你潇洒地按下开门键,你来到了11楼,看着2号电梯屏幕上残留的13,你满意地离开。

    从2楼下到1楼

    前提条件

    首先电梯不能从2楼下行到1楼(截止2022年8月,11栋2楼因为怕人多从2楼蹭电梯,所以不能下行)

    然后**除了你,没有其他人在使用电梯。**一般这种情况会发生在深夜和假期人少的时候。

    具体操作

    先按下2楼某一部电梯的上行键,待电梯开门后,按下1楼的按键,电梯会迟疑一会然后下行。

    总结

    使用其他电梯去到目标楼层

    不管用不用,增加了一种上行方式,能够有得选总是好的。

    中、低楼层的同学除特定电梯、楼梯外,还多出另外一部或两部电梯的特定使用权。而15~17楼的高楼层同学较为可怜,没有操作的余地。

    从2楼下到1楼

    增加了一种下行方式,能够有得选总是好的。

    + + + diff --git a/facility/index.html b/facility/index.html new file mode 100644 index 000000000..412ee446c --- /dev/null +++ b/facility/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 🏫建筑与设施 | 南科手册 + + + + + +

    🏫建筑与设施

    校园街景2022年4月更新

    提示

    街景图像拍摄于2022年4月,若想了解街景拍摄的流程,请参考此链接在新窗口打开

    点击此处在新窗口打开或通过下方的嵌入页面查看校园街景地图!

    校园地图与主要建筑

    校园地图

    上图是南科大的校园平面图。在校园内,建筑大都处于校园西侧。

    致新书院绘制的卡通版地图

    (如果您想直接看带有地点标记的互动式全景图以了解学校,请直接翻到本页底部。)

    新校区(一般称为山下)

    一期校园

    上图中,左上角为国际会议中心,左下角为正在建设中的理学院;中下位置为行政楼和琳恩图书馆,中上方从左到右为第四科研楼到第一科研楼;正中间从左到右是第二教学楼,检测中心和第一教学楼;右侧为南科大中心。

    理学院

    进入街景在新窗口打开

    理学院

    理学院已于2022年中完工并完成内部装修,现在从一号门进入南科大,看到的第一个建筑就是理学院。

    琳恩图书馆

    进入街景在新窗口打开

    图书馆与行政楼

    琳恩图书馆是南科大的第一个,也是最大图书馆,在2020年前,他同时是南科大的唯一图书馆。图书馆名字中“LYNN”的来历,是因为一位匿名的香港友好人士向南方科技大学教育基金会捐赠港币2000万元,因此他将图书馆冠名为“琳恩图书馆”(LYNN LIBRARY)。

    行政楼

    进入街景在新窗口打开

    南科大是因为去行政化出名,但学校还是建了一栋独立的行政楼。在行政楼中长期办公的除了校领导和行政人员,主要还有校宣传部,信息中心和校园卡服务中心:如果需要挂失,补办校园卡,需要去行政楼一楼的校园卡服务中心办理。

    行政楼的一楼还有一个早上会卖面包,一些饮品的面包房和在南科大校内人尽皆知的行政楼厕所在新窗口打开

    第一教学楼

    进入街景在新窗口打开

    第一教学楼

    简称“一教”。在学校二期工程完成之前,本科生绝大部分基础课都会在第一教学楼上。

    一教分为南北两翼,南翼主要是教室:一楼的大部分教室都是可以容纳150人+的大型教室,平时主要用于上通识基础课和思政课;二楼主要用作了自习室;三楼和四楼有几间教室平时固定用于英语课程,其他的教室则是用于人数较少的课程。

    北翼则大部分为实验室:一楼为电子系实验室,二楼为化学系实验室,三楼四楼则是生物系实验室。北翼的外墙是一块LED大屏幕,平时用于播放讲座信息或是学校的宣传片,晚上会放新闻联播。

    一教的北侧有一个赛百味在新窗口打开,一般在课间会排队。

    在一教的楼顶可以看到整个山下,和建设中的公共教学楼和理学院。

    检测中心

    进入街景在新窗口打开

    内部主要是一些实验室,包括安装了光刻设备的超净间等。

    第二教学楼

    进入街景在新窗口打开

    ~~ 第二教学楼主要教室都是机房(2019年换的电脑是i7-8700K+1080Ti),一般会用于上电子系,计算机系的实验课和一些电脑测评/考试。~~ 二教还有一间多功能教室,现在一般用于乐器排练和美术课程。

    第三教学楼

    第三教学楼位于南科大中心与理学院和琳恩图书馆遥遥相望,毗邻商学院大楼。为5层建筑,其中一楼、二楼为阶梯教室以及混合教学教室,三楼为授课型教室,四楼为研讨型教室,五楼为教学机房,共56间教室,教室使用总面积为5800平。

    实测学校对第三教学楼设备不限速(Fair Use@Up to 1000Mbps)不同于其他建筑对科研教学网段限速50Mbps。

    5楼教学机房电脑配置

    • 501, 502, 503, 505, 506, 508: i7 10700K + 32G + 1TB SSD + 4TB HDD + RTX 4000
    • 504: i7 7700K + 16G + 256G SSD + 2TB HDD + P4000
    • 507: i7 7700K + 16G + 1T SSD + 4TB HDD + P4000
    • 509: i7 7700K + 16G + 512G SSD + 2TB HDD + GTX1080
    • 510: i7 7700K + 16G + 512G SSD + 2TB HDD + P4000

    由于每个机房安装的软件都不一样,所以可以根据课程安排来选择机房。

    注意

    如果重新启动计算机,所有数据都将丢失。如果没有U盘,又需要传输文件,可使用 LANDrop在新窗口打开校内 Send 文件分享在新窗口打开 等工具。如果您需要保存机房数据,安装软件或其他需求联系song.wz@sustech.edu.cn

    第一科研楼

    进入街景在新窗口打开

    学校一期建筑之一,包含各种实验室。内部是一个大天井,二楼有一个给机器人或者是智能机械的测试平台。

    第二科研楼

    主要是实验室和教授办公室。

    第三科研楼

    主要是实验室和教授办公室。冷冻电镜也设置于此。

    第四科研楼(台州楼)

    主要是实验室和教授办公室。为什么叫台州楼呢?这栋楼里面有一个“南方科技大学台州研究院”在新窗口打开,然后校长的籍贯也是台州,也可能有点关系。

    南科大中心(学生食堂)

    进入街景在新窗口打开

    学生餐厅

    学校的第一个食堂,由南科大运营,旧食堂一楼是打菜,南科大中心食堂一楼有一些特色菜(如潮汕粉面,小炒,石锅饭,日料等。

    详细内容请见餐饮/学生餐厅(一期)

    一丹图书馆

    南科大的第二个图书馆,内含24小时自习空间。

    国际会议中心

    进入街景在新窗口打开

    国际会议中心

    湖畔

    湖畔宿舍航拍

    在上图中,中间按顺时针顺序依次是是湖畔宿舍,九华苑,游泳馆和风雨操场。

    湖畔宿舍群

    进入街景在新窗口打开

    致仁书院

    湖畔宿舍目前主要居住致仁书院树德书院致诚书院的同学。其中,湖畔1-3栋是四人间,4-6栋则是双人间。湖畔1栋楼下是学生事务中心,3栋的楼下有一间小超市,5栋楼下则是收发室。

    湖畔沿湖一侧有若干建筑,包括书院活动室湖畔健身房舞蹈房。这些建筑的上面是一个大阳台,可以从六栋旁边的楼梯上去。

    书院活动室上方的阳台

    南科人当然是住在南科大宿舍里面了。南科大现阶段三大宿舍区:湖畔、荔园、欣园,选书院的结果已经出来了,宿舍在哪里大家应该都有所了解。在介绍宿舍区之前,先给大家普及一下教学楼的位置:南科大教学区域主要分为两块:第一、第二教学楼区域和荔园教学楼区域,俗称山上和山下。湖畔宿舍区位于这两大教学区的中间位置,去哪儿上课都比较方便;荔园紧贴着荔园教学区,不过到一教上课就需要下山;欣园在山顶,位置最远,上课必须下山。在校内正在建设的二期宿舍据说很漂亮,不过那是2019年的事情了。

    不管之后会不会有什么宿舍的调整,毕竟这是每个人都要花很多时间呆的地方,还是先要把自己的寝室好好地装饰装饰。之前大家在网上羡慕的各种“最美寝室”,终于也能自己动手布置了。地板、茶几、贴纸,提升寝室格调;置物架、收纳盒、挂袋,提高生活效率;衣柜灯、小挂钩、脚踏垫,注重生活细节;LED挂灯、木头钟,提高学习效率……创意无限,大胆想象,把寝室变成自己心中的样子吧。

    楼栋入住学生归属
    1致仁
    2致仁
    3致诚
    4研究生
    5研究生、树德
    6研究生、树德

    九华苑

    进入街景在新窗口打开

    一共有九栋别墅,主要居住院士级别的教授,因此也被同学称之为“院士楼”。平时门口的保安不太欢迎同学上去,可能会赶人。

    风雨操场

    进入街景在新窗口打开

    风雨操场

    风雨操场的南侧包括排球场搏击馆室内篮球场,风雨操场的二层有一个废弃的网球场(可能是因为怕网球打伤人)。室内设施没有空调,夏天会比较热。大一上的体育课大都会在此处进行。

    游泳馆

    包含一个标准游泳池和旁边的更衣室。游泳池需要凭校园卡换取手牌入场,一般不对校外人员开放。

    二期宿舍

    进入街景在新窗口打开

    二期宿舍10栋与餐厅

    于2019年8月落成的新宿舍区域,也是未来大部分同学(本科生,研究生,博士生)的居住区域。但与湖畔宿舍相比,二期宿舍缺少独立卫生间,宿舍面积也相对更小一些,但二期宿舍全部配备了电梯。关于11栋新生楼的特殊调度策略有个小技巧可以破解让电梯停到非调度楼层:如何“破解”11栋电梯

    二期宿舍中部有一个两层的二期宿舍学生餐厅,西侧则有一个小型图书馆,学校对他的定位更像是“自习室”。

    楼栋入住学生归属
    7博士生
    8博士生
    9博士生
    10博士生
    11新生楼(大一学生)
    12研究生
    13树德
    14致新
    15树仁
    16树礼
    17研究生

    工学院

    进入街景在新窗口打开

    建设中的工学院

    上图是正在建设中的工学院。

    工学院分为南座和北座。

    荔园

    进入街景在新窗口打开

    值得一提的是,荔园,创园,慧园与欣园都是原二线关外工业区厂房改建而成的。

    荔园,慧园与欣园

    在上图中,左上角是荔园与创园,左下角是慧园,右侧是欣园。

    荔园入口

    荔园的1,2,5栋主要是教室和实验室,余下部分则为宿舍区域。

    荔园一栋

    荔园5栋的1,2楼是餐厅,由外包商运营。6栋楼下有一个超市。

    创园

    许多院系的实验室和办公区域设置于创园。其中,创园一栋由于进驻了学校的一些机构和校办公司,因此装修水平明显较其他栋高级。

    慧园

    许多院系的实验室和办公区域设置于创园。

    欣园

    进入街景在新窗口打开

    欣园主要是宿舍区。

    校园东南区域

    校园东南区域

    在上图中,左侧是田径场和润扬体育馆,中间是教师公寓,右侧是学术交流中心与人文社会科学学院。

    教师公寓与专家公寓

    进入街景在新窗口打开

    八栋建筑中,有六栋为教师公寓,两栋为专家公寓。

    教师公寓主要供教职人员居住,一楼设有一间教工餐厅和传言只有faculty才能进的 Faculty Club。森林印务也设置于此。

    专家公寓对外开放,以宾馆的形式运营,一楼有一间西餐厅,一间中餐厅和一间报告厅。

    家长要来学校,住宿的首选当然是专家公寓。就在校内,房间内饰朴素干净,价钱也很亲民,比校外的酒店会便宜100左右。要提醒的是专家公寓是不接受电话预定的,必须要亲自去前台预定。尤其是校园开放日的那几天,房间会非常紧张,最好是提前3到5天预定好。

    棒球场

    进入街景在新窗口打开

    位于专家公寓南侧,使用率不是很高。每年会举办一次“海峡两岸学生棒球联赛”在新窗口打开

    办公楼(新行政楼)与人文社科学院

    进入街景在新窗口打开

    运动场

    润扬体育馆

    进入街景在新窗口打开

    润杨体育馆

    叫“润扬体育馆”的原因是因为体育馆是润杨集团冠名在新窗口打开的。

    体育馆南侧目前是野战场地,学校购置了基于红外线的模拟枪,可以打真人CS。这里还有一面攀岩墙。

    松禾体育场(田径场)

    进入街景在新窗口打开

    松禾体育场

    由松禾资本冠名在新窗口打开

    步行公园(后山)

    步行公园

    上图的左侧为长岭陂水库,中间为步行公园,右侧为润扬体育馆,远处的轨道为长岭陂地铁站。

    在后山(步行公园)上可以望见长岭陂水库,智园,长岭陂地铁站和正在建设中的医学院。

    后山的体育馆后方的位置有一块石头,在二期宿舍建成之前是学校的最高点,可以看到整个校园。

    大沙河

    一号门所见的大沙河

    大沙河发源自长岭陂水库泄洪渠,并流经南科大的南侧。

    航拍全景看校园

    注意

    航拍图像拍摄于2019年6月,校园内部分建筑此时仍在修建。自此之后,学校原则上不再允许学生在校内飞行无人机。

    湖畔全景

    同学自行拍摄的互动式校园全景

    一次观看全部全景图像

    分区观看

    南科制霸 -- 标记去过的校园地点

    pic

    图片版权

    + + + diff --git a/facility/panolens/index.html b/facility/panolens/index.html new file mode 100644 index 000000000..d5c944d47 --- /dev/null +++ b/facility/panolens/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 全景看校园 | 南科手册 + + + + + + + + + diff --git a/if-you-are-a-freshman/2021.html b/if-you-are-a-freshman/2021.html new file mode 100644 index 000000000..f284108e7 --- /dev/null +++ b/if-you-are-a-freshman/2021.html @@ -0,0 +1,39 @@ + + + + + + + + + 如果你是新生... | 南科手册 + + + + + +

    如果你是新生...

    提示

    右键/长按链接在新窗口打开,以获得更好的阅读效果!

    部分内容由 致诚书院大学长团 提供

    到校之前,你可以

    加入新生群

    根据迎新网上的提示,加入新生群,在QQ群内向学长学姐提出你想问的问题。提问之前,别忘了先看看《提问的智慧》在新窗口打开

    致仁书院2021新生咨询群:816654278

    树仁书院2021新生咨询群:604825984

    致诚书院2021新生咨询群:566967759

    树德书院2021新生咨询群:558488731

    致新书院2021新生咨询群:644754638

    树礼书院2021新生咨询群:768901668

    2021全国迎新群(官方):461027383

    云游南科大校园

    查看南科手册的🏫建筑与设施部分,了解校园内都有哪些建筑,他们的功能都是什么。或是在设施页面查看每栋建筑的介绍,和校园街景/航拍全景。

    湖畔全景

    你也可以在南科大官网中的南科视界在新窗口打开栏目查看最新的校园照片。

    关注几个公众号Recommend

    除了南科大的官方公众号和书院公众号,你也可以关注新闻社运营的南科新知,或是由学生自主运营的你科周末。从官方与学生的角度,全面地了解南科大。当然,在📺媒体与网站部分中的其他公众号或是网站在新窗口打开中,你或许能够了解南科大的更多轶事在新窗口打开

    了解课程与培养方案

    培养方案和课程详述(syllabus)将会陪伴你大学四年,不妨在有空时翻阅一下,寻找你心水的专业与课程。

    你也可以现行了解入学后的分级考试都会涉及哪些内容,并决定自己收否需要参加某些考试。

    读一读来自学长学姐的建议

    再来看看有没有你感兴趣的社团

    当然,衣食住行也相当重要

    先了解一下住宿环境

    校内都有啥吃的?

    东西在哪里买?

    想健身?

    要是我提早到了深圳...

    不妨去探索学校周边的设施

    没提早到也没关系,你也可以先规划如何抵达学校,看看深圳市内都有哪些交通方式

    到校之后,你可以...

    了解如何连接校园网络

    看看其他的实用技巧

    添加黄页中提到的常用QQ群

    最后...

    把南科手册添加到浏览器的收藏夹或是桌面!(没错,南科手册也可以作为一个本地应用运行)你会发现你在未来会经常需要用到它~

    + + + diff --git a/if-you-are-a-freshman/index.html b/if-you-are-a-freshman/index.html new file mode 100644 index 000000000..85f13eebc --- /dev/null +++ b/if-you-are-a-freshman/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 如果你是新生... | 南科手册 + + + + + +

    如果你是新生...

    提示

    右键/长按链接在新窗口打开,以获得更好的阅读效果!

    提示

    本文写于 2020年8月,部分内容可能已经过时。

    到校之前,你可以

    加入新生群

    根据迎新网上的提示,加入新生群,在QQ群内向学长学姐提出你想问的问题。提问之前,别忘了先看看《提问的智慧》在新窗口打开

    致仁书院2020新生咨询群:913306082

    树仁书院2020新生咨询群:1097888660

    致诚书院2020新生咨询群:1106061970

    树德书院2020新生咨询群:1033070328

    致新书院2020新生咨询群:1128902987

    树礼书院2020新生咨询群:807844572

    2020全国迎新群(官方):834277170

    非官方的2020群:1102473263

    云游南科大的校园

    查看南科手册的🏫建筑与设施部分,看看校园内都有哪些建筑,他们的功能都是什么。或是在全景看校园,一窥航拍的南科大。(由于疫情缘故,全景航拍都是2019暑假拍摄的,今年没有更新。全景里面的许多建筑都已经完工,在开学之后就可以使用啦!)

    湖畔全景

    你也可以在南科大官网中的南科视界在新窗口打开栏目查看最新的校园照片。

    关注几个公众号Recommend

    除了南科大的官方公众号和书院公众号,你也可以关注新闻社运营的南科新知,或是由学生自主运营的你科周末。从官方与学生的角度,全面地了解南科大。当然,在📺媒体与网站部分中的其他公众号或是网站在新窗口打开中,你或许能够了解南科大的更多轶事在新窗口打开

    了解课程与培养方案

    培养方案和课程详述(syllabus)将会陪伴你大学四年,不妨在有空时翻阅一下,寻找你心水的专业与课程。

    你也可以现行了解入学后的分级考试都会涉及哪些内容,并决定自己收否需要参加某些考试。

    读一读来自学长学姐的建议

    或者是南科大网红老师推荐的书单?

    再来看看有没有你感兴趣的社团

    当然,衣食住行也相当重要

    先了解一下住宿环境

    校内都有啥吃的?

    东西在哪里买?

    想健身?

    要是我提早到了深圳...

    不妨去探索学校周边的设施

    没提早到也没关系,你也可以先规划如何抵达学校,看看深圳市内都有哪些交通方式

    到校之后,你可以...

    按照新生报到检查单中的内容进行报到。

    了解如何连接校园网络

    看看其他的实用技巧

    添加黄页中提到的常用QQ群

    最后...

    把南科手册添加到浏览器的收藏夹或是桌面!(没错,南科手册也可以作为一个本地应用运行)你会发现你在未来会经常需要用到它~

    + + + diff --git a/if-you-are-a-freshman/preview/index.html b/if-you-are-a-freshman/preview/index.html new file mode 100644 index 000000000..3c3c11445 --- /dev/null +++ b/if-you-are-a-freshman/preview/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 蓢村拾遗:南科大冷知识2021 | 南科手册 + + + + + +

    蓢村拾遗:南科大冷知识2021

    以下文章来源于 StudioGloire,作者 馮小漠。

    Snipaste_2021-07-11_22-27-10

    封面图/2019年,九华精舍改名为九华苑

    【1】九山一水、校猫与校树

    南科大“九山社”小记与“九山一水”小史在新窗口打开

    榴莲传在新窗口打开

    南科大的荔枝在新窗口打开

    【2】校名题词

    南方科技大学校名题词浅考在新窗口打开

    南方科技大学校名题词续考在新窗口打开

    南科大校名题词补记:关于韩美林先生题校名在新窗口打开

    【3】消失的村委楼

    冯小漠:村委楼是离我们最近的乡愁在新窗口打开

    村委楼探险记在新窗口打开

    张家瑜消失的两小时在新窗口打开

    【4】世界级榜单与屏幕

    解读2017克巴博高校排行榜:南科大、上海纽约异军突起,意味着什么?在新窗口打开

    新益求新 | 校友在埃及金字塔点亮国际屏幕!在新窗口打开

    全。。。大陸第八 文化衫 正式上市!在新窗口打开

    【5】九华与琳恩

    九华精舍究竟有几幢楼?在新窗口打开

    我们发现了南科大琳恩图书馆的一个“小秘密”在新窗口打开

    “天雨流芳”的第三层含义在新窗口打开

    【6】豪华厕所与独立卫浴

    数据之外——探讨校园问题在新窗口打开

    豪华厕所=贪图享乐?所长:一派胡言!在新窗口打开

    种拔大学二期工程本、硕、博宿舍实地考察推文在新窗口打开

    谈独立卫浴在新窗口打开

    【7】学生状况调查

    100个活在南科大的学生在新窗口打开

    2020,南科大孩子们的情感体验在新窗口打开

    不知道2021年新生是什么情况呢?

    我们期待一下~

    [Fin.]

    Ref

    蓢村拾遗:南科大冷知识2021在新窗口打开

    馮小漠的公众号:

    + + + diff --git a/index.html b/index.html new file mode 100644 index 000000000..e437ff124 --- /dev/null +++ b/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 📚南科手册 | 南科手册 + + + + + +

    📚南科手册

    快捷入口

    交通 / 地图

    牛娃课程评价社区 选课合作

    牛娃课程评价社区在新窗口打开(NCES,Niuwa Curriculum Evaluation System)是南科大学生的课程评价社区,因此,只有拥有南科大邮箱的同学或老师才可以注册账户。中科大同款评教系统在新窗口打开,赓续教改初心。NCES现已支持通过课程名称,代码及教师快速检索课程并直达课程大纲,更加方便你的选课!

    如果你是新生... For Freshman

    如果你是准大一的同学,可以先看看冯小漠为大家整理南科大的非正统历史故事蓢村拾遗:南科大冷知识2021点击这里看看我们为 2021年的学生准备的 Quickstart of SUSTech,了解并开启你的大学生活!

    数说大一

    飞跃手册:申请与校招经验 秋季特别合作

    南科大飞跃手册在新窗口打开共有五部分,分别为英语学习,海外交流,选校经验,申请注意事项和个人申请总结,力求为 “如何在南方科技大学为申请国内、海外高校和入职优秀企业做出更全面的准备“ 这一问题作出解答。需要特别指出的是,飞跃手册具有一定的时效性,比如一些热门专业每年的申请形式都会发生极大变化,再比如当我们谈及“xx专业19fall是史上最难申请的一年”,这有可能意味着20fall会更难申请,所以参考往年飞跃手册时请注意。

    校园地图

    由sustech.online团队制作的校园地图。地图底图采用南科大2022版最新规划图,并添加校园巴士线路,打印机,商店,收发室等实用信息。(尝试新版交互式校园地图!可全屏,实时定位)

    点击这里在新窗口打开下载矢量PDF版本,目前版本:3.2,2022年8月更新。

    版权信息

    未做特别声明的内容,均按照CC-BY-SA 4.0在新窗口打开协议进行分发。

    注意事项

    CC-BY-SA协议允许您自由地共享(在任何媒介以任何形式复制、发行本作品),演绎(修改、转换或以本作品为基础进行创作,在任何用途下,甚至商业目的)。

    但惟须遵守以下条件:

    1. 署名 — 您必须给出适当的署名在新窗口打开,提供指向本许可协议的链接,同时标明是否(对原始作品)作了修改在新窗口打开。您可以用任何合理的方式来署名,但是不得以任何方式暗示许可人为您或您的使用背书。
    2. 相同方式共享 — 如果您再混合、转换或者基于本作品进行创作,您必须基于与原先许可协议相同的许可协议在新窗口打开 分发您贡献的作品。
    3. 没有附加限制 — 您不得适用法律术语或者 技术措施在新窗口打开 从而限制其他人做许可协议允许的事情。

    做出特别声明的内容,版权按声明执行。

    For International Students

    Please use the Google translation tool in Chrome在新窗口打开 to translate the manual.

    支持与备案信息

    关于广告

    南科手册的建设与运营均由同学独立完成。为了令「南科手册」能够稳定运行,我们可能会在某些页面的底部和小程序中开屏页面中展示由微信在新窗口打开Google在新窗口打开提供的广告以维持服务器和CDN的开销,敬请谅解。

    我们将尽力确保:

    • 应急处理页面内不会出现广告
    • 其他页面内的广告不多于一个

    🚧 本站由 SUSTech OSS Mirrors在新窗口打开 提供部分静态资源及图片的加速服务,SUSTech CRA在新窗口打开 提供技术支持


    🏛️ 粤ICP备18047383号在新窗口打开

    + + + diff --git "a/life/by-zhicheng-college/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\256\277\350\210\215\347\224\237\346\264\273\347\257\207.html" "b/life/by-zhicheng-college/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\256\277\350\210\215\347\224\237\346\264\273\347\257\207.html" new file mode 100644 index 000000000..af5adf003 --- /dev/null +++ "b/life/by-zhicheng-college/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\256\277\350\210\215\347\224\237\346\264\273\347\257\207.html" @@ -0,0 +1,39 @@ + + + + + + + + + 新生攻略之宿舍生活篇 | 南科手册 + + + + + +

    新生攻略之宿舍生活篇

    本部分由 致诚书院大学长团 提供

    首先,热烈欢迎大家来到南科大!大家会在11栋迎新楼度过大一一年的生活,等到大二再搬到书院的住宿区和书院的前辈们住在一起噢。

    宿舍是我们每一天的起点和终点,下面小编就以11栋宿舍为中心按照衣食住行用分类跟大家讲一下吧~

    一、住,豪华宿舍配置

    宿舍楼单层的平面图在这里啦,两端是楼梯和卫生间,楼层东侧有额外的消防电梯。中部是功能区,有公共晾衣间、饮水机、电梯和小活动室。小活动室中配有桌椅和沙发,还有冷藏冰柜和微波炉,夜宵好去处(划掉)。

    Ps:下头这个图是自己画的,大家凑合着看看就行哈哈哈。

    公共晾衣间内有撑衣杆,鞋子也可以在这里晾晒,晾晒完毕记得及时取走自己的衣物。饮水机也被放置在这里,提供热水和常温水,热水记得看饮水机上的温度显示,如果接了温水泡面的话 😭(难受)。

    日常用电梯共有三台,是分楼层停靠的,大家注意每个电梯的停靠楼层。电梯高峰期人很多,比如中午时间段大家上下楼比较频繁,建议尽量错峰或者走楼梯锻炼身体doge。

    楼层两侧的卫生间有洗漱台和[独立的淋浴间],淋浴记得插卡使用热水。如果遇到插卡不出热水的情况,可以先检查自己的学生卡是否进行了热水充值,开学充值一元后期无限使用,也就是说热水是免费的哦。还是不可以的话可以找到宿管老师询问情况。

    接下来就是宿舍内部啦,宿舍都是四人间,每人都是标配的下桌上床。宿舍的储物空间还是非常大的,门口有双层柜,床下有衣柜和一个小侧柜,而且床侧楼梯也是隐藏的柜子哦。衣柜里的隔层板是可活动的,可以根据自己的需求大小调整。窗外还有一个小的晾衣杆,如果内衣裤不想拿到公共晾衣间的话,晾在这里就好啦,不过记得用夹子固定一下,如果被风吹下去就...

    二、食,只隔一条马路的双层复式食堂

    校内共四处学生食堂,按照距离11栋远近来说:10栋第二学生食堂,也就是常说的新生食堂,荔园食堂,一教食堂和中心食堂。还有一处欣园食堂,不过大家很少会在那里吃饭。新生食堂周内有时也会供应夜宵,大家可以注意一下食堂的通知哦。大家日常吃饭其实还有很多选择,比如赛百味、肯德基或者南科麦香屋(面包坊)等等,详细的介绍可以参考之前的新生攻略之食堂篇。小声:校外也有很多好吃的噢,大家加油寻找吧~

    三、衣,24h自助洗衣系统

    在宿舍楼2层东侧有洗衣间,洗衣机、烘干机和洗鞋机一应俱全。手机上下载海狸洗衣APP,可以实时查看洗衣机的使用情况,进行预约或者使用。男女生的洗衣机是分开的,大家使用时注意区分。其中也有一套大号洗衣机和烘干机可以清洗被褥等大号衣物。**请不要在洗衣机里清洗内衣裤和袜子等,保持自己和他人的卫生健康。**衣服清洗完毕及时从洗衣机内取走,不然很可能被拿错哦。

    各大应用商店均可下载,本图截取自小米应用商店

    四、行,地处学校中部的黄金地带

    因为学校的地势呈一个斜坡,而11栋正好处于坡的中部,再向上是荔园和欣园,向下则是教学楼图书馆等,所以去哪里都比较方便啦。11栋楼下有学生宿舍校巴站,疫情期间大家乘车需要佩戴口罩哦。因为学校的斜坡地势,想购买自行车的同学注意了,骑下去很爽,但骑上来还是挺累的,建议购买可变速的自行车。深圳的太阳很毒,而且有时会发生短时强降雨,大家出门记得一定要带防晒晴雨伞呀。

    五、用,其余的生活使用细节

    宿舍楼旁边的十三栋配有天虹超市快递收发室(广东省深圳市南方科技大学13栋快递收发室),大家采购和网购都很方便啦,也可以向外寄快递的。当然有时候快递公司会把快递投放在快递柜中,一般会放在8栋快递柜,在新生食堂西侧,涵泳图书馆南侧一层。大家可以在手机上关注微信公众号近邻宝校园,绑定好手机号后就可以方便地在手机上看到自己的快递是否到达啦。

    宿舍用电每人都有每年120度免费额度,超额度是会断电的,大家要节约用电呀。宿舍内电器功率不得超过1500W。电控系统会在每年2月末和8月末按照宿舍人数进行充值。如果遇到度数不够使用的话,可以在南方科技大学企业微信中进行水电充值,点击水电充值,绑定好房间即可充值。饭卡充值也是在这里的,点击校园卡选项,进入充值界面即可。
    全校范围内提供免费的WiFi,大家认证登录后就可以免费使用了。

    如果有小可爱不小心丢失了自己的校园卡可以通过以下两个方式补办噢(注意!!!任选其一!!!不要两个都弄!!!小编曾经两个同时进行然后一次补了两张卡,痛苦面具 😭。 ①在琳恩图书馆或者书院一栋学生事务中心的[自助补卡机]进行补办,需要扣款20元作为补卡费用,保证卡里有足够的金额就好。可以当场取卡,但是门禁需要过[几个小时]才能转移成功,新卡是不支持1元热水继承的,需要再进行热水充值。
    ②在南方科技大学企业微信进行挂失补卡,在微信上付款等待补卡通知,补好后会有老师通知去书院一栋学生事务中心领取。

    还有一个小提醒,宿舍内还是需要配备蟑螂药的,11栋宿舍楼虽然很新,但是深圳蟑螂更强(卑微.jpg),保持宿舍内干净卫生,做到有备无患就好啦。如果在宿舍楼内发现蟑螂,可以向宿管老师报备,联系专业的杀虫人员处理。宿舍楼应该会建立一个新生宿舍微信群,大家有任何情况都可以在微信群里向宿管老师反应。

    好啦,这就是宿舍生活的大致情况啦!大家还有什么问题都可以在群里提出,大学长们会耐心解答的,希望大家在宿舍都能开心每一天!

    版权信息

    图片来源: 南方科技大学官网、南方科技大学致诚书院微信公众号、我的手机

    资料参考: 2020级新生攻略之宿舍生活篇

    制作:致诚书院大学长团 闫瑞泽

    致诚书院出品,本文已获授权在 sustech.online 转载,转载请注明出处。

    + + + diff --git "a/life/by-zhicheng-college/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\346\240\241\345\206\205\344\273\213\347\273\215\347\257\207.html" "b/life/by-zhicheng-college/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\346\240\241\345\206\205\344\273\213\347\273\215\347\257\207.html" new file mode 100644 index 000000000..5ed608854 --- /dev/null +++ "b/life/by-zhicheng-college/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\346\240\241\345\206\205\344\273\213\347\273\215\347\257\207.html" @@ -0,0 +1,39 @@ + + + + + + + + + 新生攻略之校内介绍篇 | 南科手册 + + + + + +

    新生攻略之校内介绍篇

    本部分由 致诚书院大学长团 提供

    食堂篇

    1. 高消费餐厅

    1)西餐厅

    正如其名,牛排、烩饭、扒类、鹅肝等菜品在西餐厅一应俱全,橙宝开学时和导师在这里聚餐后就念念不忘呢~偶尔想去奢侈一把的话要记得提前预约哦! 人均:120 - 150元

    2)茶餐厅

    好吃的中式共享菜,在西餐厅旁,位置较为隐蔽。 人均:30 - 50

    3)南苑小筑

    坐落在润扬斜对面,南苑小筑店面复古,港味扑面而来。橙宝超爱和朋友一起去吃南苑小筑的各种扒餐、焗饭、中式简餐、港式云吞面和共享菜。它对犯懒的阿宅们也十分友好,可在公众号点餐,由小哥送到大家宿舍楼下呢! 人均:30 - 60元

    2. 新生食堂

    早餐(7:00 -- 9:00)

    十栋食堂提供中西式点心、粥、茶叶蛋等常规早餐。其中不得不强调靠门窗口的肠粉,橙宝可是心甘情愿为它早起排队的哦! 人均:5 - 10元

    午餐&晚餐

    1)十栋

    一楼:自选窗口中提供小盘菜、卤肉套餐、海南鸡套餐、水煮肉片等,其中金灿灿的绝美鸡米饭绝对值得一试!肠粉窗口在中午提供面食,不过调料、种类都较少,大家可以自己多多尝试~

    二楼:西式套餐(炒饭或意面+蔬菜+肉排+酱料)。分量很足,连橙宝都吃撑了呢。

    2)九栋

    一元一个的好吃水饺(有怪怪的茴香口味)、广式煲仔饭、自选小盘菜(提醒大家看清价格,合理搭配!不然很容易一顿30元+)。

    夜宵**(工作日19:30 -- 22:00)**:

    包括粥、汤圆、炒粉等等,晚课后的心灵抚慰~

    硬件配置:微波炉、饮水机+杯子

    1. 十栋小盘菜均价:12-25元

    九栋煲仔饭均价:15-20元

    十栋西式套餐均价:20元

    十栋面食均价:15元

    3. 中心食堂&湖畔食堂

    1)中心食堂

    作为2020年末冉冉升起的新星,它左连一丹图书馆,右接第二科研楼,且入驻了面点王、KFC(含早餐)和茶米相期门店,让你在校内也能尝绝美点心、吃汉堡炸鸡、喝果茶奶茶。

    橙宝告诉大家一个小秘密:在面点王一次性点两块酱骨架,小哥有时候会给你三块哦~

    面点王均价:15 - 25元

    橙宝高声呐喊:食堂自营的菜品也是一绝!!

    早餐:

    和新生食堂相似,但只在周末提供哦~

    午餐&晚餐:

    各窗口包含风味面食、定制小炒、东北炖菜、潮汕卤味套餐、麻辣烫、大众菜等等。味道惊艳舌尖,价格并不很高。

    均价:10 - 30元

    大众菜窗口旁有贩卖饮品的大冰柜

    2)湖畔食堂

    早餐:

    和新生食堂相似,只在周中提供哦~

    午餐&晚餐:

    以最高的性价比傲视群雄,它的大众菜包含5元、3元、1元的菜式,小炒鸡柳、菠萝咕噜肉、煎鱼等菜式相当好吃,非常适合吃土的少男少女。(但橙宝有时候也会被略过重的油量狠狠油到)进门左手边的面食窗口也提供炸酱面、番茄鸡蛋面、猪杂面等多个选择。

    大众菜均价:6 - 9元

    面食均价:10 - 15元

    小卖部:

    在自选窗口对面,售卖奶类饮品、咖啡和平价小面包。

    4. 欣园食堂&荔园食堂

    1)欣园食堂

    欣园食堂比较遥远,大家去的机会比较少,但是仍然十分的美味。

    2)荔园食堂

    橙宝在荔园下课后的第一目的地,就是六栋的荔园食堂啦。

    早餐(7:00 -- 9:00)

    和新生食堂相似,但是种类更丰富,橙宝觉得荔园的肉包更好吃~

    午餐&晚餐:

    一楼:得到众多好评的大众菜,不过价格多变,一定要看好价格哦。

    二楼:学校食堂中TOP水平之一,据说这里有学校最好吃的面!其他窗口也提供包含鸡排饭、特色小碟菜等菜品,橙宝都很推荐。

    一楼均价:8 - 15元

    二楼均价:15 - 20元

    【Tip:传统食堂都需要大家倾倒食物残渣,回收餐具,一定不要忘了哦。】

    5. "非常规"餐厅

    1)赛百味食堂

    坐落在第一科研楼与第一教学楼之间的经典快餐店,售卖自选夹层的美式三明治、小块披萨、鸡肉卷、薯宝、鸡翅、曲奇等小吃。校内折扣也挺香的,大家可以理性尝试~

    均价:20 - 30

    2)星巴克食堂

    小资情调、少人排队的高贵星爸爸,除饮品外提供美食三明治、千层面、精致小蛋糕等,是在琳恩图书馆学累了下来放松的优选。 均价:30 - 40

    3)超市食堂

    唯一的全天候营业的食堂,懒觉者的早午餐唯一指定食堂,你面对其他食堂排队长龙望而却步时的好去处,主要有湖畔超市、荔园超市、天虹微喔三家,提供车仔面、关东煮、各种熟食与面包。此外,天虹提供加热、煮面的服务哦~但是橙宝告诉大家,在妮可,不多吃正经食堂的话是会后悔的!

    4)学者咖啡&湖畔一栋致仁咖啡社

    第二科研楼一楼的学者咖啡提供咖啡、超级美味的饺子、牛肉面和冰淇淋(听说在哪里可以经常遇见留学生哦)

    湖畔一楼的咖啡社环境和氛围也非常棒哦。

    以上就是妮可的食堂介绍啦,橙宝希望大家可以在南科大吃的开心。校外还有更多的深圳美食,大家可以移步至本公众号相关推送查看。

    学习场所篇

    1. 两个主要教学区域

    说到上课,妮可主要有两个教学区域:第一教学楼荔园

    1)第一教学楼

    门外的超大显示屏,滚动播放学校最新动态

    一楼宽阔明亮的教室,有时有名叫"麻酱"的猫猫出没哦

    高层也有让人心旷神怡的露天平台~

    而一教隔壁的 第二教学楼 布满机房,是计算机系上机课程的授课场所

    2)荔园

    相比一教,荔园多出的实验室和机房为各专业实验课提供场所。其他和第一教学楼相差不大。

    略显抽象的夜景

    阶梯教室

    不知不觉就下课啦!橙宝知道努力的大家没有学够,想温习刚刚学过的知识。这时除了一教和荔园的空教室都可以进入自习外,图书馆更是一个很好的选择!

    2. 图书馆

    学校里共有三个图书馆:琳恩图书馆,一丹图书馆,涵泳图书馆

    1)琳恩图书馆

    位于第一教学楼对面,下课后来这里很方便。

    一楼门口有一家星巴克,可以带杯咖啡优雅地进馆自习!

    一楼自习区左侧是美丽落地窗,同时有打印机、自助借还书机和图书杀菌机、半开放讨论区

    二楼有半开放讨论区

    图为三楼睡觉区,同时也有电脑区、大量藏书

    2)一丹图书馆

    一丹图书馆由慈善家陈一丹先生捐赠,分为24小时开放的一楼自习区和8:00 -- 22:00开放的其余楼层,白天入馆记得走二楼大门哦!

    一楼是通宵自习室,来这里学习的人非常多,临近考试的时候更是座无虚席。也有舒适的小沙发哦【Tip:一楼大门仅在22:00-次日8:00开放】

    二楼有藏书室(含打印机)和电脑区

    三楼有半开放讨论间、封闭式讨论间(后者需要在官网预约)。同学们可以在这里组队学习,还可以借用白板、投影等设备~

    四楼是常规自习室。这里可以看到湖畔美丽的景色,橙宝超喜欢的!

    3)涵泳图书馆

    包含自习室、讨论间,室内可漂亮了,不过位置相对较少。

    3. 科研楼

    1)第一科研楼

    在第一教学楼对面,一楼的报告厅承办许多活动和讲座(e.g. 书院教育讲座、s赛决赛线下观赛活动地点)

    二楼有联创打印机,在一教打印机坏了或者没纸的时候能来这里救急哦

    2)第二科研楼

    教授们的办公室、院系的实验室

    3)第四科研楼

    步道乐跑的打卡点,到时候跟着导航走就好啦

    4. 院系大楼

    1)工学院

    新建成的理工院楼中老师们已经就位,实验室在陆陆续续往里面搬迁

    2)理学院

    一号校门进来的大楼就是理学院!

    3)商学院

    4)人文社科学院

    人文社科学院老师的办公地点,为学校增添许多人文、历史气息

    除了上课和科研,橙宝呼吁大家多多去老师们的[办公室]提问哦!主要分布在第一教学楼,科研楼,院系大楼,慧园,人文社科学院,具体位置请积极询问老师~

    运动场所篇

    图:介绍顺序一览

    1.欣园区

    1)篮球场

    一共有10个全场,是全校最大的篮球场

    2)足球场

    五人制小场,一共有两个全场,可以在这里举行一些小型比赛

    3)网球场

    2.松禾体育场 + 润杨体育馆

    1)标准400m跑道+标准足球场

    2)真人cs场地&攀岩墙(跑道旁)

    cs随时都可以打,只需要提前预约就可以啦

    攀岩墙一般供体育课中的攀岩课教学使用

    3)室内羽毛球场

    位于润杨体育馆一楼,有大型活动时会撤去场地,提醒大家留意邮件通知哦

    4)润扬健身房

    润杨健身房位于润杨体育馆四楼,24小时开放,较湖畔健身房设施更全,内有各种自由、固定器械,还配备空调,饮水机和淋浴间。

    3.湖畔运动区

    1)湖畔健身房

    24小时开放,相比润扬健身房空间较小,固定器械较少。

    2)舞房

    位于湖畔健身房隔壁,配有空调和音响,是体育课和社团课的授课场所,没有课程时可以随时进去热舞。

    3)乒乓球馆

    位于湖畔四栋楼下,共有十几台乒乓球桌,随时开放。

    4)台球馆

    位于湖畔二栋楼下,有两个九球台和一个斯诺克台,同学们只需要向宿管交50元现金押金就能开桌啦。

    4.风雨操场

    1)篮球场

    是室内篮球场,只有一个全场,记得要预约哦

    2)排球场

    3)拳击馆

    4)游泳馆

    户外游泳池,只有夏天开放,记得留意邮件通知哦

    5.棒球场

    一大片用来打棒球的草地,也是棒球课和棒球社社活的场地。

    活动场所篇

    1. 致诚活动室

    当你想和朋友一起玩玩桌游,当你想和你的ta一起坐下来好好聊聊天,当你突然需要小组讨论,当你想找个地方躲避炎炎夏日,当你手痒想弹弹钢琴......这些问题都有同一个答案:去致诚活动室啊!

    致诚活动室位于湖畔三栋对面,左临湖畔超市、右接健身房舞房,旁设有会议室。内设台灯、桌椅、沙发、钢琴与适量书籍等,组成它温馨明亮的室内布置。活动室是与朋友玩耍、多人聚会的好去处,有时也会举行橙子节、音乐角等书院活动。

    【橙宝提醒大家:休息时段玩耍请注意控制音量哦!】

    2. 学生事务中心

    学生事务中心位于中心食堂二楼,内设有失物招领处与补办学生卡的机器(橙宝祝大家永远不要使用它,但补办新卡时不要忘了冲一元水费哦),学校开通银行卡、高铁优惠票等业务也很可能需要到这里办理。

    3. 社康中心

    社康中心上接十一栋,下接教师公寓,旁临游泳馆。若大家有任何身体状况,都可以前往此处挂号就诊。一定记得听从医嘱,该去大医院检查一定要去,在学校要照顾好自己嗷。

    4. 国际会议中心

    一号门旁的豪华会议+表演场所,校庆、跨年晚会(十佳歌手总决赛)等等大型节目的举办场地。

    5. 教工之家

    位于教师公寓内,坐校巴到专家公寓站即可快速到达。它是每年致诚生日会的举办场地,同时也大概率是致诚舞会的举办场地。

    版权信息

    图片来源: 1088SUSTech,致新书院,SUSTechOnline,卓著,郑微言,邬静芙

    资料参考: 南方科技大学致诚书院公众号

    特别鸣谢: 致新书院提供校园地图

    制作:致诚书院大学长团 邬静芙,郑微言,卓著

    致诚书院出品,本文已获授权在 sustech.online 转载,转载请注明出处。

    + + + diff --git "a/life/by-zhicheng-college/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\347\244\276\345\233\242\347\257\207.html" "b/life/by-zhicheng-college/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\347\244\276\345\233\242\347\257\207.html" new file mode 100644 index 000000000..f36362150 --- /dev/null +++ "b/life/by-zhicheng-college/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\347\244\276\345\233\242\347\257\207.html" @@ -0,0 +1,39 @@ + + + + + + + + + 新生攻略之社团篇 | 南科手册 + + + + + +

    新生攻略之社团篇

    本部分由 致诚书院大学长团 提供

    前言

    欢迎各位2021级的新生们加入南科大!刚刚结束高考的你们,一定对未来的大学生活充满了期待吧!相信,你也想要拥有丰富多彩的大学校园生活,如此,社团活动又怎能缺席!

    南科大目前共有社团百余个,主要分为思想政治、学术科技、创新创业、文化体育、志愿公益五个大类。社团为爱好相同的同学们提供了相聚相识、交流进步的平台,也为有一技之长的同学建立了提升能力、展示自我的机会。加入社团,不仅可以强化相关领域的技能水平,还可以在培养兴趣爱好的同时,提升个人人际交往能力。

    本篇攻略,就让橙宝带你了解南科大社团!

    一、如何选择合适的社团?

    想要加入社团却不知道如何了解社团?不要担心,"百团大战"就是你了解社团的好时机!南科大社团联合会会在每年初秋举办一年一度的"百团大战"活动,届时,各个社团都会精心布置自己的摊位,展示自己的风采,张罗来往同学驻足观看,给予同学们了解社团、加入社团的机会。此外,有的社团也会利用qq空间或是微信公众号来进行宣传,同学们可以多多留意。遇到感兴趣的社团,也不妨加入该社团的招新群了解一下噢~

    在这里还有一个小小的提醒,有些社团由于受到特定书院管理,名字前会加上该书院的名字(如致诚咏春社、致仁民乐团等),但这并不意味着其他书院同学不能加入该社团噢!在南科大,所有社团都是面向全校同学开放的,只要你有兴趣,就去报名参加吧!

    二、学生社团联合会注册社团名单(截止2020.9)

    思想政治类

    学生研习社

    学术科技类

    航模社 社团数学物理社 DataHub社团

    材料研究学会南科大学生分会 工业设计社 计算机研究协会社团

    深渔俱乐部 虚拟现实技术社 自主智能机器人社团

    创新创业类

    未来企业家俱乐部 创新创业协会

    文化体育类

    致仁民乐团社 辩论社 Wink舞社

    定向越野社 乒乓球社 桥牌社

    东亚神话与邦乐研究社 书画社 跆拳道社

    清羽飞扬羽毛球社 自然国学社 Dauber画社

    树礼微电影社 搏击社 川衡社

    树仁钢琴社 电竞社 NOVA街舞社

    文化创意社 翻译社 吉他社

    致诚歌唱社 猫社 南风诗社

    树礼阿卡贝拉社 武学社 日语社

    致诚设计社 西乐社 校园大使

    雁落弓社 弈林棋社 游戏王社

    致诚咏春社 游泳社 万智牌社

    致仁烘焙社 电影沙龙社 篮球社

    南枝未央汉服社 网球社 树礼科幻协会

    SCAP动漫社 轮滑社 魔方社

    致仁咖啡社 致诚健身社 Susmusic树礼说唱社

    炽焱足球社 排球社 树仁京剧社

    电影沙龙社 音乐剧社 瑜伽社

    电子音乐社 拉丁社 风华主持队

    女子篮球社 天文社 推理社

    橡树调酒社 围棋社 文学社

    致新非物质文化遗产社 致新古琴社 野战社

    树德力量举社 开言堂相声社

    志愿公益类

    绿足迹自然保育社 树礼科普社 招生宣传协会

    其他类

    花粉俱乐部

    筹备社团

    军事爱好者社团(筹) 粤语社(筹) 滑板社(筹)

    大学生就业与职业发展社团(筹) 棍网球社(筹) CAN极客社团(筹)

    空手道社(筹) 理想社(筹) 模拟联合国协会(筹)

    绿色智慧校园社(筹) 轻小说社(筹) 摄影社(筹)

    行水国风音乐社(筹) 狼人杀社(筹) 致仁微创社(筹)

    海洋机器人社(筹) 立直麻雀社(筹) 美丽中国教育协会(筹)

    电声乐社(筹) 树德STEAM+创客教育社团(筹)

    (部分社团可能已转正,该名单仅供参考)

    Ps:部分社团(如合唱团、舞蹈团、季风剧社等)直接由艺术中心管辖,加入需要进行具有相应的能力,并经过选拔,不归属社团联合会管理,故未包含在本名单内。敬请谅解!

    三、致诚书院特色社团

    致诚健身社

    致诚书院健身社于2020年初开始策划,2020年七月正式成立,现有社员约25人。社团目前设有社长一名,由致诚书院2020级陈孙兵担任;副社长分别由2018级侯文楚、2019级杨扬和2020级黄宇海三位同学担任。设有指导老师和指导教练各一名,分别由致诚书院辅导员张瀚文老师和颜永涛教练担任。社团指定活动室为致诚书院三栋楼下健身房。

    致诚书院健身社的宗旨是通过专业、科学的训练方式,提高运动表现力,提升个人自信,丰富课余生活,从而达到快乐健身的目的。健身社不只关注训练健硕的肌肉,更重要的是,希望通过综合性的训练,提高基础力量和核心力量,从而提高个人在篮球、羽毛球以及排球运动等中的表现力。所以,无论是健身小白还是健身大佬,在这里,都能找到适合自己的位置。

    致诚歌唱社

    歌唱社全名"南方科技大学致诚书院歌唱社团",由校内爱好唱歌的学生组成,由致诚书院和艺术中心共同指导及管理。南方科技大学在籍学生,只要对唱歌有浓厚兴趣,具备一定的声乐基础,遵守本社团章程,皆可申请入社,通过面试考核即可正式成为本社社员。预计每学期招收新生20位以内。

    歌唱社社内氛围良好,一群志趣相投的同学们聚集在一起,不分年龄,有的只是对唱歌和音乐的共同信仰与追求。大家在歌声中相识,用音乐传递快乐,用音乐互相鼓励。

    社团拥有强大的专业辅导老师阵容。社团成员们更是活跃在学校内各类大、小型舞台、晚会上。2020年南科好声音十佳歌手有七位来自致诚歌唱社,校庆晚会的舞台上也经常出现着歌唱社成员的身影。我社在2020年成功举办致诚音乐角活动,并在2021致诚橙子节音乐表演中获得成功,同学们反响良好。

    致诚歌唱社荣获2020年度艺术中心优秀社团一等奖。

    致诚设计社

    致诚设计社是由致诚书院和艺术中心共同指导的艺术社团,旨在让学生了解平面设计的基础理论和知识,包括海报设计、logo设计、包装设计等,同时也致力于提升学生的设计应用能力,激发想象力和创造力,培养学生的设计思维,致力于学生审美素养的提升。

    设计社每周安排一节培训课,由知名的专业设计师Max和Christy进行指导,课堂有趣又实用。同时,设计社经常现身于学校各个活动中,每次都给同学们不一样的创造体验。设计社的同学们也有更多机会去尝试设计出不同的作品,有机会出现在书院或学校组织的展览中,以及为学校活动进行logo、海报等设计哦!

    致诚咏春社

    在致诚咏春社,你将获得:

    专业的咏春教练!手把手的精准指导,让大家的练武路上从不迷茫。

    负责的练教课堂!除了有教练前来的正课,为了保证部员们的练习质量,我们还在每周周三周五自发组织,由学长带头的自主练教课程!

    温馨的社团氛围!温暖的社团环境,更是给了大家在练习的辛苦中的一丝甜津。

    四、创建社团

    如果你没有找到喜欢的社团,你可以选择联合小伙伴一起创建社团哦。根据社联要求,一个社团的成立需要至少 10 位发起者(有可能修订到更多人数)以及相应的指导老师。如果条件尽数满足的话,那就可以轻松的组建自己的社团啦!不过作为新生入学,橙宝还是建议第一年尽量避免进行一些如同创建社团这样的耗费精力的活动,毕竟学习要紧哦!

    尾声

    社团作为大学生活的调味剂,可以使我们在学习之余获得丰富的课余时光,让我们在短暂休息的同时收获珍贵的友谊,变得更加积极。同时橙宝也要提醒各位,在加入社团收获快乐的同时,也不能忘记学业噢!如果本末倒置,那就太得不偿失啦!

    本篇攻略到此就结束啦,橙宝在此祝愿各位21级的小伙伴们都能找到自己感兴趣的社团,收获充实又愉快的大学生活!

    版权信息

    图片来源: 南科大社联菌公众号 南方科技大学致诚书院公众号

    资料参考: 南科大社联菌公众号 社团联合会社团名单 南方科技大学致诚书院公众号

    特别鸣谢: 致诚书院2020级大学长杜昊澄 帮我改文案的聪明人(x)

    制作:致诚书院大学长团 林瀚兰

    致诚书院出品,本文已获授权在 sustech.online 转载,转载请注明出处。

    + + + diff --git a/life/catering/index.html b/life/catering/index.html new file mode 100644 index 000000000..96cbf23da --- /dev/null +++ b/life/catering/index.html @@ -0,0 +1,39 @@ + + + + + + + + + ☕️餐饮 | 南科手册 + + + + + +

    ☕️餐饮

    对于南科人来说,光顾得最频繁的餐厅当属校内食堂了。据不完全统计,只是学生食堂,每天就有4000+的客流量。出校吃饭的时间成本太昂贵,上课前下课后在食堂填饱空虚的胃是最好的选择。平心而论,南科大的伙食质量还是很OK的。价格也足够平民,正常情况下每餐成本可以控制在8-12元之间,很少有超过15元的。笔者在刚开学的时候爱上了食堂的肉末面,连着吃了一整个月。拉面,肉夹馍,小炒,白切鸡盖饭,夜宵特供麻辣烫,冬季限定小火锅……即使在平凡的食堂菜单中也能找到吃后可以感慨“人间值得”的好菜。

    ——南科新知:吃喝住行指南 | 新生攻略Vol.2在新窗口打开

    南方科技大学餐饮地图

    校内餐厅

    第二学生餐厅

    二期学生宿舍9栋

    • 餐厅位置:二期学生宿舍9栋一层
    • 供应品种:大众菜系、水饺、风味面食
    • 营业时间:
      • 早餐:07:00-09:00
      • 午餐:11:00-13:00
      • 晚餐:17:00-19:00
      • 夜宵:19:00-22:00 (仅周一至周五开放)
    • 经理电话:崔经理 18898832662

    二期学生宿舍10栋

    • 餐厅位置:二期学生宿舍10栋一层、二层
    • 供应品种:大众菜系、早餐肠粉、风味汤粉、卤水套餐、西式套餐、夜宵、烧烤
    • 营业时间:
      • 早餐:07:00-09:00
      • 午餐:11:00-13:00
      • 晚餐:17:00-19:00
      • 夜宵:19:00-22:00 (仅周一至周五开放)
    • 经理电话:崔经理 18898832662

    中心餐厅

    • 餐厅位置:南科大中心一层
    • 供应品种:大众菜系、早餐肠粉、风味粥粉面、铁锅拌饭广式烧味、精美小炒、麻辣烫、小卖部、平价水果
    • 外包档口:肯德基、面点王、茶米相期
    • 营业时间:
      • 早餐:07:00-09:00
      • 午餐:11:00-13:00
      • 晚餐:17:00-19:00
    • 经理电话:杜经理 13760335494

    荔园餐厅

    荔园6栋一层

    • 餐厅位置:荔园6栋一层
    • 供应品种:大众菜系、卤水套餐、粥饼档、素菜
    • 营业时间:
      • 早餐:07:00-09:00
      • 午餐:11:00-13:00
      • 晚餐:17:00-19:00
    • 经理电话:黄经理 13430934058

    荔园6栋二层

    • 餐厅位置:荔园6栋二层
    • 供应品种:精美小炒、特色菜
    • 外包档口:广东靓汤、西北面食、日韩料理
    • 营业时间:
      • 早餐:07:00-09:00
      • 午餐:11:00-13:00
      • 晚餐:17:00-19:00
    • 经理电话:黄经理 13430934058

    创园教工餐厅

    • 餐厅位置:创园2栋一层
    • 供应品种:大众菜系 (午餐)、特色川湘菜 (晚餐)
    • 营业时间:
      • 午餐:11:00-13:00
      • 晚餐:17:00-21:00
    • 经理电话:黄经理 13430934058

    教工餐厅(仅教职工使用)

    • 餐厅位置:教师公寓2栋一层
    • 供应品种:大众菜系、特色菜、风味面食
    • 营业时间:
      • 早餐:07:00-09:00
      • 午餐:11:00-13:00
      • 晚餐:17:20-19:00
    • 经理电话:赵经理 13456850850

    Faculty Club(仅教职工使用)

    • 餐厅位置:教师公寓1、2栋之间
    • 供应品种:大众菜系、特色菜
    • 营业时间:
      • 午餐:11:20-13:00
      • 晚餐:17:20-19:00
    • 经理电话:赵经理 13456850850

    茶餐厅

    • 餐厅位置:专家公寓1栋一层
    • 供应品种:粤菜、客家菜、各地风味菜
    • 营业时间:
      • 午餐:11:30-14:00
      • 晚餐:17:30-21:00
    • 经理电话:赵经理 13456850850

    西餐厅

    • 餐厅位置:专家公寓2栋一层
    • 供应品种:西餐
    • 营业时间:07:30-22:00
    • 经理电话:赵经理 13456850850

    南科麦香屋

    • 餐厅位置:教师公寓2栋一层
    • 供应品种:面包、西点
    • 营业时间:07:30-19:00
    • 经理电话:赵经理 13456850850

    湖畔学生餐厅

    • 餐厅位置:大榕树旁一层、二层
    • 供应品种:特色风味
    • 营业时间:
      • 早餐:06:30-09:30
      • 午餐:10:30-13:30
      • 晚餐:16:30-19:00
      • 夜宵:19:00-22:30
    • 经理电话:段经理 15012847432

    欣园餐厅

    • 餐厅位置:欣园5栋一层
    • 供应品种:待定
    • 营业时间:待定
    • 经理电话:段经理 15012847432

    入驻餐饮

    瑞幸咖啡

    • 餐饮地点:工学院南楼一层、理学院一层大厅
    • 营业时间:07:00-22:00
    • 联系电话:
      • 工学院店:18320284061
      • 理学院店:13066805920

    星巴克

    • 餐饮地点:琳恩图书馆一层
    • 营业时间:07:00-18:00
    • 联系电话:13049844587

    Illy Cafe(学者咖啡)

    • 餐饮地点:第二科研楼一层
    • 营业时间:08:30-20:30
    • 联系电话:13798280743

    赛百味

    • 餐饮地点:第一教学楼一层
    • 营业时间:07:20-22:00
    • 联系电话:13603051823

    果卉鲜

    • 餐饮地点:教师公寓1栋一层
    • 营业时间:10:00-21:00
    • 联系电话:18389693592
    • 特色:无人售卖

    校外餐饮

    周边一节。

    + + + diff --git a/life/dormitory/dorm-floor-plan.html b/life/dormitory/dorm-floor-plan.html new file mode 100644 index 000000000..2f652aba4 --- /dev/null +++ b/life/dormitory/dorm-floor-plan.html @@ -0,0 +1,39 @@ + + + + + + + + + 宿舍平面图 | 南科手册 + + + + + + + + + diff --git a/life/dormitory/index.html b/life/dormitory/index.html new file mode 100644 index 000000000..5e2bfe39f --- /dev/null +++ b/life/dormitory/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 🏠住在南科 | 南科手册 + + + + + +

    🏠住在南科

    本节部分由树德书院学长团提供。

    宿舍平面图

    包含湖畔,荔园,欣园宿舍的楼层平面图,请至此页面查看

    概况

    大一新生将会统一入住二期宿舍11栋(新生楼),它位于湖畔与荔园之间。

    宿舍共17层楼,每层楼22个房间,每一间住4名学生,配置为上床下桌。宿舍的床尺寸是2050mm*1000mm,可以作为买床单、被子、蚊帐的参考。

    设施

    宿舍内部 一间典型的新生楼宿舍内景

    储物柜

    分为衣柜(橘黄色的柜子)、两床间共享的阶梯型储物柜(内部分为小隔间,最下面可以放一个大行李箱)、鞋柜、鞋柜上面还有一个储物柜(分成两格)。

    用电器

    室内空调(冷热兼有)、电风扇(两个)注意室内不允许用大功率用电器哦, 比如锅、吹风机、卷发棒等(可以去洗漱间用, 配有公共的吹风机),还建议买一个电插板。

    公共设施

    公共卫生间、公共浴室(单间的)、公共洗衣房(在2楼,男女生洗衣机与甩干机分开使用)、晾衣房(可以买个晾衣杆哦)、饮水机、冰箱(放入冰箱内的食物需要进行登记, 如果食物坏掉, 宿管阿姨会直接扔掉)、活动室(吃饭休息、看书、聊天都行)、微波炉(热夜宵,注意用电安全哦)、垃圾桶(洗漱的地方有一个大垃圾桶, 但是不要把宿舍里面的垃圾袋直接扔进去哦)。

    宿舍公约

    是分好宿舍后和舍友们一起制定的一些条约, 比如几点熄灯, 怎么打扫卫生,倒垃圾等相关事宜, 一个好的宿舍公约可以让宿舍更加的温馨整洁哦。

    宿舍生活上的其他问题

    怎么对付蚊子?

    1. 物理防御——蚊帐。蚊帐不但可以防蚊,还可以营造一小片私人空间
    2. 化学防御——无比滴,驱蚊花露水
    3. 物理伤害——苍蝇拍,电蚊拍,巴掌
    4. 化学伤害——杀虫剂(不建议使用电蚊香)

    杀虫剂

    深圳4、5月份的蟑螂最多,但其他时候也可能会在宿舍遇见。北方来的小朋友很有可能被突然窜出来的小强吓到(北方来的学姐深有体会)。用字典拍死绝对不是处理蟑螂的最好方法,因为这样你会:

    成功牺牲一部字典并将在未来邂逅更多蟑螂(因为蟑螂尾部有卵荚,拍扁蟑螂会使蟑螂卵遗留在宿舍各处)

    所以,最好的办法就是用杀虫剂/气雾剂灭掉它,购买蟑螂屋物理粘附也可以。

    洗洁精,洁厕灵,洗手液等

    为了避免出现吃完饭发现没有洗洁精的情况,建议大家来到学校后抽个时间和室友一起把这些必备的清洁物品买齐。

    警告

    84消毒液不能和洁厕灵一起用!!!高中化学第7题做过嗷!!

    除湿袋

    深圳天气非常潮湿,如果不做好除湿工作又连逢阴雨天,被子和衣服都会变的湿漉漉的。因此建议在床头和衣柜里都挂上除湿袋。如果条件允许,也可以宿舍一同购买除湿器。

    烘干器

    不需要买很贵的,200r左右即可。

    深圳阴雨天气较多,一些内衣遇到阴天较难干,被子、鞋子等也不方便使用公共烘干机,所以条件允许的话在宿舍有一个烘干机会带来许多方便。

    雨伞,雨衣

    深圳的天气变幻莫测,尤其在夏季,一会儿烈日当空,一会儿突降暴雨。建议准备晴雨伞,防晒又防雨。总之时刻拿着一把伞总是没有错的, 晒了撑着, 下雨也撑着。

    防晒这一条主要是给妹子们看的

    深圳太太太太热了,紫外线也很强,一年中有7个月要穿短袖。所以不做好防晒工作的话,很容易就晒黑了。(尤其是胳膊上会有明显的黑白分界)。

    物业

    提示

    24小时物业电话 88015047

    校内物业很给力。但需要和物业约时间,以保证工作人员来修理时宿舍内有人陪同

    书立,文件夹

    随着学习的深入,做过的作业、quiz以及其他书本会越来越多,若不加以收拾,书桌总是乱糟糟的。如果用文件夹把做过的作业和quiz收拾起来,再用书立把每门课的资料分开,桌面会清爽有序很多。

    怎么洗衣服洗鞋

    宿舍楼下会有洗衣房,洗衣烘干洗鞋全部承包!你需要的只是:

    1. 微信公众号关注“海尔洗衣”(洗衣房里会有二维码) 或者下载APP“海尔洗衣”
    2. 一个桶盆:装衣服。可以用记号笔写上名字或者房间号,防止拿错
    3. 洗衣液

    注意

    男女洗衣房不能混用;

    袜子、内衣只能自己洗,不能放洗衣机哦!

    空间利用的小建议

    使用床头挂篮储物

    使用床头挂篮储物

    充分利用书柜

    充分利用书柜

    健忘症必备神器

    健忘症必备神器

    + + + diff --git a/life/freshman-register/index.html b/life/freshman-register/index.html new file mode 100644 index 000000000..45973dbd5 --- /dev/null +++ b/life/freshman-register/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 新生报到 | 南科手册 + + + + + +

    新生报到

    文稿部分来自《2020新生入学指南》

    报到前任务

    1. 网上预报道:请新生于2020年8月5日-27日登录新生报到系统http://freshman.sustech.edu.cn,用户名为18位身份证号,初始密码身份证号后6位。并于8月18日前完善个人基本信息,并上传一寸白底免冠照。报道前进入新生报到系统打印《新生入学报到程序单》。

      (咨询:网络信息中心 0755-88010772)

    2. 书院和导师双选:请于8月5日-8月18日在迎新报到系统同时提交3个书院志愿和导师志愿,进行双向互选。8月21日-22日为书院导师录取完毕后可在系统查询录取结果。

      (咨询:卢老师 0755-88010519)

    3. 入学费用:请持录取通知书内随寄银行卡前往就近银行网点激活,并在2020年8月20日下午6点前将7670元存入卡内。

      (咨询:吴老师 0755-88010802)

    4. 新生资助:家庭经济困难的新生,可以提前填写《南方科技大学家庭经济困难学生认定表》通过报到现场“绿色通道”入学,也可以办理生源地助学贷款。

      (咨询:陶老师 0755-88010516)

    5. 组织关系转移(限共青团员、共产党员):新生于2020年8月24日之前扫描二维码进行智慧团建系统团员身份认证/已注册智慧团建系统的学生团员进行系统内组织关系转移。填写完成后将审核截图上传到迎新报到系统指定位置(截图请保留姓名信息)。

      (咨询:熊老师 0755-88010676)

    6. 户口迁移:非深圳户籍新生入学时可以自愿选择是否办理户籍迁移手续。新生报道日起一个月为户籍转移资料收集限期,逾期视为放弃。

      (咨询:何老师 0755-88010654)

    7. 医保办理:我校本科生参加共三项保险,基本医疗需求保障全覆盖。若当年参加医疗服务其他社会保险,则可不参加我校保险购买,并填写写知情同意书。

    ​ (咨询:周老师 0755-88010579)

    1. 兵役登记:完成后才可入校办理报到手续。2020级所有男性新生在全国征兵网(http://www.gfbzb.gov.cn/)上于8月21日前完成登记。登记后将成功登记的页面截图上传至迎新报到系统指定位置。

    ​ (咨询:陈老师 0755-88010692)

    1. 学生档案:可通过自带档案或寄送档案两种方式提交。档案密封,撕毁无效。报到后未提交完整档案的新生应及时补交。

    ​ (咨询:黄老师 0755-88010512)

    1. 学生手册测试:新生可在迎新网(http://welcome.sustech.edu.cn)上下载《学生手册》学习,并于2020年8月5日-8月27日在迎新报到系统中点击“学生手册测试”进行测试,90分以上为通过。

    2. 入学准备状态测试:新生于2020年8月5日-8月27日在迎新报到系统中点击链接进入测试,一次性填答完毕。

    3. 安全教育测试:新生需要在迎新报到系统中点击链接前往测试平台观看学习视频,并于2020年8月5日-9月4日完成相关题目,80分以上为通过。

    完成上述任务即可在8月27日进行现场报到。上述任务具体操作见《2020新生入学指南》。

    现场报到

    报到时间:2020年8月27日9:00-16:00

    学校报到地点:学生宿舍11栋迎新楼101和102报到大厅

    书院报到地点:二期宿舍11栋各书院楼层

    具体报到手续见《2020新生入学指南》

    因故无法按时到校报到的学生,于8月20日前告知招生办万义超老师,说明原因。

    万老师联系方式:电话0755-88010549,传真0755-88010504,邮箱wanyc@sustech.edu.cn

    报到后

    1. 统一体检

    2. 军训延至寒假第一周(咨询:陈老师 0755-88010692)

    + + + diff --git a/life/index.html b/life/index.html new file mode 100644 index 000000000..df7b62241 --- /dev/null +++ b/life/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 👨‍🎓生活在南科 | 南科手册 + + + + + +

    👨‍🎓生活在南科

    住宿

    社团

    校内介绍

    餐饮

    超市

    湖畔,荔园,欣园,新生宿舍楼下均有超市,具体位置可参考手册首页的地图

    新生宿舍楼下的微喔超市是校内最大的超市,品类也最齐全。

    理发店

    • 教师公寓3栋楼下,可以理发,烫发,旁边是生活服务中心。

    🏊‍♀️运动设施

    介绍校内的所有运动设施,包含地点,开馆时间和简介。

    Tips

    • 出入校门、食堂买饭买水果买饮品、进出宿舍楼等都需要刷校园卡。校门口保安管的比较严格,进出会严查校园卡。学校没有封闭校门时间,随时进出都没问题。但是如果超过晚上十二点进入宿舍大门,要到宿管那里签上名字。
    • 如果打车想要进入学校,在车里朝着保安举一下校园卡,给门口保安展示,保安就会让你进来。
    • 关于校园卡,请参考“校园卡”一节。
    + + + diff --git a/life/sports-facility/index.html b/life/sports-facility/index.html new file mode 100644 index 000000000..fb3019cdb --- /dev/null +++ b/life/sports-facility/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 🏊‍♀️运动设施 | 南科手册 + + + + + +

    🏊‍♀️运动设施

    本页面树德书院学长团编写。

    游泳馆

    • 位置:风雨操场游泳馆

    • 开放时间:每年约4月初至12月初开放。(具体以邮件通知为准)开放时间为周一16:00-21:30;周二至周日6:30-21:30.

    注意事项

    1. 为保障游泳教学,游泳课时段不对其他人员开放。
    2. 雷雨大风天气等特殊天气,游泳馆将临时闭馆。
    3. 每周一05:30-16:00闭馆对游泳池进行清洗、消毒。
    4. 开馆期间凭本人校园卡进入。
    5. 游泳期间请服从游泳馆管理员及救生员安排,避免发生安全事故。
    6. 场馆预约热线:0755-88010650(内线80650)。

    体能训练中心

    南方科技大学国际体能中心位于润杨体育四楼,是集体能评估、运动康复、体能训练于一体的国际化体能中心,包括身体运动功能分析测力台、人体成分分析仪、量子功能性身体康复训练、肌肉深层按摩器与按摩轴、全速康复训练仪、身体各部位训练机、大型空气压缩机与小型力量综合训练架等训练器材与设备。配套设备包括淋浴、卫生间。同时配有专业指导教练。

    注意事项

    1. 凭预约信息及有效证件入场。
    2. 穿着运动鞋入场。
    3. 预约后如果不能在此时间段进场运动,需提前2小时取消预约,否则15日内不能进入该场馆。

    搏击馆

    南科大搏击训练馆是集武术散打、拳击、自由搏击、脚斗士、摔跤、MMA、巴西柔术、跆拳道等竞技体育专项技术、专项体能训练及实战对抗于一体的国际化训练中心。场馆内配有国际比赛标准的职业搏击擂台、UFC世界搏击最高平台相同标准的日常训练设施装备,以及引进先进的电子教学、测试系统,配置LED显示屏幕。

    击剑馆

    • 位置:润扬体育馆一楼
    • 练习室开放时间/击剑社活动时间:周四19:00-21:00;周日15:00-17:00

    户外运动公园

    包含攀岩墙和真人CS场地。

    篮球场

    • 位置:风雨操场篮球馆(室内)教师公寓旁(标准篮球场2块)欣园(标准篮球场7块)
    • 开放时间:风雨操场、欣园篮球场:8:00-22:00 教师公寓旁:8:00-12:00、14:00-21:00

    足球场

    • 位置:松禾体育场(11人制标准足球场1块)欣园(5人制标准足球场2块)
    • 开放时间:8:00-22:00

    排球场

    • 位置:风雨操场篮球馆旁边

    • 开放时间:8:00-22:00

    羽毛球场

    • 位置:润杨体育馆(标准羽毛球场10块)
    • 开放时间:8:00-22:00

    网球场

    • 位置:教师公寓旁(标准网球场2块)欣园(标准网球场7块+练习场1块)
    • 开放时间:8:00-22:00

    棒球场

    • 位置:教师公寓到三号门间
    • 开放时间:暂时只在大型赛事开放。

    棒球运动是一种以棒打球为主要特点,集体性、对抗性很强的球类运动项目。它在国际上开展较为广泛,影响较大。

    乒乓球馆

    • 位置:湖畔书院四栋一层二教一层
    • 开放时间:23:00闭馆

    台球馆

    • 位置:湖畔书院二栋一层开放时间:全天

    台球是一项别有趣味的休闲运动。书院楼下有可以免费使用的台球桌,但是领取球和球杆还是要押学生卡的。

    田径场

    • 位置:松禾体育场
    • 开放时间:8:00-22:00(熄灯时间)

    舞蹈房

    • 位置:湖畔舞蹈房(湖畔3栋楼下)荔园舞蹈房(荔园6栋)
    • 开放时间:23:00闭馆

    在舞蹈房,你可以跳优雅的拉丁,酷炫的街舞,或是做舒缓的瑜伽。你可以在这里尽情地释放自我。和相关社团成员一起享用效果更佳哦。

    健身房

    • 位置:湖畔健身房(湖畔三栋楼下)

    • 开放时间:全天不关门,深夜熄灯。

    + + + diff --git a/life/vehicle-charger.html b/life/vehicle-charger.html new file mode 100644 index 000000000..6eadc0576 --- /dev/null +++ b/life/vehicle-charger.html @@ -0,0 +1,39 @@ + + + + + + + + + 充电桩分布 | 南科手册 + + + + + +

    充电桩分布

    新能源车

    位置数量(台)
    学生宿舍(7-10栋)57
    工学院101
    学术交流中心15
    南科大中心35
    国际会议中心40
    教师公寓29

    四轮电动车

    位置数量(台)
    二科走廊4
    书院3栋1楼4
    创园4栋1楼4
    创园5栋1楼4
    荔园8栋1楼4
    荔园9栋1楼4

    两轮电动车

    位置数量(台)
    1号门自行车雨糊16
    3号门自行车雨棚16
    欣园1栋自行车棚16
    慧园2栋自行车棚16
    学生宿舍17栋自行车棚10
    学生宿舍12栋10
    第一教学楼10
    教师公寓6栋10
    湖群书院2栋10
    荔园9栋10
    创园5栋10
    + + + diff --git a/logo-assets/touch/homescreen144.png b/logo-assets/touch/homescreen144.png new file mode 100644 index 000000000..5449a4bae Binary files /dev/null and b/logo-assets/touch/homescreen144.png differ diff --git a/logo-assets/touch/homescreen168.png b/logo-assets/touch/homescreen168.png new file mode 100644 index 000000000..b0387f2f1 Binary files /dev/null and b/logo-assets/touch/homescreen168.png differ diff --git a/logo-assets/touch/homescreen192.png b/logo-assets/touch/homescreen192.png new file mode 100644 index 000000000..19bd1b904 Binary files /dev/null and b/logo-assets/touch/homescreen192.png differ diff --git a/logo-assets/touch/homescreen48.png b/logo-assets/touch/homescreen48.png new file mode 100644 index 000000000..aaa11829f Binary files /dev/null and b/logo-assets/touch/homescreen48.png differ diff --git a/logo-assets/touch/homescreen512.png b/logo-assets/touch/homescreen512.png new file mode 100644 index 000000000..93b6c60d4 Binary files /dev/null and b/logo-assets/touch/homescreen512.png differ diff --git a/logo-assets/touch/homescreen72.png b/logo-assets/touch/homescreen72.png new file mode 100644 index 000000000..dcb38901c Binary files /dev/null and b/logo-assets/touch/homescreen72.png differ diff --git a/logo-assets/touch/homescreen96.png b/logo-assets/touch/homescreen96.png new file mode 100644 index 000000000..2dfe87d19 Binary files /dev/null and b/logo-assets/touch/homescreen96.png differ diff --git a/manifest.webmanifest b/manifest.webmanifest new file mode 100644 index 000000000..73898ab55 --- /dev/null +++ b/manifest.webmanifest @@ -0,0 +1,45 @@ +{ + "name": "南科手册", + "short_name": "南科手册", + "start_url": "/index.html", + "display": "standalone", + "background_color": "#fff", + "theme_color": "#3eaf7c", + "icons": [ + { + "src": "logo-assets/touch/homescreen48.png", + "sizes": "48x48", + "type": "image/png" + }, + { + "src": "logo-assets/touch/homescreen72.png", + "sizes": "72x72", + "type": "image/png" + }, + { + "src": "logo-assets/touch/homescreen96.png", + "sizes": "96x96", + "type": "image/png" + }, + { + "src": "logo-assets/touch/homescreen144.png", + "sizes": "144x144", + "type": "image/png" + }, + { + "src": "logo-assets/touch/homescreen168.png", + "sizes": "168x168", + "type": "image/png" + }, + { + "src": "logo-assets/touch/homescreen192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "logo-assets/touch/homescreen512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} \ No newline at end of file diff --git a/media/index.html b/media/index.html new file mode 100644 index 000000000..08d0027c5 --- /dev/null +++ b/media/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 📺媒体与网站 | 南科手册 + + + + + +

    📺媒体与网站

    官方媒体

    校级

    名称网址/微信号二维码
    南方科技大学主页https://sustech.edu.cn在新窗口打开
    南方科技大学Bilibilihttps://space.bilibili.com/330683960在新窗口打开
    南方科技大学Twitterhttps://twitter.com/sustechsz在新窗口打开
    南方科技大学Facebookhttps://www.facebook.com/SUSTechSZ/在新窗口打开
    南方科技大学微信公众号SUSTech14325

    院、系、部门级

    名称网址/微信号二维码
    南科大团委SUSTech_Youth
    南科大研究生SUSTechGRAD
    南科大理学院gh_7cd0accb5726
    南科大工学院SUSTech_CoE
    南科大医学院SUSTech_Med
    南科大商学院cobsustech
    南科大创新创业学院SUSTech_iCollege
    南科人文gh_dfe75a665840
    南科大计算机系SUSTech-CSE
    南科大电子系sustc_ee
    南科大校友会gh_292ed725cdfc

    书院

    名称网址/微信号二维码
    致仁书院gh_67d6ddcf1965
    树仁书院sustcshuren
    致诚书院SUSTech_ZhiCheng
    树德书院sustc_shude
    树礼书院SUSTCsl
    致新书院SUSTech_zhixin

    信息类公众号

    名称网址/微信号二维码
    南方科技大学图书馆SUSTechLib
    南科大语言中心SUSTechCLESUSTechCLE
    南方科技大学教学信息平台SUSTC_TAO
    南科大招生SUSTech_zsb
    南科大学生事务中心gh_5f30bf8a4656
    南科大就业指导中心gh_e9b225f6358f
    南科大国际合作部gh_d466c32bf2d7
    南科大行政服务中心SUSTC-ASC
    南科大后勤服务campusop
    南科大总务君campusoperation

    学生组织与社团

    名称网址/微信号二维码
    南科大信息平台(学生会)SUSTC_Info
    南科新知(新闻社)gh_db61459fa255
    南科大义工联SUSTC_Volunteers

    自媒体

    微信公众号

    名称微信号介绍二维码
    串串科技在新窗口打开mo_mo_da_mua串串是南科大史上第一位卖串转型成网红的号主,“站对了风口,母猪都能吹起来”诚不我欺。2017年成绩惊人,其代表性推送多次被某院士(的朋友圈)引用,不愧为南科大新媒体界之标杆。
    千字纹yuancg27用可能错误的观点,可能真诚的态度,以及可能笨拙的书写,对抗可能无意义的生命。
    少爷和陈老师gh_907391e11ad8(院长的)个人习作练习本
    你科周末在新窗口打开joydiet扎根妮可的野生周末菌。
    南科先知在新窗口打开gh_189f9ac8413e在这里读懂南科。
    南科每日见闻sustechdailynews南科每日见闻致力于打造南科大洋葱新闻的频道,读者却发现里面大实话比假新闻还多,感人至深。
    LGBT在南科SUSTC_LGBT把LGBT在南科分享到南科大家长群,家长马上就不愿意了:“南科大这么多同性恋?还得开个号?”他们实在是跟不上潮流了,家长就该知道,这个公众号的粉丝里,腐女比基佬还多!
    南科大表白墙gh_6fe1a8d532fa有些人没人爱,只能去南科大表白墙给心爱的人表白。一看这阅读量,你说一没人爱的表白墙,你还指望它保佑你?
    南科数据在新窗口打开SUSTech-data南科数据用7个人的工作量,完成了串串1个人的推文效果;调查了南科大三千人的生活数据,获得了一百来个阅读量。
    MH的情诗gh_56faa346030cMH的情诗从来没有写过情诗,都是他自己写给自己的,蛮不容易的小伙子,里面有自拍,赏脸进去找找吧。
    BelleEaubelleeauBelleEau用了个法语名字,在这么多表里不一的公众号群体里,这是难得的名字和内容如此一致的,都像靡靡之音。这个法语名字音译成白露,太矫情,就该叫:水得漂亮。顺便一提,目前的公众号文章作者叫做枫丹在新窗口打开
    StudioGlorirestudiogloireStudioGloire见证了冯小漠从白手起家到过气网红的宝贵青春年华。难得的一个坚守文字气息没有蹭热度的公众号,然后果然也没啥人看。
    双层gh_2b62fead6a8a双层是鹏总的一个小号,听说是他在某报社做新媒体时练手用的。鹏总有花不完的钱,用不完的公众号,幸好女朋友只有一个。
    铮锋媒体工作室在新窗口打开Incisive_Blade_Media铮锋是南科大所有自媒体的爸爸,当然,爸爸上了年纪之后,之所以能当爸爸,并不是因为说话精彩,也不是因为人气旺,纯粹就是因为年纪大而已。
    揽雀尾HaggittLee揽雀尾记录的是南科大黑帮文化核心人物李岩松的发家史,最近没怎么看见更新,要么是他又在忙着发家,要么是我取关了。
    张废椅BigHwa2333南科大的文艺公众号有两种:蹭热度涨粉丝,不要脸的;要脸有原则,曲高和寡的。张废椅是第三种,不要脸也没粉丝的,的确是一张废椅了。
    蠢的猫meowumeow蠢的猫是钉总做影评的号,影评号有写得比电影好看的,有文章蹭电影热度的,而这个号有人关注,纯粹因为名字有猫。
    ShiwoHShiwo_H当代艺术很难理解:可以放个小便池,叫装置艺术品;劈开一字马写毛笔字,成了大师;公众号一年一更,还特有道理,说“这儿啥都没有”。
    草莓味大侠gh_3b8708014fed不要关注草莓味大侠,因为这个公众号号主对待推文如对待qq空间的说说一样。当然,评论区也是这样。别浪费时间了。
    巧克力琼脂gh_1f42309c3eee巧克力琼脂发挥强大的文言文功底,全文分析了著名的《诸葛亮骂死王司徒》,成功把已经红遍大江南北的名文又搞冷场了。
    徵羽zy170504徵羽 非常有 成为一个诗人 的潜质 特别是喜欢 把一段话 分行
    没有墨水myms-wanan微信公众号服务能有力地推进文化大发展大繁荣,什么小学生作文都能往上放。
    FishmanInFishlandgh_b13ae4ee27dfFISH是一个行为艺术家,曾经他想做一个“一夜蹿红”的行为艺术,没成功,后来他要做一个“退出江湖”。成功了。
    二十七号病床gh_f9504b1ff650一个曾经做日历失败了,然后转行做3D打印硬糖的老板娘…
    只允许含有中文英文数字gh_624f22da5bd3如果一个公众号的关注量有负数,那么一定属于一个讲数学问题的公众号。
    Scheddi的小世界gh_71b51070297a这位德语名字的小世界,一直在等待插图,这是个小到没有插图的世界。
    过饱和醋酸钠溶液supersaturatedNaAc过饱和醋酸钠是一种没有醋酸的酸味,也没有别的钠盐好用的东西。说明至少有一个优点,就是对自己的号定位准确。
    南科危废在新窗口打开wefailed它就像它的微信号说的那样。
    川哥沙雕搬运shadiaochuan这是一个不定期搬运沙雕图、推荐电影、甚至小编还会自掏腰包请大家免费听歌的公众号。
    黑色肥肠HSFC1997喜欢在寂寥无人、蠢蠢欲动的夜晚进行一些单身狗式的过度思考。
    啵闻在新窗口打开sustechbowen知道了自己保研消息的博姥爷干了两件事情:一个是感谢自己的导师,还有一个是开了这个公众号吹牛。看着啵宝就像看时尚杂志——月入5k的人,教月入2k的人怎么过月入2w的生活。
    南科周末DeltaLeo南科周末正在努力学习UC浏览器的技术,特别是如何不要脸地抄袭别人的头条。

    网站

    欲查看其他服务网站,请参见服务一节。

    + + + diff --git a/miniapp/index.html b/miniapp/index.html new file mode 100644 index 000000000..adb35d3d9 --- /dev/null +++ b/miniapp/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 南科手册-微信小程序 | 南科手册 + + + + + + + + + diff --git a/news/index.html b/news/index.html new file mode 100644 index 000000000..30bbb6c9e --- /dev/null +++ b/news/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 更新日志 | 南科手册 + + + + + + + + + diff --git a/organizations/index.html b/organizations/index.html new file mode 100644 index 000000000..b6197f165 --- /dev/null +++ b/organizations/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 🎡社团活动 | 南科手册 + + + + + +

    🎡社团活动

    提示

    欢迎社联和各社团与南科手册合作,本页免费提供广告位。详情请查看 贡献页面

    注册社团列表

    相信刚结束高中三年的你们对于丰富多彩的大学生活肯定是充满了期待。没错,大学生活怎么能只有学习学习和学习呢?!没有参加过什么社团组织的话, 我敢打赌你的大学四年会留下遗憾的(赌一包辣条敢不敢)。

    社团

    学校的社团组织种类很多,同时,当你发现你感兴趣的东西没有响应的社团时,也可以去各个群里吼几嗓子(滑稽),相信总会有那么一帮志同道合的小伙伴,大家可以一起创建起社团,造福自己,造福南科!(啊~~~~)

    重头戏当然是秋季学期的百团大战!到那时各个社团都会出动抢人,想尽一切办法给自己的社团增添人气。想象一下,那么多社团一起摆摊宣传,那场面肯定比赶大集还热闹。当然,这也是萌新们了解社团,加入社团的大好时机!如果你想加入社团而又不知从何下手的话,这场百团大战一定不要错过。

    提示

    不同的社团会由不同的书院来管理,因此有一些社团名称前会带有某个书院的名称,但并不代表只有这个书院的同学才可以加入哦。我们的社团都是面向全校开放、活动的,所以不管你是哪个书院的学生,都可以去寻找自己想去的社团哦。

    南科大目前约有在册学生团体数百个,涵盖了思想政治类、志愿公益类、学术科技类、体育竞技类、创新创业类、文化艺术类、自助互益类及其他类别。另外,同学们如果有自己创建学生团体的想法,可依据相应流程创建学生团体。

    社团组织简介

    团学组织

    即校团委和团委指导下的组织。

    • 校团委及其指导下的团学组织:南方科技大学学生会、社团联合会、义工联合会

    • 书院指导的团学组织:学长团、各书院团总支、学生会(自管会)各班级的团学组织:团支委和班委校职能部门指导的学生团体

    • 党委公共关系与宣传部指导的“学生新闻社”招生办公室指导的“招生宣传协会”等

    • 国际学术团体分支及校科研教学单位指导的学生团体:电气和电子工程师协会(IEEE)、美国光学学会(OSA)、国际光学工程学会(SPIE)

    体育竞技类学生团体

    • 书院运动项目院队:男足、女足、男篮、女篮、羽毛球队,游泳队等

    • 体育中心指导下的体育竞技校队:校游泳队、校羽毛球队,校定向运动协会;校舞蹈团等;

    • 在社团联合会登记的体育特色社团:

    社团名称
    乒乓球社
    定向越野社
    清羽飞扬羽毛球社
    搏击社
    女子篮球社
    炽焱足球社
    排球社
    跆拳道社
    篮球社
    轮滑社
    散打社
    川衡社
    南科武学社
    篮球社
    滑板社
    雁落弓社
    电竞社
    自行车社
    女子篮球社
    瑜伽社

    志愿公益类学生团体

    这类学生团体以服务社会、公益环保为主要活动内容。加入这类学生团体,能让你深入了解社会需求,培养社会责任感,同时还能提高你的社交能力、组织策划能力,并有机会结交一些社会人士。

    社团名称
    绿色营自然保育社
    招生宣传社团
    猫社
    手语社

    义工联合会

    南方科技大学义工联合会(Southern University Volunteer Association)简称南科大义工联,英文简称“SUVA”,成立于2017年5月,是一个新兴的校级学生组织。义工联的成立是为了整合校内公益力量,进一步保障义工权益,促进志愿活动规范化、公益组织专业化,营造全校的公益氛围。

    下辖社团:

    社团名称
    南科大应急救援队
    南科大招协
    南科公益
    义工联合会—教职工子女分队

    思想政治类

    社团名称
    学生研学社
    军事爱好者社团

    其它在社团联合会登记的学生社团

    文化艺术类社团

    在理工科大学艺术家的心,这是一些以文化修养、艺术技巧为主要内容的学生社团,唱,跳,rap应有尽有;加入这类社团,能找到一群有相同志趣的小伙伴,增强彼此的技艺交流中,还可以增强对艺术的理解。

    社团名称
    桥牌社
    西乐社在新窗口打开
    科幻协会社团
    SCAP动漫社
    NOVA街舞杜
    轻音社
    文学社
    东亚神话与邦乐研究社
    Penbeat社
    魔方社
    Dauber画社
    致仁烘焙社
    音乐剧社
    桌游社
    橡胶调酒社
    铜琴社
    电子音乐社
    日本语言学习社
    电影沙龙社
    围棋社
    推理社
    辩论与口才社
    拉丁杜
    文化创意社
    Wink舞社
    弈林棋社
    吉他社
    书画社
    万智牌社
    摄影社
    精灵宝可梦中心社
    孟荀学社

    学术科技类社团

    把自己所学的各类理论知识运用到实践中,将知识迅速转化,是一件很棒的事呢。加入这类社团,能够加深你对知识学习的理解,提高你的实际动手能力和利用知识解决实际问题的能力。

    社团名称
    航模社
    模拟联合国社
    工业设计社
    天文社
    国际材料研究学会(MRS)南科大分会社团
    科普社团
    电子和电子工程(IEEE)南科大学生分会社团
    计算机研究协会社团
    虚拟现实技术社
    翻译社

    创新创业类创新创业社团

    能让你有机会接触到项目实际操作的流程和管理,了解市场需求,学习创业技能。

    社团名称
    创新创业协会社
    家教社

    筹备社团

    社团名称
    大学生就业与职业发展社团(筹)
    游戏王社(筹)
    网球社(筹)

    Tips

    如何选择心仪的社团

    1. 【学业为主,立足实际】

      南科大学研任务繁重,同学们时间与精力有限,应合理规划社团活动与学习时间,选择一至两个社团为佳。

    2. 【依据爱好,立足社况】

      基于学校的情况与社团的发展状况,了解不同社团组织形式、规模、组织能力、运作模式、以往业绩,依据自己的优势及爱好做出判断。

    3. 【评估双方,立足于己】

      了解过社团的相关情况后,评估一下自己加入目标社团需要投入的时间和精力、自己的期许与对社团的付出,做到知已知彼,不能盲目加入。

    4. 【谨慎创社,立足于情】

      南科大目前社团种类众多,不少社团面临着能否保持长期活力的问题。决定创立新社团之前,要先调查学校是否有类似性质的社团,避免部分社员精力耗散。充分规划社团发展前景,保持社团长期的生命力。

    关于社团,学长学姐还想说:

    1. 社团跟选书院没关系!!

      不同社团可能归属在不同书院名下,但并没有什么影响,每个社团都面向全体南科大学生。

    2. 如何了解社团?

      除了会收到各种宣传手册,开学后还会有“百团大战”大型活动,届时大多数社团都会开设摊位进行展示,吸引感兴趣的萌新们加入~另外,也推荐找相关的学长学姐了解情况哦。

    3. 量力而行

      社团虽有趣,但要量力而行,学会取舍。一个社团愉快,两个社团充实,三个就过多了。

    4. 社团有专业老师吗?

      大部分运动类社团,如舞蹈社、羽毛球社、武术社……每个星期都会有几个小时的固定锻炼/上课时间;会有专门的教练/老师上课教学;优秀的社员还可以代表学校参赛;有些非运动类社团也会有指导老师,请具体咨询。

    5. 选择热爱的社团

      不建议加入社团然后长期划水。若真的想从中学到东⻄、交到朋友,要愿意主动花时间。所以建议选择自己真正热爱并能坚持参与的社团。

    6. 社团氛围的营造

      一个积极活跃的社团就像一个大家庭,社员之间坦诚相待,约饭约练习,有很好的归属感。而一个社团是否有活力,也往往靠社员们的热情参与和长期坚持。所以加入社团后一定要学会合理安排时间,积极参与,共同把社团建设成一个大家庭!

    参考资料

    本页面的编写参考了树德书院学长团所编写的《南科行前记》中的内容。

    + + + diff --git a/organizations/registered-organization-2019.html b/organizations/registered-organization-2019.html new file mode 100644 index 000000000..5961a0ddc --- /dev/null +++ b/organizations/registered-organization-2019.html @@ -0,0 +1,39 @@ + + + + + + + + + 注册社团列表(2018-2019年度) | 南科手册 + + + + + +

    注册社团列表(2018-2019年度)

    思想政治类

    社团名称社长姓名副社长姓名指导老师
    学生研习社梁振宇许博清 张玄来小栋
    军事爱好者社团张田旭任海翔袁长庚

    学术科技类

    社团名称社长姓名副社长姓名指导老师
    航模社袁浩岚张逸飞 吴梦霏 林悦滢 翟许辰何紫琳、李斯 明
    天文社温黎平万雨豪 许景波叶生毅
    电子和电子工程协会(IEEE)南科 大学生分会社团郑金涛余梦霞班莹莹
    虚拟现实技术社祁晨晨黄德淳郝祁
    国际材料研究学会(MRS)南科 大分会社团李冲王俊玮 韩明昊王芳
    模拟联合国社隋瑗徐阳
    计算机研究协会社团李照钟兆玮 吴江宁郝祁
    翻译社Tan Chin Chin张胡梦圆 毛振江 王超刘姗艺
    工业设计社吴迪黄德淳尉进
    科普社团宋帅东刘威胡玙璠

    创新创业类

    社团名称社长姓名社长学号副社长姓名指导老师
    创新创业协会社叶顶强11810121颜秋阳 申奥 于启东 杨照基张冬

    文化体育类

    社团名称社长姓名副社长姓名指导老师
    桥牌社张楚唯尹水杉 郑旭川李蓝
    乒乓球社韩旭东罗雨萌 骆诗航何紫琳
    炽焱足球社彭程邹镒泽 李荀 李世超赵一品
    Penbeat社陈冶冬汪海鹏 黄炜杰 张一驰郭超
    散打社郭诗岳王颷卢阳
    电子音乐社闫炜杰张晨旭 乔昱淇袁长庚
    Wink舞社林悦滢徐嘉玉赖莎
    雁落弓社汤忠融张森瀚任奕霏
    定向越野社彭睿杰王品轩 孙习羽侯思宇
    西乐社张瑞祺魏林通
    魔方社王珺韩昕汝邱星源
    日本语言学习社王铎霖张子健 李之宸李冬娜
    排球社涂皖欣杨萌钰侯思宇
    弈林棋社王家辰袁靖侯思宇
    科幻协会社团王子瑞徐佳慧吴岩
    Dauber画社陆品谚侯思宇
    电影沙龙社沈洋高膨 黄云浩袁长庚
    吉他社张博文胡浩誉 何相汝魏林通
    Rugby社黄裕清马宇杰 邓周燕 邵师尧 吴凯跃于璐
    SCAP动漫社陈子建钱柏臣 张洋溢Jesse Cancelmo
    川衡社李奇隆蔡依农 郭泰森罗林斯特
    电竞社徐衡张朝滇 张雪琰侯思宇
    致仁烘焙社阎沁琳邹佳迪 吴一凡 刘泽霈邱星源
    围棋社宋政宇吴宇闻 徐楠侯思宇
    书画社熊天楚荐天蓝帅月
    NOVA街舞社李超刘昊天赖莎
    清羽飞扬羽毛球社祝学林刘澄昱 郑煜涛 徐品深 冯浩然 叶可欣魏伟成
    跆拳道社刘怡王庭哲赵洋
    音乐剧社谭荔丹纪涛
    南科武学社唐家豪欧阳灏赵洋
    推理社岑思宇张正源
    万智牌社吴克非杨锐 范霄弈党骐
    自行车社李明阳殷腾峻 杨其朔魏伟成
    搏击社何睿中郭诗岳 王颷 高天栎卢阳
    篮球社肖奕楠李不言董伦红
    女子篮球社吴练璠张沁琳 曹蓝心 张星玥董伦红
    轻音社张淘月聂秋实 刘盛豪 付钰 田野鲁大为
    桌游社周子越贺泽宇
    轮滑社胡世杰胡明涛孙颜
    辩论与口才社于涵霖马敬博刘萍
    滑板社范航瑞唐之遥何绮婷
    摄影社孙思玥张旺 卿博文 张博文郭超
    瑜伽社钱偶讷吴伟悦马缨
    文学社路凯梁钰栋袁长庚
    橡胶调酒社池锟丁启维袁长庚
    拉丁社杨晨煜团委艺术中心 负责
    精灵宝可梦中心社刘畅毓白同旭邱星源
    东亚神话与邦乐研究社胡烜榛何琰 周梓钦王晓葵
    钢琴社郑泽强李文沛 王照坤 王竞辉 南江翊魏林通
    文化创意社熊天楚云泽彬 汪紫烟张璞
    孟荀学社孟斐李岩松 韩志远 谢壮壮 张一凡赵建华
    志愿公益类
    绿色营自然保育社蔡佩静吕沫
    招生宣传社团胡凌云冀潇崔繁
    猫社李游吕玥 黄纪潮吴一敏
    手语社李之宸陈旭丹陈梦鸽
    其他类
    花粉俱乐部社刘怡斌罗培聿 钟万里许嘉桐

    筹备社团

    社团名称社长姓名副社长姓名指导老师
    大学生就业与职业发展社团郭锦桐
    游戏王社唐若皓
    网球社孙云柯
    游泳社方泽桐

    参考资料

    • 关于公布2018-2019年度南方科技大学学生社团年审工作结果的通知(邮件)
    + + + diff --git a/organizations/registered-organization-2020.html b/organizations/registered-organization-2020.html new file mode 100644 index 000000000..db8ef561d --- /dev/null +++ b/organizations/registered-organization-2020.html @@ -0,0 +1,39 @@ + + + + + + + + + 注册社团列表(2019-2020年度) | 南科手册 + + + + + +

    注册社团列表(2019-2020年度)

    社团名称社团类型社长姓名指导老师姓名主管部门
    NOVA 街舞社文化体育类廖婧池赖莎体育中心
    Wink 舞社文化体育类周今月赖莎体育中心
    辩论社文化体育类丁启维刘萍树礼书院
    定向越野社文化体育类冯浩轩侯思宇体育中心
    乒乓球社文化体育类韩旭东何紫琳 秦晨芳体育中心 校团委
    桥牌社文化体育类郑旭川谢阅校团委
    书画社文化体育类荐天蓝张玉洁致仁书院
    跆拳道社文化体育类陈振宇赵洋体育中心
    自然国学社文化体育类孟斐乐美理学院
    Dauber 画社文化体育类陆品谚侯思宇体育中心
    搏击社文化体育类何睿中卢阳体育中心
    川衡社文化体育类李奇隆罗林斯特体育中心
    电竞社文化体育类徐衡侯思宇体育中心
    翻译社文化体育类Tan Chin Chin谢玲琍语言中心
    钢琴社文化体育类郭傲魏林通树仁书院
    吉他社文化体育类张博文魏林通树仁书院
    南风诗社文化体育类曹子旋李蓝人文科学中心、树礼书 院
    武学社文化体育类杨瀚博赵洋体育中心
    清羽飞扬羽毛球社文化体育类石松林孙瑜 侯杰体育中心 树德书院
    日语社文化体育类年通宇李冬娜党政办公室
    树礼微电影社文化体育类白钰溦王浩树礼书院
    文化创意社文化体育类熊天楚张璞宣传与公共关系部
    西乐社文化体育类阳嘉辉卢雪霞树仁书院
    校园大使文化体育类冯晨曦李思颖校团委
    雁落弓社文化体育类汤忠融任奕霏致新书院
    弈林棋社文化体育类杨奕辰侯思宇体育中心
    游戏王社文化体育类唐若皓陈窗叙重大事项办公室
    游泳社文化体育类方泽桐王鑫体育中心
    致诚歌唱社文化体育类陈宏洋罗芬致诚书院
    致诚设计社文化体育类邓煜王莲君致诚书院
    致诚咏春社文化体育类杜昊澄甘立海致诚书院
    致仁烘焙社文化体育类郭嘉欣顾佳致仁书院
    致仁民乐团文化体育类付钰张玉洁致仁书院
    SCAP 动漫社文化体育类张洋溢原指导老师离职一星
    树礼阿卡贝拉社文化体育类文颖潼解一琪树礼书院
    炽焱足球社文化体育类彭程赵一品体育中心
    东亚神话与邦乐研究社文化体育类胡烜榛王晓葵社科中心
    瑜伽社文化体育类钱偶讷马缨树德书院
    风华主持队文化体育类张欣怡李思颖校团委
    电影沙龙社文化体育类蒋润喆袁长庚社科中心
    电子音乐社文化体育类乔昱淇袁长庚社科中心
    拉丁社文化体育类吴伟悦熊天成校团委
    篮球社文化体育类陈俊滔董伦红体育中心
    轮滑社文化体育类胡世杰孙颜体育中心
    魔方社文化体育类王珺邱星源致仁书院
    女子篮球社文化体育类林慧燕董伦红体育中心
    排球社文化体育类裴鸿婧侯思宇体育中心
    树仁京剧社文化体育类周名昊魏林通树仁书院
    天文社文化体育类黄子炫叶生毅地球与空间科学系
    推理社文化体育类岑思宇杨枫宇树仁书院
    万智牌社文化体育类吴克非党骐党政办公室
    围棋社文化体育类宋政宇侯思宇体育中心
    文学社文化体育类路凯袁长庚社科中心
    橡树调酒社文化体育类池锟袁长庚社科中心
    野战社文化体育类刘瀛泽白波体育中心
    音乐剧社文化体育类谭荔丹纪涛艺术中心
    致仁咖啡社文化体育类丁启维张玉洁致仁书院
    致新非物质文化遗产社文化体育类张程浩陈梦鸽致新书院
    致新古琴社文化体育类李心平陈梦鸽致新书院
    棍网球社(筹)文化体育类梅宏悦郭超树礼书院
    滑板社(筹)文化体育类范航瑞何婷婷化学系
    空手道社(筹)文化体育类李博涵赵洋体育中心
    南枝未央汉服社(筹)文化体育类韦婉儿解一琪树礼书院
    轻小说社(筹)文化体育类贾拿云鲁大为物理系
    摄影社(筹)文化体育类孙思玥郭超树礼书院
    网球社(筹)文化体育类李睿杰白波体育中心
    致诚健身社(筹)文化体育类徐子屹崔科峰致诚书院
    致仁杠铃社(筹)文化体育类王超逸张玉洁致仁书院
    学生研习社思想政治类张玄来小栋树仁书院
    军事爱好者社团(筹)思想政治类张田旭袁长庚社科中心
    猫社志愿公益类闫一茗王坤心理成长中心
    树礼科普社志愿公益类杨宇昂王浩树礼书院
    招生宣传协会志愿公益类胡凌云崔繁招生办
    绿足迹自然保育社志愿公益类蔡佩静吕沫生物系
    树德 STEAM+创客教育社团 (筹)志愿公益类胡艺霖李斯明树德书院
    航模社学术科技类徐嘉睿何紫琳 李斯明体育中心 树德书院
    DataHub 社团学术科技类唐龙飞田国梁统计与数据科学系
    数学物理社学术科技类张奥孔良量子科学与工程研究院
    材料研究学会南科大学生分 会学术科技类王旭扬王芳材料科学与工程系
    工业设计社学术科技类吴迪尉进系统设计与智能制造学 院
    计算机研究协会社团学术科技类樊青远郝祁计算机科学与工程系
    深渔俱乐部学术科技类廖崇霖张传伦 程斯宇海洋科学与工程系
    虚拟现实技术社学术科技类黄德淳吴岩人文中心
    自主智能机器人社团学术科技类郭永杉潘阳 李斯明机械与能源工程系 树德书院
    模拟联合国协会(筹)学术科技类徐源榕徐阳国际合作部
    未来企业家俱乐部创新创业类刘师宇邵理阳创新创业学院
    创新创业协会社创新创业类于启东张冬创新创业学院
    CAN 极客社团(筹)创新创业类王炜皓赵耀计算机科学与工程系
    大学生就业与职业发展社团 (筹)创新创业类米国俊陆经纬就业指导中心
    花粉俱乐部其他类刘行许嘉桐学生工作部
    理想社(筹)其他类蔡任伟陈向东 程要提理学院

    参考资料

    • 关于公布2019-2020年度南方科技大学学生社团年审工作结果的通知(邮件)
    + + + diff --git a/organizations/registered-organization-2021.html b/organizations/registered-organization-2021.html new file mode 100644 index 000000000..ca31d0d94 --- /dev/null +++ b/organizations/registered-organization-2021.html @@ -0,0 +1,39 @@ + + + + + + + + + 注册社团列表(2020-2021年度) | 南科手册 + + + + + +

    注册社团列表(2020-2021年度)

    社团名称社团类型社长姓名指导老师姓名主管部门
    NOVA 街舞社文化体育廖婧池赖莎体育中心
    RS 轮滑社文化体育王丹阳孙颜体育中心
    SCAP 动漫社(筹)文化体育张洋溢指导老师离职
    WINK 舞社文化体育周若雨赖莎体育中心
    万智牌社文化体育杨子青党骐党政办公室
    东亚神话与邦乐研 究社文化体育周航王晓葵社科中心
    乒乓球社文化体育韩亦雄秦晨芳 何紫琳校团委 体育中心
    书画社文化体育王子墨张玉洁致仁书院
    凤凰社(筹)文化体育石松林吴晔昊树仁书院
    南枝未央汉服社文化体育韦婉儿解一琪树礼书院
    南风诗社文化体育高强李蓝树礼书院
    围棋社文化体育丁泽洋侯思宇体育中心
    国旗护卫队其他刘炎炜陈子廷征兵工作站
    天文社学术科技唐乐陶叶生毅地理与空间科学系
    学生研习社思想政治张玄杨枫宇树仁书院
    定向越野社文化体育孙逸涵侯思宇 张玉洁体育中心 致仁书院
    川衡社文化体育余天泽罗林斯特 钟宇昕体育中心 树德书院
    开言堂相声社文化体育徐春骥宋帅东致新书院
    弈林棋社文化体育张一鸣侯思宇体育中心
    心理学社(筹)文化体育李秋实王坤学生工作部 心理成长中心
    战术研习社文化体育魏子荀白波体育中心
    拉丁舞社文化体育董小雅熊天成校团委
    招生宣传协会志愿公益郑芙嘉崔繁招生办公室
    排球俱乐部文化体育杨佳怡侯思宇体育中心
    数学物理社(筹)学术科技张奥孔良量子研究院
    文化创意社文化体育云泽彬朱增光宣传与共公关系部
    文学社文化体育姚健袁长庚社会科学中心
    日语社文化体育许天淇李冬娜党政办公室
    明航支教队志愿公益唐易坤熊天成校团委
    机器智能社学术科技韩旭东融亦鸣 宋超阳机械与能源工程系
    树仁京剧社文化体育周名昊魏林通树仁书院
    树仁吉他社文化体育蔡家仪吴晔昊树仁书院
    树德 STEAM+创客 教育社团志愿公益周峻弘李斯明树德书院
    树德力量举社文化体育孙一翔钟宇昕树德书院
    树礼科幻协会文化体育任泰衡李蓝树礼书院
    树礼科普社志愿公益林雨航王浩树礼书院
    树礼说唱社文化体育刘懋祥解一琪树礼书院
    树礼阿卡贝拉社文化体育文颖潼解一琪树礼书院
    校园大使文化体育尹沫文李思颖校团委
    桥牌社文化体育马玄轶夏侯露钰校团委
    棍网球社文化体育孙介朴郭超树礼书院
    模拟联合国协会学术科技郑可锌徐阳国际合作部
    武学社文化体育覃天泽赵洋体育中心
    清羽飞扬社文化体育吴海涵孙瑜 侯杰体育中心 树德书院
    游戏王社文化体育宫正陈窗叙规划发展部
    游泳社文化体育李蔚王鑫体育中心
    狼人杀社(筹)文化体育马晨昊指导老师离职
    猫社志愿公益张闻城王坤学生工作部 心理成长中心
    瑜伽社文化体育王雅淇马缨树德书院
    电声社文化体育宋致远熊天成校团委
    电影沙龙社文化体育陈梓歆袁长庚社会科学中心
    电竞社文化体育周子航侯思宇体育中心
    立直麻雀社文化体育尹水杉顾理一商学院
    篮球社文化体育陈俊滔董伦红体育中心
    粤语社(筹)文化体育陈旭丹钟宇昕树德书院
    绿足迹自然保育社志愿公益蔡佩静吕沫生命科学学院
    美丽中国教育协会 (筹)志愿公益周萌指导老师离职
    翻译社(筹)学术科技毛振江指导老师离职
    自然国学社文化体育孟斐乐美理学院
    致仁 Camerata 咖 啡社文化体育周君泽张玉洁致仁书院
    致仁民乐团文化体育荐天蓝张玉洁致仁书院
    致仁烘培室文化体育王怡张玉洁致仁书院
    致新古琴社文化体育麦晋源陈梦鸽致新书院
    致新非物质文化遗 产社文化体育张程浩陈梦鸽致新书院
    致诚健身社文化体育陈孙兵张瀚文致诚书院
    致诚咏春社文化体育杜昊澄甘立海致诚书院
    致诚歌唱社文化体育岳翼遥张琦致诚书院
    致诚设计社文化体育周安然陈胤淇致诚书院
    航模社学术科技徐嘉睿何紫琳 李斯明体育中心 树德书院
    花粉俱乐部其他刘行许嘉桐学生工作部
    虚拟现实技术社学术科技黄德淳吴岩人文科学中心
    行水国风音乐社 (筹)文化体育张重言侯杰树德书院
    西乐社文化体育李忻睿卢雪霞 周祐民树仁书院 海洋科学与工程系
    计算机研究协会学术科技陈俊峰郝祁计算机科学与工程系
    跆拳道社文化体育陈振宇赵洋体育中心
    轻小说社文化体育贾拿云鲁大为物理系
    辩论社文化体育黄一鸣刘萍树礼书院
    钢琴社文化体育赵子安魏林通树仁书院
    雁落弓社文化体育贺思楠陈梦鸽致新书院
    风华主持队文化体育贾松硕李思颖校团委
    魔方社文化体育马旺张玉洁致仁书院

    参考资料

    • 关于公布2020-2021年度南方科技大学学生社团年审工作结果的通知(邮件)
    + + + diff --git a/qr-code.jpg b/qr-code.jpg new file mode 100644 index 000000000..edd13c754 Binary files /dev/null and b/qr-code.jpg differ diff --git a/realtime-bus-map/line1.geojson b/realtime-bus-map/line1.geojson new file mode 100644 index 000000000..4e65d54e6 --- /dev/null +++ b/realtime-bus-map/line1.geojson @@ -0,0 +1,285 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 113.9902000608227, + 22.60334446057298, + 0 + ], + [ + 113.9903507353066, + 22.60274690433305, + 0 + ], + [ + 113.9908897685934, + 22.60223280847205, + 0 + ], + [ + 113.9916260097764, + 22.60156692563558, + 0 + ], + [ + 113.9920446448193, + 22.60109135771524, + 0 + ], + [ + 113.9920345671635, + 22.60052003061499, + 0 + ], + [ + 113.9919356057219, + 22.60002742855453, + 0 + ], + [ + 113.9913193648925, + 22.59945330686925, + 0 + ], + [ + 113.9908118273651, + 22.59919305096794, + 0 + ], + [ + 113.9905758993394, + 22.59903425858952, + 0 + ], + [ + 113.9904009525345, + 22.59862018369482, + 0 + ], + [ + 113.9902978490773, + 22.59752639824848, + 0 + ], + [ + 113.9904063277428, + 22.59709615868556, + 0 + ], + [ + 113.9908760621444, + 22.59704147897459, + 0 + ], + [ + 113.9915566904328, + 22.5972455558366, + 0 + ], + [ + 113.9920342333153, + 22.59726814181022, + 0 + ], + [ + 113.9927162086146, + 22.5968173712095, + 0 + ], + [ + 113.9932552142158, + 22.59630326187374, + 0 + ], + [ + 113.9938251162565, + 22.5960599036024, + 0 + ], + [ + 113.9942637689173, + 22.59607116200299, + 0 + ], + [ + 113.9945506236767, + 22.59551917942994, + 0 + ], + [ + 113.9952872316258, + 22.59597241715224, + 0 + ], + [ + 113.9965296425777, + 22.59731692465482, + 0 + ], + [ + 113.9980455511388, + 22.59902110136386, + 0 + ], + [ + 113.9987961352288, + 22.59953364148681, + 0 + ], + [ + 113.9996172189355, + 22.60002130471761, + 0 + ], + [ + 113.9988625272248, + 22.60073512664515, + 0 + ], + [ + 113.998734780645, + 22.60117875994807, + 0 + ], + [ + 113.9987272567012, + 22.60148247090658, + 0 + ], + [ + 113.9984811102924, + 22.60178382602745, + 0 + ], + [ + 113.9982613807302, + 22.6021205004729, + 0 + ], + [ + 113.9980697519452, + 22.60258771673122, + 0 + ], + [ + 113.9980026147617, + 22.60300575140722, + 0 + ], + [ + 113.9979489117119, + 22.60325062940188, + 0 + ], + [ + 113.9978602396981, + 22.6033412591236, + 0 + ], + [ + 113.9968866415579, + 22.6029808956564, + 0 + ], + [ + 113.9962401029074, + 22.60288348203091, + 0 + ], + [ + 113.9955117554291, + 22.60290040283193, + 0 + ], + [ + 113.9950813789864, + 22.60335930509263, + 0 + ], + [ + 113.9944946598457, + 22.60394737599491, + 0 + ], + [ + 113.9939497003322, + 22.60464554145209, + 0 + ], + [ + 113.9934784038899, + 22.60548092977822, + 0 + ], + [ + 113.995278497141, + 22.60640224097063, + 0 + ], + [ + 113.9953277666447, + 22.60667341560261, + 0 + ], + [ + 113.9964905851169, + 22.6063775771138, + 0 + ], + [ + 113.9977156537446, + 22.60596002561628, + 0 + ], + [ + 113.9983207115444, + 22.60613169032316, + 0 + ], + [ + 113.9986648706885, + 22.60659923685179, + 0 + ], + [ + 113.9988979465801, + 22.60815331611633, + 0 + ], + [ + 113.9981618912118, + 22.60975341767644, + 0 + ], + [ + 113.9976555155949, + 22.61051444868976, + 0 + ], + [ + 113.9973489079054, + 22.61067741494136, + 0 + ] + ] + }, + "properties": { + "name": "Line1", + "styleUrl": "#msn_ylw-pushpin", + "styleHash": "3e8201bc", + "styleMapHash": { + "normal": "#sn_ylw-pushpin", + "highlight": "#sh_ylw-pushpin" + }, + "stroke": "#ff97bc", + "stroke-opacity": 1, + "stroke-width": 5 + } + } + ] +} \ No newline at end of file diff --git a/realtime-bus-map/line2.geojson b/realtime-bus-map/line2.geojson new file mode 100644 index 000000000..749ec217a --- /dev/null +++ b/realtime-bus-map/line2.geojson @@ -0,0 +1,145 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 113.9914596783045, + 22.59960492109923, + 0 + ], + [ + 113.9918969233072, + 22.59993661748595, + 0 + ], + [ + 113.9920105698998, + 22.6005318195689, + 0 + ], + [ + 113.9919172423369, + 22.60102266627295, + 0 + ], + [ + 113.9917196221943, + 22.601431625928, + 0 + ], + [ + 113.9912862193332, + 22.60181812810236, + 0 + ], + [ + 113.9909041713777, + 22.60213330809864, + 0 + ], + [ + 113.9904804856139, + 22.60253483338519, + 0 + ], + [ + 113.9903330314688, + 22.60277899659393, + 0 + ], + [ + 113.9900477774609, + 22.60433153499769, + 0 + ], + [ + 113.9900962409839, + 22.60464254738627, + 0 + ], + [ + 113.9903161120924, + 22.60505460565142, + 0 + ], + [ + 113.9915641615897, + 22.60511717356275, + 0 + ], + [ + 113.9934784038899, + 22.60548092977822, + 0 + ], + [ + 113.995278497141, + 22.60640224097063, + 0 + ], + [ + 113.9953277666447, + 22.60667341560261, + 0 + ], + [ + 113.9964905851169, + 22.6063775771138, + 0 + ], + [ + 113.9977156537446, + 22.60596002561628, + 0 + ], + [ + 113.9983207115444, + 22.60613169032316, + 0 + ], + [ + 113.9986648706885, + 22.60659923685179, + 0 + ], + [ + 113.9988979465801, + 22.60815331611633, + 0 + ], + [ + 113.9981618912118, + 22.60975341767644, + 0 + ], + [ + 113.9976555155949, + 22.61051444868976, + 0 + ], + [ + 113.9973489079054, + 22.61067741494136, + 0 + ] + ] + }, + "properties": { + "name": "Line2", + "styleUrl": "#msn_ylw-pushpin", + "styleHash": "305bface", + "styleMapHash": { + "normal": "#sn_ylw-pushpin", + "highlight": "#sh_ylw-pushpin" + }, + "stroke": "#ffd100", + "stroke-opacity": 1, + "stroke-width": 5 + } + } + ] +} \ No newline at end of file diff --git a/robot.txt b/robot.txt new file mode 100644 index 000000000..df843278a --- /dev/null +++ b/robot.txt @@ -0,0 +1,5 @@ +User-agent: * + +Allow: / + +Sitemap: https://sustech.online/sitemap.xml diff --git a/service-worker.js b/service-worker.js new file mode 100644 index 000000000..3ee2be907 --- /dev/null +++ b/service-worker.js @@ -0,0 +1 @@ +if(!self.define){let e,s={};const a=(a,i)=>(a=new URL(a+".js",i).href,s[a]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=a,e.onload=s,document.head.appendChild(e)}else e=a,importScripts(a),s()})).then((()=>{let e=s[a];if(!e)throw new Error(`Module ${a} didn’t register its module`);return e})));self.define=(i,d)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(s[r])return;let c={};const f=e=>a(e,r),b={module:{uri:r},exports:c,require:f};s[r]=Promise.all(i.map((e=>b[e]||f(e)))).then((e=>(d(...e),c)))}}define(["./workbox-e47eb1d7"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"404.html",revision:"5ec297308f31028b35149b7bdc6c2c38"},{url:"about/index.html",revision:"b730e2fe0f6f88c5179dba63619b3671"},{url:"assets/0c1fb2d65e7c4e53a58a1d6d003cf6e5-k6fxj-DJ.jpeg",revision:"cdaef0c74c625228056d34e1c11e079a"},{url:"assets/1-1bpHsARR.png",revision:"88ce114b6e9ae52f2e733b05a3209f0e"},{url:"assets/1-sxH-Yy_l.js",revision:"0065b582ced1a250faaaafe8b3ccc0d4"},{url:"assets/1-XdnAwupS.png",revision:"9714328b3234822c5a180bcd5bbc146a"},{url:"assets/2-Iv2ilUVn.jpeg",revision:"5a493adbad990c4cb35d110cbbb9149c"},{url:"assets/2-JWEWUDFu.jpeg",revision:"84bdf8e691bd403e0c0fe84868a79f5b"},{url:"assets/2-YKyWLga5.png",revision:"9e71271e56a058bed4689d4f80a31f34"},{url:"assets/2018-2019.html-P5iq5aEZ.js",revision:"031f33b789fc7c3d0b8562f95de9c516"},{url:"assets/2018-2019.html-xUor3Kof.js",revision:"56aecd869b4aadc884bc6f843024d594"},{url:"assets/2019-2020.html-KF1FsVtf.js",revision:"b38b76c442cd5b988936f6bc48632ee7"},{url:"assets/2019-2020.html-LcCY3rRi.js",revision:"8ddbaa8170612069a201b5d75093e273"},{url:"assets/2020-2021.html-48ii4A6r.js",revision:"80bb5ba50d4215656bb60ffce4e3f5b0"},{url:"assets/2020-2021.html-CQE0h0uh.js",revision:"2e7d9e4fdf730697d6b68bb644005cb9"},{url:"assets/2021-2022.html-_0D3LKbB.js",revision:"8a3fa4b8ad641b7b3916ce99dde08fdf"},{url:"assets/2021-2022.html-TRxUStp_.js",revision:"43a5fac188bd66c2a2aa3ee597bb0a30"},{url:"assets/2021.html-mB7tsYtP.js",revision:"a8c5fe219ffe67e1970ee6e15d422975"},{url:"assets/2021.html-Zp9WOhGw.js",revision:"ba4b56192e166981db59dd11fb3c1eda"},{url:"assets/2021fall.html-3t-F1J-l.js",revision:"9805229373e7dab30c3e1bd521869133"},{url:"assets/2021fall.html-dp3Gi_Np.js",revision:"2c0c54cfab2374f252f99d30677111e3"},{url:"assets/2022-2023.html-FKO2ZOW6.js",revision:"b6d15f9109a03a3c691169a6c88925d3"},{url:"assets/2022-2023.html-jjUPGphm.js",revision:"ca6e7a718bd8534be54b58d16fa23c31"},{url:"assets/22-23-spring-lUrMAlUU.js",revision:"d2d7033f6acdfa116fea4ec5d71eea3b"},{url:"assets/2d474998994c4bdea64fc0c20e468e4e-NkU-1ZgV.jpeg",revision:"e4a1b7c5411dcb75f08149b65e1b3729"},{url:"assets/3-_OP0ErxB.jpeg",revision:"eaed9d1e262741e211ece970181ed20d"},{url:"assets/3-wJ5wenVd.png",revision:"002e32ac9b9c62ad02b4622042350f9a"},{url:"assets/31d2011305ae4d6680b5c6ebe16c4aa2-9vxfcCpa.jpeg",revision:"faf76256301e34da0f0b32b02e0daba9"},{url:"assets/4-6aZcFcyC.png",revision:"9bd705a242b672e9e4f525996494645a"},{url:"assets/4-bpwjiTPR.jpeg",revision:"4c996b17bdef99e089b5bdbad31d963a"},{url:"assets/404.html-r6aI8Oiv.js",revision:"5d8337e2f1c2fecfd9b860c861078fb3"},{url:"assets/404.html-s0CXmb-C.js",revision:"0a97666798004a61146d90fce2fbd2ab"},{url:"assets/5-ORniMUH3.jpeg",revision:"ec3af9d6714bce3057fe6b0d71d1efd2"},{url:"assets/5-Wuazp14Y.png",revision:"e00bf46a7a4e9051aed01312be106835"},{url:"assets/59cf84079d9ff4f9-ujShyhGG.jpg",revision:"c3cb86428ca95ea7809e4d036b128f88"},{url:"assets/5e3cf29b0f8a445c94d7446cc68f0e8c-hSCmkTvA.png",revision:"a58ad2673846eafdfd72b36f51d10e37"},{url:"assets/6-IyBvI-Hj.jpeg",revision:"a49b1da11c1d62f651b5b54181184ba4"},{url:"assets/6-N_UgIkBF.png",revision:"91496331de028d9811cca378310a9501"},{url:"assets/7-lalB6z06.jpeg",revision:"666a0b6c4ef82d8a3d2e3d5119c64d71"},{url:"assets/8-vfo3aBpN.jpeg",revision:"f9490d9bcea796c88df7d8846de8338b"},{url:"assets/880086e6cc0a4858822011a636f7cd2d-a5hvlW6l.jpeg",revision:"0d29ae9ad97e90ef0ff9410753c2202f"},{url:"assets/8851f3bf244d4a8681ac4a1a15364221-mXGr-557.jpeg",revision:"2ff728c94455ef7f601f2dd550746f21"},{url:"assets/8d99f0bb36194313a3855fc657cb54c2-eFMjR6kC.jpeg",revision:"b60ce2f67adaec659e8de42487a255fb"},{url:"assets/add1-AkpP_MP1.png",revision:"3b0eb6fd1e19998ae07b2fdda0d18b47"},{url:"assets/add2-48WTTQlO.png",revision:"48f229d5b0bd038dfbece7976c43dedd"},{url:"assets/add3-pPq4YNGb.png",revision:"16924c71bf4b945a9112a3ba55f30f99"},{url:"assets/advice-on-study.html-xYH1v9OJ.js",revision:"527d6c2c6ee06e8f8e32f71ce2714098"},{url:"assets/advice-on-study.html-zirQNHLN.js",revision:"e126ddff7eaecc95a0e064b70a7135f3"},{url:"assets/afbd3cddd2d945bf852c2fec15fc6519-J2YbBzwM.jpeg",revision:"88748a8ebc1a4cd3f324c4f870d8aeb9"},{url:"assets/apply-DKs9a8UR.png",revision:"28a537cd708e65a5d834b9e37c4747ec"},{url:"assets/bb-due-gcal-3HDioHdf.png",revision:"e5c077e040e029439b4683b77e1f269c"},{url:"assets/bb-due-macos-UHdW8Lz3.png",revision:"1528a39b7e152972bd7d6efcb733fa91"},{url:"assets/building-11-elevator.html-4iGVymmT.js",revision:"dcf3afe8333b5ddd3f849ca1c88d58e6"},{url:"assets/building-11-elevator.html-PC8wBprB.js",revision:"007f227f796aa4acc01d3906d9efa0fd"},{url:"assets/busline2-E9shBAlJ.png",revision:"9f2098efc99139a5cac2fc22c86bf436"},{url:"assets/busline2-MmQkur0r.js",revision:"869eb3755964f2197bf73752aa8cf506"},{url:"assets/bustimer-old.html-Faj4m8ZC.js",revision:"8fe01d9d27efe3636ce3925d7c0da995"},{url:"assets/bustimer-old.html-HcxOd5i9.js",revision:"507ed526cd383bb6a0ac5045efe148fa"},{url:"assets/bustimer-wx.html-IPPlChhw.js",revision:"035f2f8f8cc6904a78de1d6f057598c5"},{url:"assets/bustimer-wx.html-MBhedQHj.js",revision:"357e7496b32b37116d209c8c74eea7af"},{url:"assets/bustimer.html-AqtGlpCR.js",revision:"b0d70a92593cbde2c6dcb1d91b2f2a29"},{url:"assets/bustimer.html-mLWTxTw3.js",revision:"e3f650410c40f747d6a6af670d8c83c8"},{url:"assets/c31235e66edd43d69202f54f3c0aed46-qyFsav7g.jpeg",revision:"1b4a14c2b582bc2e4fe9860a34f1f9a0"},{url:"assets/c49bd903118a448eba26fed3624dadc6-hipp77FF.jpeg",revision:"a84f52a5ba12f2aaf0befd38f46d8ed4"},{url:"assets/cas-login--EGDNo6t.png",revision:"dfbae961438fb4f789ee70f463722b1e"},{url:"assets/CC-BY-SA_icon-OV5rpqYe.svg",revision:"af17d52ad72e6d1015d183d060e68046"},{url:"assets/chrome-browser-desktop-2ZoGLkFF.png",revision:"e1f4ef5cf06ca958ec117aca49c74b98"},{url:"assets/copy-1-J6k3XspF.jpeg",revision:"d1179d13dadd129e538969f331d12c19"},{url:"assets/copy-2-_0fTm8Mu.jpeg",revision:"93c70e3ce5a88a41be3bc48fbb8fd1a8"},{url:"assets/copy-3-Ce_cOVMe.jpeg",revision:"f2a2463b987942bb98f2c494193d7662"},{url:"assets/copy-4-w3mR318j.jpeg",revision:"75679705724e0880efb6619a40b5e799"},{url:"assets/copy-5-hKktSqSx.jpeg",revision:"d09dcb21d3fb931a2835def7933d4a28"},{url:"assets/database-TrGuD1Xs.png",revision:"ff3c4edfbf324af9136e6ea8d0df7ed2"},{url:"assets/docsearch-w40geAFS.js",revision:"68b329da9893e34099c7d8ad5cb9c940"},{url:"assets/dorm-floor-plan.html-i5TXqOwP.js",revision:"1455aaf517f5d087e3d6bc16950a97df"},{url:"assets/dorm-floor-plan.html-R6l3LXrU.js",revision:"fc40c9803c4649f461cdd68d33419d4c"},{url:"assets/english-vocabulary-daka-L7m3h5KE.png",revision:"be106d43bcc04ec57a0c2a30f2d3d96f"},{url:"assets/facdf1031d8e47ecaba7e9bf2fda59ba-pvyAPNPL.jpeg",revision:"b7a02f4ff8ac61c5c0f540772da224cc"},{url:"assets/get-link-mulcz4lU.png",revision:"1b5d1f7ebe1db58a46500502648b0b38"},{url:"assets/holiday.html-NK0n-Ccq.js",revision:"b2a62872c73b41417004a9b9f4f6ca1a"},{url:"assets/holiday.html-UKOnGmcn.js",revision:"b5ce181b115bec62edca8e094501a1ba"},{url:"assets/ics-url-4aQtz63O.png",revision:"d32d371c2de86a4f5d528421cb2cb09a"},{url:"assets/image-1-enLCWUG_.png",revision:"46f6f9581a6cdd3a17bf33a344fedc88"},{url:"assets/image-10-1024x161-5FprX9av.png",revision:"169e95fcca2c31d71fd9f90cce5b718e"},{url:"assets/image-11-1024x983-w1eSTSoW.png",revision:"afe1381b3fbbd1bc0dbef79f97e9c060"},{url:"assets/image-12-lKG68wdA.png",revision:"7e63d831c7782dd450695e4c369d481c"},{url:"assets/image-13-1024x530-vyIsUyfj.png",revision:"32b9089552ed4c6985299ac25b72eb2b"},{url:"assets/image-14-1024x783-YCwUlyLm.png",revision:"095f8fed3a82cdd55a118f45be230bcb"},{url:"assets/image-15-1024x173-BLa4ZQw3.png",revision:"d2142657fa0d8529b211e11d7f5a0e5f"},{url:"assets/image-16-1024x538-VeFxW03J.png",revision:"fa1f9b8148e1466c515c984e8f37be66"},{url:"assets/image-18-N2AY0YpI.png",revision:"7fbe76bff1249166b06eed7f453b3455"},{url:"assets/image-2-E5XuMcaW.png",revision:"05ea34f382aec7274935aaf9cea9d6c4"},{url:"assets/image-3-lxfxCfrp.png",revision:"d4dc8c8aa38580ebcb53624313936927"},{url:"assets/image-4-1024x143-r1AdkDak.png",revision:"48c9960603158762b19ce500b291d3ca"},{url:"assets/image-5-1024x257-Ebc34T6H.png",revision:"a7107bf39605a9ae2934ed69841f03a7"},{url:"assets/image-6-1024x333-xBg4nvNU.png",revision:"7e141f1da324e1d5911cf48316d7469f"},{url:"assets/image-7-A3UB4PVN.png",revision:"88315b90a5d1b58c7ab912f814f89554"},{url:"assets/image-8-1024x484-FUvhPpZ8.png",revision:"17112dd0cb8dee9df4a02ec190e537c1"},{url:"assets/image-9-1024x435-HEkG9ILK.png",revision:"a03d62f74e00e2cb3fc2a9269dc219f9"},{url:"assets/image-Tn--NV9Q.png",revision:"8fa622832eb86cc09ba6f257414fd9ce"},{url:"assets/image1-6Fjhx_zj.png",revision:"3a9d3f2a27f31a5c0b3d20c292afb2af"},{url:"assets/image1-BAlMJleB.jpeg",revision:"8235a6fb607b8c4d1791e452db001b4b"},{url:"assets/image1-bJBZ0pkL.png",revision:"40aaac119c732b7218c2c372673ab8ed"},{url:"assets/image10-bO1AUMjh.png",revision:"77f45859d0bc211abb52870c13f794ce"},{url:"assets/image10-iLhAvEhP.jpeg",revision:"40545fdd7501a69ce06bed7db4dc8f0f"},{url:"assets/image11-MQx0qaX8.png",revision:"921c0239561e7c04b1a45681e4094bd4"},{url:"assets/image12-kPYX3u_3.png",revision:"9b71e81bcf639044b5b138b731bd49b7"},{url:"assets/image13-du6ak7nw.png",revision:"99ae177b614219e55d1eacd5feda2a3c"},{url:"assets/image14-oP2DJprQ.png",revision:"ae5bc294787b3c0e4b4ef576182704e3"},{url:"assets/image14-UXFuwDO3.jpeg",revision:"9ff29bfa03d6ce3e2218745ec6741ba3"},{url:"assets/image15-DlYLI3if.jpeg",revision:"14ed8d3bc61d06420e886064569f17f7"},{url:"assets/image15-Uq4mFIQn.png",revision:"daf9fe4c1e5687c5e2ab0aa81b92f95d"},{url:"assets/image16-YCWUyFK0.png",revision:"ef7219747866ab2ba1eeda5d61e47b9a"},{url:"assets/image17-7F4JGb2E.jpeg",revision:"ffbcd3434452db099d06fd6b6ea8990a"},{url:"assets/image17-8F3lPeMq.png",revision:"2738fb392ca991b2e3447ce5a6d5a059"},{url:"assets/image18-qgf4P8El.jpeg",revision:"485b26317f2f70a0721b65ba0d1aed27"},{url:"assets/image18-UbgSNUxV.png",revision:"a263ebd5f1540b731286af3e32abe558"},{url:"assets/image19-OCVupc78.png",revision:"1c83c4a046aa5d15922ce1bef77eb603"},{url:"assets/image19-xkgbzVNw.jpeg",revision:"999f1268eae0e63810bd6b12dfcd286a"},{url:"assets/image2-9kNPnG7_.jpeg",revision:"cd433df72e6c5ae47647bc7668c1d12d"},{url:"assets/image2-cQVqPC0N.png",revision:"f165f93417ab1d5275013bff8ead5c41"},{url:"assets/image2-ncmbwAtN.jpeg",revision:"3d21b69014dd3e52f7d63aed35a21f80"},{url:"assets/image2-puCIP2Aa.jpeg",revision:"ae4aeab8e46ed8f090570ed32e06f2e4"},{url:"assets/image20-Jpuia5Wc.png",revision:"46a7323f521bbe3f38409d24587a57d1"},{url:"assets/image20-sMhsqFof.jpeg",revision:"f0b59d151d96fc689f72462441658301"},{url:"assets/image21-bSsrLDkB.jpeg",revision:"07ff7baa74f8c29c73580e52223c53a1"},{url:"assets/image21-d2lalF_V.png",revision:"6b9270fb15a7eb7aae09ff1ecb3bb95e"},{url:"assets/image22-Rn0Ef2lx.jpeg",revision:"83b17e4de92751d826c5e7e2e680ec66"},{url:"assets/image23-b8xdYFve.jpeg",revision:"d596c1276dabc4a33d52eb8679bd5674"},{url:"assets/image23-djmm4kYz.jpeg",revision:"b610ff8bcb53f2ae9c5c80e4d24b127c"},{url:"assets/image24-uVzhkywk.jpeg",revision:"38bc96a407522dcef0406a8f16a9fa28"},{url:"assets/image24-yqO-pdxZ.png",revision:"ae8e5c82a7484c73be5e5700e18822cd"},{url:"assets/image25-FVHpj2Ac.png",revision:"c6c920c65495bb724701eb5351dde232"},{url:"assets/image26-fyeNqCV0.jpeg",revision:"d6693cba649c260f2a68fc80a9f87bc4"},{url:"assets/image27-rpxje01-.png",revision:"08f102b7007f81974fb55cf8760256e0"},{url:"assets/image28-AAba_U7P.png",revision:"42af982aa48eb79754f8239009e76faa"},{url:"assets/image28-XzrhDrhU.jpeg",revision:"fa1509ee9c3c1edeab4989b0674ec1b7"},{url:"assets/image29-eDyz4ueq.jpeg",revision:"74345258882e0cf2fac01db733816aa5"},{url:"assets/image29-yqNso8bD.png",revision:"f76516eb9d25d46d0ea0f073f2dddbf5"},{url:"assets/image3-fAP9ugQs.jpeg",revision:"3005f1d93aeca2740a71cf2f35db55e4"},{url:"assets/image3-Jxzzco2D.jpeg",revision:"1f1088a38589c785fe9075fcb6e3eff5"},{url:"assets/image3-uIzqPPMv.jpeg",revision:"32a44948f4ff53e19651649a2f7e2a5b"},{url:"assets/image30-qTcBKf7n.jpeg",revision:"965d42575743cc4f94a0337d9a096112"},{url:"assets/image30-S0N2s1FP.png",revision:"dfbe5f3af1ceb2ed170a7bee655f9acc"},{url:"assets/image31-ClOstKqs.png",revision:"8fa0435a0b78dcdc3f473654097ebe54"},{url:"assets/image31-i6z-wWh4.jpeg",revision:"36f9ee373b8c13c1e90b5db477e79b52"},{url:"assets/image32-5rxGR0Xz.png",revision:"3f8ec73f2a3ec2e5c862700b63b1ed73"},{url:"assets/image32-I7-vuVl-.jpeg",revision:"18152b38dd7f49ecff4d0a1eaa3e8093"},{url:"assets/image33-WqqQQMxS.png",revision:"ddb724a98fc6186ef2063ae4907be91b"},{url:"assets/image34--I77aB8o.png",revision:"a2a7e7ba3bd149ff48a0edb15ea718c7"},{url:"assets/image34-8Gpzvf0j.jpeg",revision:"b4a5f3ab3c45ddab5f21fd489c1861ce"},{url:"assets/image35-GcKIW6ZB.jpeg",revision:"155d771c351cd609fc5c7a5e2f0f8282"},{url:"assets/image35-o-wl3Q49.png",revision:"4832256bc6d20b6de50ffb14ee51f165"},{url:"assets/image36-666HLBk6.png",revision:"06e45fdf728001dc83e1a28f8278e691"},{url:"assets/image36-w7LH7wQd.jpeg",revision:"4bd1f77940197c343d2c14ddc4da8393"},{url:"assets/image37-zaSW9pnh.png",revision:"ccdc654fe0ab341951ad9da56fd211f3"},{url:"assets/image37-zT_pB_1b.jpeg",revision:"1feb2c658fa5229a5faab6301e701b73"},{url:"assets/image38-Pv8vRwVd.jpeg",revision:"5d8d4c86fd9a8c9d417632c15c8096e8"},{url:"assets/image38-XupIoys2.png",revision:"9535f305fecb9683b431a600867dce63"},{url:"assets/image39-_2gQNdV-.png",revision:"8b9a43a29b221dc5447d42f559304613"},{url:"assets/image39-oEuJhZOK.jpeg",revision:"45009cbe94d93633438195dd74e430fd"},{url:"assets/image4-DRFs6paZ.jpeg",revision:"645e847a1bacb377a89e4a2b19c27759"},{url:"assets/image4-UiDUe49T.jpeg",revision:"6b903b619243b7030e003f981db87b8b"},{url:"assets/image4-wZpv8ax-.jpeg",revision:"26011bf9505009273e9019cfc765de5e"},{url:"assets/image40-SdIJEvzm.jpeg",revision:"5b27f472ca46c4116eaafea4385f894e"},{url:"assets/image40-wzORGks0.png",revision:"8ccfd6957fb60f894f9d3a4dc68568e3"},{url:"assets/image41-jTUVWrwE.jpeg",revision:"21e705d79fe9985ccbc4e3138a78ec00"},{url:"assets/image41-s9nOr_AW.png",revision:"562b36ced783e5dc6ab392973a7043b7"},{url:"assets/image42-XClEGlJp.png",revision:"02e85352aed35deebe312bc86db0203d"},{url:"assets/image42-yNYlX8fz.jpeg",revision:"a531e78a1d28f05e1f0438df58403691"},{url:"assets/image43-LoeOtrqz.png",revision:"6e50958f53eb9c5b2cc13a85b616a065"},{url:"assets/image44-IGm-aJZi.png",revision:"f6e2e712c077a2f4918180aabcd582fe"},{url:"assets/image45-n9U3aXb9.jpeg",revision:"315d1c97dc73482cc9373c12070ca25b"},{url:"assets/image46-aQAaQJ7T.png",revision:"6cf01f3ef3adc45dff32c3986a5efe1e"},{url:"assets/image46-sx_87zP8.jpeg",revision:"bf3e8f494ae7f1b4a5dfda48231d7419"},{url:"assets/image47-fy3e6xVe.png",revision:"dd0194ba6b962a8856f4e9ad0ad7bfb5"},{url:"assets/image47-wBXkt7Hw.jpeg",revision:"4f64e744cd995b612deb3cac1c5f209e"},{url:"assets/image48-j1D_M810.jpeg",revision:"286dca8547acbd5444dfb842b73daa74"},{url:"assets/image48-KSI9TtFQ.png",revision:"ea268da19ede1ed4b42f5e844312ef52"},{url:"assets/image49-HlJhspDL.png",revision:"857dde3604cdb81a28aa91d0defb1c23"},{url:"assets/image5-2K8STqff.jpeg",revision:"b31d007edf94462445ca42f7c0a5d2a6"},{url:"assets/image5-LasjrymB.jpeg",revision:"d2bcd6795b53f8df2905a366414bec82"},{url:"assets/image5-ltQRRJZL.png",revision:"69103437d485a9661164ef8146dbf8ba"},{url:"assets/image5-nu8ECIhb.jpeg",revision:"43dae6d9cdb272746cd52f7a45841b45"},{url:"assets/image50-gRxKrinX.jpeg",revision:"43d00e896004917ced35701d09eebd98"},{url:"assets/image51-Q8qUZ4N1.jpeg",revision:"824a6ddd10a995d8f88eef1582ea77bf"},{url:"assets/image52-B0Mf3Tf4.jpeg",revision:"33b218ca1fa960d5604fe0098f27eea1"},{url:"assets/image53-xWmeCqly.jpeg",revision:"5a752b06ebe6cd4db762e90aa76fa680"},{url:"assets/image54-CRTw9ewM.jpeg",revision:"f2654e7cc580df0b4d64690006677b05"},{url:"assets/image55-gZrK6Mq8.jpeg",revision:"44e22cb4eb959acf6a211fcbbc848a1a"},{url:"assets/image56-HZl-UlmQ.jpeg",revision:"164f48a306c68fee81fab939a0cc0d00"},{url:"assets/image57-PjlK7WRC.jpeg",revision:"f91f5d3fb2e8759daa3e356485ff85c1"},{url:"assets/image58-p824Kebg.jpeg",revision:"5ec34a83a7afe903853d6ea829c6347d"},{url:"assets/image59-IMrkSnML.jpeg",revision:"2428f29c19145b3c2770b9f914b5bfec"},{url:"assets/image6-2epYrBsD.png",revision:"e394cbfd1151aa7ba1936940258c7817"},{url:"assets/image6-4cYa-6Nk.jpeg",revision:"d69760aa1696c38b8d93bb867f9eff34"},{url:"assets/image6-p8MZpc0y.jpeg",revision:"6f772320176c69ff1258634bcc910d14"},{url:"assets/image6-vo_42VAg.jpeg",revision:"167b3b62f21a59a693de55f3402961c7"},{url:"assets/image60-Qg9sBUAE.jpeg",revision:"6cfb352158aa0c876eef6ea123e9410c"},{url:"assets/image61-WykWbjBb.jpeg",revision:"cebaa1d51267660421a09de64e0c907b"},{url:"assets/image62-sGCpUaai.jpeg",revision:"d1540ef6fd0278e0102e4cfa0c79b22b"},{url:"assets/image64-DzkcnLzf.jpeg",revision:"3157f670d63595f9f0858f0cbf4e9304"},{url:"assets/image65-Q1qf9ytS.jpeg",revision:"cdf78e05add5ae088d147cb1c9eca15a"},{url:"assets/image67-eZmwTQtV.jpeg",revision:"9d33339be6af37b3472fd94920aef597"},{url:"assets/image68-R-KjoHsS.jpeg",revision:"4ec1bad98713cfb2670811b8199217d0"},{url:"assets/image7-1LZ5K7Ow.png",revision:"0d3498f2659575aa00c3edb13fe7981f"},{url:"assets/image7-fTrFkX8i.jpeg",revision:"e9cb0f7bc800d01f873f6205bf162a8a"},{url:"assets/image8-8p-TehjD.jpeg",revision:"9786ab6b1563010cea21391aa9225d5a"},{url:"assets/image8-odgYWEnu.png",revision:"448e52cc8ee0c55c72d314be1de0714f"},{url:"assets/image9-pl_ZtQAo.jpeg",revision:"131be173e296727a83506b7347c3faf6"},{url:"assets/IMG_20210123_205049-cPc0bUDM.jpg",revision:"50b3774914c541b0bf82c53bbf7babd6"},{url:"assets/IMG_20210126_195515-j5iDfCtq.jpg",revision:"6e5798e838b6316c0d63516bf2217f14"},{url:"assets/IMG_20210126_195546-M6kBcnJJ.jpg",revision:"64da6a297e623bba762e4611a17e307b"},{url:"assets/IMG_20210126_195856-18hfvpFY.jpg",revision:"50b26fe4593d88ec4236396acf71ccac"},{url:"assets/IMG_20210126_195932-nD6GLouo.jpg",revision:"cc16b5b6cc7b5d3b418cb6ef3b59f00c"},{url:"assets/IMG_20210126_200439_edit_7106211807769-r72WW1j6.jpg",revision:"679c984e3cc616f2a894b628a7da95b0"},{url:"assets/IMG_20210126_205402-YGDH55As.jpg",revision:"5b5d2cc105685e7f0fc1ad80559701cc"},{url:"assets/IMG_20210126_205908-ncwgn3B3.jpg",revision:"73ed6cb55530f8bd19980029946ca663"},{url:"assets/IMG_20210126_210458-maa6HknS.jpg",revision:"2062dad8c05bf3a6dd2ac50c61f734a6"},{url:"assets/IMG_20210126_210550-oND9JUxH.jpg",revision:"b0ee9b5ac13f8c02b4bf84f11bef0e73"},{url:"assets/IMG_20210126_210622-FpsRcWyI.jpg",revision:"042c5b47ddbb72825795dfe663af5eec"},{url:"assets/IMG_20210126_211345-SA56pTHu.jpg",revision:"589c64df659620fda62d9d557cdd4680"},{url:"assets/index-7SG8bi1h.js",revision:"46a193641571106d3b7b43f9bc2a2735"},{url:"assets/index-QOy62Fup.js",revision:"fa112b5cda5ee3c969c504c6a3080b4c"},{url:"assets/index.html-_1kqW3EY.js",revision:"33e08263dad2d94df5280211c0fe35c0"},{url:"assets/index.html-_UO9iQZw.js",revision:"d95a912238f2412ca237d17e52cb07d7"},{url:"assets/index.html--IRrqB2R.js",revision:"0a3f9d3ae96179ac34a1a554354b43e4"},{url:"assets/index.html-09lKpzMb.js",revision:"678a6f76a2cac30f1cd180c45005835b"},{url:"assets/index.html-0FeczQFx.js",revision:"9746fca616831dcd48f34b3073a3c8c9"},{url:"assets/index.html-0ThRdflu.js",revision:"c62602e56d26441f8de12b324e8d7e32"},{url:"assets/index.html-2dCBsaVT.js",revision:"e4b2fd0ce15759870c8726e6ebb13683"},{url:"assets/index.html-2hIXvrDO.js",revision:"7a9e73ab2647b0a9132f9f3c609d7bb4"},{url:"assets/index.html-2HopNPQr.js",revision:"6fce8dd7cd1dab78e7e2beed9c855445"},{url:"assets/index.html-2LBhv4zi.js",revision:"7fe1c60bcc355b897a98f27f3df080e9"},{url:"assets/index.html-3rNoT6NO.js",revision:"ec25aaed93c43492e57a9340ee677b4d"},{url:"assets/index.html-4fQfP8H0.js",revision:"afdcee13a17845fbe2170973bf3364ca"},{url:"assets/index.html-4Wri6Lmr.js",revision:"05b212aa50b5dd77a4d3cc51ab69d55c"},{url:"assets/index.html-5Yg8OkmQ.js",revision:"0d6e22e83f15dd2b03581a6857edea07"},{url:"assets/index.html-6dbUUccD.js",revision:"2de41d0e63f92afcb1f3a14b3cae4dd2"},{url:"assets/index.html-7tWl3Tx6.js",revision:"9a6f47809d4659ec5cfe9c7651ca5fe9"},{url:"assets/index.html-8COzvKhO.js",revision:"dac9d6bdc5b7a8be84c106e662beccda"},{url:"assets/index.html-a1CPosgU.js",revision:"da15bc8aa3338657c4acdc49cf9e5751"},{url:"assets/index.html-a6AZwlDl.js",revision:"346b4dd1b4c0923fba02eed742ba1439"},{url:"assets/index.html-aC3BbhBj.js",revision:"a7bda0b233a354cb7bb786a083ea3c5f"},{url:"assets/index.html-aC5Rcr8V.js",revision:"84255baac212a7acd7c698b688668a46"},{url:"assets/index.html-bjBGfI8H.js",revision:"bc05e16ac1e36b638c7bf911416312da"},{url:"assets/index.html-bosJw3DF.js",revision:"7fae5207a118a24d4928fe36cb19f531"},{url:"assets/index.html-CxZQq7P1.js",revision:"1029e54850a92c41274e4429dfc89928"},{url:"assets/index.html-CZmMbVOJ.js",revision:"6f4938a9c1509f4de48120d9b7ace4da"},{url:"assets/index.html-daJSM3Gw.js",revision:"c57d02ba592c0f1dc16a38f9f3bf1020"},{url:"assets/index.html-DblpyXQa.js",revision:"02eccbea5686ce77c0434c72819f7560"},{url:"assets/index.html-DCwbGcUp.js",revision:"be39ed1587daae2ff65ca869c17b56c7"},{url:"assets/index.html-DFxgCp2O.js",revision:"d384b82c65cb2f9c2cbed3dff3a53671"},{url:"assets/index.html-dHRysKYB.js",revision:"e6cdc0ba98f090b50c7609aae1c9ae57"},{url:"assets/index.html-eA3azVZi.js",revision:"3837645e32f9a55da942c807a4b5a388"},{url:"assets/index.html-eFzoofSP.js",revision:"580070308c04e540ec868c7ae8f38abb"},{url:"assets/index.html-eZN7hoJc.js",revision:"5058b37428599387b179e9c862c22ea4"},{url:"assets/index.html-f3nRAgF_.js",revision:"b2fb1388be745b58217fc4d5da11325c"},{url:"assets/index.html-F4TyLGnu.js",revision:"23dcc0d47ffde997e0426b067a0bb154"},{url:"assets/index.html-fkqQJgzI.js",revision:"bee81a4b320fc880a9ab2f8d7aad4134"},{url:"assets/index.html-gNAV24f1.js",revision:"4c0b5755a09dc7db505b87dd32c4674d"},{url:"assets/index.html-GPglhz3l.js",revision:"8e784827f34beb29d271f3de05de6d16"},{url:"assets/index.html-GqujHE2o.js",revision:"479e6934bd9bf524dc630627577798e8"},{url:"assets/index.html-hFvPCg9K.js",revision:"82a984a95feeedbe703f26a2502ddba4"},{url:"assets/index.html-HRY79phe.js",revision:"6e19d66d878333c205d26ce930ce7ad5"},{url:"assets/index.html-HS2bcuK2.js",revision:"88c61a14dc64e96541cd0306f9799c91"},{url:"assets/index.html-iHXOZwAB.js",revision:"d9e1ffb541dcfcf1b3f016a06d8fa461"},{url:"assets/index.html-itv085KC.js",revision:"1960a823ad808f063513211fe4e405de"},{url:"assets/index.html-je1flA8T.js",revision:"cafccd8a3020b8387885f7d806f5739a"},{url:"assets/index.html-jEVeZVys.js",revision:"6a0714c8df372bfbf3de86681b374b41"},{url:"assets/index.html-jya-q3IV.js",revision:"e353edfa591a7b41584c0f5a488808ca"},{url:"assets/index.html-k6Uh7vfx.js",revision:"debc20080dead314546235a60fd1c0ec"},{url:"assets/index.html-kP5_5KCy.js",revision:"8a36880dd97b80da5e1d49f8cb973603"},{url:"assets/index.html-kV5yjvsG.js",revision:"0d94b4e92b2509c838cfc85c3e1cbb4b"},{url:"assets/index.html-KWbX328X.js",revision:"2f477f265627fe086b7d119c8c293426"},{url:"assets/index.html-L7TOtjL2.js",revision:"02d3bf4499e4e0207f63e6f4e8a780cc"},{url:"assets/index.html-lakCfSSU.js",revision:"1abf9707cc40ea2522c7184390d9754b"},{url:"assets/index.html-LiHkw1k6.js",revision:"4d848f8702becb280267ecd8b6bdecad"},{url:"assets/index.html-lqUJvmSL.js",revision:"c0b4419b189bd4b1329caadf2c6ea60c"},{url:"assets/index.html-LSU6emEz.js",revision:"2469c2c36bbf1eb28af9edcc97eebdcc"},{url:"assets/index.html-McKlvxzv.js",revision:"68066bf577ae377314d4d8fdea963cdc"},{url:"assets/index.html-Mvu6Jn_l.js",revision:"fd3355ee01b278f94c8752d123c73f9b"},{url:"assets/index.html-MwEf6Jgr.js",revision:"ad528d137b32d601e1971ca5ba34344b"},{url:"assets/index.html-n44SWg7I.js",revision:"ade109b155fdea38dfcbf1b30e0554b0"},{url:"assets/index.html-njvynpXQ.js",revision:"aa68324168880cc83d8ef0f16bfe8e01"},{url:"assets/index.html-O9yoYIf6.js",revision:"a549c58a637e0adecf7024af348b0502"},{url:"assets/index.html-OFTRfvV8.js",revision:"9bbc8cfea15ac9df210741ba4966fec7"},{url:"assets/index.html-oM0igwOg.js",revision:"803763597d2bdd102586cdedf7e1e5ff"},{url:"assets/index.html-owNMPbyR.js",revision:"50c7aab3015f148c346593ecdf97468e"},{url:"assets/index.html-pE2nqR1e.js",revision:"319aab631d0a26d88c68c23fee994c96"},{url:"assets/index.html-pLXdD7H2.js",revision:"8cc712b212e535bff04475f756a60c5e"},{url:"assets/index.html-PYp5z5YW.js",revision:"cec9554d9dcb0053a9ac4acf36f0e011"},{url:"assets/index.html-Q1h43n03.js",revision:"dded8eca6cb3df1fdd8aa36a445c6811"},{url:"assets/index.html-QKyRG-5V.js",revision:"93311799c8b09252c1147697021db9ba"},{url:"assets/index.html-R3DTxKmq.js",revision:"6342fffabb1418135679225132d4a5c9"},{url:"assets/index.html-RE3zg6bW.js",revision:"aed7ab3b5242d50656de27e35623508b"},{url:"assets/index.html-Rn0CMyBn.js",revision:"210438ed88b977854eda74c1c3098f02"},{url:"assets/index.html-sNVbTfPX.js",revision:"47955507753c99ec8c9733dde8e0d299"},{url:"assets/index.html-sQ7_nyCP.js",revision:"56135f203d7b7ba57a6165dfd3677b60"},{url:"assets/index.html-SYw5rwJf.js",revision:"8d721bef3786cd67e864616aae8e9f14"},{url:"assets/index.html-TpqHSfUW.js",revision:"65c3a0f8984c2df2fe72cff303a3c063"},{url:"assets/index.html-u96FZBAJ.js",revision:"a04c027301be9f68892c0d5c4fe2e489"},{url:"assets/index.html-UCUkpvFj.js",revision:"caf4be8bfd662fd4c4f588ddd42489dd"},{url:"assets/index.html-v5KoFdH8.js",revision:"75db8f2a43ceb3d0324fdfadb50cac4d"},{url:"assets/index.html-Vi28LQ9_.js",revision:"e84bca6d18db0b7f9c808b3f5454f4a0"},{url:"assets/index.html-vmDdD7Sn.js",revision:"5cfb77bbdbe5961024273b856d554ced"},{url:"assets/index.html-VQtryoLc.js",revision:"8e96741de1a216b1d978ed55b89d6e86"},{url:"assets/index.html-vWTAuN_G.js",revision:"641f4d6cefe29fe88b904379bc2deec7"},{url:"assets/index.html-W_Mp_7sR.js",revision:"fb9082a34e92916b7d56de3d7dd630b9"},{url:"assets/index.html-W9nTO2Kr.js",revision:"1fbf1c615b5889c89ea8edb8b403f218"},{url:"assets/index.html-XO6z0qBK.js",revision:"ba66b35062cf36e0529f2c17cae31d5c"},{url:"assets/index.html-XqhRopeI.js",revision:"25635d75e870699f135dbc06227b86c2"},{url:"assets/index.html-yGX37ofd.js",revision:"aa5419e19651fcb9f0f1d5de68fce6eb"},{url:"assets/index.html-yZC2JzRa.js",revision:"dfdcaebde1872ac919777b7285b3ff87"},{url:"assets/index.html-Z1BkoEPU.js",revision:"aa151dca04e1a198d9f07e029d7b7723"},{url:"assets/index.html-ZHMZGsTo.js",revision:"2301e80f7c84bc61f97d59365110b5af"},{url:"assets/index.html-ziAy4sxZ.js",revision:"7b322c814084800fa3b943a1775ac6c6"},{url:"assets/index.html-ZyzAQ8AP.js",revision:"5cc3945f9a69747efe84cfe05119856f"},{url:"assets/info-on-study.html-OSzt7bxn.js",revision:"2baaad2992a2b08821dd0939f8814648"},{url:"assets/info-on-study.html-Z82wN-SX.js",revision:"08e83a74f38155fa251ca19d43ec11b7"},{url:"assets/innovative-project.html-E-h7v46p.js",revision:"0e247a7e7ce5ec742c9f8fa8e1bf8599"},{url:"assets/innovative-project.html-WPrCmoWu.js",revision:"0b8233e54be17d972c3e4f0390200280"},{url:"assets/interior-KIYZNKgg.jpg",revision:"e8186b41f73e27f8554f9988ead92470"},{url:"assets/ios-yMidMOnr.png",revision:"6e324d4040e2d29fcc549444a2add317"},{url:"assets/major-overview-rA60NGfB.png",revision:"69f3f2bd127892b13703668e936b73aa"},{url:"assets/matlab-6g9-imFB.png",revision:"6a9a3ca471ac2e10c6f3d350d1bd8e8d"},{url:"assets/matlab1-7dEAoyTc.png",revision:"018a0124c9d67f0fe8c543dda354a7f7"},{url:"assets/matlab2-dVpy0Rho.png",revision:"85b350811cd6417c96ee3d74c78998fa"},{url:"assets/paper-tools.html-ggwsgvYA.js",revision:"5a0603f0f8cb0ef296dcd785d3d71e48"},{url:"assets/paper-tools.html-qavDURca.js",revision:"477c497af7e78c30534699a52826d058"},{url:"assets/pms-p1-HqscRncN.png",revision:"12c730374f927c65fb768448b6e989bc"},{url:"assets/pms-p2-OzA2_Nu_.png",revision:"12d975d67dd7cdb7bea9e4189222858c"},{url:"assets/pms-p3-lnwKkcsW.png",revision:"11e3f07b95aa8f46f1fab215964ab121"},{url:"assets/pms-p4-G4KBqnVq.png",revision:"67a1db118a754ad93762668b411a3865"},{url:"assets/pms-p6-BZrD9Ugs.png",revision:"2d9b9cf817025086eb32b742e2770c1c"},{url:"assets/pms-p7-DY-A_oFG.png",revision:"9279b34c1880a78f5e7c63c6c620ea66"},{url:"assets/pms-p8-pPNg_pVJ.png",revision:"dc5ff77c7232225de4f72cd986547755"},{url:"assets/print-1-3wmHB-f5.jpeg",revision:"8902bf97cbc83b9f2a3158d11b1eda0e"},{url:"assets/print-2-m8eNSzoT.jpeg",revision:"e9461c36834331858f4b0a2ad3c4a700"},{url:"assets/print-3-ipovTwCB.jpeg",revision:"9838ff941e662f46b79806025aa25b7b"},{url:"assets/print-4-4uTQn0p0.jpeg",revision:"5c5882e8656470e0dbd8d53f638a964b"},{url:"assets/print-5-jT5e6jii.jpeg",revision:"b5a75bea7870bd0f6aec19c11de265f0"},{url:"assets/print-6kGhpibK.png",revision:"ed9d4bc42a8226325e3849a683d8a984"},{url:"assets/reader-service-6d9pxofn.png",revision:"0c0368aaf3a1423f0441e1f2728d0d9d"},{url:"assets/redirect.html-7SkKp2Ci.js",revision:"6cf98d775a5f1ea7ff7e1792b223f549"},{url:"assets/redirect.html-ABkB5Trh.js",revision:"a9a7e765c5555e0251211b25954af4db"},{url:"assets/registered-organization-2019.html-bp8QVK35.js",revision:"e343f860fa7e8888b77b236d9f86efea"},{url:"assets/registered-organization-2019.html-SF8849i2.js",revision:"c61b902218e4bd131a43f73ba8932beb"},{url:"assets/registered-organization-2020.html-_Nr1Xd7j.js",revision:"4fa05f593a033d706dee4a5ce81f1917"},{url:"assets/registered-organization-2020.html-khW2Dmy2.js",revision:"13f90a26d56c28ce74eb8d76d558ed6f"},{url:"assets/registered-organization-2021.html-cnNXJwPe.js",revision:"4cadf4cf8be56fa96ba237f6570d3f1d"},{url:"assets/registered-organization-2021.html-uiiNm4vO.js",revision:"8c929b56fcf44be39bd5e74138189988"},{url:"assets/sakai-1-gdIu9juD.png",revision:"9434888c9903637674a80eb1acd56248"},{url:"assets/sakai-2-ZZGlPs7t.png",revision:"b1ee04633413694907cfd5ddd1b8061a"},{url:"assets/sakai-3-yJEYBaFd.png",revision:"675e389c8d6a658aca6f0e363ce88557"},{url:"assets/sakai-4-NMHOlmrU.png",revision:"000dd5749f386829df97c37217d9ce86"},{url:"assets/sakai-5-cj7Fmjqo.png",revision:"f244a3a419620ac52ea8a1e63e14ff8f"},{url:"assets/scan-2-0-KFLwn75T.jpeg",revision:"1bf9e6b7f13351ecb87300c17f04ced5"},{url:"assets/scan-2-1-5nSBK4Tj.jpeg",revision:"303453b48a1feb7e2d35ed91e191d23e"},{url:"assets/scan-2-4-SitOkdDi.jpeg",revision:"712fafef765953fb853a0cbd450576a5"},{url:"assets/schedule-2gA_GM7X.png",revision:"abad98f699a0ee9a82c7c5eff0d3ac6f"},{url:"assets/Screenshot_20210128_114248_com.MobileTicket-1oAQbIdG.jpg",revision:"b64a9636ad938d85cb54a89e599c7c36"},{url:"assets/send-receive-email-by-proxy.html-_tGNcqtL.js",revision:"0a19d8ba416669fa5d3a748e4ac138fb"},{url:"assets/send-receive-email-by-proxy.html-iMlJABuM.js",revision:"faaf17d14dd75b7d3ba71111cc9e6e38"},{url:"assets/streetview-TzWISs--.svg",revision:"1827283dd10029f62907c30200d911b5"},{url:"assets/style-nYv4aB65.css",revision:"edb4066dfa9659b5de7bd8da86bf785f"},{url:"assets/style-w40geAFS.js",revision:"68b329da9893e34099c7d8ad5cb9c940"},{url:"assets/unifound-1-H9l9OSVW.jpeg",revision:"4fc26bc067ff1b178e7c9f6d0e9fd22f"},{url:"assets/unifound-2-NKKRBwHt.jpeg",revision:"f8330e2761ddaa20d77c26dec687c213"},{url:"assets/unifound-3-NG1hd-77.jpeg",revision:"e57013fa465673457e84fd49f63b9b9d"},{url:"assets/unifound-5-x_jt3FzV.jpeg",revision:"aae7e2e80661c5e94c074a86a74994bb"},{url:"assets/unifound-6-olNh-qAZ.jpeg",revision:"ef5f24ab859fb25b31843238882bb53d"},{url:"assets/unifound-7-NcPipp4R.jpeg",revision:"22b69a1fae5b8174bcd3da791b61ba4f"},{url:"assets/unifound-8-Bp45vDhW.jpeg",revision:"3855edb91e2079cc340263fdbfeeebc5"},{url:"assets/unifound-9-Fnq6Wd7h.jpeg",revision:"fc160ae6b837df0d5ae448f5d826724b"},{url:"assets/unifound-home-KwZl9eOQ.png",revision:"0e1673b82b15322a2296223af80247f4"},{url:"assets/vehicle-charger.html-O7MfnQcf.js",revision:"2fc0935dd5af3365d285810e4b4d23f8"},{url:"assets/vehicle-charger.html-WCvJbGTa.js",revision:"022294bb01fb0d5361badf0d196b9b8f"},{url:"assets/workday.html-K3eFMMMJ.js",revision:"0de930b3b62d13ff043626a9472f5bd0"},{url:"assets/workday.html-KqZWowSu.js",revision:"a7fee5f07c43a415f4a1465c0ca55a59"},{url:"assets/新生攻略之学习篇.html--HPv0u2n.js",revision:"86bd4f72eda3c79ab34d60c6a28ff761"},{url:"assets/新生攻略之学习篇.html-kEzyXUh7.js",revision:"933e6df182b7ce619b4352e29c7b4bee"},{url:"assets/新生攻略之宿舍生活篇.html-gjhp7v-1.js",revision:"399c5a59d7dc643e800e99aff5b567d2"},{url:"assets/新生攻略之宿舍生活篇.html-wphzvIo4.js",revision:"d356a697209393398bf2c868b86c9a80"},{url:"assets/新生攻略之校内介绍篇.html-doqURwl2.js",revision:"342f345a7001ebbc651c5d0e43ed6f3c"},{url:"assets/新生攻略之校内介绍篇.html-FzvAtoLo.js",revision:"e28ebe8b9748d6f8e4e22663c0d33c48"},{url:"assets/新生攻略之社团篇.html-0Pj1URpm.js",revision:"8fdf001684582f3c6f94cb1d8d802021"},{url:"assets/新生攻略之社团篇.html-7dVvoWez.js",revision:"a8fb4b21ef6da52e725ece4977f1dd95"},{url:"baidu_verify_yQSeRkHJla.html",revision:"e34a6f863c56b8f0ccc227edb4e462b0"},{url:"calendar/2018-2019.html",revision:"96a3bfa29be4f4bafc23c692ee3d4fe2"},{url:"calendar/2019-2020.html",revision:"bfcf3b96057ad794ca7eaaa159fa2d2d"},{url:"calendar/2020-2021.html",revision:"cd334b5ef6faab17cb8b564dd2f706e1"},{url:"calendar/2021-2022.html",revision:"de44ad3621e7676656d400b770596b79"},{url:"calendar/2021fall.html",revision:"23a4e474dd7b98418ba332d82bc37ba4"},{url:"calendar/2022-2023.html",revision:"55e3d187ca3cd726e9274f274284b8f7"},{url:"calendar/index.html",revision:"567eefddcf8571ce4fd09d81b1baf401"},{url:"contact/index.html",revision:"368eff851a6c7496cc0e4bdf9726241d"},{url:"emergency/index.html",revision:"1f2690c033641e555cb5e22392599c9f"},{url:"facility/building-11-elevator.html",revision:"7b785a0c24e677401a40b344ebb8d24a"},{url:"facility/index.html",revision:"64355c5f42b8b692566d7e53a2244382"},{url:"facility/panolens/index.html",revision:"c40f43d721d1e1215474eae51af59ba5"},{url:"if-you-are-a-freshman/2021.html",revision:"6eae1c1e1a75aabc306680dede41381b"},{url:"if-you-are-a-freshman/index.html",revision:"a3066f872c2192caeb9c6a236c7ba9c8"},{url:"if-you-are-a-freshman/preview/index.html",revision:"d4c2381c61b055797ac30028f367cb82"},{url:"index.html",revision:"66782a3e64505c5c4926cf15621493db"},{url:"life/by-zhicheng-college/新生攻略之宿舍生活篇.html",revision:"040a5ad795a347665b2c5ed15910a290"},{url:"life/by-zhicheng-college/新生攻略之校内介绍篇.html",revision:"636fb4d436e85f04b646af7c6c29260d"},{url:"life/by-zhicheng-college/新生攻略之社团篇.html",revision:"16456c4f5db15126ab3335d2c53ae5f9"},{url:"life/catering/index.html",revision:"4e7844a0660493958e679707f84c5a10"},{url:"life/dormitory/dorm-floor-plan.html",revision:"5ee77c35fcfd419b46b4d08870c8f12c"},{url:"life/dormitory/index.html",revision:"f29a2ca39f123a912259b4ff6e9c4b91"},{url:"life/freshman-register/index.html",revision:"fee1e029282df4f6d1b521a716623094"},{url:"life/index.html",revision:"e2048bb5a078ae0988d8b516d657c248"},{url:"life/sports-facility/index.html",revision:"f53f538b9e049c171df3ac6d3b5f0902"},{url:"life/vehicle-charger.html",revision:"9005703fee76151df1d20bee462377f1"},{url:"logo-assets/touch/homescreen144.png",revision:"51742628b96a4d2c587eab560373962b"},{url:"logo-assets/touch/homescreen168.png",revision:"741edd656b98963d2ef2881ff00a7610"},{url:"logo-assets/touch/homescreen192.png",revision:"7182aab7d4c78e800943f2c59e57e5a0"},{url:"logo-assets/touch/homescreen48.png",revision:"34bcad7cabc11efd8a6859f4cc6d2526"},{url:"logo-assets/touch/homescreen512.png",revision:"0206c3548fcda8dd59055f45eb2f3f35"},{url:"logo-assets/touch/homescreen72.png",revision:"e93cd5bbf2dc0ad83e2e37938d0120ee"},{url:"logo-assets/touch/homescreen96.png",revision:"cd04040f900f20c8a4e2e204218a1c57"},{url:"media/index.html",revision:"d7f2f11fb2377c8388f0453b3d275e5d"},{url:"miniapp/index.html",revision:"7a7ab6fa8fd8ce3792f1b40ae4e0d5fd"},{url:"news/index.html",revision:"0491a3f159baf6d0b660f5783a986c86"},{url:"organizations/index.html",revision:"19550b1deaa733e77c72a17a0b4b7219"},{url:"organizations/registered-organization-2019.html",revision:"b02171e00d6f200d4f9fea23304cd407"},{url:"organizations/registered-organization-2020.html",revision:"4fd7ab0cd1760423f7fd4afd5ad935bb"},{url:"organizations/registered-organization-2021.html",revision:"0744d1c128b82c1928278771a660e4d4"},{url:"qr-code.jpg",revision:"ccaefe4a0f839087e7ded77788a6e2df"},{url:"service/blackboard/retrive-ics-url/index.html",revision:"ea469965b8332ba3ae34731999f9afc2"},{url:"service/campus-card/index.html",revision:"cf7bc6a2e1dc5b105d74b12e7c06005f"},{url:"service/email/index.html",revision:"b759338447895daac7d1131142add20b"},{url:"service/email/send-receive-email-by-proxy.html",revision:"27e5e0330c1eb3169dbfc2e888c4039c"},{url:"service/index.html",revision:"c608a5c0f22eab018e72457148ecbd97"},{url:"service/mail-and-express/index.html",revision:"a7074c8dd1a9ddec1f0fd3be8d5de117"},{url:"service/matlab/index.html",revision:"d07814c082c6a6a5cd316cf0bad59d7b"},{url:"service/medical-treatment/index.html",revision:"132f0220491e4f157c40010f0dceb899"},{url:"service/network/apply-for-vpn/index.html",revision:"efd10c13702ecd1c544e84ef96da2dca"},{url:"service/network/choose-a-pad/index.html",revision:"83cb6f3c7be87231a060d52e701a71a3"},{url:"service/network/choose-a-router/index.html",revision:"890563b0cc13e37343350768714187dc"},{url:"service/network/eduroam/index.html",revision:"9f6179f943213bf2722f8aa99f629d15"},{url:"service/network/index.html",revision:"894d492bb54de1bd8217fc7f138b7e14"},{url:"service/network/ipv6/index.html",revision:"be4f44835166b51a0e4610624ffad62d"},{url:"service/network/remote-desktop/index.html",revision:"93b145f7c341268f3b8cbbe7abb5a9da"},{url:"service/network/use-vpn/index.html",revision:"99009cb9ca69e40c1aba51dcd0ca5999"},{url:"service/sakai/index.html",revision:"aa0708261317e96a0b57b88f49b99da2"},{url:"service/sid/index.html",revision:"2c7d0398eafc54e51d89bdb36be0ac3e"},{url:"service/ssc/index.html",revision:"9ff4aa24237644c16cbb2d6c0f5a6768"},{url:"service/student-train-ticket/index.html",revision:"a205414e8ca6cc3be6e39c28c33fcfb2"},{url:"service/tax/index.html",revision:"81d26576f1bba271b6b8f907fc35f7ff"},{url:"service/unifound/index.html",revision:"0d6f7821342a12a8dbdfc507423882ac"},{url:"service/work-wechat/index.html",revision:"b57145b94171e13386479a8a9c9d56ae"},{url:"site-help/index.html",revision:"00302d4e69a78f2ac6703b7893e77e0c"},{url:"study/book-list-by-prof-yuan/2018/index.html",revision:"e1a211c7bd50bd11abb20ceedf48f42f"},{url:"study/borrow-books/index.html",revision:"2cc60af1e8e691a71da8bce8f39f1b4a"},{url:"study/by-shude-college/advice-on-study.html",revision:"df05f5f211772da68736c4d2e58c57da"},{url:"study/by-shude-college/info-on-study.html",revision:"5e2c96c26442945bb4f7397730958802"},{url:"study/by-zhicheng-college/新生攻略之学习篇.html",revision:"bbec56ff2277280f1632befc2cb57ea5"},{url:"study/cse/innovative-project.html",revision:"4df0d9cd1c0c684cdf1b8c9f53176938"},{url:"study/index.html",revision:"f060132231975ce62d311875bb9b3a97"},{url:"study/paper-tools.html",revision:"663831af60d87dcf0895debb0d4d73d4"},{url:"surroundings/index.html",revision:"54ef8189a3f61de2be9995c2e92cbac6"},{url:"transport/bustimer-old.html",revision:"9e1016932360a1acf61237974881c903"},{url:"transport/bustimer-wx.html",revision:"8ab43739d1d289b37023fff33703e667"},{url:"transport/bustimer.html",revision:"b3b6b2a5684671d1e686bcbc90dec7d7"},{url:"transport/holiday.html",revision:"83265ca7f334ee3bf58aa08ab1dddb72"},{url:"transport/index.html",revision:"110168ae3d82e090fa022c62bc726bf6"},{url:"transport/redirect.html",revision:"c6ba1de0ba697723674603520e3b9866"},{url:"transport/workday.html",revision:"523045be32d5bc45ad2b5aabe7211d73"},{url:"wx_helper.js",revision:"4a2ff6bffe4a2c50dc04df243efc26be"}],{}),e.cleanupOutdatedCaches(),e.registerRoute((({url:e})=>"https://sustech.online"===e.origin),new e.NetworkFirst({cacheName:"web-cache",networkTimeoutSeconds:5,plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:86400}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute((({request:e})=>"image"===e.destination),new e.StaleWhileRevalidate({cacheName:"images-cache",plugins:[new e.ExpirationPlugin({maxAgeSeconds:86400}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.initialize({})})); diff --git a/service/blackboard/retrive-ics-url/index.html b/service/blackboard/retrive-ics-url/index.html new file mode 100644 index 000000000..9d46b0eff --- /dev/null +++ b/service/blackboard/retrive-ics-url/index.html @@ -0,0 +1,39 @@ + + + + + + + + + BB | 将Blackboard中作业,DDL等日程添加到系统日历 | 南科手册 + + + + + +

    BB | 将Blackboard中作业,DDL等日程添加到系统日历

    什么是ICS

    ICS是一种电子日历格式,它于2009年被列入RFC标准 RFC5545: Internet Calendaring and Scheduling Core Object Specification (iCalendar))在新窗口打开

    这种日历格式可以被方便的添加到各大系统提供的“日历”应用中。

    从Blackboard上获取ICS链接

    在Blackboard主页上,点击左侧卡片中的“日程表”。

    日程表

    在页面的左下角,可以看到一个“获取外部日程表链接

    获取外部日程表链接

    点击后,Blackboard会生成一个形如 https://bb.sustech.edu.cn/webapps/calendar/calendarFeed/12345678abcdefg/learn.ics的URL。

    URL

    将URL导入iCloud(适用于IOS/MacOS设备)

    HT202361: 使用 iCloud 日历订阅在新窗口打开

    导入后的效果:

    iCloud

    将URL导入Google Calendar

    Google Calendar: 借助计算机程序同步您的日历在新窗口打开

    导入后的效果:

    Google Calendar

    Google Calendar是许多安装有Google Play服务的Android手机的默认日历应用。

    将URL导入国产手机系统

    截止2020年6月,小米和华为手机暂未支持这一功能。

    + + + diff --git a/service/campus-card/index.html b/service/campus-card/index.html new file mode 100644 index 000000000..a7fd86955 --- /dev/null +++ b/service/campus-card/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 💳校园卡 | 南科手册 + + + + + +

    💳校园卡

    学校为每一位校内的师生职工提供一张校园卡。

    卡面颜色

    校园卡卡面具有多种颜色。

    以下表格所列颜色为近似颜色

    颜色所属
    橙色本科生,研究生,博士生
    蓝绿色教师,RA,访问人员
    红色家属
    褐色临时卡
    紫色功能卡,设备卡

    校园卡二维码

    二维码链接(需CAS登陆)在新窗口打开

    充值

    提示

    2019年9月起,通过微信/支付宝充值校园卡后无需圈存,可直接消费。

    现金充值

    时间为每周三中午11:30-13:00,充值地点:学生食堂一楼;

    自助机充值

    银行卡、信用卡(含国内异地)均可,24小时可充值,不扣手续费;

    微信充值

    微信搜索“企业号南方科技大学”并关注,微信充值成功后需等待5分钟左右持卡至自助充值机补助领取即可。

    支付宝充值

    打开支付宝找到“全部”—“校园生活”—“校园一卡通”—“立即充值”,选择“所在学校”后输入相应个人信息后进行充值即可。

    办公接待卡充值

    需OA填写固定审批,打印后提交至行政服务中心充值,(充值金额小于9万无需报备至财务部)

    校园宝充值

    微信搜索“校园宝”公众号并关注,

    消费系数

    在不同的餐厅/商店,不同类型的校园卡的消费系数不同。目前的消费系数如下图所示。

    校园卡消费系数

    挂失,补办,注销

    挂失、解挂

    提示

    行政服务大厅位于行政楼一楼。

    方法1

    微信关注南方科技大学企业微信号,进入南方科技大学企业微信号--校园卡--卡务--卡挂失。

    方法2

    到自助机上操作(操作方法校园卡务-卡挂失/解挂申请)。

    方法3

    持身份证到行政服务中心六号窗口办理。

    补办

    微信关注南方科技大学企业微信公众号;

    具体步骤:进入南方科技大学企业微信号--校园卡--卡务--卡挂失--补卡,凭短信和本人身份证领卡,教职工卡在行政服务大厅,学生卡在学生事务中心领取。

    注销

    在网上服务大厅提交离职申请后,携带校园卡至行政服务大厅六号窗口注销。

    模拟校园卡

    手机厂商提供的卡模拟工具仅能复制校园卡的ID和非加密部分。但校园卡为CPU卡,并且余额联网,因此通过手机模拟的校园卡只能用于部分门禁(不包括宿舍与大门),储物柜和水卡

    参考资料

    + + + diff --git a/service/email/index.html b/service/email/index.html new file mode 100644 index 000000000..4e8d2dd64 --- /dev/null +++ b/service/email/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 电子邮件服务 | 南科手册 + + + + + +

    电子邮件服务

    学校使用企业邮箱作为邮件系统,并为每位同学分配形如12010100@mail.sustech.edu.cn的邮箱。电子邮件可以通过网页或客户端收取。

    申请别名

    一般来说,教职员的邮箱后缀为 @sustech.edu.cn,同学的邮箱后缀为 @mail.sustech.edu.cn,每位同学还可以申请一个带有姓名拼音和入学年份的邮箱别名(如在2020年入学的张三,将可以申请别名为 zhangs2020@mail.sustech.edu.cn 的邮箱。若需申请姓名+入学年份的别名邮箱,向信息中心发主题问“申请邮箱别名”的邮件,即可申请。

    容量不足怎么办

    通过网页收发邮件

    访问 QQ 企业邮箱登录页https://exmail.qq.com/login在新窗口打开,输入邮箱和密码登入。也可通过https://mail.sustech.edu.cn/在新窗口打开上方的CAS登录邮箱在新窗口打开链接登入,首次登入需要输入密码绑定CAS账户和邮箱。

    通过 QQ 电脑客户端进入企业邮网页

    登录 QQ 企业邮箱网页版后,可在“设置” --> “提醒服务” --> “QQ 提醒”中绑定 QQ 号码,绑定后可以通过网页邮箱上方工具栏中的“QQ 邮箱 / 企业邮箱”选项切换邮箱。 在“设置” --> “提醒服务” --> “QQ 提醒”中选择“点击 QQ 面板的小信封直接进入企业邮箱”选项并保存后,可以直接通过 QQ 电脑客户端进入网页版企业邮箱。

    在移动设备上收发邮件

    参数

    假如一位同学的邮箱是12010100@mail.sustech.edu.cn,密码是sustech-manual

    项目其他参数
    用户名12010100@mail.sustech.edu.cn
    密码sustech-manual
    邮件服务器(Exchange)ex.exmail.qq.com
    发件服务器(SMTP)smtp.exmail.qq.com使用SSL,端口号465
    发件服务器(POP3)pop.exmail.qq.com使用SSL,端口号995
    收件服务器(IMAP)imap.exmail.qq.com使用SSL,端口号993

    微信

    关注“腾讯企业邮箱”公众号,并按提示操作。

    苹果自带邮件应用(Mail.app)

    建议使用Exchange方式收件。

    QQ邮箱客户端

    按照应用提示操作即可。

    Outlook客户端

    建议使用Exchange方式收件。

    安卓手机通用教程

    建议使用Exchange方式收件。

    在计算机上收发邮件

    Windows自带的邮件应用

    建议使用Exchange方式收件。

    MacOS自带的邮件应用

    建议使用IMAP方式收件。

    Outlook桌面版

    MacOS

    由于QQ邮箱不支持完整版的Exchange(只支持Exchange Activesync)因此Outlook Mac桌面版不能以Exchange模式添加账户,只能使用IMAP或POP模式添加账户。

    Windows

    推荐使用Exchange Activesync模式添加。

    我想给老师发邮件,但不知道老师的邮箱该怎么办?

    1. https://faculty.sustech.edu.cn/在新窗口打开寻找教师的个人主页**(页面可能会加载大量图片并消耗流量,请考虑直接从搜索引擎直接进入教师的个人主页)**
    2. 复制教师主页的网址 https://faculty.sustech.edu.cn/{faculty_name}/,如姚新老师的主页 https://faculty.sustech.edu.cn/xiny/
    3. 网址的url的path部分{faculty_name}(如xiny)即为相应老师的邮箱前缀,加上@sustech.edu.cn即为老师的邮箱地址(如xiny@sustech.edu.cn)。

    更多阅读/参考

    + + + diff --git a/service/email/send-receive-email-by-proxy.html b/service/email/send-receive-email-by-proxy.html new file mode 100644 index 000000000..be5653b8c --- /dev/null +++ b/service/email/send-receive-email-by-proxy.html @@ -0,0 +1,39 @@ + + + + + + + + + 解决邮箱容量不足的问题 | 南科手册 + + + + + +

    解决邮箱容量不足的问题

    by 贾纪源

    要求

    1. 有足够空间的 个人QQ邮箱A
    2. 容量不足的邮箱(以下用 企业邮箱B 举例)提供 POP3(Post Office Protocol 3)服务

    具体效果与配置注意事项

    1. 企业邮箱B 中删除邮件,个人QQ邮箱A 中存储的 企业邮箱B 的邮件不会被删除,以达到备份邮件、清理 企业邮箱B 空间的效果。
    2. 个人QQ邮箱A 中收取 企业邮箱B 的邮件,收件人依然保持显示 “企业邮箱B
    3. 个人QQ邮箱A 中发送或回复 企业邮箱B 的邮件,发件人将显示为 “企业邮箱B 发送 (以 个人QQ邮箱A) 代发”。
    4. 企业邮箱B 的垃圾邮箱策略,垃圾箱中的邮件可以不会被 个人QQ邮箱A 收取。
    5. 部分邮件服务商的POP3协议使用客户端密码,而不是网页账号密码。

    操作步骤

    1. 打开 个人QQ邮箱A,进入设置

      1

    2. 选择其他邮箱

      2

    3. 添加其他邮箱账户(企业邮箱B

      3

    4. 输入学校邮箱账号

      4

    5. 输入学校邮箱密码,点击验证

      5

    6. 输入POP服务器和端口点击验证

      6

    + + + diff --git a/service/index.html b/service/index.html new file mode 100644 index 000000000..bca96a32c --- /dev/null +++ b/service/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 🖥服务与技巧 | 南科手册 + + + + + +

    🖥服务与技巧

    SID (Student ID) 相关

    🆔学号

    💳校园卡&学生证

    信息服务

    🌐校园网络

    Ehall

    1. SUSTech ehall | 成绩查询在新窗口打开
    2. SUSTech ehall | 失物招领在新窗口打开

    计算机研究协会(CRA)

    部分项目与科学计算中心合作部署。

    1. 💿SUSTech/CCSE/CRA/LUG镜像站在新窗口打开:包含常用镜像与软件源 (已开放公网访问)
    2. 💾Git 服务在新窗口打开:使用GitLab部署的代码托管服务。可用CAS登陆 (已开放公网访问)
    3. 📶校园网测速在新窗口打开:内网测速。
    4. 📺校园直播在新窗口打开:日常校园风景直播,可提供校内社团活动、分享会、座谈会直播支持,详情咨询CRA的同学。
    5. 📄Markdown在新窗口打开:在线 Markdown 服务,可用CAS登陆 (已开放公网访问)
    6. 📄ShareLaTeX在新窗口打开:在线LaTex服务,Overleaf服务,想体验的同学请自助注册,如果邮箱并非以sustech.edu.cn结尾,请用南科大邮箱发一封标题为 sharelatex申请 的邮件(写明需要开通账户人的邮箱)到 service@cra.moe,看到邮件之后会手动给大家发送邀请。(如果在您在校外,可以通过 https://sharelatex-ext.cra.ac.cn/在新窗口打开 访问)。
    7. 📁Send 文件分享在新窗口打开:上传最大10G的文件,并使用链接将文件分享给在校园网下的其他的同学。文件默认于服务上存储10天,最多可保存30天。文件被加密存储于科学计算中心的服务器上,仅链接拥有者可以访问。(后台无法看到文件的内容)您同时也可以在上传文件后主动删除文件或者设置成在一次下载后自动删除文件。
    8. 🛠 软件资源下载在新窗口打开
    9. 🖥️服务状态监控在新窗口打开:校园网络,CRA服务监控。
    10. 牛娃课程评价社区在新窗口打开:是南科大学生的课程评价社区,只有拥有南科大邮箱的同学或老师才可以注册账户。
    11. 🌊牛娃广场(反馈社区)在新窗口打开:反馈与交流相关服务,现在已与牛娃小镇共同运营。可使用CAS登陆。
    12. DNS123服务:10.20.110.123,可通过此服务访问Google Scholar在新窗口打开等学术服务。

    牛娃小镇

    部分项目与计算机研究协会(CRA)合作部署。

    1. 牛娃课程评价社区在新窗口打开:南科大学生的课程评价社区,因此,只有拥有南科大邮箱的同学或老师才可以注册账户。中科大同款评教系统在新窗口打开,赓续教改初心。
    2. 牛娃广场在新窗口打开:校园论坛。

    飞跃手册:申请与校招经验

    南科大飞跃手册在新窗口打开共有五部分,分别为英语学习,海外交流,选校经验,申请注意事项和个人申请总结,力求为 “如何在南方科技大学为申请国内、海外高校和入职优秀企业做出更全面的准备“ 这一问题作出解答。需要特别指出的是,飞跃手册具有一定的时效性,比如一些热门专业每年的申请形式都会发生极大变化,再比如当我们谈及“xx专业19fall是史上最难申请的一年”,这有可能意味着20fall会更难申请,所以参考往年飞跃手册时请注意。

    退税

    教学相关

    👨‍🏫Sakai

    🖨联创打印系统

    👨‍🏫BlackBoard

    通讯相关

    📧电子邮件服务

    💬企业微信

    📦邮件与快递收发

    🏥医疗服务/就诊

    默认转诊医院变更

    学校的社区健康服务中心门诊转诊定点医疗机构已在2021年7月改为南方科技大学医院(西丽人民医院)。本文中的部分内容可能已经过时。

    软件授权

    学校已购买的软件与服务

    1. Matlab
    2. WPS政府版:请在此处(内网)在新窗口打开下载

    教育邮箱福利

    1. Office 365在新窗口打开
      • 仅有 Office online 套件,OneDrive 1TB 等
      • 不含 桌面版 Office 365 许可
    2. Jetbrains 全家桶在新窗口打开
      • 包含JetBarins旗下软件的教育授权
    3. Github Student Pack在新窗口打开
      • 包含一年免费.me域名,Digital Ocean一年100美金代金券等服务。
    4. AutoDesk软件在新窗口打开
      • 软件授权为教育版

    非官方Windows套件激活服务仅限学习与评估用途

    Windows:

    1. 此处在新窗口打开查找希望激活的Windows版本,记下相应的KMS客户端安装程序密钥。
    2. 以管理员身份启动cmd,设置kms服务器slmgr /skms dns.cra.moe,设置密钥slmgr /ipk [KMS客户端安装程序密钥]
    3. 激活:slmgr /ato

    Office:

    1. 下载Office Tool Plus在新窗口打开
    2. 参考 https://www.coolhub.top/archives/14在新窗口打开 中的 使用 Office Tool Plus 手动激活 一节,将KMS服务器设置为dns.cra.moe

    上述服务仅在学校内网有效。

    图书馆服务

    除了常规的自习室与纸质书刊借阅服务外,图书馆还提供其他服务:

    讨论间

    可供小组讨论的隔音空间,一般需要提前预约,预约系统地址(点此)在新窗口打开

    如果有尚未被预约的讨论间,也可以直接使用。

    电子数据库

    截至2020年10月,图书馆共购买了152个数据库。下面列出常用的几个数据库,详细列表请查看图书馆网站上的《数据库导航》在新窗口打开,如需校外访问,请从此进入

    1. CNKI中国知网数据库(校内免费下载)在新窗口打开
    2. CNKI中国知网数据库(校外访问入口)在新窗口打开
    3. 百度文库高校版(校内免费下载)在新窗口打开
    4. Wind资讯金融数据库(图书馆三楼/慧园三栋313办公室)在新窗口打开
    5. 新东方多媒体学习库数据库(校内外都可直接使用)在新窗口打开

    图书馆荐购

    可以通过以下任意方式荐购图书:

    教工/学生邮箱的报刊减免

    图书馆数据库包含部分外文报刊,但仅限通过数据库访问;Web端,移动端无法访问。部分报刊官网提供教工/学生订阅减免:

    1. Financial Times, 邮箱注册并通过FT人工审核后免费使用(含APP)
    2. Economist, 提供仅面向学生的费用减免(含APP)
    3. Le Monde, 提供教工/学生减免(含APP)

    什么值得买

    生活好物

    电子设备

    平板电脑

    如需购买苹果产品,请参考macrumors buyers guide在新窗口打开

    校园标识 / 文档模版

    + + + diff --git a/service/mail-and-express/index.html b/service/mail-and-express/index.html new file mode 100644 index 000000000..eee995219 --- /dev/null +++ b/service/mail-and-express/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 📦邮件与快递收发 | 南科手册 + + + + + +

    📦邮件与快递收发

    送至南科大的快递与从南科大发出的快递,均通过南科大物业设立的邮件转运中心进行中转。

    收发室

    地址电话
    荔园收发室荔园8栋10188015011
    欣园收发室欣园1栋1楼88010648
    书院收发室湖畔书院5栋1楼88010111
    慧园收发室慧园7栋10488010649
    新生宿舍收发室新生宿舍13栋1楼88010670

    提示

    1. 收发室服务时间:周一至周日;早上 8:30 至 13:00,下午 14:00 至 19:00 (双十一等特殊情况服务时间以学校邮件通知为准)
    2. 教师公寓大件快递存放在教师公寓四栋物业办公室

    自助快递柜

    柜体编号位置格口数量电话
    1&3教师公寓4栋1楼架空层30488010648
    2湖畔书院5栋1楼架空层416
    4行政楼103办公室门口160
    5第一科研楼1楼架空层719
    6荔园9栋1楼架空层352
    7学生宿舍8栋1楼架空层672

    提示

    快递进入快递柜/收发室后,相应的手机号将会收到短信,您也可以关注“近邻宝”公众号,通过微信取件。

    提示

    有时寄到13栋收发室的物品会被移至8栋的快递柜。需要注意手机收到的取件短信,短信里面有快递的具体位置。如若快递存放在快递柜,可在一天内任意时刻前往取件;如若在收发室,须在收发室开放时间前往。

    如何寄件

    • 方法一:去到最近的收发室(13栋收发室),找工作人员,说明自己要寄快递,然后按照规定操作即可

    • 方法二:直接在之前各种快递的app、小程序、公众号上下单,选择上门取件即可(如淘宝、唯品会退货时的上门取件)

    Q&A

    快递柜是否支持自助寄件?

    依据《中华人民共和国邮政法》《中华人民共和国反恐怖主义法》以及《邮政行业安全监督管理办法》等法律、行政法规和相关规定,所有快递一定要经过人工开箱检查后,才能实名制寄出哦!所以,寄件您可移步至就近收发室或选择网上下单预约快递公司上门取件!

    快递显示已签收却没有收到取件通知?

    有可能是面单收件人电话号码预留有误或系统录入识别号码有误,您可以随时拨打服务电话0755-88010648,帮您查询解答,同时还能再次秒发取件通知哦~

    快递派送地址与收件地址不一致?

    A1:如您未填写详细的收件地址,会统一派送至荔园8栋收发室,所以寄件时请注意填写详细的收件地址哦~

    A2:快递小哥哥在分拣环节收件地址识别有误导致您的快递送错区域,请第一时间拨打服务电话0755-88010648,马上帮您做转件~

    哪些物品是不能快递的?

    《快递暂行条例》所规定的违禁品。

    联系电话

    0755-88010648

    新的快递收发系统,可扫描下方二维码关注公众微信。

    参考资料

    + + + diff --git a/service/matlab/index.html b/service/matlab/index.html new file mode 100644 index 000000000..3a1be4d6d --- /dev/null +++ b/service/matlab/index.html @@ -0,0 +1,39 @@ + + + + + + + + + MATLAB 激活 | 南科手册 + + + + + + + + + diff --git a/service/medical-treatment/index.html b/service/medical-treatment/index.html new file mode 100644 index 000000000..c79169377 --- /dev/null +++ b/service/medical-treatment/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 🏥就医指南 | 南科手册 + + + + + +

    🏥就医指南

    校内紧急情况

    请前往 应急处理页面

    默认转诊医院变更

    学校的社区健康服务中心门诊转诊定点医疗机构已在2021年7月改为南方科技大学医院(西丽人民医院)

    本文内容来自:

    报销/缴费

    学生均为二档医保,签订劳务合同(缴纳五险一金)的研究助理等职工为一档医保。

    学生基本医保需要注意的事项或限制:

    1. 缴费周期:当年 9 月 1 日至次年 8 月 31 日,一般秋季学期初于学校缴费系统上进行缴费。
    2. 报销周期:当年 7 月 1 日至次年 6 月 30 日,统筹基金支付总额最高不得超过 1000 元。
    3. 基本医疗保险二档、三档参保人,应当选定本市一家社康中心作为门诊就医的定点医疗机构。参保人可变更所选定的社康中心或其他定点医疗机构,自变更生效次月起在变更后的社康中心或定点医疗机构门诊就医。
    4. 补充保险:深圳市重特大疾病补充医疗保险,大约是春季学期缴费。

    查询医保消费

    1. 微信 - 我的医保凭证(小程序) - 消费明细
    2. 支付宝 - 医保电子凭证 - 支出明细

    挂号

    1. 健康160 网站或公众号
    2. 支付宝的便民生活的医疗健康功能
    3. 微信各医院的小程序

    在校生常用就诊地点

    医院等级从高到低:三级甲等 > 三级医院 > 二级甲等 > ...

    南科大社康中心

    • 地址:南科大风雨操场旁

    • 推荐路线:步行/乘坐校巴

    • 简介:小病小伤都可以去学校社康中心治疗,办理医保卡后,买药看病很便宜,但是有可能有时医疗资源不足,此时可以在社康中心开局转诊单,去其他地方就医。另外,闲暇时间同学们可以去社康拔个火罐、贴三伏贴。

    大学城社康中心

    • 地址:深圳市南山区塘兴路77号

    福光社康中心

    • 深圳市南山区桃源街道留仙路1998号崇文花园5A栋临街铺1-2层

    南方科技大学医院(西丽人民医院) 三级医院

    • 南科大社康 默认 转诊医院,2019年由二级甲等升级为三级医院
    • 地址:深圳市南山区西丽留仙大道6019号

    深圳大学总医院 三级甲等

    • 地址:深圳市西丽大学城学苑大道1098号

    华中科技大学协和深圳医院(南山区人民医院) 三级甲等

    • 地址:深圳市南山区桃园路89号
    • 简介:南山区老牌三甲医院,又叫深圳市第六人民医院。

    Tips

    1. 医保卡是能在直属医院看门诊急诊报销交钱时直接优惠,但其他医院只能看急诊报销且这样的报销不是交钱的时候直接优惠,还要后期自己去报销(具体流程可以咨询校社康中心)。
    2. 我校医保卡直属医院默认为学校社康中心和西丽医院。但是可以根据自身情况更改绑定在其他医院和对应社康中心。
    3. 如果是大病住院了那么哪个医院都是可以用医保卡报销的。
    4. 离学校最近的医院是深大总医院,属于三甲医院。
    5. 小病小伤都可以去学校社康中心,办理医保卡后,买药看病都不会很贵,但是有可能有时医疗资源不足,此时可以在社康中心开局转诊单,去其他地方就医。
    6. 可以步行,或乘坐74、43、81、M369、M459等路公交车到达塘朗村(塘朗村口或塘朗派出所站)的 大学城社康中心 就医,价格不高,挂号费15元,医疗设备目前多于学校社康中心。
    7. 紧急情况(遇见蛇等)也可以在信息交流群(286147538)等QQ群联系校内安保人员和物业服务人员以及应急救援队队员。
    8. 一般常见药是可以在学校社康中心买到的,办理社保卡后,价格会很便宜(参考数据为:甲类药品和乙类药品,分别由社区门诊统筹基金按80%和60%的比例支付)
    9. 另外常见外伤处理用品可以直接从书院办公室等处借用急救包。
    + + + diff --git a/service/network/apply-for-vpn/index.html b/service/network/apply-for-vpn/index.html new file mode 100644 index 000000000..818bc8e14 --- /dev/null +++ b/service/network/apply-for-vpn/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 申请回校VPN | 南科手册 + + + + + + + + + diff --git a/service/network/choose-a-pad/index.html b/service/network/choose-a-pad/index.html new file mode 100644 index 000000000..4d8f9b990 --- /dev/null +++ b/service/network/choose-a-pad/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 选择一台合适的平板电脑 | 南科手册 + + + + + +

    选择一台合适的平板电脑

    by @sparkcyf在新窗口打开

    提示

    本文写于2020年8月。

    我需要平板电脑吗?

    如果你想把自己的笔记/绘图电子化,或者看看爱奇艺(误),那一台平板电脑还是有必要的。

    iPad还是其他的Android平板?

    学校里大部分使用平板的同学,使用的都是iPad。个人也建议购买iPad。因为iPad的软件生态环境会比Android平板好许多。Android的平板的出货大厂目前就只剩下三星和华为了。这两个厂家的平板做工的确不错,但是软件生态一般,而且他们的价格基本都达到了iPad的价格(MatePad Pro的价格甚至比iPad Air3更贵),那为什么不直接去买一台iPad呢?

    需要买笔吗?

    强烈推荐买一支,对做电子笔记或者绘图的时候

    + + + diff --git a/service/network/choose-a-router/index.html b/service/network/choose-a-router/index.html new file mode 100644 index 000000000..582be9be2 --- /dev/null +++ b/service/network/choose-a-router/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 📶选择一台合适的路由器 | 南科手册 + + + + + +

    📶选择一台合适的路由器

    by @sparkcyf在新窗口打开

    提示

    本文参考了acwifi.net的相关文章在新窗口打开

    本文写于2020年8月。

    我有需要购买路由器吗?

    除非你有如以下的需求,学校提供的网络服务一般来说已经够用了。

    • 居住于湖畔,并且办了电信的自费宽带。
    • 觉得学校提供的无线速率太慢(学校的路由器使用802.11ac 40Mhz频宽(2*2/3*3),最大单向传输速率约为450Mbps)。
    • 宿舍的无线信号覆盖较差。
    • 需要连接其他电子设备(如台式机,开发板,存储服务器等),或需要对局域网进行控制。
    • 使用了无DHCPv6功能的设备,但还想使用IPv6。

    Wi-Fi5还是Wi-Fi6?

    目前,苹果与安卓厂商的旗舰设备均已经支持Wi-Fi6(802.11ax),不少使用Intel网卡的新电脑也已经支持Wi-Fi6。相对Wi-Fi5(802.11ac),Wi-Fi6能能够带来显著的速度提升。

    随着一波新品WI-FI 6上市,那么问题来了:“廉颇老矣,尚能饭否”。一些老的WI-FI 5路由器还可以购买吗?我不知道,因为没对比过,最近玩廉颇老是输,才想起这个问题。但可以肯定的是同一台WI-FI 6路由器,用支持WI-FI 6的手机会比只支持WI-FI 5的手机在近、中、远的距离上速度都要快,再远就两者都没有信号了。

    但值得注意的是,除了Wi-Fi技术的版本,天线阵列数量和路由器支持的频宽也是选择路由器的重要因素。比如,支持160Mhz的Wi-Fi5路由器相比只支持80Mhz的Wi-Fi6路由器就能达到更高的理论带宽速度。

    同时,苹果目前发布的电脑所内置的网卡支持3*3天线,但不支持160Mhz和Wi-Fi6,若你使用苹果电脑,可以根据这一点选择合适的路由器。

    我应该重点关注什么?

    • 不要再买百兆/2.4G only的路由器了。请至少购买一个有千兆网口,支持双频的路由器(况且现在千兆双频的路由器也只要100不到)。

    • 关注路由器是否支持IPv6。教育网的一大优势就是IPv6所带来的资源和更加空闲的网络。你同是还应该关注路由器的相关设置中是否提供了IPv6防火墙的开关功能。

    • 能否刷机。由于电信的自费网络需要登陆,还会定时把你踢下线,在路由器上部署一个自动登录脚本是相当有必要的,但这就需要路由器能刷机,或者能够拿到路由器的控制权了。

    按照价格选择

    100元左右

    99元的水星D191G或D196G,3*3天线,配合3*3天线的网卡,实测最快传输速率可达700Mbps左右。支持IPv6,但无法控制IPv6防火墙。系统由于用的是vxWorks,刷机就不用想了。

    150左右的红米ac2100。3*3天线,支持160Mhz带宽,还可以刷机,在200元以内算是性价比最优的路由器了。

    200-400元

    200元左右的华为AX3/荣耀路由pro2,2*2天线。160Mhz的Wi-Fi6路由器,实测使用Intel的AX200网卡也可以跑到700Mbps左右(理论速率1.2Gbps)。支持IPv6,也有一些华为特色功能,也带USB口。但依旧没有IPv6防火墙设置。华为的路由器也不用想着刷机了。

    300元左右的小米AX1800。2*2天线,支持80Mhz,没有USB口。带外置功放,相比ax3信号会好一些。已经有人开出了ssh,支持刷机估计是迟早的事情。

    300元左右的小米AX3 Pro。相比AX3多了外置功放,但宿舍这么小的空间,没有的话问题也不太大。

    400元+

    600元左右的小米AX3600。4*4天线,支持160Mhz。参数上来看还是很不错的。也能开SSH,估计过段时间就能刷机了。

    我需要软路由吗?

    如果你需要进行有加解密运算的工作,那软路由还是有必要的。或者如果你只是把路由器当AP,而需要另一个计算设备处理路由相关的工作,那也可以考虑购置一个。

    + + + diff --git a/service/network/eduroam/index.html b/service/network/eduroam/index.html new file mode 100644 index 000000000..89cafeb99 --- /dev/null +++ b/service/network/eduroam/index.html @@ -0,0 +1,39 @@ + + + + + + + + + eduroam(学术网路漫游) | 南科手册 + + + + + +

    eduroam(学术网路漫游)

    eduroam(education roaming) 是专为科研和教育机构开发的安全的环球跨域无线漫游认证服务,目前已覆盖全球八十余个国家和地区的超过6000家科研机构和教育机构。加入 Eduroam 联盟的机构成员可使用本机构提供的合法账号,在全球已加入 Eduroam 联盟的机构内实现无线网络访问的无障碍漫游。

    注册

    http://eduroam.user.sustech.edu.cn在新窗口打开

    配置

    • 用户名(身份):xxxx@sustech.edu.cn (教职工) / your_studentID@mail.sustech.edu.cn (学生)
    • 密码:eduroam系统登录密码(非CAS登录密码)
    • 加密类型:802.1x / EAP协议
    • EAP方法:PEAP
    • 阶段2身份验证:MSCHAPv2
    • CA证书:不验证
    + + + diff --git a/service/network/index.html b/service/network/index.html new file mode 100644 index 000000000..858d4e5d9 --- /dev/null +++ b/service/network/index.html @@ -0,0 +1,77 @@ + + + + + + + + + 🌐网络与信息中心 (its@sustech.edu.cn) | 南科手册 + + + + + +

    🌐网络与信息中心 (its@sustech.edu.cn)

    校内局域网

    南科大的校内局域网主要分为主要包含教学/科研/业务计算机的科研教学网段(172.18.0.0/16)和包含大部分师生员工的个人有线与无线设备的普通网段(10.16.0.0/13)。

    在普通网段中,10.20.0.0/1610.16.0.0/16为有线网段,10.22.0.0/16为电信自费宽带网段。

    学校为支持IPv6的设备分配前缀为2001:DA8:201D::/48的IPv6地址。(仅教育网可访问:SUSTC6-CERNET2在新窗口打开)

    接入网络

    南科大师生员工无需为互联网服务付费(电信自费宽带除外)。设备获取的内网IP地址在遵循前述原则下与Mac地址绑定,在较长的时间内不会改变。

    网络接入管理地址:http://172.16.16.20:8900/home在新窗口打开

    • MAC 无感知认证:为无法进行 Web 认证的设备,例如:Nintendo Switch,智能音箱,进行入网认证。
    • 查看上网设备
    • 查看上网记录

    有线网络

    接入学校有线网络暂时无需认证,接入电信自费宽带的有线网络时需要验证购买过套餐的同学的学号与密码。

    无线网络

    接入无线网络时,需要通过Web认证,输入学号与密码后才可上网,否则只能访问校内局域网,无线网络的认证地址为:http://172.16.16.20:803/sustc_cas.php在新窗口打开

    如联网设备不支持通过Web进行验证(如路由器,开发板等),可以尝试使用同学制作的第三方脚本在新窗口打开进行联网,或是更改可进行Web认证设备的Mac地址为不支持Web认证设备的Mac地址代为认证。

    同学制作的无线网络登陆脚本
    #!/bin/bash
    +source /etc/profile
    +set -e
    +curl https://cas.sustech.edu.cn/cas/login?service=http%3A%2F%2F172.16.16.20%3A803%2Fsustc_cas.php > a.txt
    +s=$(grep -o -E "on\"\ value=\"(.+?)\"" a.txt)
    +echo $s
    +s=${s#*\"}
    +s=${s#*\"}
    +s=${s%%\"*}
    +echo $s
    +unm=此处填入教/学工号
    +pwd=此处填入密码
    +curl "https://cas.sustech.edu.cn/cas/login?service=http%3A%2F%2F172.16.16.20%3A803%2Fsustc_cas.php" --data "username=$unm&password=$pwd&execution=$s&_eventId=submit&geolocation="
    +

    给路由器写了一个登录南科大校园网的脚本在新窗口打开

    湖畔宿舍区域的有线网络需特别配置

    湖畔区域墙上的网口仅能以百兆接入校园网。若需以千兆速度接入校园网,可使用AP上的网口接入校园网。AP上的网口仅能访问校园网内网,但不能访问校外网络

    其他有关网络的问题

    在路由器后获取IPv6地址

    使用dhcpclient时获取不到IPv6地址

    • 通常是因为学校的DHCPv6服务器不响应DHCPv6 Solicitation造成的。此问题常出现在安装Debian/Ubuntu(使用dhcpclient作为dhcp客户端的发行版中),如果希望快速解决,可以尝试讲dhcp客户端更改为dhcpcd

    互联网

    出口

    学校目前拥有4Gbps电信163出口带宽,2.5Gbps电信CN2出口带宽,以及1.5Gbps教育网出口带宽。在新窗口打开学校信息中心会将访问境外网站的流量发往CN2出口,因此学校内访问境外网站的质量会显著高于普通电信网络。

    学校目前对普通网段设备不限速(Fair Use@Up to 1000Mbps),对科研教学网段限速50Mbps,对教育网IPv4限速20Mbps,暂不对教育网IPv6限速。

    电信自费宽带不再推荐

    注意

    由于学校已经放宽网络限速,电信宽带的性价比较低。建议参考湖畔宿舍区域的有线网络一节进行配置。

    中国电信为居住于湖畔宿舍区的同学提供自费电信宽带。

    宽带速率可选50Mbps和100Mbps。其中,100Mbps宽带和手机卡套餐的总价为70元/月。

    电信自费宽带也需要使用购买套餐同学的校园卡账户登录后才可使用,登陆方式为Web认证。也有同学制作了第三方脚本以方便快速验证。

    此处(PDF)在新窗口打开是一份电信为南科大同学提供的学生卡套餐的具体内容(含流量与宿舍宽带)。

    同学制作的电信自费网络登陆脚本
    loginurl="https://cas.sustech.edu.cn/cas/login"
    +authip="219.134.142.194"
    +# Insert your CAS info below:
    +username="YOUR_USER_NAME_HERE"
    +password="YOUR_PASSWORD_HERE"
    +
    +while [ true ]
    +do
    +	ret_code=`curl -I -s --connect-timeout 5 http://www.baidu.com -w %{http_code} | tail -n1`
    +
    +	if [ $ret_code -ne 200 ] ; then
    +		echo "Attempting to log in the enet system"
    +		rm -f /tmp/cascookie
    +
    +		# You may need to modify the following regex for different distros.
    +		routerip=$(ifconfig | grep -A 1 "^eth0.2" | grep -P -o "(?<=inet addr:).*(?=  Bcast)")
    +		eneturl="http://125.88.59.131:10001/sz/sz112/index.jsp?wlanuserip=$routerip&wlanacip=$authip"
    +		execution=$(curl --silent --cookie-jar /tmp/cascookies -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0" -L "$eneturl"  | grep -o 'execution.*/><input type' | grep -o '[^"]\{50,\}')
    +
    +		curl --silent --output /dev/null --cookie /tmp/cascookies --cookie-jar /tmp/cascookies -H "Content-Type: application/x-www-form-urlencoded" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0" -L -X POST "$loginurl" --data "username=$username&password=$password&execution=$execution&_eventId=submit&geolocation="
    +	else
    +		echo "Connected to Internet, recheck a second later"
    +	fi
    +	sleep 1s
    +done
    +

    NewbieOrange/SUSTech-EnetLogin在新窗口打开

    信息中心

    信息中心老师的联系方式如下:

    岗位名称在岗人员名单联系方式
    主任杨海琨88010799
    副主任孙乔羽88010798
    运维管理管立生88010776
    综合保障刘敬、张炳坤88010780
    信息化管理郑善辉88010779
    招生信息化詹涵舒、韩少亮88010789
    教学信息化宋伟中88010788
    综合信息化朱朝阳88010775
    科技管理尹荣荣88010787
    项目管理陈毅88010726

    网络信息中心(页面即将停用)在新窗口打开

    • 南科大信息中心沟通群:434226835

    我可以请求信息中心做什么?

    关于学校提供的更多信息服务,请见服务一节

    选择合适的电子产品

    校内网络使用技巧

    同学自行运营的千兆网络加速服务广告

    提示

    你是否在为湖畔无法使用有线网络,或是校园网游戏丢包而苦恼?现在订阅SUSTC IX,即可以低至30元每月的价格畅享高达1Gbps的电信宽带,性价比远超湖畔电信并保证家庭宽带级别的低丢包率,任何宿舍区域均可订购,可一对一提供安装及技术支持。详情请咨询:qq 2353508907 或邮件 mai.sakurajima.qwq@gmail.com

    + + + diff --git a/service/network/ipv6/index.html b/service/network/ipv6/index.html new file mode 100644 index 000000000..6bd82fbd5 --- /dev/null +++ b/service/network/ipv6/index.html @@ -0,0 +1,51 @@ + + + + + + + + + 校内 IPv6 设置教程 | 南科手册 + + + + + +

    校内 IPv6 设置教程

    本篇教程是在南方科技大学的网络环境下写成。据我所知,下发128位前缀 IPv6 地址的学校不止南科大一所,本篇教程事实上具有普适性,其他大学的同学也可以进行参考。

    事实上,在中国电信的家宽一般下发56位前缀的地址,也可使用本方法,但并无必要,可直接由路由分配地址无需 NAT。

    南科大的 IPv6 下发的地址是 128位前缀,换言之,子网大小为 1,仅够一台设备使用。为了让一个物理网口下的多个设备共享网络,常见的解决方案是(1)交换机(2)路由器。两者的区别想必需要用到此教程的同学应该了解,这里仅介绍具体配置。

    IPv6 桥接

    根据工信部《关于开展2019年IPv6网络就绪专项行动的通知》在新窗口打开 的要求,“新部署的家庭网关设备应全部支持IPv6,并默认配置支持IPv4/IPv6双栈,能够为网关下挂设备分配 IPv6 地址”。同学们新购买的路由器应该都支持 IPv6。例如水星等,国产路由器一般会将 IPv6 与 IPv4的设置分开。

    在南科大校园网下,在 IPv6 的设置中选择 “桥接模式” 或 ”中继模式“,下级设备应该能分配到 2001 开头的公网 IPv6 地址。

    IPv6 NAT ©️ 戴郭轶

    一些同学如果有特殊需求可能会使用 OpenWrt,里面有丰富的插件提供多样的服务。

    这篇教程可以说是一篇咕咕咕了很久的教程,大概是在去年才开学的时候,当时公网限速在 700KB/s,所以就买了新路由3刷了 OpenWrt 进行多拨来解除限速,(现在解除了,最快能够跑到 90MB/s 左右,没有必要使用多拨来提升带宽)。不过当时也花了很久配置 IPv6 的经验,可能仍值得分享。

    由于南科大的分配的128位前缀的地址,子网空间不足,需要使用本该被淘汰掉的 NAT 网络地址转换使得下级设备能够联网,正确配置后的效果如下:

    img

    同时北洋园和蒲公英pt均能正常识别(需要在OpenWrt开启 UPnP ):

    img

    img

    (PS:不要学我IPv6不打码直接发,因为 v6 默认就是公网地址,我在发完教程后会使用新的地址)

    电脑能成功获取内网IPv6,同时手机也能获得64位的 v6 地址,正常访问 v6 网络:

    img

    相应的流程并不复杂,只需要一台刷入OpenWrt的路由器,一台电脑,WinSCP(可选),以及足够的耐心。

    首先,我们需要登录进入路由器的后台管理页面,依次点击网络-接口:

    将全局网络选项前缀进行修改,我个人使用的是 fd34:fe56:7891:2f3a::/64;可以按照自己喜好选择一个内网前缀。

    img

    随后单击lan一栏的修改,我们需要修改一下内网的设置,滑到下方,点击高级设置,按照下图进行勾选:

    img

    然后点击IPv6设置,路由器通告服务和DHCPv6服务修改为服务器模式,NDP代理设置为禁用,DHCPv6选择无状态的+有状态的,并勾选总是通告默认路由:

    img

    完成后点击保存&应用。

    随后进入wan口的设置,勾选上使用内置的IPv6管理

    img

    随后进入wan6口的设置,将协议修改为DHCPv6客户端,请求IPv6地址为force,请求指定长度的IPv6前缀为已禁用:

    img

    进入高级设置,勾选上使用内置的IPv6管理,强制链路和使用默认网关:

    img

    之后选择网络-DHCP/DNS,进入高级设置,取消勾选禁止解析IPv6 DNS记录:

    img

    进入网络-防火墙:

    将转发改为接受,下面的区域也需要改:

    img

    进入自定义规则,粘贴如下内容:

    img

    WAN6=eth0.2
    +LAN=br-lan
    +ip6tables -t nat -A POSTROUTING -o $WAN6 -j MASQUERADE
    +ip6tables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    +

    其中 eth0.2br-lan 需要修改为你网络-接口中显示的内容:

    img

    2023.3.22 更新:

    在新版本的linux/openwrt 中,iptables 已经被 nftables 取代,上述命令可能执行失败,我们可以使用以下命令来解决: ip6tables -t nat -I POSTROUTING -s `uci get network.globals.ula_prefix` -j MASQUERADE 这样就无需上述防火墙自定义规则的配置了。

    如果有多拨需求的,提醒一下需要在负载均衡中将 defalut-rule 的备用成员改成默认(使用主路由表),由于我重新刷机做的教程且现在没有多拨的必要,就不演示了,没有需求的可以略过这一点。

    经过如上配置,重启路由器后,在网络,诊断中应该能够成功 ping 通 openwrt.org 的v6了,说明你的路由器已经成功接入 IPv6 网络了:

    img

    但是如果我们打开 https://www.test-IPv6.com/在新窗口打开 ,我们电脑还是没有连上v6的,这里就需要我们修改流量转发的路由表了,使用ssh工具连上路由器,没有的可以点击系统-TTYD终端:依次输入一下代码:

    route -A inet6 add default gw fe80::3e8c:93ff:fed0:83c2 dev eth0.2
    +/etc/init.d/firewall restart
    +/etc/init.d/network restart
    +

    其中,第一行的fe80开头的一串v6地址需要修改为本机的默认网关,可以在状态-概览下获得,如图:

    img

    而后面的eth0.2就是你网口的编号了,和防火墙哪那里一样,这个时候我们再打开 https://www.test-IPv6.com/在新窗口打开 ,可以发现,我们电脑已经接入IPv6了:

    img

    但是,如果路由器关机重启后,我们刚才输入的三行代码会丢失,也就是会回到路由器有 IPv6 而电脑无法连接 IPv6 的状态,这个时候我们就需要编辑一个开机自启的脚本,让路由器再开机时自动添加:

    具体操作为:使用 WinSCP 连接并登陆进入路由器,在 /etc/hotplug.d/iface/ 目录下新建名为 restart-IPv6 的文件,修改内容为:

    #!/bin/sh
    +[ "$ACTION" = ifup ] || exit 0
    +route -A inet6 add default gw fe80::3e8c:93ff:fed0:83c2 dev eth0.2
    +

    2023.3.22 更新: 如果无法在防火墙自定义规则处修改,请在脚本中添加相关命令。

    最后一行需要修改成和刚才一样的内容,然后给予可执行权限。

    没有 WinSCP 的可以在终端内输入以下内容:

    vim /etc/hotplug.d/iface/restart-IPv6
    +

    然后再文本框中输入上面的三行内容,按 Esc 后退出 insert 模式,输入 :wq 退出。

    然后给予可执行权限:

    chmod +x /etc/hotplug.d/iface/restart-IPv6
    +

    img

    这个时候,恭喜你,成功配置IPv6了哦~

    对了,如果有挂pt需求的同学,别忘了在服务-UPnP中打开哦~

    还存在一些应该是OpenWrt本身的问题,在使用IPv6的时候,无法手动配置端口转发,UPnP的端口转发是成功的,但是在防火墙下无法配置,使用 Socat 也没有成功。

    感谢阅读!如果有什么问题或者建议,可以和我发邮件联系。

    我的个人邮箱为:ntdgy2001@gmail.com / 12011211@mail.sustech.edu.cn

    原文章地址(NAT 部分)©️ 戴郭轶:[https://ntdgy.top/ntdgy/30/在新窗口打开]

    + + + diff --git a/service/network/remote-desktop/index.html b/service/network/remote-desktop/index.html new file mode 100644 index 000000000..23b7905dd --- /dev/null +++ b/service/network/remote-desktop/index.html @@ -0,0 +1,143 @@ + + + + + + + + + 校内远程桌面使用指北 | 南科手册 + + + + + +

    校内远程桌面使用指北

    by @jerrylususu在新窗口打开

    提示

    本文初版写于2020年12月,文中所述内容可能已发生变化。请参考各贡献者的修订以获取最新情报。

    远程桌面是什么?

    远程桌面,是一种远程访问技术,可以从其他设备连接到你的电脑,并访问所有应用、文件和资源,就像坐在自己的电脑前一样。换句话说,这是一项可以把不属于自己的设备(如机房电脑)当成自己的设备使用的技术。

    作为一项技术,远程桌面有不同的实现。在 Windows 环境下,最常见的远程桌面实现为 Remote Desktop Protocol (RDP,远程桌面协议),Windows 为其提供了完善的支持。在 Linux 环境下,最常见的远程桌面实现为 Virtual Network Computing (VNC)。其他厂家也有自己的远程桌面实现,如 TeamViewer,AnyDesk,ToDesk,向日葵,甚至于 QQ 的「远程协助」。

    本文将着眼于 Windows 环境下 RDP 的配置(即从 Windows 设备连接到 Windows 设备),这也是校内最常见的用例。

    (若需要从 iOS / Android / Mac 端远程控制 Windows,可以直接在应用商店中搜索安装 RD Client,iPad 端最新版本支持完整的鼠标操作。若需要从 Windows 端远程控制 Mac,除了 Mac 提供的 VNC 之外,推荐使用流畅性更高的第三方软件,例如 NoMachine 等。)

    远程桌面的典型使用场景

    • 购买了重量较重的游戏本或不便于携带的台式机在宿舍,但是想从图书馆、实验室等位置使用。
    • 在参加计算机系的实验课程时,使用宿舍或实验室内性能强大的设备进行编译操作,而不必被机房性能羸弱的电脑限制。
    • 在图书馆专心复习时,仍能访问宿舍电脑上存储的课件、笔记、电子书等资料。
    • 在教室 Pre 的时候发现自己忘了携带所需的资料,可以使用远程桌面从宿舍电脑上取回。
    • 在校内有 WiFi 信号覆盖的位置使用远程桌面连接回宿舍电脑继续工作/学习,而无需手动维持不同设备(如笔记本和台式机)间的数据同步状态。
    • 在宿舍床上使用 iPad 等平板类设备游玩床下电脑中的 Galgame。

    不建议使用远程桌面的场景

    • 玩大型游戏、看电影/视频(RDP 主要为日常工作使用优化,变化频繁的画面使用 Steam Remote Play 等技术更适合)
    • 复制体积较大的文件(RDP 对在不同设备间转移小文件十分合适,但文件体积过大可能造成网络阻塞,操作卡死。如有需要转移大文件的需求,可使用 LANDrop在新窗口打开校内 Send 文件分享在新窗口打开 等工具)

    下称自己的设备为「服务端」,机房/教室/图书馆等的设备为「客户端」

    服务端配置

    1. 开启「远程桌面」功能。在新窗口打开(此功能需要专业版本 Windows,家庭版本可以使用 GitHub 上的开源工具 RDPWrap在新窗口打开 开启此功能,教程在新窗口打开)。

      注:若按照教程仍然无法开启功能,则可能是服务端 rdpwrap.ini 文件与当前 Windows 版本不匹配,可以从 Github Issues在新窗口打开 或其他地方获取 rdpwrap.ini 文件并替换。详情可参考此 B站视频演示在新窗口打开

    2. 设置远程桌面端口为非 3389 端口在新窗口打开 ,并记住这个端口号 (此为信息中心的限制,为防止病毒通过远程桌面传播,默认阻断了 3389 端口上的 TCP 链接) ,此限制实测在工学院和慧园地区已取消,其他地区待认证。

    3. 查看并记录自己的 IP 地址:打开「任务管理器」,切换到「性能」标签页,在左侧找到「Wi-Fi」,在右侧找到「IPv4 地址」并记录。(通常为以小数点分割的一组数字,如 10.XX.XX.XX

    注:如有可能,建议使用网线直接连接。使用 WiFi 可能导致在高峰期时的延迟抖动。

    1. (非必需设置)如果想从非校园网络访问远程设备,可以尝试使用 ZeroTier One在新窗口打开 等软件 配置内网穿透在新窗口打开 功能。

    一键开启远程桌面功能并修改端口为 13389 的注册表文件:

    by @BadBoyGuangzhi在新窗口打开

    打开记事本,复制下方文本到记事本内,另存为 xxx.reg 文件,右键管理员运行即可(已经开启过的也可以使用此文件修改端口为13389,不会重复添加导致冲突)。或者也可以直接使用成品 点我下载成品在新窗口打开

    Windows Registry Editor Version 5.00
    +
    +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
    +"fDenyTSConnections"=dword:00000000
    +
    +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]
    +"PortNumber"=dword:0000344d
    +
    +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
    +"PortNumber"=dword:0000344d
    +
    +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules]
    +"{4043AE3F-5762-46B6-A755-23E34F020290}"="v2.30|Action=Allow|Active=TRUE|Dir=In|Protocol=17|LPort=13389|Name=RDP-13389-UDP|"
    +
    +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules]
    +"{8A4F4940-93E0-4BFC-B35F-2C89A6AD260F}"="v2.30|Action=Allow|Active=TRUE|Dir=In|Protocol=6|LPort=13389|Name=RDP-13389-TCP|"
    +
    +[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
    +"DisableCAD"=dword:00000001
    +

    从客户端连接

    1. 在「开始」菜单中选择「Windows 附件 / 远程桌面」(或使用 Win+R 打开「运行」窗口,然后输入 mstsc,按下回车)
    2. 在「计算机」文本框中输入自己的 IP 和端口号,用英文冒号分割。(例:10.XX.XX.XX:YYYY
    3. 点击「连接」按钮
    4. 在弹出的认证窗口中输入自己的用户名和密码(如果服务端使用的是微软账户,需要输入微软账户的邮箱和密码)
    5. 在证书确认窗口点击「是」
    6. 如果一切正常,应该能见到远程设备的桌面了。

    用于在校内网通过邮箱获取服务端IP地址的 Python 脚本:

    by @KagaJiankui在新窗口打开

    获取IP的脚本
    # coding: utf-8
    +
    +import smtplib
    +import time
    +import datetime
    +from email.mime.text import MIMEText
    +from email.header import Header
    +import socket
    +
    +_local_ip = None
    +
    +mail_info = {
    +    'recv_address': 'recv@example.sustech.com', #你的接收端邮箱地址
    +    'sender_name': 'send@example.sustech.com', #你的发送端邮箱地址
    +    'sender_pwd': 'authenticationcode', #授权码(用于qq或163邮箱)
    +    'smtp_server': 'smtp.example.com', #smtp发送服务器(在邮箱帮助页面查看)
    +    'subject': '远程电脑IP信息已更新',
    +    'content': '您的校内网IP信息: {}'
    +}
    +
    +
    +def send_message(content):
    +    # 设置发送邮件的内容
    +    msg = MIMEText(content, 'plain', 'utf-8')
    +    msg['From'] = Header(mail_info.get('sender_name'))
    +    msg['Subject'] = Header(mail_info.get('subject'), 'utf-8')
    +    msg['To'] = Header(mail_info.get('recv_address'))
    +    # 发送邮件
    +    smtp = smtplib.SMTP()
    +    smtp.connect(mail_info['smtp_server'])
    +    smtp.login(mail_info['sender_name'], mail_info['sender_pwd'])
    +    smtp.sendmail(mail_info['sender_name'], mail_info['recv_address'],msg.as_string())
    +    try:
    +        smtp.quit()
    +    except smtplib.SMTPException as e:
    +        e = "Failed to close SMTP session."
    +
    +
    +def get_host_ip():
    +    """
    +    这个方法是目前见过最优雅获取本机服务器的IP方法了。没有任何的依赖,也没有去猜测机器上的网络设备信息。
    +    而且是利用 UDP 协议来实现的,生成一个UDP包,把自己的 IP 放如到 UDP 协议头中,然后从UDP包中获取本机的IP。
    +    这个方法并不会真实的向外部发包,所以用抓包工具是看不到的。但是会申请一个 UDP 的端口,所以如果经常调用也会比较耗时的,这里如果需要可以将查询到的IP给缓存起来,性能可以获得很大提升。
    +    :return:
    +    """
    +    global _local_ip
    +    s = None
    +    try:
    +        if not _local_ip:
    +            s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    +            s.connect(('8.8.8.8', 80))
    +            _local_ip = s.getsockname()[0]
    +        return _local_ip
    +    finally:
    +        if s:
    +            s.close()
    +
    +
    +def mail_ip_send(ip_real):
    +    """
    +    使用邮件发送IP地址.
    +    """
    +    info_dict = "校内网IP: " + ip_real + "\n" + datetime.datetime.now().strftime(
    +        "%Y-%m-%d %H:%M:%S %Z") + "\n"
    +    print(info_dict)
    +    send_message(info_dict)
    +
    +
    +ip_val = get_host_ip()
    +num = 0
    +seconds_sleep = 5  # 检测IP地址的时间间隔
    +itr = 4 * 3600 / seconds_sleep  # IP地址无变动时默认发送邮件的小时数
    +while 1:
    +    ip_real = get_host_ip()
    +    h = datetime.datetime.now().hour
    +    if (ip_real != ip_val) & ((h <= 3) | (h >= 7)) | num == 0:  #晚上3点到早7点之间不发送IP
    +        mail_ip_send(ip_real)
    +        ip_val = ip_real
    +    num += 1
    +    if num >= itr:
    +        mail_ip_send(ip_real)
    +        ip_val = ip_real
    +        num = 0
    +    time.sleep(seconds_sleep)
    +

    本脚本要求python>3.0 与对应的依赖。建议使用您的私人邮箱而非学校提供的邮箱作为收发端。在您的台式机或游戏本上直接运行脚本:

    $ python ./mailer.py #将文件保存为mailer.py
    +

    该脚本便会自动检测当前IP地址并发送到您指定的接收端邮箱中。若检测到IP地址变动或经过您指定的等待小时数,脚本即重复发送IP地址。直接运行脚本会占用一个命令行窗口。如果想要隐藏该窗口,可使用 RBTray在新窗口打开 等最小化至托盘类工具,或使用 NSSM在新窗口打开 等工具将该脚本以系统服务的方式运行。

    当您的移动端设备与您的主机连接到同一局域网时,您可以使用这个 IP 地址与对应的端口号连接到您的远程桌面、SSH、Jupyter 等应用的服务端。

    在图书馆使用远程桌面

    在南科大的三个图书馆中,都有公共的电脑区域,使用此区域的电脑作为远程桌面的客户端也是不错的选择。(笔者自测可以提升 50% ~ 200% 不等的工作/学习效率。)

    不同图书馆间电脑对比如下表。

    图书馆电脑设备数(约)操作系统屏幕分辨率连接速度
    琳恩~50Windows 71080p, 100% DPI百兆
    一丹~100Windows 101080p, 125% DPI千兆
    涵泳~10Windows 101080p, 125% DPI千兆

    在图书馆使用远程桌面的时候,以下几点可以帮助你获得更好的体验:

    1. 如果觉得卡顿,可以在连接前在「体验」标签页中设置连接速度为 WAN (10 Mbps 或更高速度,高延迟) ,并取消勾选「拖动时显示窗口内容」和「菜单和窗口动画」。
    2. 可以携带一条有线耳机插入主机的前端耳机插口(通常为绿色),以在远程桌面中使从服务端获取音频(听歌)。注意每次连接的时候远端设备音量会被设置为 100。
    3. 使用完成后,在关闭远程桌面之外,最好手动关机/重启公用电脑。即使登出了公用电脑(恢复输入学号/密码界面),远程桌面的连接信息(IP,端口号,用户名等)依然会保存在远程桌面应用中,存在泄露个人信息的可能。
    4. 可以安装一个其他远程桌面软件(笔者自己使用 ToDesk)备用,以防因网络波动导致服务端 IP 改变无法连接。

    注:在图书馆如果不想远程桌面,但是却想用公用电脑的屏幕,可以携带一根 HDMI / DP / miniDP 转 DVI 转接线。三个图书馆的公用电脑的屏幕的接口均为 VGA + DVI,其中 VGA 接口连接主机,DVI 接口未连接。不建议为了使用屏幕而断开连接主机的 VGA 线,这会为图书馆的维护人员带来困扰。

    + + + diff --git a/service/network/use-vpn/index.html b/service/network/use-vpn/index.html new file mode 100644 index 000000000..88ec50184 --- /dev/null +++ b/service/network/use-vpn/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 使用 SSL VPN 说明 | 南科手册 + + + + + +

    使用 SSL VPN 说明

    查看如何申请回校 VPN

    1. 下载客户端 https://vpn.sustech.edu.cn/com/welcome.html在新窗口打开 或者 https://vpn.sustech.edu.cn/com/installClient.html在新窗口打开
      • Windows 电脑需用 IE 浏览器打开,并信任证书。
      • Mac 电脑需用 Safari 浏览器打开,并信任证书。
      • 如需使用 Chrome 浏览器访问,会提示“您的连接不是私密连接”,点击旁边空白区域,输入“thisisunsafe”。
    2. 打开客户端,选择账号登录,填写配置
      • 服务器地址:https://vpn.sustech.edu.cn
      • 用户名:8位学号
      • 密码:VPN 系统密码(可能与 CAS 密码不同)

    提示:此VPN的用途仅限回校访问数据库,无法作为其他用途。

    + + + diff --git a/service/sakai/index.html b/service/sakai/index.html new file mode 100644 index 000000000..7b236340b --- /dev/null +++ b/service/sakai/index.html @@ -0,0 +1,39 @@ + + + + + + + + + Sakai | 文件分享 | 南科手册 + + + + + + + + + diff --git a/service/sid/index.html b/service/sid/index.html new file mode 100644 index 000000000..7eeffe7c7 --- /dev/null +++ b/service/sid/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 学号(SID) | 南科手册 + + + + + +

    学号(SID)

    学号的含义

    例:一个典型的本科生学号12012345,共有八位:

    1: 第一位为身份,1代表学生,3代表雇员。

    20: 第二、三位为入学年份,20代表20年入学。

    1: 第四位为学生修学的学位,1代表本科生(不含国际生)。

    23: 第五、六位为班级编号,23代表这位同学在23行政班,不同的班级归属于不同的书院,所以可以从班级编号判断出书院。

    45: 第七、八为学生在班内的序号,45代表这位同学在班级内的序列号为45。(实际上一个行政班不会有这么多人)

    + + + diff --git a/service/ssc/index.html b/service/ssc/index.html new file mode 100644 index 000000000..8419b962f --- /dev/null +++ b/service/ssc/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 南科手册 + + + + + +

    我应该怎样优雅就诊

    默认转诊医院变更

    学校的社区健康服务中心门诊转诊定点医疗机构已在2021年7月改为南方科技大学医院(西丽人民医院)。本文中的部分内容可能已经过时。

    原文链接:https://mp.weixin.qq.com/s/5DRQtc-UtGaLm-rzWMODPw在新窗口打开

    南科新知 2019-08-29

    今天的推送有一点特殊——是校园大使和新知酱给大家讲一讲就诊那些事。

    刚刚入学的新生可能会印象深刻,在报到时需要的照片,除了之前的校园卡制卡工作需要,也会在你的社会保障卡和新居民身份证上出现(if you 选择迁户口)。

    今天,我们就来看看这个神秘的小卡片,到底应该怎么用。

    Step 1

    无论是感冒发烧,还是其他身体不适地症状,都要第一时间拿着社保卡(全称:“中华人民共和国社会保障卡”。没错就是下图酱紫的)前往校内社康中心挂号诊断!

    img

    注意事项

    1.社康中心的工作时间为

    工作日的8:30—17:00(中午不休息)

    联系电话为88010120

    如果在其他时间段出现不适急需就医可联系校内24小时住校医生,请拨打电话18218715551(答应小编,把这个号码存到通讯录好吗!!!)

    2.社保卡不是就诊必需,非紧急情况下建议大家一!定!拿!上!社!保!卡!(留下了贫穷的泪水)因为拿上社保卡就诊可以用社保报销很大一部分诊疗费,可以省下好多好多money!

    如果很幸运您的身体不适在社康中心就已经解决了,那么你可以直接跳到本文最后。

    但------是------,以下内容建议阅读并收藏。

    Step 2

    如果遇上社康中心医生未能解决的问题,这时候医生也就会为您办理转诊啦!简言之,就是转到其他医院,社康中心的医生会与你商量后帮你挂号(哪个时间段的哪个医生均由你们商量而定)。

    注意:每一个社康中心对应一个定点医院,南科大校内的社康中心对应的定点医院为南方科技大学医院(西丽人民医院)

    社康中心医生为您办理转诊后,你会拿到以下资料,接下来,你应该拿着社保卡+社康预约打印单+盖章后的转诊单(在社康中心收费处医生盖章)在指定时间前往转诊的医院啦!

    嘿嘿嘿,就是他们仨~~

    img

    欲知转诊后事,请听......

    小编接着啰嗦.....

    “健康的身体,

    永远是你拼命争取那无数个零前面的一。”

    Step 3

    时间安排:

    亲亲你好,小编这边建议在预约的就诊时间前提前半小时到达医院办相关手续排号比较合理。比如:我预约的就诊时间是14:30—15:00,那么我最好在14;:0到达医院,取号排队。别问为什么,问就是.....因为人真的很多,要等很久啊呜呜呜呜┭┮﹏┭┮

    交通:

    普通版:步行至塘朗站,乘坐5号线,在宝安中心转地铁1号线,在桃园站C口出,步行200m就到啦,费用6元。

    豪华版:一键(滴滴)打车,方便省事,就是费用多了那么一丢丢,大约50—60元。

    (1).到达后,请一键步行至门诊楼一楼大厅,找到下图自助办理机器,刷社保卡/身份证均可,然后取到下图的挂号指引单;

    (2).确认你所就诊科室的就诊地址,挂号指引单上面可能写的不清楚,建议在一楼大厅咨询处向工作人员咨询清楚在几楼。

    你看这个指引单它有bug(哼(¬︿̫̿¬☆))就诊地址都没写清楚!

    img

    Step 4

    就诊完毕,如果医生开出处方,那么你的南山医院一日游还没有结束!接着看下去吧!

    一、医生开出药房

    二、开检查项目(如拍X光、验血等)

    无论开出哪一种处方,都需要先缴费才能进入下一步噢,温馨提示到达下图所示自助缴费机缴费(支持微信和支付宝两种付款方式),因为人工收费处排队的人会很多(如果你只有现金支付的话那还是乖乖排队吧)。

    img

    img

    缴费完毕,会有下图所示的缴费凭条,那么此时,根据凭条上的信息,前往相应地点完成下一步即可!

    img

    温馨提示

    1.像是拍X光片一类的检查通常还会需要拿着凭条到相应科室排队然后等待叫号,所以一定要找准地方排好队然后静静地等待噢!

    2.药房窗口取药时医生会要求拿出医生开的处方那张单子,并且会在您取药后将处方收走,所以如有存档需要请提前拍照。

    3.拍X光片完成后医生一般会说要等1个小时才能拿结果(天呐,怎么可以这么久)。但是小编自己的经历是这样的:约16:00才拍完X光片,还要把结果拿给医生诊断,如果等一个小时之后拿结果医生都已经下班了呀!于是我来到我就诊时的地点,向分诊台的医生说明了情况,小姐姐超温柔地告诉我说等半小时后去找医生看看,医生或许已经可以在电脑上看到结果了。于是,我让小姐姐先帮我排号(复诊也需要排号)大概二十多分钟后,就到我了,我想医生说明了情况,医生在电脑上果然看到了结果然后给出了相应诊断、病历。

    今天想出这样一篇推送,是想告诉大家,离开父母的庇护,我们才更要好好的生活,学会看病,让自己更加健康阳光的面对未来!经验告诉我们,遇到问题别着急,多向人请教,一定有办法解决的耶~

    ------END------

    南科新知 学生新闻社

    校园大使

    文字 / 太阳豆豆 赵滢

    编辑 / 赵滢

    设计 / 新知酱

    审核 / 孙汇文 C姐姐

    版权

    © 南科新知,保留所有权利。

    + + + diff --git a/service/student-train-ticket/index.html b/service/student-train-ticket/index.html new file mode 100644 index 000000000..8ab2f9083 --- /dev/null +++ b/service/student-train-ticket/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 火车票学生优惠使用指南 | 南科手册 + + + + + +

    火车票学生优惠使用指南

    由 周翊澄 贡献

    本指南包含对火车票学生优惠的写卡,充磁,验证,购票,进站等操作的说明。

    2022春节火车票特别优惠活动(广东学联提供):高校学生补贴-减10元在新窗口打开

    写卡

    第一次使用学生优惠的同学需要将身份证信息写入优惠卡中(优惠卡是学生证中的一页)(图1)

    图1 图1(图源南科大学生事务中心)

    充磁

    学生优惠每学年只能使用4次,因此每年寒假前需要到南科大中心二层学生事务中心进行充磁(大一新生无需充磁) 充磁机器有两种,放在事务中心前台桌上。建议直接咨询前台学生助理,说学生证充磁即可。

    图2 图2

    图3 图3

    自助终端机充磁:选择购票次数充值(图4),放置学生证充磁。高年级或研究生同学如遇到图5情况或充磁后优惠次数不等于4次(图6),请使用小机器充磁。

    图4 图4

    图5 图5

    图6 图6

    小机器充磁:将学生证放置在小机器上(图7),按确认即可。(如找不到小机器请咨询前台学生助理)

    图7 图7

    验证

    学生优惠资质可以登录铁路12306APP在线核验了,线下核验渠道仍保留!

    因为每年学生优惠资质会自动解绑,所以每学年首次使用学生优惠需携带身份证学生证深圳北站自助售票机或售票窗口验证学生优惠资质并且取出报销凭证,走人工验证通道进站。(图8)

    图8 图8

    火车站部分机器无法识别学生证,建议使用自动售票处2和自动售票处3的小机器(图9)验证学生优惠资质并取出报销凭证

    图9 图9

    操作方法(图10 ):选择优惠资质绑定,将学生证身份证依次放置在证件识别区(图11)。选择取报销凭证,将身份证放置在证件识别区。选择信息查询将身份证放置在证件识别区可查询已扣优惠次数(图12)。

    图10 图10

    图11 图11

    图12 图12

    购票

    疫情后,学生票一年四次,全年可买,以每年10月1日为计数界限。

    • 普速列车学生票,硬座为半价,硬卧为(硬卧原价-0.5✖硬座原价)
    • 动车组列车二等座按公布票价的75%计算。某些公布票价很高,而实际票价较低的动车组列车,如果实际票价已经低于公布票价的75%,此时二等座学生票仍可购买,但是将不会获得优惠。

    购票(以12306 App为例)添加乘车人时将旅客类型设置为学生即可。(图13)

    图13 图13

    接续换乘

    如果从深圳到家没有直达的火车,可以在中途车站转乘其他车次列车。这种操作叫做接续换乘

    学生票接续换乘时请注意以下事项:

    1. 请预留足够的换乘时间,包括考虑列车可能的晚点
    2. 换乘可以是不同的车站,但是必须在同一个城市。
    3. 一次学生票机会(一年四次)最多购买三段区间,也就是最多进行两次换乘。前后段都买学生票但是中段不买学生票,会被计作两次学生票。但是只买中间一段区间的学生票也是允许的。
    4. 换乘时间不得超过72小时,否则也会被计作两次。
    5. 理论上只能买最短路程,或直达车经过的线路。实际操作中,只要不是明显的绕路都可以出学生票。

    进站

    • 如果在绑定资质前就购买了车票,乘车前需取出报销凭证并走人工验证通道(图14)进站,之后三次可直接刷身份证进站。(乘车时请随身携带学生证以备工作人员查验)
    • 如果购票前已经绑定了学生资质,则不需要取报销凭证,可直接刷身份证进站乘车。

    图14 图14

    后言

    铁路部门全面实施电子客票对于新生使用学生优惠可能造成一定的困惑,希望本文能给各位同学提供些许帮助。一切以实际情况为准,如遇到困难及时寻求人工帮助,不要和机器作斗争。请大家注意出行安全,保管好重要证件,做好疫情防护,遇到紧急情况可拨打110。本文仓促写成,如有笔误请联系476084612(QQ)。

    南科大交通协会(筹)的成员更正了本文的一些过时内容,希望可以帮助到有需要的同学。也欢迎校内交通爱好者加入 931634170(QQ)。

    参考资料:

    + + + diff --git a/service/tax/index.html b/service/tax/index.html new file mode 100644 index 000000000..45fb79c37 --- /dev/null +++ b/service/tax/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 如何申报退税?-- 年度个人所得税年度汇算 | 南科手册 + + + + + +

    如何申报退税?-- 年度个人所得税年度汇算

    TL.DR 太长不读

    汇算指的是清算上一年度预缴税款,多退少补。上年度薪金收入不超过6万元,即可免征个人所得税,如已交税款都可以退回。

    时间窗口:每年4月-6月汇算上一年度。

    汇算方式:

    1. “个人所得税” 手机APP端
    2. 网页WEB端 https://etax.chinatax.gov.cn/在新窗口打开

    导读

    从4月1日起,全国各地已经全面开放汇算清缴办理渠道,包括“个人所得税”手机APP端和网页WEB端办理通道。年收入不超过12万可免个税汇算清缴。

    学生该如何办理呢?这份小贴士请收好。

    我们所说的“学生党”,主要是指在校的大学生、研究生、博士生。一般来说,“学生党”的收入主要有两种,一种是奖学金、助学金、学校的研究生补助等,此类不计入汇算清缴;另外一种是导师给予发放的津贴补助、实习单位发放的实习工资、兼职所得报酬等。超过800元即产生税额。

    举个例子,导师每月发津贴1200元,1200-800=400,超出的400按照20%缴纳税款为80元,所以你实际到手为1200-80=1120元。每月工资越多,扣的税越多。

    学生党办理汇算清缴情况

    1. 2019年已交税额大于应缴税额,需要申请退税的同学。由于三助津贴是按劳务报酬计税。在年度汇算的时候,劳务报酬需要并入综合所得计税,多退少补。全年应发税前劳务报酬低于7万5的同学,是不需要交税的,已交税款都可以退回。超过7.5万的同学,按综合所得重新汇算计税后,已交税款大于应缴税额的,可以申请退回多交部分税款。

    2. 2019年从多个单位取得收入,并且已交税额小于应缴税额,需要补税的同学。

    同学们可在个税APP-服务-收入纳税明细查询中查询自己2019年收入合计。

    需申请退税情况举例:

    A同学每月收到3500元的助研津贴,依据税法,按劳务报酬计税。

    劳务报酬所得适用的税率表:

    级数应税收入税率(%)速算扣除数
    1不超过20000元的200
    2超过20000元至50000元的部分302000
    3超过50000元的部分407000

    应税收入为:每次收入不超过四千元的,按收入额减去八百元计算;每次收入四千元以上的,按收入额的百分之八十计算。

    税额=应税收入×税率-速算扣除数

    (1)每月扣税(3500-800)*20%=540元。

    汇算清缴时。工薪所得、劳务报酬所得等纳入综合所得,按年合并计算个税。基本减除费用为6万/年。

    综合所得适用的税率表:

    级数全年应税收入税率 (%)速算扣除数
    1不超过36000元的部分30
    2超过36000元至 144000 元的部分102520
    3超过144000元至 300000 元的部分2016920
    4超过300000元至 420000 元的部分2531920
    5超过420000元至 660000 元的部分3052920
    6超过660000元至 960000 元的部分3585920
    7超过960000元的部 分45181920

    (2)A同学全年应税收入=3500*12*80% - 6万,小于0,所以无需缴纳个人所得税。全年已交税额540*12=6480元都可以退至“个税APP”所填银行卡。

    申报准备

    1. 同学们可以先下载个税APP,应用名为“个人所得税”,下载前请先确认该应用来源于国家税务总局。

    2. 进行注册。

    3. 填写银行卡号。

    简易申报与标准申报的操作流程

    使用手机 APP 端申报,同学们可以从以下两个入口进入年度汇算:

    1、从首页的【常用业务】区块的【综合所得年度汇算】进入;

    2、从【快捷入口】-【我要办税】下或底部【办税】 菜单进入后,点击在【税费申报】下 的【综合所得年度汇算】。

    img

    img

    一、简易申报

    2019 年取得的综合所得收入额未超过 6 万元且已缴税款的同学,可通过简易申报申请退税。

    img

    1、确认申报表信息

    核对个人基础信息、汇缴地、查看收入明细数据,确认已缴税额。

    img

    2、申请退税

    在申报提交完成页面上,选择【申请退税】

    img

    进入银行卡选择界面,会自动带出添加好的银行卡。您也可以点击【添加银行卡信息】。

    img

    选择银行卡后提交退税申请,可以看到退税申请进度。

    二、标准申报

    2019年度综合所得年收入额超过6万元的同学,可以在3月1日至6月30日内,通过标准申报办理年度汇算。进入申报界面,选择【使用已申报数据填写】:

    img

    1、确认基本信息基本信息页面支持修改“电子邮箱、联系地址”信息,选择本次申报的汇缴地。(与简易申报截图类似)

    2、生成和确认申报表信息系统将自动归集您在纳税年度的收入纳税数据[工资薪金、劳务报酬、特许权使用费所得],并直接预填至相应申报栏次。

    img

    img

    img

    3、修改申报表信息若您需要修改已预填的申报数据,可修改对应明细表或附表。

    4、缴纳税款或申请退税

    (1)缴税

    若您存在应补税额但不符合免于申报,可点击【立即缴税】进入缴税。

    (2)申请退税

    若您存在多缴税款,可点击【申请退税】。

    img

    进入银行卡选择界面,会自动带出添加好的银行卡。可以点击【添加银行卡信息】。操作与简易申报一致。

    特别提醒

    1. 如点击【综合所得年度汇算】后,出现“该功能将视疫情形势变化及时开通”, 可能是由于 APP 没有登录,在个人中心登录即可。

    2. 若进入申报时出现“业务处理失败:当前纳税人不存在户籍所在地和经常居 住地”,是由于个人信息未填完整,在个人中心-个人信息补充完整信息即可。

    3. 个税 APP 里的“申诉”功能不是办理退税的功能,是申诉不存在此笔收入。不要随意点击申诉按钮。已有同学误点申诉造成无法进行退税的情况。

    + + + diff --git a/service/unifound/index.html b/service/unifound/index.html new file mode 100644 index 000000000..fe64fb92a --- /dev/null +++ b/service/unifound/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 🖨️联创打印系统 | 南科手册 + + + + + +

    🖨️联创打印系统

    学校在校园各处通过联创打印系统为同学提供打印,复印及扫描服务。

    报障

    若打印机出现故障或缺纸,可以通过拨打信息中心电话88010777报障。

    打印/复印一体机地点

    提示: 前去打印前可提前在「打印点」页面(内网)在新窗口打开确认打印点可用状态。

    名称纸质功能
    琳恩图书馆一楼彩色A4 打印,复印,扫描,支持彩色
    琳恩图书馆三楼彩色A4打印,复印,扫描,支持彩色
    第一教学楼二楼彩色A4 打印,复印,扫描,支持彩色
    第一科研楼二楼彩色A4 打印,复印,扫描,支持彩色
    第一科研楼三楼黑白A4打印,复印,扫描,
    第二科研楼四楼彩色A4打印,复印,扫描,支持彩色
    第二科研楼四楼黑白A4、A3打印,复印,扫描,
    第二科研楼五楼彩色A4打印,复印,扫描,支持彩色
    生物楼(第三科研楼)一楼彩色A4、A3打印,复印,扫描,支持彩色
    台州楼(第四科研楼)一楼黑白A4、A3打印,复印,扫描,
    一丹图书馆一楼黑白A4、A3打印,复印,扫描,
    一丹图书馆二楼黑白A4、A3打印,复印,扫描,
    一丹图书馆二楼彩色A4、A3打印,复印,扫描,支持彩色
    书院1栋大厅彩色A4打印,复印,扫描,支持彩色
    书院2栋大厅黑白A4打印,复印,扫描,
    书院3栋大厅彩色A4打印,复印,扫描,支持彩色
    书院3栋大厅黑白A4打印,复印,扫描,
    新生宿舍11栋2楼A4打印,复印,扫描,支持彩色
    涵泳图书馆一楼彩色A4、A3打印,复印,扫描,支持彩色
    教师公寓三栋一楼A4打印,复印,扫描,支持彩色
    荔园1栋二楼彩色A4打印,复印,扫描,支持彩色
    荔园1栋二楼黑白A4打印,复印,扫描
    创园一栋三楼A4打印,复印,扫描,支持彩色
    创园五栋一楼黑白A4打印,复印,扫描,
    创园七栋一楼黑白A4打印,复印,扫描,
    创园九栋一楼彩色A4打印,复印,扫描,支持彩色
    慧园1栋二楼彩色A4打印,复印,扫描,支持彩色
    慧园5栋三楼黑白A4、A3打印,复印,扫描,
    欣园二栋活动室一楼彩色A4打印,复印,扫描,支持彩色
    欣园四栋一楼彩色A4打印,复印,扫描,支持彩色

    数据来自联创打印系统在新窗口打开。这些打印点的详细地图可以参考校园地图

    虽然在打印系统上显示支持A3纸张,但实际上这些打印机一般不会装载A3纸张,也就无法打印出A3幅面的文档了。

    打印教程

    通过浏览器

    (适用于大多数操作系统)

    用浏览器打开联创网页:http://pms.sustech.edu.cn在新窗口打开,如果打不开可尝试http://172.18.1.141在新窗口打开

    提示pms.sustech.edu.cn这个域名只在学校内网的DNS服务器(172.18.1.92172.18.1.93)上提供(因为它不是一个fully qualified domain name,不会被公共的DNS服务器所收录)。如果哪天突然发现http://pms.sustech.edu.cn在新窗口打开打不开了但是http://172.18.1.141在新窗口打开可以打开,可以考虑检查一下自己电脑是否采用了学校内网的DNS服务器。

    点击云打印,登陆账户,按照提示操作。

    Home

    print

    通过本地程序

    仅限Windows系统

    1. 在云打印主页下载驱动程序并安装:下载链接(内网)在新窗口打开

    2. 在电脑中找到所需打印的文档,然后点击右键选择打印;按照系统要求操作即可,操作完毕后可以在打印文档列表中找到该文档。

    1. 前往打印点打印文件:点击自助打印,转换页面后在感应区放置校园卡(若打印多张需多次放置)即可到打印机旁等待任务完成,取走文件。

    初始界面

    打印初始界面

    打印确认(多个任务需重复刷卡)

    打印成功界面

    复印教程

    1. 携带校园卡及所需打印文件至打印点;
    2. 点击自助复印,转换页面后在感应区放置校园卡,然后到打印机电子版面进行操作。

    1. 点击快速复印图标进入如下页面可对复印进行编辑,其中其他栏中包括缩小放大,双面复印,多合一等功能,在这里不做过多介绍,大家可以自行尝试。

    复印初始界面

    1. 点击开始按键即可开始复印(注意:如若需要正反扫描,或是多合一时要在第一张扫描完成且屏幕上方弹出提示窗口后对文件进行手动翻面并再次点击开始图标)。

    其他栏

    双面(正反面复印)

    多合一(将所需复印的多面文件复印至单面)

    1. 注意:在放置文件时,若是A4大小,请不要超过扫描机上方刻度的A4线位置,否则超出部分将无法被扫描并复印。

    扫描教程

    理光 Ricoh 机型

    由 冯晨曦 贡献 2022年4月2日

    施乐 Xerox/佳能 Canon机型

    由 郭欣格 贡献

    1. 刷卡

    2. 点击机器上的 扫描仪,进入扫描界面

    3. 如果出来的是这个让人看起来就很绝望想把机器砸了的界面

      先冷静一下,点击右边的 简单画面

      然后就会变得很友好了:

    4. 清晰度设置

      点击左上角的 扫描设置,设置扫描清晰度,一般直接设成最高(600dpi):

    5. 设置文件类型

      点击左下角的 文件类型

      • 单页:扫描结果会变成每份只有一面内容的 pdf 上传
      • 多页:扫描结果会合并成一个多面的 pdf 上传
      • 文件类型:根据需要
      • PDF 文件设置:有兴趣的可以自行百度,一般用不上,不需要设置
    6. 设置文件上传位置

      文件夹 → SCAN

      文件会保存在你刷的校园卡的联创里,如图:

      亦可选择直接发到自己的邮箱中,不过需要先再点击一开始的 简单模式,进入设置界面:

      选择 手动输入,输入自己的邮箱

    7. 点击机器上的开始

    8. 结束扫描

      需先点击 # 键,再刷卡退出

    富士 Fujifilm机型

    1.携带校园卡及所需扫描文件至打印点;

    2.点击自助扫描,转换页面后在感应区放置校园卡,然后到打印机电子版面进行操作。

    扫描准备页面

    3.点击快速扫描图标进入如下页面,点击目的地进行接收地址填写

    初始页面

    4.地址填写:选择本地文件夹(扫描仪的邮件发送系统已失效)。

    确认页面

    6.页面转跳后进入初始页面,并可看到将要接收扫描邮件的电子邮箱。在此页面可设置扫描参数,并可继续添加电子邮件地址。确认无误后点击开始按键即开始扫描。

    参考资料

    + + + diff --git a/service/work-wechat/index.html b/service/work-wechat/index.html new file mode 100644 index 000000000..e4db2c74f --- /dev/null +++ b/service/work-wechat/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 企业微信 | 南科手册 + + + + + +

    企业微信

    学校为每位入学的同学开通企业微信,同学在入学后微信关注南方科技大学企业微信号即可激活企业微信。

    通过企业微信登陆CAS

    CAS认证界面

    在绑定企业微信后,使用企业微信扫描右侧绿框中的二维码即可登录CAS。

    使用企业微信联系同学

    目前,学生在企业微信中可以向任意一位本科生,研究生及博士生发起聊天。若对方未安装企业微信,消息将会在微信中显示。

    在企业微信的个人页面,也可查看同学的手机号以方便电话联系。由于企业微信个人信息页带有个人姓名和电话的水印,在截图后请谨慎分享。

    + + + diff --git a/site-help/index.html b/site-help/index.html new file mode 100644 index 000000000..dc6a57cde --- /dev/null +++ b/site-help/index.html @@ -0,0 +1,39 @@ + + + + + + + + + ❓站点帮助 | 南科手册 + + + + + +

    ❓站点帮助

    添加南科手册到桌面

    南科手册支持PWA在新窗口打开(Progressive Web App)在新窗口打开,这意味着您可以将它添加到桌面,并作为一个本地应用使用。因此,在下载应用后,即使在网络不佳的环境下,您依然可以阅读南科手册上的内容。

    Andoid

    以Chrome为例:

    三个点

    1. 点击右上角的三个点

    点击“添加到主屏幕”

    1. 点击“添加到主屏幕”

    点击“添加”

    1. 点击“添加”

    iOS

    在Safari中打开南科手册**(只有Safari可以添加)**

    添加到主屏幕

    按图示操作即可:点击图标-添加到主屏幕

    桌面设备(Windows/Mac OS X)

    以Chrome浏览器为例,Edge或是其他国产浏览器流程类似。

    添加按钮

    点击地址栏右侧的加号➕,点击安装即可添加到桌面。

    + + + diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 000000000..5d832c7a9 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://sustech.online/2023-08-22T13:21:49.000Zhttps://sustech.online/about/2022-08-02T12:43:19.000Zhttps://sustech.online/calendar/2018-2019.html2021-12-21T08:56:47.000Zhttps://sustech.online/calendar/2019-2020.html2021-12-21T08:56:47.000Zhttps://sustech.online/calendar/2020-2021.html2021-12-21T08:56:47.000Zhttps://sustech.online/calendar/2021-2022.html2022-12-15T07:33:39.000Zhttps://sustech.online/calendar/2021fall.html2022-02-14T08:12:16.000Zhttps://sustech.online/calendar/2022-2023.html2022-12-16T03:03:14.000Zhttps://sustech.online/calendar/2023-04-22T10:42:31.000Zhttps://sustech.online/contact/2023-05-08T08:56:00.000Zhttps://sustech.online/emergency/2022-11-19T08:38:34.000Zhttps://sustech.online/facility/2022-12-03T15:35:43.000Zhttps://sustech.online/facility/building-11-elevator.html2022-08-19T13:05:55.000Zhttps://sustech.online/if-you-are-a-freshman/2021.html2022-01-01T16:07:14.000Zhttps://sustech.online/if-you-are-a-freshman/2022-04-05T03:41:58.000Zhttps://sustech.online/life/2022-09-21T14:36:46.000Zhttps://sustech.online/life/vehicle-charger.html2022-04-24T08:34:05.000Zhttps://sustech.online/media/2021-12-31T07:08:33.000Zhttps://sustech.online/miniapp/2021-09-20T11:37:43.000Zhttps://sustech.online/news/2021-02-21T07:33:01.000Zhttps://sustech.online/organizations/2022-07-22T03:28:19.000Zhttps://sustech.online/organizations/registered-organization-2019.html2020-10-14T09:54:30.000Zhttps://sustech.online/organizations/registered-organization-2020.html2020-10-14T09:54:30.000Zhttps://sustech.online/organizations/registered-organization-2021.html2022-07-22T03:28:19.000Zhttps://sustech.online/service/2023-08-26T15:30:28.000Zhttps://sustech.online/site-help/2020-08-06T15:43:26.000Zhttps://sustech.online/study/2023-05-17T14:20:26.000Zhttps://sustech.online/study/paper-tools.html2022-08-19T13:23:28.000Zhttps://sustech.online/surroundings/2022-07-23T13:18:14.000Zhttps://sustech.online/transport/2022-12-16T03:03:14.000Zhttps://sustech.online/transport/bustimer-old.html2023-07-04T14:43:05.000Zhttps://sustech.online/transport/bustimer-wx.html2023-08-22T13:32:07.000Zhttps://sustech.online/transport/bustimer.html2023-08-22T13:32:07.000Zhttps://sustech.online/transport/holiday.html2021-12-21T08:56:47.000Zhttps://sustech.online/transport/redirect.html2022-12-10T10:30:41.000Zhttps://sustech.online/transport/workday.html2021-12-21T08:56:47.000Zhttps://sustech.online/contact/professor-emails/2023-05-08T09:01:50.000Zhttps://sustech.online/facility/panolens/2021-07-01T15:01:42.000Zhttps://sustech.online/if-you-are-a-freshman/preview/2022-08-19T13:38:15.000Zhttps://sustech.online/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E5%AE%BF%E8%88%8D%E7%94%9F%E6%B4%BB%E7%AF%87.html2022-01-01T15:23:02.000Zhttps://sustech.online/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E6%A0%A1%E5%86%85%E4%BB%8B%E7%BB%8D%E7%AF%87.html2022-01-01T15:23:02.000Zhttps://sustech.online/life/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E7%A4%BE%E5%9B%A2%E7%AF%87.html2022-01-01T15:23:02.000Zhttps://sustech.online/life/catering/2023-09-05T15:03:01.000Zhttps://sustech.online/life/dormitory/2022-07-26T03:21:03.000Zhttps://sustech.online/life/dormitory/dorm-floor-plan.html2022-08-20T03:28:20.000Zhttps://sustech.online/life/freshman-register/2020-08-12T11:47:50.000Zhttps://sustech.online/life/sports-facility/2020-08-10T09:21:14.000Zhttps://sustech.online/service/campus-card/2021-05-04T13:26:35.000Zhttps://sustech.online/service/email/2022-09-03T05:17:39.000Zhttps://sustech.online/service/email/send-receive-email-by-proxy.html2023-04-16T12:54:35.000Zhttps://sustech.online/service/mail-and-express/2022-08-26T04:24:14.000Zhttps://sustech.online/service/matlab/2020-06-24T03:41:58.000Zhttps://sustech.online/service/medical-treatment/2022-10-07T08:15:25.000Zhttps://sustech.online/service/network/2023-02-25T10:55:09.000Zhttps://sustech.online/service/sakai/2020-06-24T03:41:58.000Zhttps://sustech.online/service/sid/2021-07-17T01:15:04.000Zhttps://sustech.online/service/ssc/2021-07-02T15:56:38.000Zhttps://sustech.online/service/student-train-ticket/2023-06-07T16:11:45.000Zhttps://sustech.online/service/tax/2022-01-20T14:40:24.000Zhttps://sustech.online/service/unifound/2022-04-02T08:36:02.000Zhttps://sustech.online/service/work-wechat/2020-08-02T02:02:23.000Zhttps://sustech.online/study/borrow-books/2020-08-05T09:00:35.000Zhttps://sustech.online/study/by-shude-college/advice-on-study.html2021-08-11T14:49:53.000Zhttps://sustech.online/study/by-shude-college/info-on-study.html2021-07-13T12:06:41.000Zhttps://sustech.online/study/by-zhicheng-college/%E6%96%B0%E7%94%9F%E6%94%BB%E7%95%A5%E4%B9%8B%E5%AD%A6%E4%B9%A0%E7%AF%87.html2022-01-01T16:07:14.000Zhttps://sustech.online/study/cse/innovative-project.htmlhttps://sustech.online/service/blackboard/retrive-ics-url/2020-06-24T03:41:58.000Zhttps://sustech.online/service/network/apply-for-vpn/2022-01-20T02:54:18.000Zhttps://sustech.online/service/network/choose-a-pad/2020-08-05T06:54:47.000Zhttps://sustech.online/service/network/choose-a-router/2020-11-30T09:37:05.000Zhttps://sustech.online/service/network/eduroam/2021-12-02T04:17:40.000Zhttps://sustech.online/service/network/ipv6/2023-04-05T06:55:27.000Zhttps://sustech.online/service/network/remote-desktop/2022-06-23T09:25:42.000Zhttps://sustech.online/service/network/use-vpn/2022-04-11T14:47:43.000Zhttps://sustech.online/study/book-list-by-prof-yuan/2018/2021-12-21T08:56:47.000Z \ No newline at end of file diff --git a/study/book-list-by-prof-yuan/2018/index.html b/study/book-list-by-prof-yuan/2018/index.html new file mode 100644 index 000000000..3487d25c1 --- /dev/null +++ b/study/book-list-by-prof-yuan/2018/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 袁长庚老师为新生推荐的书单(2018) | 南科手册 + + + + + +

    袁长庚老师为新生推荐的书单(2018)

    作为一名理工科大学里的文科教师,常被要求“推荐几本好书”。在一个资讯如此发达,资源获取成本如此低廉的时代,我理解上述要求之中隐含着一种信任。但有时又不确信,这种所谓信任是否只是客套甚或懒惰的表现。回想过往两年间,我几乎没有说服任何一名同学培养起阅读的习惯(很多同学爱读书,源于家庭或基础教育阶段的培养,与我无关),甚至愈发没有底气去阐述阅读的意义和必要性。去年秋季认认真真给同学们推荐的书,不知多少人已读完。(念及此,我仍旧怀念一个叫做“麒麟书吧”的地方。当年的蔡店长认真地把书单中的作品都调来,摆在专门的架上,秋冬春夏,走了完整的一个轮回)也罢,正是因为这样无期许、非功利,事情反倒单纯起来。2018年秋季没有开课,仍然列几本书,算是对“工作量”缺失的小小弥补。

    今年书单的核心理念是“品性与修养”,或更直白一点说,是“如何在一个变幻不居的时代有所持守”。不消说,这样的立意就已经决定了书单本身与开列者自己的价值观念深切纠缠。但是,与其板起面孔装作客观公正,作为一个人文学者,我更愿意在起初就亮明底线、原则和取舍。我们所处的时代,已经经不起和稀泥、打圆场,而高等教育本身的理想中本就包含着人生观、世界观、价值观的引导。在我们被移动终端和信息巨流所裹挟的生活里,知识和技能的积累不难,但心境和操守的锻铸却不易。

    以下罗列作品,都是我曾经读过甚至至今还常常重读的作品。我有意识地放进一些大家写的“小书”。所谓“小”者,只是规模的精致,绝不意味视野的短浅或品味的狭促。相反,在有限的空间内,在高度剪裁的材料中,往往能见真正高远的见识。与去年相似,书单中仍就有九本书,以每天30-50页的阅读量计算,大约一个学期便可读完。

    封面

    《镜子:照出你看不见的世界史》,爱德华多·加莱亚诺著,广西师范大学出版社2012年

    没有哪本著作比《拉丁美洲被切开的血管》更深刻地写出了南美大陆在过往四百年间所遭受的苦难,在战火横飞、独裁当道的年月里,人们把它和婴儿的襁褓一起带在身上,不舍得丢弃。这本杰作的作者正是乌拉圭记者爱德华多·加莱亚诺。作为第三世界公共知识分子的典范,加莱亚诺一直保持着敏锐的批判视角,对不公正的世界体系强加给同胞的痛苦充满愤懑。

    市面上关于世界史的书籍近年来汗牛充栋,这其中隐含着大国崛起后的中国人对自我认同的某种焦虑。我们对全球历史的追问,根源上恐怕还在“中国-世界”两极之间所产生的张力。恰因如此,公正的历史观念比事件罗列、逸闻勾沉更为重要。克罗齐有言,“一切历史都是当代史”,历史的阐释终究会进入我们当下所思所感,并生产出想象未来的蓝图。加莱亚诺的这本书,展示的是成王败寇的正统历史书写的背面,保护的是二十世纪解放思潮的历史遗产。推荐它,是想让大家仍然能保有朴素的正义感和对人类命运休戚与共的认知立场。

    《万历十五年》,黄仁宇著,中华书局2006年

    自1982年被译介至中国大陆以来,此书在数十年间究竟被多少人读过爱过,难以统计。黄仁宇先生早年是南开的学生,抗战时期做过远征军的上尉参谋,后来在密歇根大学念了历史学的博士。他是心怀“大历史”观念的最后一代学人。与今日条块分明,高度专业化的专业史学研究不同,其所关心的是如何从整体上理解中国近代以来的变迁。前几年《明朝那些事儿》风靡一时,里面讲我们当代中国人就某种意义而言仍然生活在明朝的漫长投影之中。这种将明代视作广义之“近代”起点的史观,同样是黄先生本书的题眼。

    大家并非专业史学研究者,若想实现“读史使人明智”,重要的即在于把握历史兴衰的宏观脉络和复杂机理,而不是沉迷于野史逸闻的无聊谈资。就这一点而言,市面上流行的不少史书,其实不读也罢。推荐黄先生,推荐的是一种视野和情怀,一种恳切的、饱含情感的进入历史的方式。除本书之外,黄仁宇另有《中国大历史》、《赫逊河畔谈中国历史》,都值得一阅。

    《笑谈大先生》,陈丹青著,广西师范大学出版社2011年

    “古怕文言文,今怕周树人”,在中国大陆接受过初级教育的人对此恐怕多有会心一笑。主管部门颇有默契地连年削减着鲁迅在课本中的分量,大多数人在走出校门(确切说来是不再上语文课)之后就再也没读过他的作品。但与此同时,鲁迅的思想和艺术遗产,随着我们所处世界不断涌现出的明暗风波,在全世界范围内被不断地保护和珍视。

    在强制性教育结束之后因缘际会地发现了鲁迅的诸多面向,是我在过往十多年读书生涯中最感庆幸的经历。我始终认为,鲁迅是一个永恒的、可以不断返回并从中汲取养分,且时时让人感到亲切的朋友。作为当代中国最为重要的艺术家之一,陈丹青的解读不同于多数刻板晦涩的学院作品。以艺术为枢纽,以性情为门径,他引领我们直抵“文学家、思想家、革命家”背后血肉丰满的鲁迅世界。

    《当呼吸化为空气》,保罗·卡拉尼什著,浙江文艺出版社2016年

    保罗·卡拉尼什是从文学转入生物学的奇才,是耶鲁大学医学院成绩优异的博士生,是斯坦福医院冉冉升起的学术新星,也是一名罕见的在36岁之前便罹患肺癌的患者。这本书是他生命的绝响。在其中你读不到一段精彩人生戛然而止的不甘或怨恨,甚至读不到丝毫的牢骚。面对命运巨大的不公,作者仍然细致而温柔地回溯自己的一生。你甚至会惊讶于一个短暂的生命中所包容的浩瀚。肺癌所造成的躯体上的痛苦毋庸赘言,每念及此,书页中字里行间的恬淡、从容就愈发让人唏嘘。

    时至今日,死亡仍旧是所有生命都将迎来的终极命运。我在“理解死亡”的课上曾经希望同学们从这本书里明白一个道理:无论在未来我们将迎来何种辉煌,生命仍然会在终点宣判无可逃避的“失败”。德国哲学家海德格尔说,只有“向死而生”,我们才能真正获得对自身存在的凝视。同学们青春年少,死亡遥远而模糊。不过,生死相依,脱离了对“死亡”的认识,眼下活着的意义就难以得到彻底的澄清。保罗的书是一扇窗,从中我们可以看见,死亡之景也可以明亮。

    《小王子的领悟》,周保松著,上海三联书店2018年

    圣埃克苏佩里的《小王子》是历久不衰的成人童话,也是香港中文大学政治学教授周保松的最爱。这本书是周先生对《小王子》的领悟,至真至切,促人深省。我在中大读书时,参加过周教授的讲座、沙龙,旁听过他开设的课程。有时下午饿了,匆匆跑到联合书院的饭堂里找吃的,看见他被学生们簇拥着,有说有笑。在森严的学术体系内,他愿意并且不辞辛劳地做一个优秀的“教师”,坚守中文大学六十年来关切国族命运世道人心的传统。

    《小王子》的核心在连接万物之爱,它以童话的形式揭示了人类之“爱”的哲学(甚至神学)品质。爱是跨越一切界线,是激进地将自我投诸于他人的生命之中。这本《领悟》既有对原书文本的剖析,也有在此之上对当代人类生存处境的微言大义。它可贵地体现了一个中年知识分子,在纷扰世事、无聊士林的压抑之下,仍对一本童话、一众学生、一个时代保持着孩童般的热情。

    《梵高传》,史蒂芬·奈菲、格雷高里·怀特·史密斯著,译林出版社2015年版

    说梵高是现代艺术的图腾应不为过,鸢尾花、向日葵印成日历牌、冰箱贴,卖到满世界。与同辈巨匠相比,梵高在深邃的美学之上覆盖了一层热烈而让人亲近的明亮。贩夫走卒,都可以爱梵高,爱他绚丽的黄、欣喜的蓝,丰饶的紫,爱他的世界有一种美好的直白。

    百年来,那么多人爱读梵高的传记。他落魄惨淡的一生,没有留下任何妥协、变节、逢迎、逃脱的空间。他的纯粹源于空乏其身的命运捉弄,而造化也终究成全了他一尘不染的纯净心灵。有一年国外剧集中让这个割掉耳朵的男人死而复生,亲临二十一世纪的博物馆,看自己的作品前孩子们静静临摹,情侣们合影留念,泪流满面。风格迭代,大师星移,但艺术的本质仍在于将我们带向某些不可言说的永恒之地。

    《月亮和六便士》,毛姆著,上海译文出版社2016年版(译者傅惟慈)

    这本书太有名,以至于把它放进书单,已经有落俗套之嫌。更有甚者,以今日眼光审视,一个中年男人抛家舍业追求艺术这类虚幻梦想,可谓渣男。但假若要勉强为之辩护,我不会抬出原型保罗·高更的艺术成就作虎皮。作为芸芸众生,我们都不免在一生中的某些节点胆怯认怂,“算了算了,就听我爸的去读个金融,好歹挣钱多”。但曾有的异想天开哪会轻易熄火?无数万籁俱寂的午夜,扪心问“要是当初如何如何,现在又该如何如何”。感谢毛姆,把全人类的不甘心交给一个爱艺术的混蛋。我们恨他、骂他,也爱他。

    年齿徒增,我愈加宽容和理解书里那位思特里克兰德。曾经听过的歌、爱过的画、为之哭过笑过的电影戏剧,都是庸庸日常之中为一道逃逸的出口。有时向远方,有时向故乡。在一个工业文明早已深入骨髓、价值理性无可撼动的年代,艺术仍然是重要的,仍然撄人心魄,像苍茫大海上浮起塞壬的歌。

    《他们说,我是幸运的》,艾丽斯·西伯德著,北京联合出版公司2016年版

    大洋彼岸的#me too风潮终于席卷此岸,不少国人急匆匆地哀叹“网络暴力”,痛斥“政治正确”。似乎千万女性成长经历中难于启齿、刻骨铭心的伤,揭开来还必须温良恭俭、小心翼翼。

    艾丽斯·西伯德是美国著名小说家雷蒙德·卡佛的学生,也是一名性侵犯的受害者。与大多数有类似经历的人不同,她凭借出色的文学天赋,以细腻而又隐忍的笔法将伤口揭开,走向新生。这是一本注定使人感到不快的书。但凭借他人的叙述而进入人类苦难世界,恰是阅读自身无可取代的价值之一。知悉苦痛并非为了把玩他人的隐私,而是不断确信某些人道价值的意义。构建一个性别平等、两性友善的社会,关乎我们每一个人的福祉,而这一切在中国的实现仍旧有赖于同学们这一代新人的自觉和努力。

    (西伯德还有一本同样关注性暴力的小说《可爱的骨头》,探讨了更为深邃的生死问题,同样值得一读。)

    《大背叛:科学中的欺诈》,霍勒斯·贾德森著,三联书店2018年版

    沸沸扬扬的“韩春雨事件”终以一纸“未发现主观造假”的调查结论作结。对中国科学界而言,这种遮掩再一次暴露了规范缺失、监管不力以及尚未形成行业自律所孳生的病灶。以追求客观真理为己任的科学,从不是悬浮在真空之中,它同样嵌入于特定的价值体系与文化观念。

    不幸的是,科学的进步史几乎同样是一部充满欺诈和虚伪的历史。对研究人员而言,需要与之斗争的并不仅仅是一个个智识上的挑战、手段上的局限,还有人类自身的贪欲和缺憾。科学研究者早就不再是青灯黄卷深藏于简陋实验室里的隐者,他们同样面对着世俗意义上的名利诱惑。因此,在学术生涯的起步阶段就建立起牢固的自省意识,从每一份作业每一篇报告做起,不存侥幸之心,不越雷池一步,对各位同学而言是关乎未来之路的必修功课。希望这部充斥着荒诞的历史,能作为大家修身之镜鉴。

    本书属于三联书店“新知文库”的一种,这套丛书大都引介自西方世界流行科普畅销书,今年夏天刚刚满100种,尤其适合大学生阅读。

    以上推荐与所谓“权威”无关,它只是一个长期以读写为生的普通教师的一份邀请。我很庆幸自己出生并成长于前数字时代,在我漫长而孤独的青春期,阅读让我延展了有限的生命。我希望自己曾见识的风景,也能让后来者领略。每一本书都有其品格和灵魂,每一本书与我们的相遇因而也就有万般幻化可能。你爱上某一本书的时刻,也就是你爱上接下来无数本书的时刻。祝愿大家从阅读中得欢喜宁静。

    Copyright: 袁长庚在新窗口打开, All rights reserved.

    + + + diff --git a/study/borrow-books/index.html b/study/borrow-books/index.html new file mode 100644 index 000000000..bd980904c --- /dev/null +++ b/study/borrow-books/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 📗教材与图书借还 | 南科手册 + + + + + +

    📗教材与图书借还

    教材借还

    每年的学期初和结束时图书馆都会邮件通知借教材和还教材的时间和地点,大家可以根据自己需求借一些上课可能用到的教材。但是需要记得在学期结束的时候即使按照邮件通知即使归还图书,逾否则逾期的话可能要交逾期费。

    图书馆书籍借还

    如何找到想要的书?

    登陆图书馆首页,在“馆藏书刊”检索中输入该书的题名(刊名)/责任者(作者)/主题词等信息,点击搜索,从检索出的书目信息中,挑选自己想要的图书,并记录该书的索书号,根据图书的楼层分布及索书号到书库查找图书.

    如何利用自助借还书机借书、还书?

    借书步骤:自助借还书机——“借书”——校园卡放在屏幕右下方的感应区——将书错落地放置于感应区(一次最好不超过5本)——“确认”;还书步骤:自助借还书机——“还书”——将书错落地放置于感应区(一次最好不超过5本)——确认还书信息是否准确——信息无误后将书放入还书箱。

    怎样查看个人借书情况和还书期限?

    1. 持本人校园卡在自助借还书机点击“查询”按钮查看;

    2. 打开图书馆网站——登录“我的图书馆”——“我的借阅”或“待还书”——查看;

    3. 关注图书馆微信(网站首页下方扫码),在微信订阅号中下方“服务”栏——“图书续借”

    每个读者的借阅权限是多少册图书,借期为多长时间?

    可借20册书,借期30天。

    + + + diff --git a/study/by-shude-college/advice-on-study.html b/study/by-shude-college/advice-on-study.html new file mode 100644 index 000000000..292b49c05 --- /dev/null +++ b/study/by-shude-college/advice-on-study.html @@ -0,0 +1,39 @@ + + + + + + + + + 📖学习建议 | 南科手册 + + + + + +

    📖学习建议

    包括暑假学习建议、大学学习准备、入学考试准备、个人提升。

    由树德书院学长团整理。

    序言

    在2020高考的你们,注定和今年一样不平凡。虽然结束了繁忙⽽充实的⾼中三年,但却需要马不停蹄地准备大学开学,投入到全新的学习与生活环境中。大学和高中的生活方式有很多不同,学习模式有根本区别。在本弹中,树德学长团特意为大家总结了在南科大学习,你需要拥有的学习心态,需要掌握的学习方法以及入学考试的相关信息。希望在这份迷你宝典的加持下,大家能够从容面对大学全新学习模式的挑战!

    心法为上

    相⽐⾼中来说,⼤学学习的课程节奏更快、涉及范围更广,尤其是南科⼤的英语教学,需要⼀定的时间适应。因此,大学学习的首要心理准备是“认清形势,放弃幻想,准备斗争”。认识到高中与大学之间学习内容与方式的巨大区别,放弃延续高中学习方法也能学的很好,高中成绩很好大学成绩也会很好的幻想,准备探索新的学习模式,准备新的斗争。能够进入南科大的同学,往往在高中名列前茅,也有自己的学习方法。一些同学进入大学后能够维持,但也有不少同学会需要时间适应。唯有清楚挑战的难度,直面挑战,才能更好地迎接挑战。

    第二点要认识到学习依然是大学阶段最重要的事情。大学生活丰富多彩,无论科研实验,学生社团还是社会实践活动,都能成为你放下学习投入时间的理由。但从长远来看,学习本身才应该是大学阶段性价比最高的选择,才是学校中最独特而珍贵的资源。因此应当为学习安排足够的时间,确保自己的学习效果,并且保证自己的学习成绩能够让对得起的自己目标与付出。

    当你对大学学习模式和学习的重要性有了足够的认识,最后还需要一颗自信坚强的大心脏搭载着你一往无前,乘风破浪。是的,要自信!似乎不难对吗?倘若你对于学习游刃有余,成绩优异,那的确不难。但如果你为之付出为之拼搏,却三番五次地跌倒在自己的目标前,你是否依旧相信自己呢?真正的自信便是在多次失利后(在南科大是很常见的)仍然无条件相信自己,努力地找原因,往前进。

    希望接下来的你,能够正视大学学习的特性,相信学习的重要性,并且相信自己的努力能在南科大有所收获,有所成长。

    打开方式

    核心无他,主动二字。如果说高中的学习为的是高考,那么大学的学习为的就是自己与国家复兴大业。由于少了老师同学的督促和清晰可见的目标,学习是容易迷失的,我们应当把握核心方向:主动。那么具体方式呢?可以主动预习复习,主动搜索可靠教辅资料,主动刷b站油管的网课,主动多做些习题,主动向老师和同学求助,主动成立学习小组……用你的主动和努力,你将开启全新的学习世界!

    以下是南科大一些学科的暑期打开方式简介。更多内容欢迎关注学生会学创部与学长团共同出品的课程指南,你能了解到完整的基础课程打开方式!

    课程

    英语

    **在南科⼤,⽆论是适应英⽂教学,还是未来出国交换,英语能⼒强的同学都很有优势。**⼩可爱们在假期可以重点提升英语的听和说的能⼒,⽐如看⼀些Ted Talk、美剧等等。看的时候需要有意识地练习听⼒,会⽐单纯追剧关注情节帮助更⼤。

    有⼀个实⽤的⼩⽅法:为达到练习听⼒的效果,同⼀个视频可以看两遍,这样看第二遍时的注意⼒就能放在“听”本⾝⽽不⾄于过多关注剧情,既不枯燥,⼜可以学习英语。还可以使⽤类似于“英语趣配⾳”这样的⼿机app,帮助⾃⼰练习⼝语,使⾃⼰的英语⼝语听起来更像native speakers。南科⼤的英语考试题型与四六级类似,⼩可爱们也可以通过做真题等⽅式熟悉⼀下四六级题型,也为四六级考试打下基础,准备雅思、托福也是不错的选择。

    线性代数(Linear Algebra)

    强烈推荐网易公开课Gilbert Strang(⿇省理⼯)的线性代数,这位⽼教授教了很多年的线性代数,课程质量很⾼,不少学⻓学姐在学习线性代数时都会将这些课作为“课后加餐”。

    ⿇省理⼯公开课:线性代数/网易公开课在新窗口打开

    计算机程序设计基础 (JAVA)

    在南科⼤学习的第⼀⻔编程语⾔是Java,相⽐其他⼤学⼀开始会选择C语⾔,南科⼤的计算机程序设计基础课还是⾮常硬核的,对没有接触过编程的同学有些不友好。感兴趣的同学可以在假期自学⼀些内容(不过来大学之后再开始学也没事的,不⽤有压⼒哦)。

    高等数学

    自学必要性不如上⾯的三⻔课程。相关资料可以参照课程指南。

    入学考试的建议

    开学后将⾯临的,⾸先是⼊学的考试,有数学,物理,计算机导论,英语等。以下仅为19级的情况,20级可能会有部分变动。

    英语考试与计算机导论的考试:两者均⾮选拔性考试,⽽是分级考试。学校会根据考试的成绩(英语还会结合⾼考成绩和新⽣适应周随堂测试的成绩),来建议同学们修读符合⾃⼰英语/计算机⽔平的对应课程,更有针对性地帮助各位⼩可爱们与⼤学学习接轨。英语会分为SUSTech English I、II、III三个等级,难度依次增加,每个等级有对应的必修课程。⽽计算机考试成绩不理想(没有达到⼀定分数)的同学,必须先修读“计算机导论”这⻔课,才能修读必修课程“计算机程序设计基础”。

    此外2020级有可能会增加数学和物理的选拔考试。这里也介绍一下2018年两门科目的选拔考试设置情况。

    数学选拔考试:建议意向修读应⽤数学、统计学、⾦融数学的童鞋参加数学选拔考试,有利于更早进⼊专业。考试范围有⼀部分是⾼中内容也有⼀部分是拓展内容。不进⼊以上专业的萌新们可以不⽤报名数学选拔考试。

    物理选拔考试:选拔通过后能修读⼤学物理(A),⽐⼤多数同学修读的⼤学物理(B)更难。但⼤学物理(A)不是任何专业的必修课,修读只是为了增强专业竞争⼒,对物理有较⼤兴趣并且学有余⼒的同学可以报考。

    继续阅读...

    + + + diff --git a/study/by-shude-college/info-on-study.html b/study/by-shude-college/info-on-study.html new file mode 100644 index 000000000..38e519ef7 --- /dev/null +++ b/study/by-shude-college/info-on-study.html @@ -0,0 +1,39 @@ + + + + + + + + + 📖学习制度与信息 | 南科手册 + + + + + +

    📖学习制度与信息

    包含GPA表、专业概览、选课指导、学习资源、图书馆学习攻略、学籍管理。

    由树德书院学长团整理。

    序言

    经过一个暑假,九月到来之时,大家就要开始在南科大的学习生活啦!我们整理了一些学习制度相关的内容,在正式开始大学生活之前,这一部分的内容尤其重要。由于大学与高中的学习差别比较大,了解这些内容可以帮助大家更好地适应大学的学习生活,调整好自己的学习节奏,制定好自己的长期或短期计划。

    GPA表

    高中和大学最明显的区别就是成绩的构成啦。 南科大有两种计分方式,一种是十三级计分制,一种是二级计分制,具体计分标准看下面:

    十三级计分制(计入GPA)

    等级A+AA-B+BB-C+CC-D+DD-F
    绩点4.003.943.853.733.553.323.092.782.422.081.631.150
    百分 参考97~ 10093~ 9690~ 9287~ 8983~ 8680~ 8277~ 7973~ 7670~ 7267~ 6963~ 6660~ 62<60

    提示

    推荐使用同学开发的网页版GPA计算器在新窗口打开快速计算GPA。

    二级计分制(不计入GPA)

    以通过(P,Pass)、不通过(F,Fail)方式记载成绩的课程。成绩为通过的,计入学分,不计入平均学分绩点(GPA);成绩为不通过的,既不计入学分,也不计入平均学分绩点。

    平均学分绩点(GPA)的计算方式

    一门课的学分绩 = 绩点 × 学分数

    平均学分绩点(GPA) = 所修课程学分绩求和 / 所修课程学分数求和

    一个小例子

    高数学分为4,成绩87;大物学分为4,成绩86;JAVA学分为3,成绩91

    高数学分绩 = 3.73×4 = 14.92;大物学分绩 = 3.55×4 = 14.2;JAVA学分绩 = 3.85×3 = 11.55

    GPA =(14.92 + 14.2 + 11.55)÷(4 + 4 + 3)= 3.69727272…

    提示

    大学的成绩和高中不同的是,大学的成绩构成由平时表现和期末考试成绩构成,平时表现包括出勤、作业、presentation等等,每门课第一节课老师都会介绍课程成绩的构成,一定要好好听哦。

    专业概览

    专业概览

    选课指导

    来了南科大,还有一点和高中不一样的是,高中时期课表都是学校安排好的,而在南科大,你需要自己安排好自己的课表。安排课表的时候,需要考虑自己的作息、不同课程的上课地点、一天的课程容量等等,安排课表的时候,可以多多咨询自己的导师和学长学姐们。在这里,我们会简要地介绍一下选课退课的时间安排与流程。

    选课流程:了解培养方案与课程→新生课程初选→导师指导→课程退补选→书院确认

    了解培养方案与课程

    新生来校后将会分发2020****级培养方案,其中不同的专业会有不一样的培养方案与课程建议修读学期,选课前一定要仔细阅读纸质版2020级培养方案哦。

    新生课程初选

    在秋季学期正式开学前一周教务系统将会开放进行选课。春秋季学期选课均采用积分制选课,到时候每个人都会有100分,选课的时候需要将100分进行分配到所选择的各个课进行投注,是对博弈论进行的一场操练哦。每学期选课的总量把握在15-25学分之间**。教务系统具体开放时间将会由教学部学生服务中心发邮件通知。一定要多查看邮件!**

    导师指导

    选课期间可以向书院导师咨询选课意见,后期可以将导师的选课意见填写在导师指导选课意见表中。这也是一个可以跟导师好好交流的机会~

    课程退补选

    春秋季学期的1-3周都是自由退课时间,这段时间可以在教务系统自行退课,成绩单不做记录;同时,退的课将会在对应的课中多出名额,1-3周每天中午13点整将会释放这些名额供学生们进行补选(有时候这样的“抢课”相当激烈,12:59就可以守在电脑前等待释放的名额啦,不失为大学生活的一种乐趣)。

    春秋季学期的4-8周可以到教学工作部学习服务中心进行退课,在此期间退课成绩单上将会记录“W”(Withdrawal退课)。

    第9周起不允许退课。

    附:教学工作部联系方式(选课、加课、打印成绩单、在读证明…)

    办公地点:慧园3栋203、206

    办公时间:周一至周五 上午8:30 - 12:00,下午14:00 - 17:30

    公共邮箱(教学事务):tao@sustech.edu.cn

    学生学习服务邮箱:tao-sls@sustech.edu.cn

    官网:http://tao.sustech.edu.cn/index.html在新窗口打开

    一些学习资源

    南科大有很多学习资源!以下会列举一部分,在未来的日子里你们会需要这些哒。

    1. 学生工作部学习中心有针对通识基础必修课的互助课堂,同时,各个书院也有性质类似的学生课堂

    2. 语言中心提供口语、写作辅导、托福、雅思、四六级培训等学习资源。

    3. 各个院系也会组织参观实验室的活动,对某个方向感兴趣的同学也可以主动联系导师申请加入课题组

    4. 南科大图书馆官网网络资源导航在新窗口打开:(包括数据库、网络公开课、工具等)

    5. 树德学生会

      • 【学生会·英语单词打卡】

        英语单词打卡

        树德学生会的英语单词打卡旨在通过督促、惩罚、奖励等多种措施,在一个温馨高效的学习氛围里,帮助同学们养成背单词的习惯。

        打卡QQ群:1049298186

      • 【学生会·实验室参观】

        学生会学创部会定期联系各院系各专业,并发布预告,组织一定数量的同学去到该专业。想参加的同学可以报名,听取教授讲解专业知识,进入实验室实践或参观,和学长学姐交流碰撞,更加深层次的了解一个专业。

      • 【学生会·学创刊】

        学创刊是学生会学创部针对同学们需求出品的期刊。包含内容有竞赛消息发布语言学习秘籍公开课程学习指导优秀学长学姐经验访谈等多板块内容,旨在为同学们提供多手资料,帮助大家度过丰富充实的大学四年。

    6. 除了这些资源,身边的老师和同学也是很好的学习资源,有问题可以多向老师同学请教探讨。学习是主动的过程,只有主动才能获取到这些资源鸭。

    图书馆学习攻略

    1. 图书馆是南科大学生平常学习的好地方!进图书馆一定要记得带上校卡刷卡进入哦。

    2. 图书馆的服务时间是周一至周日8:00 - 22:00,疫情期间可能有所变化,开馆时间有任何变化图书馆都会通过发邮件告知大家,大家要记得多查邮箱哦

    3. 琳恩图书馆各个楼层功能:

      一楼:休闲区、报刊区、阅览室、共享学习区、讨论室

      二楼:阅览区、小组活动区

      三楼:电子阅览室、自习区

      提示

      关于一楼的讨论室:在准备做小组presentation的时候可以用到讨论室,讨论室需要上图书馆官网进行预约。

    4. 图书馆有海量的学习资源:图书、数据库、讲座、沙龙,在未来的大学生活中会发挥很大的用处。

    读者服务

    读者服务在新窗口打开

    数据库导航

    数据库导航在新窗口打开

    附:南科大图书馆新生专栏链接在新窗口打开(里面有读者手册,建议大家下载下来好好读一读):

    以上攻略仅供参考,关于图书馆的更多功能和具体信息,首先,你们可以在南科大图书馆官网查看;其次,我们鼓励你们在即将到来的大学生活里自己好好探索一番!

    另外,教学楼的自习室也是学习的好去处。学校的自习室有一教2楼,荔园一栋206、207,荔园二栋304、305。

    学籍管理

    大学的学籍管理制度也与高中有很大的不同,这里我们列出了关于学业的学籍管理制度,更为详细的学籍管理,大家将在学校发的新生学习指导手册中学习到。

    学业警示

    1. 一学期取得的学分未达到9学分***(前文有提到,一学期建议选课控制在15-25分之间~)***;
    2. 一学期通过的同时理工基础课或专业必修课合计未达到两门者(此两类课程已满足培养方案要求的除外)(这就是好好读培养方案的重要性所在啦)

    强制休学

    连续两个学期GPA低于1.5者(进入毕业年级除外)。

    退学

    在读期间第三次受到学业警示者。

    关于考试与成绩

    1. 不及格重修记录:成绩不及格的课程可以重修,不及格成绩和重修成绩都要记录在成绩单中,取最高的成绩计入GPA;

      ​ √必修课不及格必须重修且不可免听

      ​ √选修课不及格可以选择不重修

    2. 旷考:旷考成绩按0分记录在成绩单上,计入GPA,重修后以实际成绩记载,计入GPA,两次成绩均计入GPA;

    3. 违纪重修:违纪课程按0分记录在成绩单上,计入GPA;该科重修成绩按照最高60分记录在成绩单上,计入GPA,两次成绩均计入GPA;

    4. 缓考:特殊情况包括出国交流、参加学科竞赛活动、突发疾病不能参加考试,需在指定日期内申请缓考,申请成功后可参加缓考补考。

    由此可见,旷考和违纪重修的后果非常严重,无论如何都不能做违纪的事情;同时。考试的时间一定要记得,建议考试时间可以舍友之间互相告知,同时设置好闹铃,以防因为睡过头而错过考试时间等遗憾发生。

    参考资料:教学工作部《新生学习指导手册》在新窗口打开

    继续阅读...

    + + + diff --git "a/study/by-zhicheng-college/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\255\246\344\271\240\347\257\207.html" "b/study/by-zhicheng-college/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\255\246\344\271\240\347\257\207.html" new file mode 100644 index 000000000..b75b363fd --- /dev/null +++ "b/study/by-zhicheng-college/\346\226\260\347\224\237\346\224\273\347\225\245\344\271\213\345\255\246\344\271\240\347\257\207.html" @@ -0,0 +1,39 @@ + + + + + + + + + 新生攻略之学习篇 | 南科手册 + + + + + +

    新生攻略之学习篇

    本部分由 致诚书院大学长团 提供

    入学考试

    南科大新生入学考试安排在新生适应周,根据21届的校历安排,应该是安排在刚刚开学时的军训周(具体时间关注校内通知)。考试只考两门,即英语和计算机,而且目的是为了根据大家的水平给予选课的方案,属于分级考试而非选拔性考试,因此大家不必太担心,以从容的心态准备和面对就好。下面给大家从不同方面简单介绍一下这两门考试,以便大家更好的准备!

    1. 英语

    1. 考试内容: 英语分级考试并分为两部分:听力和阅读,题目与形式与托福考试类似,同学们可以在假期在网上或者购买托福的原题练习,会对考试有一定的帮助。(手机APP推荐:小站托福;电脑网站推荐:
    1. 考试形式:笔试,2个小时
    2. 考试结果:考试结束后,老师们会根据大家的考试成绩并结合大家的英语高考成绩与适应周英语课上大家的表现,综合评定后,将英语水平分为I、II、III,三个等级,水平依次递增,同学们根据自己的等级开始学习对应的英语课程。

    图:三种水平对应的需要修读的英语课程(每学期一门)

    2. 计算机

    1. 考试内容:计算机分级考试不会很难,会考察大家一些计算机的基础知识、逻辑、进制转换、伪代码、Java编程等。编程题也不会为难大家,一般是看程序选择输出结果或者选择一个选项完善程序之类的,大家不用过于担心,不过假期可以对以上内容进行一个简单的了解做一些准备。
    2. 考试形式:根据20级的经验,应该还是以笔试并且全部是选择题的形式。
    3. 考试结果:

    计算机分级考试的结果只分为通过与不通过两种,通过后可以直接修读"计算机程序设计基础"(通识必修课)这门课程,但如果未能通过的话,需要先修读并通过"计算机导论B"这门课程后,方能修读"计算机程序设计基础"。

    总之,南科大的分级考试主旨是为了帮助大家更好的学习大学课程,并不会对大学的成绩造成任何影响,因此学弟学妹们不必过于紧张。不过在考试前按照上述内容科学的备考,争取考出一个较好的成绩,还是对减少一些学业的压力有一定的作用的!预祝大家考试顺利!

    专业与选课

    专业问题是南科大学生在之后会一直关心和迷茫的事情,无论你们现在是不是已经有了目标,去了解专业将是你们之后一定会做的事情呢。而且专业的选择直接关系到了选课,选课也有很多学问,我们为大家总结了专业相关和一些选课要知道的事情,让大家以后不会太手忙脚乱!

    1. 专业

    1. 专业设置 图:南科大本科生可选专业院系设置汇总

    2. 专业选择方面的一点点提醒。 虽然南科大是自由选择专业,但还是需要心里有一点方向的!因为大家开学之后选课是要根据以后要进专业的先修课选择的。比如说,如果你要1+3进数学系或者统计系,你大一上就要开始学数学分析,另外的同学就只需要学高等数学。如果没有确定的方向也不用太担心,一般情况下不同专业都有很多重叠的通识课,你可以选出你感兴趣的几个专业重叠的课程在上学期上,在上学期好好了解自己感兴趣的几个专业,下学期就学这个专业剩下的先修课就好啦。当然如果你没有很强的1+3进专业的意愿的话,你还有一年的探索时间,甚至有机会临时反悔,也可以选择一些专业的先修课看看自己适不适合。

    3. 专业确定的一点点方法建议

      1. 网上了解相关院系的情况:导师及专业的科研情况等等
      2. 与感兴趣的院系的老师们联系,多多交流(注意礼貌!),找到自己感兴趣的科研方向很重要!
      3. 与大三大四的学长学姐多聊一聊,了解自己以后可能会经历什么,要做什么准备等等
      4. 兴趣!当然很重要,这个可以应用于排除法hhhhh

    2. 选课

    选课方法

    大家开学的时候会收到一个大厚本,就是2021级的培养方案啦!因为我们现在也没有大家的培养方案,因此介绍时就以2020级的培养方案为例,都是一样的,可能会有轻微变动而已,大家清楚里面有什么就可以啦!

    1. 学分限制,选课的学分是有界限的,下限15,上限25。就是告诉大家,不要上不够课,也不要上太多课,注意劳逸结合哈。

    2. 课程结构 图:课程结构总结(参考2020级培养方案)

    3. 通识课程。 体育课大家都必须选体育 I,英语要根据大家入学等级测评的结果来选择,思政课在下面四个任选一个(在四年里修完这四门就行,如果学分不够了可以放弃一学期,体育和英语也是同理) 图:大学四门思政课要求

      另外大一上下两个学期必须有一个学期选一门叫做写作与交流的课。

      大家大学四年必须修够人文课程2学分,社科课程2学分,艺术课程2学分(有些艺术社团是可以提供学分滴),至于什么时候选这些课程就完全看你啦,有早早修完的,也有等大三大四课变少之后再选的(说是用来养老的)。

    4. 先修课

    大家的培养方案每个专业上都会有这样的一页。根据这个来选择一个学期的课程就好啦,注意均匀分开两学期的课程。

    P.S.这里建议一定要咨询一下学长学姐课程的难度,比如线代和Java就不适合放在一个学期学,两门课任务都比较重,在一个学期会比较辛苦。当然如果你有信心能处理的话这都不是问题哈哈。

    刚刚也提到了可以先选感兴趣专业重叠的课程。

    另外,如果你入学等级考试计算机没有合格的话,第一个学期是选不了Java的,必须要先修计算机导论的课程。

    42a74e2ffa4e786842e80b66392fcbf

    ​ 图:计算机科学与技术先修课示例

    选课流程

    选课的流程一般是这样的:查看课程信息------积分选课------退补选课------导师确认

    下图是我们为大家总结的流程图:

    图:选课流程总结

    1. 查看课程信息:

      这个环节大家可以看到完整的排课信息了,哪门课什么时间哪位老师,这个时候大家可以开始了解课程并开始选择了,在这个阶段可以先排好自己的课表(虽然大概率以后会改)。建议大家选一门课的时候问问学长学姐有没有推荐的老师以及课程难度(受欢迎的老师并不一定适合所有人,不要追求老师选的人多不多,多问问老师讲课的风格和习惯的讲课方式等等!!这个挺重要的)。

    2. 积分选课:

      这个阶段每个人一共有100积分,为你想选的课程投入一定的积分。比如一节课容量50人,他们投入的积分从高到低排,前50人就选上这门课了,如果最后几名投入积分相同,则都落选。这是一场博弈啊博弈!到时候一门课有多少人选择也会一直更新,当然你看不到他们投入的积分,能不能顺利选到这门课,就看你的脑袋瓜和运气了。(刚刚说到的课表会变动的情况就从这里开始了,很可能你的计划被迫改变,包括下面的阶段)

    3. 退补选课:

      这个阶段,是拼网速的时候了。这时候所有因为各种原因容量没有满的课程,都会在每天中午一点开放抢课,不用积分,先到先得。还有一种方式,就是直接找老师申请加课,注意礼貌!但有些老师会同意,有些老师可能因为教师容量问题没办法同意,建议一定要提前向学长学姐了解一下什么课比较好加上,可以考虑先保住其他课程,如果情况很严峻的话(这应该在积分选课阶段为这里做准备)。

    4. 导师确认:

      最后一个环节是如果你的课表不打算再更改了,可以通过系统让你的生活老师确认你的课表,这个时候的课表就成为了你的最终课表了(确认的具体操作会发邮件通知)。当然,不是这个时候你才可以联系导师,前面如果你对你的选课有迷茫,也是可以找生活导师寻求建议的!

    上面的很多环节到时候都会有邮件通知或有讲座讲解,这里希望同学们先了解一个大概,另外给了一些官方不会讲到的建议,只希望到时候大家不会听不懂或者不了解情况啦。

    英语学习

    1. 英文教学

    1. 南科大的课程主要分为中英双语班和英文班:

      中英双语班:一般来说老师的 ppt 是几乎全英的(会有个别中文注释~),但老师会用中文上课,所以大家的对知识的理解不会有问题啦~

      英文班:英文班当然就是 ppt 和老师上课都是英文的了,但老师的语速大多比较慢,说到比较难的单词也会加上中文翻译,所以听懂课堂内容也不是那么困难滴~(如果英文班没有国际生的话,事情就好商量了,老师会多说一些中文的,但上英文班确实是可以帮助记单词滴)

    2. 一点小建议:一般来说高数和大物课建议选中英双语课。当然,如果"博弈"(积分选课)失败的话可能就会被迫选全英班了。大家还是需要根据自己的英语水平决定,也可以参考英语分级考试的等级哦~

    2. 四六级考试

    1. 目前,南科大的学生在入学的第一个学期(也就是 12月)是不能考英语四级的,大家在第二年6月才能开始四六级的考试,有特殊情况注意邮件通知。

    2. 同学们在大一下学期一定要注意翻看邮箱,不要错过了四六级考试的报名时间(记得要交报名费鸭!,不然就得再等半年啦~)

    3. 四级考试难度不大,大家复习一下词汇,做几套真题应该就没什么问题了(如果想要拿很高分还是要多花些力气哒~),主要是熟悉题型与考试流程。不要像个别学长学姐一样不了解题型,直接被听力炸懵。

    4. 六级就有些难度了,需要大家比较认真复习了(当然学霸除外啦~)

    3. 雅思 & 托福 & GRE

    1. 托福跟雅思一样都是语言能力测试, 而 GRE ( Graduate RecordExamination)是指美国研究生入学考试,关注的是逻辑水平和学术能力。

    2. 雅思和托福的有效期都是 2 年(这个可能根据学校的具体要求有所不同),而 GRE 的有效期是 5 年。

    3. 一般申请英联邦国家的研究生项目,如:英国、澳大利亚、新西兰、加拿大、新加坡等,或者中国香港的大学,就需要提供雅思成绩。

    4. 申请美国的研究生项目,就需要提供托福和 GRE 成绩。

    5. 南科大有很多寒暑假或者整个学期的出国科研或游学项目,一般都会发邮件通知,欢迎大家关注"南科大国际合作部"公众号或官网 https://global.sustech.edu.cn在新窗口打开 自行了解。有些项目需要提供雅思或托福语言成绩,所以有意向的同学需要自己规划考语言成绩

    学习方法

    1. 改变认知

    大学的学习内容和高中有很大差别。相比于高中来说,大学课程的节奏更快、设计范围更大。往往老师上课只讲了最重要的部分,需要自己在课余时间花费更多的精力来补充学习。尤其是南科大的英语教学模式,这就更加需要我们在课下做好充足的准备。所以大学学习的最首要的改变就是认知上的改变。我们要认识到大学与高中学习方式上的差别,积极探索新的适合自己的学习方式。这要才能避免陷入被动,收获好成绩。

    2. 各科推荐学习方法

    1)数学

    在南科大数学大一的学习中,主要分为高等数学类(数学分析,高等数学 A 以及高等 数学 B)和线性代数类(高等代数,线性代数 A 以及线性代数 B)。不同专业的数学先修课 程是不同的,大家一定要参考培养方案进行选课。

    数学分析

    数学分析这门课程主要是针对想要进入数学系的同学,对同学们证明方面的要求比较严格。这门课程的难度是非常高的,想要漂亮 gpa 的同学需要慎重考虑噢!

    这门课程对逻辑的要求相当严格,所以预习是十分重要的,大家如果想在暑假期间了解 这门课程的话,可以先去浏览一些相关的教材。

    教材:常庚哲,史济怀《数学分析教程》

    高等数学

    高等数学的适用对象为除数学系外的其它专业的学生,且更偏向于应用。

    教材与教参:

    高数课本 Thomas' Calculus (13th Edition)

    高数中文参考书 同济大学数学系编《高等数学》高等教育出版社

    高等代数

    高等代数完全是针对想进入数学系并且想攻读数学与应用数学专业的学生。这是一门难 度非常大的学科,需要耗费很多的时间。

    和数学分析一样,对于这类课程,提前预习和保证思考的纯粹是相当重要的。并且因为 章节知识的连贯性很强,所以在学习过程中建议频繁的进行自我复习。

    教材:李炯生,查建国,王新茂《线性代数(第二版)》

    线性代数

    线性代数分 A、B 两级教学,A 级适用对象为数学及物理等对数学要求较高的学 生;B 级适用对象为所选专业对线代或数学要求较低的学生。

    刚开始接触这门课的时候或许会感到有些吃力,但只要跟着老师的进度,认真做笔记, 写作业,之后就会越来越得心应手。学习的过程中不要死记硬背,注重对概念的理解,打牢 基础。

    教材与教参:Gilbert Strang: Linear Algebra and its Applications (4th Edition)

    2)物理

    大学物理分 A、B、C 级进行教学,A 级面向物理专业学生,B 级面向物理专业或其它 理工科专业学生,C 级面向非理工科专业学生。

    大学物理 A

    面向物理专业学生,难度稍大,适合在高中对大学物理有所了解,对物理 有着浓厚兴趣并且数学基础较好的同学。如果想要在这门课上拿到一个比较高的等级就要付 出很多的时间去钻研,所以同学们一定要慎重考虑呀!可以点击下方链接下载教材来了解一 下难度哦!

    教材:伯克利物理学教程第一卷(力学)

    伯克利物理学教程第三卷(波动)

    Electricity and Magnetism

    PS:大学物理 A 里的热学与近代物理的教材和大学物理 B用的是同一本。

    大学物理 B 和大学物理 C

    大学物理 B 面向物理专业或其它理工科专业学生,大学物理 C 主要面向金融方面的专业的学生。教学大纲与高中所学内容基本一致,只是在教学内容和教学难度上进行了一定的丰富和拔高。

    教材:Principle of Physics

    物理实验

    旨在培养严谨的科学思维和创新能力,培养理论联系实际特别是与科学技术发展相适应的综合能力。

    参考书:《大学物理实验(第一册 第二版)》高等教育出版社 (可在图书馆借到或在跳蚤市场上收二手书)

    3)生物

    生物分两级教学,A 级的学习侧重于看论文做深入研究,主要面向生物专业、其它对生 物有较高要求专业的学生,B 级的学习背诵的内容更多,主要面向其它对生物有一般要求专业的学生。

    参考资料:Campbell Essential Biology with Physiology

    4)化学

    《化学原理》分两级教学,A 级面向化学专业、其它对化学有较高要求专业的学生,B 级面向其它对化学有一般要求专业的学生。相较于 B 级,A 级的学习内容要更加充实。 参考资料:Chemistry the Central Science

    ps:如果生物和化学在同一学期内同时选修,那么本学期将会有很硬核的背诵任务!所以同 学们最好不要同时修习这两门课呀!

    5)计算机

    计算机导论

    《计算机导论》分两级教学,通过计算机能力测试的学生可选修《计算机导论 A》,未通过的同学则必修《计算机导论 B》。

    参考书及参考资料: Computer Science an Overview (12th Edition)

    《计算机科学概论》

    计算机程序设计基础

    《计算机程序设计基础》分两级教学,A 级面向计算机专业、其它对计算机有 较 高要求专业的学生,B 级面向其它对计算机有一般要求专业的学生,编程语言为 Java。 (注意:必修《计算机导论 B》的同学只有 pass 了这门课才能修《计算机程序设计基础》)

    参考书:Introduction to Java Programming (10th Edition)

    Java: How to Program (8th Edition)

    学习工具

    1. 笔记能手

    纸质笔记vs电子笔记

    同学们可以根据自己的好恶选择

    纸质笔记:

    1. 同学们可以继续保持自己高中所留下来的习惯,容易快速适应

    2. 分页整理,查看起来比较方便,可以同时看多份资料

    3. 条理清楚,写一遍使人印象深刻,也可以时常复习

    4. 便于提交纸质版作业,不需要打印

    电子笔记:

    1. 有许多强大软件,实现更多功能

    2. 方便在电子文档中做注释,笔记方便修改与清除

    3. 电子版笔记方便交流,导出PDF便利

    4. 有些软件可以录音,方便复习

    2.软件分享

    1. 网易有道词典(PC端)

      有道词典PC端可以帮助我们快速适应大学生活,其中最常用的功能就是截屏翻译功能。这个功能可以提高我们阅读英文的速度,提高效率

    2. Quizlet

      Quizlet是南科大英语学习一般都会用到的一个软件。

    ​ 老师通常会利用Quizlet来帮助大家学习NAWL与NGSL词汇。没有用过的小伙伴也不用着急,英语课上老师会教大家如何安装与使用。

    1. MyScript Calculator

      MyScript Calculator是一款手写计算器

    ​ 相比于普通的计算器效率有明显提升,但是因为考试时不允许使用手机或pad,小伙伴们要在具有一定计算能力之后再使用噢~

    1. Notability / GoodNotes

      使用 iPad 记笔记的软件主要以 Notability 和 GoodNotes 居多。

    ​ 两个软件各有优劣,价格也不同,同学们可以根据自己的需求进行选择。

    1. QQ邮箱

      南科大很多事情会以邮件的形式通知,同学们最好养成定期查看邮件,管理邮件的习惯,开学后根据同学们的学号会有相应的腾讯企业邮箱,使用QQ邮箱可以同时管理多个邮件地址。

    3.校内学习相关网站

    本介绍旨在帮助新生了解南科大学生常用的学习系统的进入方式与用法,希望大家能更好的融入大学学习生活!

    南科大官网

    https://www.sustech.edu.cn/在新窗口打开(建议收藏进浏览器收藏夹)

    南科大学生常用系统页面

    官网内单击学生即可跳转至该页面

    在学生常用系统中,包括学习部分、生活部分以及其他相关链接。下面就为大家详细介绍一些学习相关的系统。

    本科教务系统

    进入后选择CAS用户登录。

    注:CAS系统为南科大学生与教职工所拥有的系统,学生的账号为学号,初始密码为身份证后六位,几乎所有系统包括WiFi的登录都需要CAS账户登录。

    进入后,有关功能的全部选项集中在右下角处:包括业务查询、业务办理和选课业务。

    1. 业务查询中包括如图所示的几类,日后同学们也会用到,常用的有考试查询、成绩查询、绩点查询、全校课表等。

    1. 业务办理(如下图):比较常用的是场地借用申请,点击进入之后再单击"添加场地借用"即可借用教学区的教室啦,通常可以借教室进行班会,pre练习等活动哦。

    1. 选课业务:包括选课和加课两项业务功能,是进行积分选课、抢课、退课、加课的主要战场!选课具体流程参考攻略上方的介绍!

    点击进入"我要选课"后,即可看到选课信息。最上方可以搜索课程,左上方有课程类别,同学们搜索课程时一定要主义好下方类别是否对应,避免出现找不到的情况。每个课程右侧会显示课程容量与已选人数、冲突课程等,大家要据此来选择课程与判断投入积分的多少!如果点击最左侧"已选"的话,便能查看自己的选课情况,并可以进行更改积分和退课等操作。大学长们也会在大家第一次选课时期给予相应的指导,同学们可以多与大学长沟通以便更好地安排自己的课程哦!

    Blackboard系统

    Blackboard系统,简称BB系统,是南科大教学常用的系统之一,很多课程(如高数、线代等)都会通过该系统发布通知、课件、作业、成绩等,也可以通过BB系统完成作业提交。点击进入并完成登录后,即可进入该系统。

    课程开始后,老师或助教会将同学们拉入对应的课程平台,点击进入后,可以看到老师发布的各种信息:如课程内容、考核方式、课件、作业提交入口等。下图为2020年秋季杨少曼老师思修课平台,供大家参考。

    对于提交作业,一些课程(如高数、线代)虽然会在BB上开通平台,但提交作业采用的是线下的方式,提醒大家在学期初要仔细听好老师的要求哦!也有一些课程,如写作与交流、思修(根据授课老师而定)会采用线上提交的方式,具体操作步骤见下图:

    同时,提醒大家网上提交作业一定要注意ddl!!!迟交或者忘交都是会扣分的哦!

    Sakai系统

    与BB系统并行的另一大重要的教学常用系统,功能与BB类似,大物、Java课程便会用到该系统。点击进入并单击上方log in 即可登录进入系统。

    与BB相同,课程开始后老师或助教会将同学们拉入站点,进入后左侧为菜单栏:单击作业/Assignment即可查看作业提交状态与开始和结束时间。单击左侧作业标题即可进入提交作业界面。同样提醒大家注意作业提交的ddl哦!(下图为2021年春季刘畅老师大物下站点,供大家参考)

    作业提交结束的几天后,老师会在站点给同学们打分并标注错误的题号,大家可点击左侧的成绩册/Gradebook查看自己的得分情况。

    图书馆

    有关馆内资料的搜索与图书借还事项开学后图书馆会安排视频讲解,这里为大家介绍一下图书馆预约功能。进入大学后,很多课程避免不了都要进行小组合作项目,因此图书馆讨论间便成为了一项非常重要的资源,在讨论间同学们可以进行小组项目的讨论,也可以约上三五好友在期末复习周时在讨论间一起讨论问题。

    将图书馆主页面拉到下方即可看到讨论见预约按钮,也可以通过学生常用系统中的"图书馆讨论间预约"直接进入。

    进入并登录后,在资源列表中选择所需要预约的讨论间并按照指示完成预约即可!

    首次预约前,记得阅读预约须知哦!最重要的注意事项包括:①三人以上才可预约,②通过刷卡确认签到,超过十五分钟未签到按照违规处理,违规会取消预约权限一周等。

    4.必备小工具

    计算器:大学与高中的不同之一就在于一些考试能使用计算器了!比如大物、化学等科目更侧重与对知识和能力的考察,因此可以在考试和平时作业时使用计算器,所以人手一个计算器是十分重要的!

    版权信息

    图片来源: App Store,软件截图,网站截图、2020级南方科技大学本科生人才培养方案、唐昕宇

    资料参考: 2020致诚新生攻略之英语学习篇、2020致诚新生攻略之课程学习篇、2020级南方科技大学本科生人才培养方案

    特别鸣谢: 杨少曼老师大一上思修BB站点、刘畅老师大一下Sakai站点

    制作:致诚书院大学长团 段宜凯 贾松硕 王婧懿 唐昕宇

    致诚书院出品,本文已获授权在 sustech.online 转载,转载请注明出处。

    + + + diff --git a/study/cse/innovative-project.html b/study/cse/innovative-project.html new file mode 100644 index 000000000..8d129f2a6 --- /dev/null +++ b/study/cse/innovative-project.html @@ -0,0 +1,39 @@ + + + + + + + + + 南方科技大学计算机系创新实践项目汇总 | 南科手册 + + + + + +

    南方科技大学计算机系创新实践项目汇总

    本仓库的目的是为后续同学们选择自己的创新实践导师做参考,欢迎大家贡献每年的创新实践情况,文件按照导师组进行分类,从而帮助同学们快速确定导师研究方向新增条目格式如下

    年份项目名称组员数
    2022年春基于transformer的时序预测2

    请提交时按照上述格式添加新的条目,方向条目可以不填(如果不清楚的话)。

    由于本仓库依靠开源贡献更新,如存在任何问题请直接在仓库中的issue板块提出问题,我们将会及时更正

    目录

    项目汇总

    Alia Asheralieva

    年份项目名称组员数
    2022年秋Modelling and Simulation of Blockchains for Internet of Things (IoT) Applications
    2022年秋Mitigating Stragglers’ Effect In Distributed System3

    Georgios Theodoropoulos

    年份项目名称组员数
    2022年秋Image processing Deep Neural Networks inference performance on the edge
    2022年秋Model management in Digital Twins
    2022年秋Self-aware and self-adaptive Digital Twins with agent-based modelling

    Hisao Ishibuchi

    年份项目名称组员数
    2022年春无人机路径规划的多目标优化及仿真3
    2022年秋基于NAS和Transformer的超体积近似3
    2022年秋多目标强化学习在机器人控制问题中的研究与应用2
    2022年秋基于元学习指导代理模型的演化多目标贵重优化算法设计3
    2022年秋少样本学习中的任务异质性问题的多目标解法
    2022年秋面向大规模多目标问题的基于无上界外部档案的高性能进化算法设计
    2022年秋多目标优化算法集成框架设计

    Shin Hwei Tan

    年份项目名称组员数
    2022年春LaTeX错误修复2
    2022年春对GUI 测试用例的自动修复与更新工具的研究3
    2022年秋GUI 测试用例的自动修复与更新
    2022年秋基于Pull Request的自动维护系统
    2022年秋面向初学者的代码审查
    2022年秋协作测试的增量分析研究
    2022年秋面向自动审稿系统的研究

    程然

    年份项目名称组员数
    2022年春可并行分布式多目标遗传算法与演化计算平台2
    2022年春面向边端部署的多目标深度神经网络架构优化算法设计3
    2022年春面向不完全信息博弈游戏的演化强化学习算法3
    2022年秋面化深度学习边缘部署的神AutoML开源平台研发2
    2022年秋基于深度学习的宽体客机机翼形状设计与优化2
    2022年秋基于多模态转换的超临界翼型到流场信息的双向映射2
    2022年秋脉冲神经网路结构研究3

    陈杉

    年份项目名称组员数
    2022年秋端到端加密通信3
    2022年秋免密码认证2
    2022年秋区块链共识机制3

    陈馨慧

    年份项目名称组员数
    2022年秋GUI测试用例的自动修复与更新2
    2022年秋面向初学者的代码审查2
    2022年秋自动修复GUI 测试用例工具的研究2

    郝祁

    年份项目名称组员数
    2022年春3D自动标注3
    2022年春Cross-Domain Transfer Learning for 2D&3D Object Detection2
    2022年春车路协同三维高逼真度仿真3
    2022年春基于对抗网络的自动驾驶场景生成3
    2022年春野外机器人实时定位与建图3
    2022年秋自动驾驶感知系统自主演化研究
    2022年秋自动驾驶地图的自动高精建模
    2022年秋面向L3级自动驾驶系统开发与验证
    2022年秋面向自动驾驶数据集的场景多样性分析
    2022年秋基于对抗网络的自动驾驶场景生成5
    2022年秋自动驾驶数据间域适应性研究
    2022年秋面向自动驾驶的联合目标检测与跟踪
    2022年秋基于CARLA仿真器的泛用型仿真数据集采集工具3
    2022年秋南科大工学院地库真实交通流数据采集及其在CARLA仿真器上的回放
    2022年秋基于UE4引擎的程序化生成技术的地库仿真地图生成3
    2022年秋图像数据隐私保护3
    2022年秋仿真数据采集工具1
    2022年秋高精地图的CG渲染技术的初步探索2
    2022年秋基于CARLA的车辆仿真与检测3
    2022年秋基于分布式技术的高性能自动驾驶仿真器技术研发2
    2022年秋面向自动驾驶仿真与真实场景间域适应性分析3
    2022年秋自动驾驶数据集的视图修复与合成3

    李卓钊

    年份项目名称组员数
    2022年春A comprehensive study of message queue systems3
    2022年春MACHINE LEARNING BASED QUEUING TIME PREDICTION OF BATCH SCHEDULER ON SUPERCOMPUTERS3
    2022年秋Automatically optimizing HPL and HPCG Benchmarks on Supercomputers
    2022年秋A Comprehensive Study of Parallel File Systems for Supercomputers
    2022年秋Benchmarking the performance of multi instance GPU technology of A100 GPUs3
    2022年秋Benchmarking the Performance of Applications within Singularity and Docker Containers3
    2022年秋An Exploration on Various Optimization Techniques to Accelerate Deep Learning Model Training
    2022年秋计算中心计费系统前端页面开发实践3
    2022年秋计算中心用户管理系统开发实践3

    刘江

    年份项目名称组员数
    2022年春白内障智能诊断与筛查系统3
    2022年春辅助临床诊断的超声心动图分析系统3
    2022年春基于CSSO图像的关键参数提取及脑疾病预测研究2
    2022年春基于OCT图像的虹膜快速标注系统2
    2022年春基于超分辨的眼科病灶提取算法2
    2022年春基于多领域数据的白内障手术视频分析3
    2022年春基于跨模态学习的甲骨文识别系统的研发2
    2022年春基于轻量级神经网络架构的致盲性眼病识别技术研究2
    2022年春基于深度学习的显微镜手术器械图片的深度预测2
    2022年春基于深度学习的医学图像配准3
    2022年春基于手术显微镜的视频深度估计3
    2022年春基于医生知识引导的眼底多疾病诊断模型研究2
    2022年春角膜内皮细胞健康状况评估系统2
    2022年秋基于二维眼底照的OCT三维重建3
    2022年秋基于视频处理和深度学习技术,实现手术场景的目标跟踪
    2022年秋基于视频处理和深度学习技术,实现手术场景下的手术器械深度估计
    2022年秋基于深度学习的眼底多模态图像配准2
    2022年秋基于图像与视频处理技术,实现跨域数据的手术视频分析
    2022年秋基于图像处理和深度学习技术,实现图像翻译的手术影像生成3
    2022年秋基于图像处理和深度学习技术,实现白内障患者眼底影像增强系统3
    2022年秋基于图像处理和深度学习技术,辅助心脏临床诊断的超声心动图分析系统框架
    2022年秋基于图像处理和深度学习技术,实现大脑内部颅内动脉瘤自动检测与辅助分析3
    2022年秋基于图像处理和深度学习技术,实现基于MRI影像的视神经三维重建方法研究3
    2022年秋基于图像处理和深度学习技术,实现基于OCT影像组学特征的脑疾病分类研究
    2022年秋基于图像处理技术和眼动分析技术,实现基于医学知识引导的眼底疾病早期AI诊断
    2022年秋基于图像超分辨和深度学习技术,实现眼科病灶提取精准算法
    2022年秋基于图像处理技术及深度学习模型迁移技术,进行眼科病灶与结构提取的OOD算法研究3
    2022年秋基于多媒体技术,进行智能甲骨文识别系统研究
    2022年秋基于多媒体技术,进行下角山与三星堆智能考古可视化系统研究
    2022年秋基于多媒体技术,进行元宇宙场景下的虚拟交互手术模拟系统研发
    2022年秋基于图像处理和深度学习技术,开发结合不确定性信息的眼科角膜内皮细胞量化分析系统
    2022年秋基于图像处理和深度学习技术,研发眼结构中面向环扫影像的多结构分割智能系统
    2022年秋基于图像处理和深度学习技术,进行眼科形状先验信息在睫状肌分割中的研究
    2022年秋基于图像处理和深度学习技术,构建眼科OCT图像的虹膜快速标注系统
    2022年秋基于图像处理和深度学习技术,构建眼科ASOCT图像噪声以及不匹配数据的图像去噪算法研究
    2022年秋基于图像处理和深度学习技术,开发少标签情况下的医疗图像分割
    2022年秋基于图像处理和深度学习技术,开发多任务场景下的医疗图像分析系统
    2022年秋基于图像处理和深度多任务学习的眼科疾病诊断算法研究
    2022年秋Weakly supervised segmentation of fundus images based on gaze-map2
    2022年秋白内障智能诊断和筛查系统3
    2022年秋辅助临床诊断的超声心动图分析系统框架3
    2022年秋基于非配对数据的眼前节光学相干断层图像去噪2
    2022年秋基于高效卷积神经网络的致盲性眼病筛查与诊断系统研发3
    2022年秋基于跨模态学习的甲骨文识别系统的研发3
    2022年秋基于图像翻译的手术影像生成3
    2022年秋开发一种鲁棒的结合transformer的角膜内皮细胞分割backbone3
    2022年秋智能古玉产器地识别系统研发2

    刘佳琳

    年份项目名称组员数
    2022年秋Procedural content generation1
    2022年秋多智体智能决策问题
    2022年秋策略多样性3
    2022年秋基于Rolling Horizon演化算法的游戏玩家建模
    2022年秋Procedural 3D-scenario Generation3
    2022年秋基于多目标演化学习的具有多维多样性的游戏关卡生成3
    2022年秋基于强化学习和质量多样性算法的策略多样性生成1
    2022年秋室内场景的程序化生成3

    刘烨庞

    年份项目名称组员数
    2022年春adaptive random testing for web application3
    2022年春Automated Android Testing2
    2022年春Detecting webassembly VM vulnerabilities via fuzz testing2
    2022年春Testing deep learning based code generators3
    2022年秋基于华为云的安卓应用静态分析微服务架构3
    2022年秋安卓应用API静态兼容性分析3
    2022年秋Android third-party library detection3
    2022年秋硬件与软件能耗问题相关研究
    2022年秋API-Extraction-Analysis3
    2022年秋Application of software test method in random content generation of game scene2
    2022年秋Automated Android Testing2
    2022年秋Detecting webassembly vm vulnerabilities via fuzz testing2
    2022年秋JIT Method Rename3
    2022年秋安卓应用API兼容性问题静态分析技术研究3
    2022年秋变脸app检测3
    2022年秋机器学习模型公平性提升方法的研究2
    2022年秋软件供应链复用组件中license冲突的问题2

    马昱欣

    年份项目名称组员数
    2022年春社交网络数据可视分析2
    2022年秋数据可视化作品设计——地理信息可视化3
    2022年秋数据可视化作品设计——英雄联盟职业联赛数据分析3
    2022年秋数据可视化作品设计——足球数据分析3
    2022年秋数据可视化作品设计——科幻与社会现实3
    2022年秋基于数据可视化的课程教学系统开发3
    2022年秋可解释深度学习系统开发3
    2022年秋可视分析中的情境信息框架
    2022年秋面向虚假新闻检测的可视分析框架

    史玉回

    年份项目名称组员数
    2022年春Automated Solver Design for Real-World Problems2
    2022年春Self-supervised Learning based Device-cloud Collaborative Learning For Recommender System3
    2022年春Visualization Platform for 3D Swarm Robotics Simulator3
    2022年秋视频背景音乐推荐系统3
    2022年秋视频人脸置换系统3
    2022年秋群体无人系统仿真平台
    2022年秋虚拟机器人辅助的群体机器人动态目标追捕
    2022年秋AUTOMATED SOLVER DESIGN FOR REAL-WORLD PROBLEMS2
    2022年秋Visualization Platform for 3D Swarm Robotics Simulator2
    2022年秋基于不同特征的电影分类3
    2022年秋基于自监督学习的设备与云协同推荐系统2

    宋轩

    年份项目名称组员数
    2022年春Causality Inference in Irregular Trafic Flow Prediction3
    2022年春POI兴趣点的可视化系统搭建3
    2022年春UNITY AR的智慧城市研究与开发2
    2022年春地铁智慧调度优化中不同增强学习方法的表现分析3
    2022年春基于Hololens2的AR应用搭建2
    2022年春基于深度强化学习的产品生产价值链物资动态调度方法3
    2022年春基于图神经网络的OD流异常检测2
    2022年春基于位置的社交网络中的超边预测3
    2022年春基于虚拟现实的仿真校园中的疫情模拟3
    2022年春面向交通流数据的深度表示学习2
    2022年春数字孪生模拟系统搭建3
    2022年秋城市人流数字孪生系统3
    2022年秋基于超图知识图谱的基于社交网络的签到数据建模
    2022年秋基于因果图的异常人流建模3
    2022年秋基于元学习的时空数据预测3
    2022年秋时间序列数据的不确定性表征学习3
    2022年秋基于Transformer的长期时间序列预测3
    2022年秋Personalized Federate Learning of Trajectory Prediction3
    2022年秋Study of semantic trajectory compression
    2022年秋The study of building rooftop angle estimation
    2022年秋基于人工智能算法的产品生命周期管控方法研究3
    2022年秋基于深度学习模型的产品价值链因果推断研究
    2022年秋物联网大数据平台设计及关键技术研究2
    2022年秋基于人工智能算法的校园欺凌防控方法研究3
    2022年秋AR陶片博物馆
    2022年秋3D模型贴图的风格迁移3
    2022年秋AR博物馆向导开发3
    2022年秋Knowledge graph based POI recommendation system2
    2022年秋Life-pattern Complementation: Towards Handling Sparse Mobile Phone Mobility Data2
    2022年秋基于轨道数据的电动出租车充放电供需分析与可视化系统开发3
    2022年秋基于弧形CAD wall墙幕影院的裸眼VR开发3
    2022年秋基于区块链数据的图神经网络建模分析及可视化2
    2022年秋基于手机数据的智慧城市能耗排放感知与可视化3
    2022年秋双曲空间基于超图的社交网络签到数据建模2

    唐博

    年份项目名称组员数
    2022年春cost optimization in graph2
    2022年春RGB image guided depth map super resolution3
    2022年春多FPGA系统中时分复用分配算法设计与优化3
    2022年春基于Hologres的新型时空数据索引结构3
    2022年春云原生数据库logstore 原型系统实现3
    2022年春云原生数据库多租户资源调度原型验证3
    2022年秋Batch Influence Maximization2
    2022年秋EPOD: an edge-resident framework for proximity based outlier detection3
    2022年秋Modeling Noisy labels for Facial Expression Recognition3
    2022年秋Testbed for Edge-based Data Analytics(TEDA)3
    2022年秋面向时序有向无环图(TDAG)的可视化研究3
    2022年秋文字到海报的端到端生成2
    2022年秋芯片仿真超图多层分割算法设计及优化2
    2022年秋Identifying seed friends for influence maximization3

    唐珂

    年份项目名称组员数
    2022年春面向旅行商问题的神经网络求解器复现及泛化性能测试2
    2022年秋Predicting the stock market by machine learning3
    2022年秋Building Investment Portfolios by Machine Learning2
    2022年秋Predicting the stock market by machine learning3
    2022年秋基于深度学习的旅行商问题求解器加速技术研究3
    2022年秋基于神经组合优化的限量弧路由技术研究2
    2022年秋面向推荐系统的知识图谱质量评估3

    唐茗

    年份项目名称组员数
    2022年秋去中心化联邦学习系统搭建
    2022年秋分层联邦学习系统搭建
    2022年秋基于区块链的数据买卖系统实现
    2022年秋分布式推理系统搭建2
    2022年秋分层联邦学习2
    2022年秋基于区块链的数据买卖系统实现3
    2022年秋去中心化联邦学习的拓扑结构研究3
    2022年秋去中心化联邦学习系统搭建3

    唐晓颖

    年份项目名称组员数
    2022年春research on unsupervised multi target domain adaptation with application to retinal structure segmentation on various eye images3
    2022年秋Long-tailed multi-label medical image classification and disease recognition3
    2022年秋RESEARCH ON SUPERVISED AND UNSUPERVISED RETINAL OCTA QUALITY ASSESSMENT3

    王琦

    年份项目名称组员数
    2022年秋纠错编码在分布式存储系统中的仿真实现
    2022年秋全同态加密机制的应用与实现5

    危学涛

    年份项目名称组员数
    2022年秋基于AI的美食图片生成系统
    2022年秋内部文件泄漏追踪系统
    2022年秋唐诗宋词配乐系统
    2022年秋探索“网红”IP价值边界之谜
    2022年秋文物数字修复美颜系统
    2022年秋JAVA作业代码所有者确认技术
    2022年秋不同图片生成模型的性能比较2

    杨鹏

    年份项目名称组员数
    2022年秋证券市场仿真研究3

    杨双华

    年份项目名称组员数
    2022年春可变方向的安全隔离网关开发3

    姚新

    年份项目名称组员数
    2022年春大规模含不确定性的复杂车辆调度问题的降维2
    2022年春室内场景的程序化生成2
    2022年秋多目标优化中的目标不平衡问题及其研究
    2022年秋机器学习中的公平性问题及其研究
    2022年秋基于经验的优化2
    2022年秋Multi-objective Facility Layout(多目标设施选址问题)
    2022年秋实现自动驾驶数据集上的基于RPN的目标检测算法
    2022年秋考虑类不平衡(进化)的在线分类问题的研究
    2022年秋实现针对软件故障预测的数据提取的SZZ算法。后续将据此进行基于机器学习的软件缺陷预测研究
    2022年秋Online deep learning
    2022年秋脉冲神经网络硬件实现相关:Brain-inspired learning algorithm design and hardware implementation for spiking neural network based on neuromorphic devices
    2022年秋类脑智能硬件架构设计相关:Brain-inspired hardware architecture design based on self-aware and self-expressive computing system by drawing on the advantages of neuromorphic devices
    2022年秋机器学习模型性能评估:Failure prediction (or performance prediction) for deep neural networks by learning auxiliary models
    2022年秋不同数据集间差异/相似性分析:Analyzing the difference/similarity between two datasets through explainable approaches2
    2022年秋演化强化学习研究
    2022年秋量化交易策略研究
    2022年秋面向自然语义的小样本时序数据增强对比学习
    2022年秋基于GAN的时序数据生成
    2022年秋针对开放大模型API的语义一致性测试工具
    2022年秋感知异常修复技术
    2022年秋智能小警车围堵贼车3
    2022年秋智能小车高速依据轨迹巡航
    2022年秋形式化验证体系与工具链
    2022年秋功能安全风险评价建模与工具
    2022年秋机械臂/机器人仿真平台
    2022年秋智能推理中推理路径的自动发现与高效推理算法研究
    2022年秋云服务可靠性正向设计优化
    2022年秋机器学习组合优化方法的泛化性研究2
    2022年秋Evolutionary Workflow Scheduling in the Cloud2

    于仕琪

    年份项目名称组员数
    2022年春An Automatic Scoring System for Taekwondo3
    2022年春VR手柄光点检测2
    2022年春农业采摘机器人3
    2022年春扫地机器人的SLAM建图和自动回充功能的实现2
    2022年春无人机的识别与跟踪2
    2022年秋Point Cloud Compression2
    2022年秋采用DNN的目标检测模型训练3
    2022年秋基于深度相机的机器狗手势控制系统3
    2022年秋视频风格化3
    2022年秋柚子位姿矫正机器人3

    余剑峤

    年份项目名称组员数
    2022年春基于叙事的2d战旗游戏3
    2022年春游戏开发实践2
    2022年春主流社交平台的情感比较分析2
    2022年秋基于叙事的2D战棋游戏3
    2022年秋结合模拟经营的战棋RPG开发2
    2022年秋游戏制作实践2

    袁博

    年份项目名称组员数
    2022年秋基于强化学习的数字微流控芯片液滴路径规划3

    张锋巍

    年份项目名称组员数
    2022年春arm secure EL22
    2022年春TEE+Blockchain2
    2022年春Verification of TEE3
    2022年春基于硬件辅助的并发漏洞探测工具2
    2022年秋GPU可信执行环境
    2022年秋Arm云平台的“钉枪”攻击
    2022年秋RISC-V安全指令设计与实现3
    2022年秋Arm 安全虚拟化研究3
    2022年秋基于ARM架构的软硬件协同恶意软件分析与对抗技术2
    2022年秋Nailgun Attack
    2022年秋TEE_SEL22

    张建国

    年份项目名称组员数
    2022年春基于动态增强影像的自监督分割研究2
    2022年秋深度学习模型的特征重要性分析方法总结与探究
    2022年秋基于标签噪声的深度学习分割模型总结与探究
    2022年秋基于深度学习的生成模型的智能药物挖掘方法
    2022年秋基于深度学习检测及分割方法的月表撞击坑识别方法
    2022年秋医学影像的联邦学习研究
    2022年秋基于多模态数据的非模态分割研究
    2022年秋Transformer模型的知识蒸馏
    2022年秋深度学习中的不确定性研究
    2022年秋分布外样本(异常样本输入)检测3
    2022年秋生物医学影像分析开源挑战赛
    2022年秋计算机视觉和机器学习中的学生自选课题

    张进

    年份项目名称组员数
    2022年春基于机器学习的无门槛便携吉他2
    2022年春基于声波的接听电话手势感知3
    2022年春基于声波的设备间距离测量3
    2022年秋Acoustic Eavesdropping on Loudspeakers via mmWave-characterized Piezoelectric Effect3
    2022年秋对区块链中最大可抽取价值的研究
    2022年秋对区块链协议中通信模式的研究
    2022年秋基于帧差法的实时视频分析系统3
    2022年秋基于压电薄膜的电子听诊器
    2022年秋Continuous Wrist PPG-based Blood Pressure Measurement
    2022年秋SpiralSpy: Exploring a Stealthy and Practical Covert Channel to Attack Air-gapped Computing Devices via mmWave Sensing
    2022年秋基于PPG的手势识别或追踪1?
    2022年秋基于毫米波雷达的结构健康监测
    2022年秋基于振动信号的交互设计
    2022年秋基于毫米波的双功能系统
    2022年秋基于深度强化学习的全向智能超表面辅助通信系统优化设计
    2022年秋Efficient Volumetric Video Streaming with Edge Computing3
    2022年秋Non-Line-of-Sight Detection and Tracking In-the-Wild Using Doppler Radar3
    2022年秋swin transformer v2 图像分类任务2
    2022年秋swin transformer v2模型迁移中的图像分割和目标检测任务2

    张殷乾

    年份项目名称组员数
    2022年春Wasmtime in TEE2
    2022年春基于RUST的TEE操作系统2
    2022年春基于Rust与TEE开发云服务的安全服务2
    2022年春基于TEE架构的操作系统2
    2022年春可信执行环境在安全多方计算中的应用2
    2022年秋机密区块链2
    2022年秋基于Rust的TEE操作系统4
    2022年秋分布式系统/协议的形式化验证2
    2022年秋TEE-aided MPC System Design
    2022年秋BFT Security Analysis and Design Based on Game Theory2
    2022年秋智能合约漏洞分析
    2022年秋基于程序分析的TEE OS接口安全性分析2
    2022年秋适用于机密云计算场景的可信虚拟化TPM2
    2022年秋移植rCore到SEV机密虚拟机2
    2022年秋Confidential Blockchains2
    2022年秋可信执行环境在安全多方计算中的应用2

    张宇

    年份项目名称组员数
    2022年春a new methodology about generative model3
    2022年春基于DSMAP的多模态风格迁移2
    2022年春基于深度学习的推荐系统2
    2022年秋Recommendation based on Multi-Task Learning3
    2022年秋推荐系统模型的泛化提升3
    2022年秋基于深度学习的语音克隆2

    张煜群

    年份项目名称组员数
    2022年春Exploratory Study of Hybrid Fuzzing based on Concolic Execution2
    2022年春An empirical study of concoloc execution engine2
    2022年春探索污点分析对模糊测试的改进2
    2022年春针对Java虚拟机的即时编译系统的模糊测试技术2
    2022年秋Rust语言的安全性实证研究2
    2022年秋可载入内核模块的模糊测试研究
    2022年秋基于搜索的符号执行方法研究
    2022年秋基于软件成分分析的风险排查2
    2022年秋目标导向的模糊测试研究2
    2022年秋基于AI模型神经元激活率的数据集构建研究
    2022年秋对模糊测试中种⼦调度算法的研究
    2022年秋Accurate Fuzzing Instructed by Constraint Traits2
    2022年秋基于静态程序分析的应用包体积缩减方法探究及研发2
    2022年秋针对异构计算设备的程序优化及任务调度3

    郑锋

    年份项目名称组员数
    2022年春广告场景中的视频剪辑2
    2022年春机器人点云障碍物识别和跟踪3
    2022年春基于文本目标跟踪3
    2022年春跨媒体检索任务3
    2022年春视觉问答任务2
    2022年春小视频自动配乐3
    2022年秋Generic Event Boundary Detection, Captioning and Grounding2
    2022年秋Video Grounding2
    2022年秋多模态无人机视觉平台搭建3
    2022年秋基于联邦学习的瑕疵检测2
    2022年秋基于文本目标跟踪3
    2022年秋跨媒体检索任务3
    2022年秋面向转产场景陶瓷釉面微弱瑕疵检测算法研究2
    2022年秋三维点云物品的识别3
    2022年秋小视频自动配乐3
    + + + diff --git a/study/index.html b/study/index.html new file mode 100644 index 000000000..a6dfccfab --- /dev/null +++ b/study/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 🎓学在南科 | 南科手册 + + + + + +

    🎓学在南科

    学号(SID)

    学号是学校在入学分班后为同学分配的识别码,在整个学校中唯一。

    课程

    课程详述

    包含课程简介,纲要与考核形式。推荐使用NCES评课社区 https://nces.cra.moe在新窗口打开 进行检索,可使用课程名称,课程代码,授课老师等关键词进行查询。

    📖学习建议与攻略

    毕业生质量报告

    GPA换算表(本科)

    等级A+AA-B+BB-C+CC-D+DD-F
    绩点4.003.943.853.733.553.323.092.782.422.081.631.150
    百分 参考97~ 10093~ 9690~ 9287~ 8983~ 8680~ 8277~ 7973~ 7670~ 7267~ 6963~ 6660~ 62<60

    提示

    推荐使用同学开发的网页版GPA计算器在新窗口打开快速计算GPA。

    GPA换算表(研究生)

    等级A+ / AA-B+BB-C+CC-D+DF
    绩点4.03.73.33.02.72.32.01.71.31.00
    百分 参考95~ 10090~ 9485~ 8980~ 8477~ 7973~ 7670~ 7267~ 6963~ 6660~ 62<60

    学生手册

    培养方案(本科)

    📗教材与图书借还

    院系开放信息

    计算机科学与工程系

    人文中心

    语言中心

    + + + diff --git a/study/paper-tools.html b/study/paper-tools.html new file mode 100644 index 000000000..08d5ea64b --- /dev/null +++ b/study/paper-tools.html @@ -0,0 +1,39 @@ + + + + + + + + + 几个赶 ddl 的好用工具🔧 | 南科手册 + + + + + +

    几个赶 ddl 的好用工具🔧

    赶 ddl 的朋友们,你们还好吗? 接下来,我来推荐几个赶 ddl,写论文的好用工具🔧

    Google Translate 翻译器

    https://translate.google.com在新窗口打开

    国际大厂出品,用过都知道。

    DeepL Translate 翻译器

    https://www.deepl.com/translator在新窗口打开

    好用,长句翻译有时优于谷歌翻译。

    Grammarly (英文)语法检查器

    https://www.grammarly.com在新窗口打开

    一键检查,10000字的论文也不用担心自己语法问题啦。

    多语言支持语法检查器

    秘塔写作猫 (中文)语法检查器

    https://xiezuocat.com/在新窗口打开

    同样是一键检查,针对中文特别优化。

    QuillBot 同义转写

    https://quillbot.com/在新窗口打开

    一个直接帮你 paraphrase,妈妈再也不用担心我降重啦。

    Mybib 参考格式化

    https://www.mybib.com/在新窗口打开

    Reference 一键式操作,什么 GBT 7714-2015,APA,IEEE 格式都支持。

    Turnitin 查重

    https://www.turnitin.com/在新窗口打开

    查重必备,并且南科大图书馆已购买该服务,可申请免费使用。

    + + + diff --git a/surroundings/index.html b/surroundings/index.html new file mode 100644 index 000000000..dd5db2c55 --- /dev/null +++ b/surroundings/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 🛍周边 | 南科手册 + + + + + +

    🛍周边

    提示

    点击地名,可以直接跳转到高德地图进行导航。

    🛍大型商城

    塘朗城在新窗口打开

    塘朗站

    塘朗站B出口即达。

    常见的连锁餐饮店铺
    麦当劳
    海底捞
    达美乐披萨
    黄记煌三汁焖锅
    港七茶餐厅
    大家乐
    华润万家乐购

    宝能城

    塘朗站

    常见的连锁餐饮店铺
    麦当劳
    肯德基
    必胜客
    小龙坎火锅
    探鱼
    尊宝披萨
    肥韬茶餐厅
    常见的饮料店铺
    一点点
    沪上阿姨
    喜茶
    奈雪的茶
    Coco都可

    益田假日里在新窗口打开

    大学城站

    大学城站D出口即达。

    九方在新窗口打开

    红山站

    红山站A1出口,步行650米即达,步行约8分钟。

    大型mall;价位适中,离学较近;商场种类齐全;商场内部有不错的电影院。

    西丽天虹在新窗口打开

    西丽站,地铁25分钟

    价位较低,离学校特别近;商场超市种类齐全;商场附近有较多买衣服的平价小店;商场附近就有电影院和美食店(如木屋烧烤、肯德基、必胜客)。

    民治大润发在新窗口打开

    民治站,地铁30分钟

    价位较低,离学校特别近;商场超市种类齐全;附近有很多小吃;大润发上层是电影院,性价比较高;有木屋烧烤、肯德基、必胜客、鸡排等。

    提示

    下方的商场距离学校车程均超过30分钟。

    星河 Coco City在新窗口打开

    白石龙站,地铁40分钟

    大型mall;价位适中,性价比较高;有不错的电影院;

    华侨城欢乐海岸在新窗口打开

    深圳湾公园站,距学校约1小时地铁,25分钟车程。

    华侨城欢乐海岸是个蛮舒服的地方。依海而建,可以饱览深圳湾海景。这里隐藏着一众高端会所,据说可以坐游艇出海。对于普通游客来说,这里消费略高,但也都在可接受范围内,比较适合晚上情侣或者是三四个好友结伴去玩。有水幕电影和灯光喷泉秀。这里也有全球最大的水母展馆和国内最大的珊瑚展厅,简直不要太浪漫。那里的店很多都是音乐餐吧,菜式也偏休闲化。就着麻辣的蒜香的小龙虾喝几杯精酿,一个晚上很轻松地就过去了。

    海上世界在新窗口打开

    海上世界站,距学校约1小时地铁,40分钟车程。

    万象天地在新窗口打开

    高新园站,地铁50分钟。(坐公交更快)

    华为全球旗舰店座落处;众多大品牌在这里开设了大规模、超人气、高档次的专卖店;众多网红品牌在这里聚集;诚品生活所在地(即将退出深圳市场),记得去打卡!

    国贸大厦在新窗口打开

    国贸站,距学校约1小时地铁,40分钟车程。

    在国贸大厦的顶层有一个旋转餐厅,是邓小平当年发表南巡讲话的地方。接待过很多的中外政要,包括江泽民、胡锦涛、尼克松、布什等等。餐厅地处罗湖中心,一个小时旋转一周,能眺望深圳湾、红树林、梧桐山、罗湖口岸和对面的香港上水,深圳的精华尽收眼底。在那里吃正餐价格有些偏贵,但是吃早茶倒是个不错的选择。早茶是自助的,人均八十左右。

    其实去国贸大厦喝早茶有点“XXX到此一吃”的意思,象征意义大于实际意义。在改革开放四十年风云激荡的起点,看看和小平爷爷当年已截然不同的深圳,感受一下“深圳速度”的神话。从更实际一点的角度来看……牛百叶和鲜虾烧麦还真有点好吃。

    福田星河COCO Park在新窗口打开

    购物公园站,距学校约40分钟地铁,23分钟车程。

    隆重推荐一下酒吧集中地COCO PARK。COCO PARK的酒吧都比较国际化,很多外国人会来这里。有些酒吧的waiter也是老外,请用英文点单。 COCO PARK里有一家网红士多便利店。白天看起来就是一家普普通通的便利店,还会嫌它货品少。入夜,八点之后,酒吧开放。拉开冰柜里面就是一条暗道,走进去是Speakeasy酒吧。二楼的入口还有机关,蛮有意思的一家店。

    部分推荐酒吧:

    EDEN:氛围较好,分为内场与外场,内场为夜店,外场为酒吧。外场鸡尾酒均价68元,适合与朋友小酌。

    Sicilia西西里

    华强北在新窗口打开

    华新站,地铁60分钟。

    中国最大电子商场之一;有地下商业街和多个购物中心;有深圳文化介绍;附近有图书馆,歌剧院等。

    华润万象城在新窗口打开

    大剧院站,地铁50分钟。

    目前深圳最大的购物中心,是集零售、餐饮、娱乐、休闲、文化、康体于一身的“一站式”商业消费中心。购物中心位于罗湖的CBD,深圳书城的旁边。商场里面的环境非常好,很舒适,配套设施也很齐全。商场内有很多世界著名的高端品牌,几乎你能想到的品牌,在这里都能找到。

    🏠城中村

    田寮村

    深圳大学西丽校区南门(惟理门)对面,有一些特色小吃店/餐馆。

    福光新村

    由原址在南科大的福光村搬迁而来,在田寮村西边,有小吃店、餐馆。福光社区工作站有港澳通行证自动续签机。

    塘朗村

    天天吃食堂多少会觉得有些厌倦,不妨周末出门小搓一顿,犒劳一下勤奋又聪明的自己。最烟火气食物都藏在村里。哪家粥铺最好吃?这是一届届总结流传的小秘密。糖水,烧烤,椰子鸡……来自四方的食物很自然的流入城市的洼地,不管你从哪里来,总能在村里找到一碗乡愁。

    在福光新村西边,较大的城中村,可以配钥匙。塘朗社区工作站有港澳通行证自动续签机。

    集悦城

    集悦城有蛮多小酒馆,南科大的学长在那里开了一个叫“海浪15”的酒吧。店主有时候能弄出奇奇怪怪又蛮好喝的特调。店里面还有复古游戏机,浓浓的美帝复古风。个人比较中意MAB,点一杯单一麦芽威士忌不加冰——酒什么价冰什么价,冰一化就没有那种醇香了。

    🍴周边餐饮

    由树德书院学长团整理。

    • 疯码常德米粉:维也纳3好酒店旁,学苑大道1155号107铺,正宗湖南常德粉味,凭校园卡85折(柜台点单)

    • 秦元素:学苑大道与塘朗路交叉口,维也纳3好酒店旁,学苑大道1155-2号,凭校园卡88折(柜台点单)

    • 关中源:水木丹华商业街18号铺,凭校园卡88折(柜台点单)

    • 金达莱:学苑大道南科大雅苑1099号,满100减20元

    • 鱼品记:西丽街道塘朗崇文花园5A栋一楼34号,凭校园卡88折

      • 5-8人 送任意饮料(除苹果醋);8-12人 送一凉菜一荤菜;生日聚会员工帮庆祝送果拼盘+饮料+一荤菜
    • 任我行:南山区崇文花园5b栋商28号,校园卡9折

    • 至尊披萨:南山区塘朗社区唐益路129号塘朗工业园一楼108号铺

      • 美团外卖满40送一瓶饮料;微信电话订餐满100, 7.8折;到店凭校园卡,送两罐饮料
    • 老石烧烤:集悦城门口,凭校园卡88折并赠送饮料

    • 赤焰小串:西丽塘朗村集悦美食城B区4栋01-03号,校园卡9折

    • 一品轩:学苑大道水木丹华园1层-28号一号铺,校园卡88折

    • 原麦多多:桃源街道学苑大道塘朗崇文花园大生优品内,学生证88折

    • 泰渭果园:华晖云门1099号,校园卡9折

    • 轶茶空间:学苑大道1099号华晖云门40号铺,学生证8折

    • 鱼的错:学苑大道1155号塘朗元头巷5栋塘2229号(百果园旁)

    • 尤川麻辣烫:塘朗村54栋

    • 老谭黑鱼:学苑大道田寮大厦1楼

    • 沪上阿姨:学苑大道1155-1号

    • 雪满天:学苑大道1099号华晖云门34号商铺

    • 黄氏正轩:崇文花园东门6A36铺

    • 爽爽甜品:塘朗村1号一楼102铺

    • 益寿轩砂锅粥:西丽街道塘岭路崇文花园5A楼一楼25号

    • unicCoffee&猫咖:学苑大道1155号

    🏨住宿

    校外的酒店则优先考虑维也纳在新窗口打开塘朗雅园在新窗口打开。这两家酒店离学校很近,出一号门右转,步行8分钟即可到达。价格略贵,和前台小姐姐说你是南科大学生会有一定折扣。不过雅园的房间会比维也纳略大一些,因此大家可优先考虑雅园。

    邦拓美诺行政公寓、滨河云居精品公寓是新开业的酒店式公寓,位于2019年开业的塘朗城购物中心的写字楼内。距离地铁站距离小于200米,交通便利。高层的居住条件使得可以俯瞰南科大一号门全景。房间干净,设备齐全而且新,可用空间大,也不失为一个不错的选择。

    参考资料

    • 树德书院《南科行前记》
    • 南科新知新生攻略
    + + + diff --git a/transport/bustimer-old.html b/transport/bustimer-old.html new file mode 100644 index 000000000..424f02fd2 --- /dev/null +++ b/transport/bustimer-old.html @@ -0,0 +1,39 @@ + + + + + + + + + 🚌校园巴士时刻表 SUSTech Campus Bus Info | 南科手册 + + + + + + + + + diff --git a/transport/bustimer-wx.html b/transport/bustimer-wx.html new file mode 100644 index 000000000..fbf206685 --- /dev/null +++ b/transport/bustimer-wx.html @@ -0,0 +1,39 @@ + + + + + + + + + 🚌校园巴士时刻表 SUSTech Campus Bus Info | 南科手册 + + + + + + + + + diff --git a/transport/bustimer.html b/transport/bustimer.html new file mode 100644 index 000000000..b206556bf --- /dev/null +++ b/transport/bustimer.html @@ -0,0 +1,39 @@ + + + + + + + + + 🚌校园巴士时刻表 SUSTech Campus Bus Info | 南科手册 + + + + + + + + + diff --git a/transport/holiday.html b/transport/holiday.html new file mode 100644 index 000000000..14390e911 --- /dev/null +++ b/transport/holiday.html @@ -0,0 +1,39 @@ + + + + + + + + + 🚌校园巴士 - 节假日 (2021年6月18日更新) | 南科手册 + + + + + +

    🚌校园巴士 - 节假日 (2021年6月18日更新)

    快速跳转

    节假日仅 1路 运行。

    1路 欣园 → 工学院(共58班)

    1路 工学院 → 欣园(共58班)

    参考文献

    + + + diff --git a/transport/index.html b/transport/index.html new file mode 100644 index 000000000..fbe46b73d --- /dev/null +++ b/transport/index.html @@ -0,0 +1,39 @@ + + + + + + + + + 🚄交通 | 南科手册 + + + + + +

    🚄交通

    🚌校园巴士


    校园巴士线路图

    点击这里在新窗口打开下载矢量PDF版本,目前版本:3.2,2022年8月更新。

    来往南方科技大学的交通

    公交

    • 南方科技大学(公交站):43路、74路、81路、122路、M459路、M554路
    • 南山智园北(公交站):43路、74路、81路、122路、M459路、M554路
    • 塘朗地铁站(公交站):37路、B818路、M217路、M343路、M393路、M460路、M554路、高峰专线119路、高峰专线120路、高峰专线150路

    地铁

    • 5号线塘朗站,B出口
    • 5号线长岭陂,A出口

    市内交通

    深圳地铁线路图(2023年)

    szmc-system-map-2022

    乘坐市内公共交通

    深圳通

    可用于乘坐市内的公交,地铁,也可在7-11等便利店消费。

    可购买实体卡,或在部分智能手机上开卡。在微信中也有“深圳通”小程序二维码。

    提示

    使用深圳通乘坐地铁有95折优惠,乘坐公交优惠力度更大在新窗口打开,并且还有转乘优惠。

    深圳地铁乘车码

    可用于乘坐深圳地铁,在微信中搜索“腾讯乘车码”小程序

    交通联合卡(TU)

    深圳市公共交通均支持交通联合卡(TU),不过没有深圳通的折扣。

    🚕出租车

    深圳市的出租车均有统一标识,并配有计价器。下车前请拿好发票。建议不要乘坐非正规或无营运资格的私人车辆。如果出租车师傅不熟悉南方科技大学,可以和ta说“到塘朗地铁站附近”。

    出租车收费

    提示

    截至2020年9月,深圳市的出租车已经实现纯电动化。

    起步价格起步里程超过起步里程后价格(里程价)候时费夜间附加费(23时—次日6时)返空费(6时—23时)[注释 2]在新窗口打开燃油附加费
    10 元2.0 公里2.6 元/千米0.8 元/分钟按起步价和里程价的30%加收25-50千米部分,按里程价加收30% 超过50千米部分,按里程价加收60%汽油车1元,电动车不收

    🚗自驾车

    深圳对小客车实行“限外”在新窗口打开

    • 深圳“限外”时段为工作日早高峰(7点—9点)和晚高峰(17点30分—19点30分),其余时间段和法定节假日没有任何限制

    • 一台外地车在一个工作日限行时段内无论行驶在几条限行道路被记录的,只认定为一次行驶记录;并且第一次、第二次违反限行规定的不予处罚,自第三次起依法处罚,简称“一日一次、三次起罚”。

    • 登录深圳市交警局网站“非深号牌载客汽车进入深圳自助申报”入口在新窗口打开,提前申报,可以“豁免”每月1次在限行时段、路段行驶。

    提示

    在疫情防控结束后,同学出示校园卡后可以乘的士及私家车进入校园内。

    🗺抵达南方科技大学

    🛤从铁路抵达

    提示

    在开学后,你才能获得购买学生票专用的磁条。12306网上订票取票时,需要刷取磁条信息,所以在12306网站购买的学生票无法取出。

    但是,在人工售票点持本人身份证、录取通知书是可以购票的。请前往当地火车站售票点,不要到代售点,代售点不可购买新生学生票。在新窗口打开

    🚄高铁深圳北站 推荐

    深圳北站位于龙华,是深圳最大的高铁站。由于他离南方科技大学仅两站地铁,若你从市外到达南方科技大学,这一般是最方便的选择

    从西广场出站,乘地铁 往赤湾方向至塘朗站下车。(约15分钟)

    🚄高铁福田站

    福田高铁站是地下车站,位于福田市中心。因为他比深圳北站离学校远不少,若是来校报道,车次允许的情况下不建议坐到次站。

    出站后至乘地铁市民中心站乘地铁往清湖(牛湖)方向至深圳北站,转往赤湾方向至塘朗。(约40分钟)

    🚈城际机场站/机场北站

    位于穗深城际铁路上,对居住于东莞及广州的同学较为方便。

    机场站走到地铁站很远,若车次允许可以在机场北站下车转地铁。

    出站后至机场/机场北站乘地铁往赤湾方向至前海湾站,转往黄贝岭方向至塘朗。(约55分钟)

    🚂国铁深圳站(罗湖)

    大部分普速列车的终点站。也是广深城际的终点站,并于罗湖口岸/羅湖管制站相连。

    出站后至乘地铁 罗湖--会展中心--深圳北-塘朗。(约55分钟)

    🚂国铁深圳东站(布吉)

    部分普速列车的终点站。

    出站后至乘地铁 布吉--塘朗。(约35分钟)

    🚂国铁深圳西站(前海)

    只有较少的普速车次停靠。

    出站后至乘地铁 前海湾--塘朗。(约35分钟)

    ✈️从机场抵达

    出航站楼后至机场站乘地铁往赤湾方向至前海湾站,转往黄贝岭方向至塘朗。(约55分钟)

    提示

    地铁有商务座(类似于高铁一等座的座椅布置),价格为普通地铁车票的三倍,可在进站验证后乘坐。

    来往附近城市的交通

    香港

    1. 乘地铁 往黄贝岭方向至深圳北站,转高铁。(西九龙口岸/西九龍管制站)
    2. 乘地铁 往黄贝岭方向至深圳北站,转 往福田口岸方向至福田口岸。(福田口岸/落馬洲支線管制站)
    3. 乘地铁 往赤湾方向至西丽站,转 往太安方向至皇岗口岸。(皇岗口岸/落馬洲管制站)
    4. 乘公交81路,转M474路至深圳湾口岸。(深圳湾口岸/深圳灣管制站)
    5. 乘地铁 往赤湾方向至赤湾站,转至蛇口港站乘船。(蛇口码头-港澳碼頭(中环)/海天客運碼頭(香港机场))

    广州

    1. 乘地铁 往黄贝岭方向至深圳北站,转高铁。
    2. 乘地铁 往赤湾方向至前海湾站,转往碧头方向至机场北,转穗深城际。
    + + + diff --git a/transport/redirect.html b/transport/redirect.html new file mode 100644 index 000000000..784ba37c8 --- /dev/null +++ b/transport/redirect.html @@ -0,0 +1,39 @@ + + + + + + + + + 🚌校园巴士 - 自动跳转 | 南科手册 + + + + + + + + + diff --git a/transport/workday.html b/transport/workday.html new file mode 100644 index 000000000..26934fff3 --- /dev/null +++ b/transport/workday.html @@ -0,0 +1,39 @@ + + + + + + + + + 🚌校园巴士 - 工作日 (2021年6月18日更新) | 南科手册 + + + + + +

    🚌校园巴士 - 工作日 (2021年6月18日更新)

    快速跳转

    1路 欣园 → 工学院(共109班)

    1路 工学院 → 欣园(共98班)

    2路 欣园 → 科研楼(共71班)

    2路 科研楼 → 欣园(共85班)

    智园 → 教工食堂 → 荔园(共2班)

    参考文献

    + + + diff --git a/workbox-e47eb1d7.js b/workbox-e47eb1d7.js new file mode 100644 index 000000000..ed5372ee1 --- /dev/null +++ b/workbox-e47eb1d7.js @@ -0,0 +1 @@ +define(["exports"],(function(t){"use strict";try{self["workbox:core:7.0.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.0.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class a{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let a=r&&r.handler;const c=t.method;if(!a&&this.i.has(c)&&(a=this.i.get(c)),!a)return;let o;try{o=a.handle({url:s,request:t,event:e,params:i})}catch(t){o=Promise.reject(t)}const h=r&&r.catchHandler;return o instanceof Promise&&(this.o||h)&&(o=o.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),o}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const a=r.match({url:t,sameOrigin:e,request:s,event:n});if(a)return i=a,(Array.isArray(i)&&0===i.length||a.constructor===Object&&0===Object.keys(a).length||"boolean"==typeof a)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const o=()=>(c||(c=new a,c.addFetchListener(),c.addCacheListener()),c);function h(t,e,n){let a;if("string"==typeof t){const s=new URL(t,location.href);a=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)a=new r(t,e,n);else if("function"==typeof t)a=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});a=t}return o().registerRoute(a),a}const u={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},l=t=>[u.prefix,t,u.suffix].filter((t=>t&&t.length>0)).join("-"),f=t=>t||l(u.googleAnalytics),w=t=>t||l(u.precache),d=t=>t||l(u.runtime);function y(t){t.then((()=>{}))}const p=new Set;function m(){return m=Object.assign?Object.assign.bind():function(t){for(var e=1;e(t[e]=s,!0),has:(t,e)=>t instanceof IDBTransaction&&("done"===e||"store"===e)||e in t};function U(t){return t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(R||(R=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(k(this),e),N(q.get(this))}:function(...e){return N(t.apply(k(this),e))}:function(e,...s){const n=t.call(k(this),e,...s);return v.set(n,e.sort?e.sort():[e]),N(n)}}function I(t){return"function"==typeof t?U(t):(t instanceof IDBTransaction&&function(t){if(b.has(t))return;const e=new Promise(((e,s)=>{const n=()=>{t.removeEventListener("complete",i),t.removeEventListener("error",r),t.removeEventListener("abort",r)},i=()=>{e(),n()},r=()=>{s(t.error||new DOMException("AbortError","AbortError")),n()};t.addEventListener("complete",i),t.addEventListener("error",r),t.addEventListener("abort",r)}));b.set(t,e)}(t),e=t,(g||(g=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some((t=>e instanceof t))?new Proxy(t,x):t);var e}function N(t){if(t instanceof IDBRequest)return function(t){const e=new Promise(((e,s)=>{const n=()=>{t.removeEventListener("success",i),t.removeEventListener("error",r)},i=()=>{e(N(t.result)),n()},r=()=>{s(t.error),n()};t.addEventListener("success",i),t.addEventListener("error",r)}));return e.then((e=>{e instanceof IDBCursor&&q.set(e,t)})).catch((()=>{})),E.set(e,t),e}(t);if(D.has(t))return D.get(t);const e=I(t);return e!==t&&(D.set(t,e),E.set(e,t)),e}const k=t=>E.get(t);function L(t,e,{blocked:s,upgrade:n,blocking:i,terminated:r}){const a=indexedDB.open(t,e),c=N(a);return n&&a.addEventListener("upgradeneeded",(t=>{n(N(a.result),t.oldVersion,t.newVersion,N(a.transaction))})),s&&a.addEventListener("blocked",(()=>s())),c.then((t=>{r&&t.addEventListener("close",(()=>r())),i&&t.addEventListener("versionchange",(()=>i()))})).catch((()=>{})),c}const T=["get","getKey","getAll","getAllKeys","count"],O=["put","add","delete","clear"],B=new Map;function C(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(B.get(e))return B.get(e);const s=e.replace(/FromIndex$/,""),n=e!==s,i=O.includes(s);if(!(s in(n?IDBIndex:IDBObjectStore).prototype)||!i&&!T.includes(s))return;const r=async function(t,...e){const r=this.transaction(t,i?"readwrite":"readonly");let a=r.store;return n&&(a=a.index(e.shift())),(await Promise.all([a[s](...e),i&&r.done]))[0]};return B.set(e,r),r}x=(t=>m({},t,{get:(e,s,n)=>C(e,s)||t.get(e,s,n),has:(e,s)=>!!C(e,s)||t.has(e,s)}))(x);try{self["workbox:expiration:7.0.0"]&&_()}catch(t){}const P="cache-entries",j=t=>{const e=new URL(t,location.href);return e.hash="",e.href};class S{constructor(t){this.h=null,this.u=t}l(t){const e=t.createObjectStore(P,{keyPath:"id"});e.createIndex("cacheName","cacheName",{unique:!1}),e.createIndex("timestamp","timestamp",{unique:!1})}p(t){this.l(t),this.u&&function(t,{blocked:e}={}){const s=indexedDB.deleteDatabase(t);e&&s.addEventListener("blocked",(()=>e())),N(s).then((()=>{}))}(this.u)}async setTimestamp(t,e){const s={url:t=j(t),timestamp:e,cacheName:this.u,id:this.m(t)},n=(await this.getDb()).transaction(P,"readwrite",{durability:"relaxed"});await n.store.put(s),await n.done}async getTimestamp(t){const e=await this.getDb(),s=await e.get(P,this.m(t));return null==s?void 0:s.timestamp}async expireEntries(t,e){const s=await this.getDb();let n=await s.transaction(P).store.index("timestamp").openCursor(null,"prev");const i=[];let r=0;for(;n;){const s=n.value;s.cacheName===this.u&&(t&&s.timestamp=e?i.push(n.value):r++),n=await n.continue()}const a=[];for(const t of i)await s.delete(P,t.id),a.push(t.url);return a}m(t){return this.u+"|"+j(t)}async getDb(){return this.h||(this.h=await L("workbox-expiration",1,{upgrade:this.p.bind(this)})),this.h}}class M{constructor(t,e={}){this.g=!1,this.R=!1,this.q=e.maxEntries,this.v=e.maxAgeSeconds,this.D=e.matchOptions,this.u=t,this._=new S(t)}async expireEntries(){if(this.g)return void(this.R=!0);this.g=!0;const t=this.v?Date.now()-1e3*this.v:0,e=await this._.expireEntries(t,this.q),s=await self.caches.open(this.u);for(const t of e)await s.delete(t,this.D);this.g=!1,this.R&&(this.R=!1,y(this.expireEntries()))}async updateTimestamp(t){await this._.setTimestamp(t,Date.now())}async isURLExpired(t){if(this.v){const e=await this._.getTimestamp(t),s=Date.now()-1e3*this.v;return void 0===e||et.headers.get(e)===this.I[e]))),e}}try{self["workbox:strategies:7.0.0"]&&_()}catch(t){}const K={cacheWillUpdate:async({response:t})=>200===t.status||0===t.status?t:null};function A(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class F{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}function $(t){return new Promise((e=>setTimeout(e,t)))}function G(t){return"string"==typeof t?new Request(t):t}class H{constructor(t,e){this.N={},Object.assign(this,e),this.event=e.event,this.k=t,this.L=new F,this.T=[],this.O=[...t.plugins],this.B=new Map;for(const t of this.O)this.B.set(t,{});this.event.waitUntil(this.L.promise)}async fetch(t){const{event:e}=this;let n=G(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.k.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=G(t);let s;const{cacheName:n,matchOptions:i}=this.k,r=await this.getCacheKey(e,"read"),a=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,a);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=G(t);await $(0);const i=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(r=i.url,new URL(String(r),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var r;const a=await this.C(e);if(!a)return!1;const{cacheName:c,matchOptions:o}=this.k,h=await self.caches.open(c),u=this.hasCallback("cacheDidUpdate"),l=u?await async function(t,e,s,n){const i=A(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),a=await t.keys(e,r);for(const e of a)if(i===A(e.url,s))return t.match(e,n)}(h,i.clone(),["__WB_REVISION__"],o):null;try{await h.put(i,u?a.clone():a)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of p)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:c,oldResponse:l,newResponse:a.clone(),request:i,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.N[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=G(await t({mode:e,request:n,event:this.event,params:this.params}));this.N[s]=n}return this.N[s]}hasCallback(t){for(const e of this.k.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.k.plugins)if("function"==typeof e[t]){const s=this.B.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.T.push(t),t}async doneWaiting(){let t;for(;t=this.T.shift();)await t}destroy(){this.L.resolve(null)}async C(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class Q{constructor(t={}){this.cacheName=d(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new H(this,{event:e,request:s,params:n}),r=this.P(i,s,e);return[r,this.j(r,i,s,e)]}async P(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this.S(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async j(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class z extends Q{constructor(t={}){super(t),this.plugins.some((t=>"cacheWillUpdate"in t))||this.plugins.unshift(K),this.M=t.networkTimeoutSeconds||0}async S(t,e){const n=[],i=[];let r;if(this.M){const{id:s,promise:a}=this.W({request:t,logs:n,handler:e});r=s,i.push(a)}const a=this.K({timeoutId:r,request:t,logs:n,handler:e});i.push(a);const c=await e.waitUntil((async()=>await e.waitUntil(Promise.race(i))||await a)());if(!c)throw new s("no-response",{url:t.url});return c}W({request:t,logs:e,handler:s}){let n;return{promise:new Promise((e=>{n=setTimeout((async()=>{e(await s.cacheMatch(t))}),1e3*this.M)})),id:n}}async K({timeoutId:t,request:e,logs:s,handler:n}){let i,r;try{r=await n.fetchAndCachePut(e)}catch(t){t instanceof Error&&(i=t)}return t&&clearTimeout(t),!i&&r||(r=await n.cacheMatch(e)),r}}function V(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.0.0"]&&_()}catch(t){}function J(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class X{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class Y{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.A.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.A=t}}let Z,tt;async function et(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},a=e?e(r):r,c=function(){if(void 0===Z){const t=new Response("");if("body"in t)try{new Response(t.body),Z=!0}catch(t){Z=!1}Z=!1}return Z}()?i.body:await i.blob();return new Response(c,a)}class st extends Q{constructor(t={}){t.cacheName=w(t.cacheName),super(t),this.F=!1!==t.fallbackToNetwork,this.plugins.push(st.copyRedirectedCacheableResponsesPlugin)}async S(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.$(t,e):await this.G(t,e))}async G(t,e){let n;const i=e.params||{};if(!this.F)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,a=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&a&&"no-cors"!==t.mode&&(this.H(),await e.cachePut(t,n.clone()))}return n}async $(t,e){this.H();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}H(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==st.copyRedirectedCacheableResponsesPlugin&&(n===st.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(st.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}st.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},st.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await et(t):t};class nt{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.V=new Map,this.J=new Map,this.X=new Map,this.k=new st({cacheName:w(t),plugins:[...e,new Y({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.k}precache(t){this.addToCacheList(t),this.Y||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.Y=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=J(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.V.has(i)&&this.V.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.V.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.X.has(t)&&this.X.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.X.set(t,n.integrity)}if(this.V.set(i,t),this.J.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return V(t,(async()=>{const e=new X;this.strategy.plugins.push(e);for(const[e,s]of this.V){const n=this.X.get(s),i=this.J.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return V(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.V.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.V}getCachedURLs(){return[...this.V.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.V.get(e.href)}getIntegrityForCacheKey(t){return this.X.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}const it=()=>(tt||(tt=new nt),tt);class rt extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const a=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield a.href,s&&a.pathname.endsWith("/")){const t=new URL(a.href);t.pathname+=s,yield t.href}if(n){const t=new URL(a.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}try{self["workbox:background-sync:7.0.0"]&&_()}catch(t){}const at="requests",ct="queueName";class ot{constructor(){this.h=null}async addEntry(t){const e=(await this.getDb()).transaction(at,"readwrite",{durability:"relaxed"});await e.store.add(t),await e.done}async getFirstEntryId(){const t=await this.getDb(),e=await t.transaction(at).store.openCursor();return null==e?void 0:e.value.id}async getAllEntriesByQueueName(t){const e=await this.getDb(),s=await e.getAllFromIndex(at,ct,IDBKeyRange.only(t));return s||new Array}async getEntryCountByQueueName(t){return(await this.getDb()).countFromIndex(at,ct,IDBKeyRange.only(t))}async deleteEntry(t){const e=await this.getDb();await e.delete(at,t)}async getFirstEntryByQueueName(t){return await this.getEndEntryFromIndex(IDBKeyRange.only(t),"next")}async getLastEntryByQueueName(t){return await this.getEndEntryFromIndex(IDBKeyRange.only(t),"prev")}async getEndEntryFromIndex(t,e){const s=await this.getDb(),n=await s.transaction(at).store.index(ct).openCursor(t,e);return null==n?void 0:n.value}async getDb(){return this.h||(this.h=await L("workbox-background-sync",3,{upgrade:this.l})),this.h}l(t,e){e>0&&e<3&&t.objectStoreNames.contains(at)&&t.deleteObjectStore(at);t.createObjectStore(at,{autoIncrement:!0,keyPath:"id"}).createIndex(ct,ct,{unique:!1})}}class ht{constructor(t){this.Z=t,this.tt=new ot}async pushEntry(t){delete t.id,t.queueName=this.Z,await this.tt.addEntry(t)}async unshiftEntry(t){const e=await this.tt.getFirstEntryId();e?t.id=e-1:delete t.id,t.queueName=this.Z,await this.tt.addEntry(t)}async popEntry(){return this.et(await this.tt.getLastEntryByQueueName(this.Z))}async shiftEntry(){return this.et(await this.tt.getFirstEntryByQueueName(this.Z))}async getAll(){return await this.tt.getAllEntriesByQueueName(this.Z)}async size(){return await this.tt.getEntryCountByQueueName(this.Z)}async deleteEntry(t){await this.tt.deleteEntry(t)}async et(t){return t&&await this.deleteEntry(t.id),t}}const ut=["method","referrer","referrerPolicy","mode","credentials","cache","redirect","integrity","keepalive"];class lt{static async fromRequest(t){const e={url:t.url,headers:{}};"GET"!==t.method&&(e.body=await t.clone().arrayBuffer());for(const[s,n]of t.headers.entries())e.headers[s]=n;for(const s of ut)void 0!==t[s]&&(e[s]=t[s]);return new lt(e)}constructor(t){"navigate"===t.mode&&(t.mode="same-origin"),this.st=t}toObject(){const t=Object.assign({},this.st);return t.headers=Object.assign({},this.st.headers),t.body&&(t.body=t.body.slice(0)),t}toRequest(){return new Request(this.st.url,this.st)}clone(){return new lt(this.toObject())}}const ft="workbox-background-sync",wt=new Set,dt=t=>{const e={request:new lt(t.requestData).toRequest(),timestamp:t.timestamp};return t.metadata&&(e.metadata=t.metadata),e};class yt{constructor(t,{forceSyncFallback:e,onSync:n,maxRetentionTime:i}={}){if(this.nt=!1,this.it=!1,wt.has(t))throw new s("duplicate-queue-name",{name:t});wt.add(t),this.rt=t,this.ct=n||this.replayRequests,this.ot=i||10080,this.ht=Boolean(e),this.ut=new ht(this.rt),this.lt()}get name(){return this.rt}async pushRequest(t){await this.ft(t,"push")}async unshiftRequest(t){await this.ft(t,"unshift")}async popRequest(){return this.wt("pop")}async shiftRequest(){return this.wt("shift")}async getAll(){const t=await this.ut.getAll(),e=Date.now(),s=[];for(const n of t){const t=60*this.ot*1e3;e-n.timestamp>t?await this.ut.deleteEntry(n.id):s.push(dt(n))}return s}async size(){return await this.ut.size()}async ft({request:t,metadata:e,timestamp:s=Date.now()},n){const i={requestData:(await lt.fromRequest(t.clone())).toObject(),timestamp:s};switch(e&&(i.metadata=e),n){case"push":await this.ut.pushEntry(i);break;case"unshift":await this.ut.unshiftEntry(i)}this.nt?this.it=!0:await this.registerSync()}async wt(t){const e=Date.now();let s;switch(t){case"pop":s=await this.ut.popEntry();break;case"shift":s=await this.ut.shiftEntry()}if(s){const n=60*this.ot*1e3;return e-s.timestamp>n?this.wt(t):dt(s)}}async replayRequests(){let t;for(;t=await this.shiftRequest();)try{await fetch(t.request.clone())}catch(e){throw await this.unshiftRequest(t),new s("queue-replay-failed",{name:this.rt})}}async registerSync(){if("sync"in self.registration&&!this.ht)try{await self.registration.sync.register(`${ft}:${this.rt}`)}catch(t){}}lt(){"sync"in self.registration&&!this.ht?self.addEventListener("sync",(t=>{if(t.tag===`${ft}:${this.rt}`){const e=async()=>{let e;this.nt=!0;try{await this.ct({queue:this})}catch(t){if(t instanceof Error)throw e=t,e}finally{!this.it||e&&!t.lastChance||await this.registerSync(),this.nt=!1,this.it=!1}};t.waitUntil(e())}})):this.ct({queue:this})}static get dt(){return wt}}class pt{constructor(t,e){this.fetchDidFail=async({request:t})=>{await this.yt.pushRequest({request:t})},this.yt=new yt(t,e)}}class mt extends Q{constructor(t={}){super(t),this.M=t.networkTimeoutSeconds||0}async S(t,e){let n,i;try{const s=[e.fetch(t)];if(this.M){const t=$(1e3*this.M);s.push(t)}if(i=await Promise.race(s),!i)throw new Error(`Timed out the network response after ${this.M} seconds.`)}catch(t){t instanceof Error&&(n=t)}if(!i)throw new s("no-response",{url:t.url,error:n});return i}}try{self["workbox:google-analytics:7.0.0"]&&_()}catch(t){}const gt="www.google-analytics.com",Rt="www.googletagmanager.com",qt=/^\/(\w+\/)?collect/,bt=t=>{const e=({url:t})=>t.hostname===gt&&qt.test(t.pathname),s=new mt({plugins:[t]});return[new i(e,s,"GET"),new i(e,s,"POST")]},vt=t=>{const e=new z({cacheName:t});return new i((({url:t})=>t.hostname===gt&&"/analytics.js"===t.pathname),e,"GET")},Dt=t=>{const e=new z({cacheName:t});return new i((({url:t})=>t.hostname===Rt&&"/gtag/js"===t.pathname),e,"GET")},Et=t=>{const e=new z({cacheName:t});return new i((({url:t})=>t.hostname===Rt&&"/gtm.js"===t.pathname),e,"GET")};t.CacheableResponsePlugin=class{constructor(t){this.cacheWillUpdate=async({response:t})=>this.gt.isResponseCacheable(t)?t:null,this.gt=new W(t)}},t.ExpirationPlugin=class{constructor(t={}){this.cachedResponseWillBeUsed=async({event:t,request:e,cacheName:s,cachedResponse:n})=>{if(!n)return null;const i=this.Rt(n),r=this.qt(s);y(r.expireEntries());const a=r.updateTimestamp(e.url);if(t)try{t.waitUntil(a)}catch(t){}return i?n:null},this.cacheDidUpdate=async({cacheName:t,request:e})=>{const s=this.qt(t);await s.updateTimestamp(e.url),await s.expireEntries()},this.bt=t,this.v=t.maxAgeSeconds,this.vt=new Map,t.purgeOnQuotaError&&function(t){p.add(t)}((()=>this.deleteCacheAndMetadata()))}qt(t){if(t===d())throw new s("expire-custom-caches-only");let e=this.vt.get(t);return e||(e=new M(t,this.bt),this.vt.set(t,e)),e}Rt(t){if(!this.v)return!0;const e=this.Dt(t);if(null===e)return!0;return e>=Date.now()-1e3*this.v}Dt(t){if(!t.headers.has("date"))return null;const e=t.headers.get("date"),s=new Date(e).getTime();return isNaN(s)?null:s}async deleteCacheAndMetadata(){for(const[t,e]of this.vt)await self.caches.delete(t),await e.delete();this.vt=new Map}},t.NetworkFirst=z,t.StaleWhileRevalidate=class extends Q{constructor(t={}){super(t),this.plugins.some((t=>"cacheWillUpdate"in t))||this.plugins.unshift(K)}async S(t,e){const n=e.fetchAndCachePut(t).catch((()=>{}));e.waitUntil(n);let i,r=await e.cacheMatch(t);if(r);else try{r=await n}catch(t){t instanceof Error&&(i=t)}if(!r)throw new s("no-response",{url:t.url,error:i});return r}},t.cleanupOutdatedCaches=function(){self.addEventListener("activate",(t=>{const e=w();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter((s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t));return await Promise.all(s.map((t=>self.caches.delete(t)))),s})(e).then((t=>{})))}))},t.clientsClaim=function(){self.addEventListener("activate",(()=>self.clients.claim()))},t.initialize=t=>{const e=f(t.cacheName),s=new pt("workbox-google-analytics",{maxRetentionTime:2880,onSync:(n=t,async({queue:t})=>{let e;for(;e=await t.shiftRequest();){const{request:s,timestamp:i}=e,r=new URL(s.url);try{const t="POST"===s.method?new URLSearchParams(await s.clone().text()):r.searchParams,e=i-(Number(t.get("qt"))||0),a=Date.now()-e;if(t.set("qt",String(a)),n.parameterOverrides)for(const e of Object.keys(n.parameterOverrides)){const s=n.parameterOverrides[e];t.set(e,s)}"function"==typeof n.hitFilter&&n.hitFilter.call(null,t),await fetch(new Request(r.origin+r.pathname,{body:t.toString(),method:"POST",mode:"cors",credentials:"omit",headers:{"Content-Type":"text/plain"}}))}catch(s){throw await t.unshiftRequest(e),s}}})});var n;const i=[Et(e),vt(e),Dt(e),...bt(s)],r=new a;for(const t of i)r.registerRoute(t);r.addFetchListener()},t.precacheAndRoute=function(t,e){!function(t){it().precache(t)}(t),function(t){const e=it();h(new rt(e,t))}(e)},t.registerRoute=h})); diff --git a/wx_helper.js b/wx_helper.js new file mode 100644 index 000000000..7eb2ecc47 --- /dev/null +++ b/wx_helper.js @@ -0,0 +1,136 @@ +ENABLE_LOG = false; + +function post_to_wx() { + var obj = { + 'msgType': "heartbeat", + 'shareTitle': document.title, + 'shareURL': document.URL, + 'scrollTop': document.documentElement.scrollTop, + 'time': (new Date()).valueOf() + }; + wx.miniProgram.postMessage({ + data: obj + }); + wx.miniProgram.getEnv(function (res) { + window.is_miniprogram = res.miniprogram; + }); +} +setInterval(post_to_wx, 1000); + +function handleOutURL(url, whitelist_flag, file_flag, file_ext) { + if (ENABLE_LOG) { + console.log("劫持链接 " + url); + } + wx.miniProgram.navigateTo({ + url: '/pages/index/redirect?outURL=' + encodeURIComponent(url) + + '&inwhitelist=' + whitelist_flag + + '&handleFile=' + file_flag + + '&ext=' + file_ext, + }); +} + +function override_onclick(event) { + /// 优化小程序内的文件或者外链显示 + if (window.is_miniprogram) { + let url = event.currentTarget.getAttribute('href'); + + let url_obj = new URL(url); + let whitelist = new Set(); + whitelist.add("mirrors.sustech.edu.cn"); + whitelist.add("bus.sustcra.com"); + whitelist.add("sustech.online"); + whitelist.add("daily.sustech.online"); + whitelist.add(""); + + let supportFiles = new Set(); + supportFiles.add("doc"); + supportFiles.add("docx"); + supportFiles.add("xls"); + supportFiles.add("xlsx"); + supportFiles.add("ppt"); + supportFiles.add("pptx"); + supportFiles.add("pdf"); + let the_hostname = url_obj.hostname; + let path_ext = url_obj.pathname.split('.').pop().toLowerCase(); + let whitelist_flag = whitelist.has(the_hostname); + let file_flag = supportFiles.has(path_ext); + if (whitelist_flag && !file_flag) { + // 当 url 在白名单里面,且不为可微信显示的文件。 + if (ENABLE_LOG) { + console.log("放行白名单页面 " + url); + } + window.location.href = url; + return; + } + + event.preventDefault(); + if (ENABLE_LOG) { + console.log("小程序环境,拦截外部链接或者可显示文件。"); + } + handleOutURL(url, whitelist_flag, file_flag, path_ext); + } +} + +function reset_all_anchor() { + var anchors = document.getElementsByTagName('a'); + for (var i = 0; i < anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.hasAttribute("data-fancybox")) { + if (ENABLE_LOG) { + console.log("skip fancybox a tag: ", anchor.getAttribute('href')); + } + } else { + anchor.onclick = function (event) { + override_onclick(event); + } + } + } +} +setInterval(reset_all_anchor, 1000); + +function isInWechatMP() { + return navigator.userAgent.match(/miniprogram/i) || window.__wxjs_environment === 'miniprogram'; +}; + +// function load_adsense() { +// console.log("判断环境,加载 adsense") + +// if (isInWechatMP() === false) { +// console.log("非小程序环境,加载"); +// var oScript = document.createElement("script"); +// oScript.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"; +// oScript.setAttribute("async", ""); +// oScript.setAttribute("data-ad-client", "ca-pub-9039393129169217"); +// document.head.appendChild(oScript); +// // +// } else { +// console.log("小程序环境,跳过"); +// } +// } +// setTimeout("load_adsense()", 500); + +// 是否启用哀悼用黑白遮罩 +ENABLE_HOME_GRAY = false; +function changeGray() { + if (ENABLE_HOME_GRAY) { + if (window.location.pathname === '/') { + document.getElementsByClassName("navbar")[0].classList.add("home-gray"); + document.getElementsByClassName("sidebar")[0].classList.add("home-gray"); + document.getElementsByClassName("page")[0].classList.add("home-gray"); + } else { + document.getElementsByClassName("page")[0].classList.remove("home-gray"); + document.getElementsByClassName("sidebar")[0].classList.remove("home-gray"); + document.getElementsByClassName("navbar")[0].classList.remove("home-gray"); + } + } +} + +domObserver = new MutationObserver(function (mutations) { + // DOM 有任何变化,包括js导致的跳转 + changeGray(); +}); +domObserver.observe(document, { subtree: true, childList: true }); + +window.addEventListener('hashchange', () => { + changeGray(); +}, false);