加入群聊前请注意
- -- 游戏非正常退出时,请点击左下角  按钮(不是  按钮),并完整发送生成的报错压缩包 -- 遇到其他问题时,请详细说明情况并提供相关截图,以便我们提供帮助 -- 使用整合包时,请说明具体的整合包名称与版本 -- 请保持耐心,群管理和群友会协助解决问题。严禁辱骂、催促他人 -- 禁止讨论政治、色情、违法、金钱交易等敏感内容,禁止人身攻击、造谣诽谤等行为 -- 禁止刷屏、灌水、挑起争端、发泄情绪等影响群聊秩序的行为 -- 禁止使用第三方插件发送特殊消息;禁止讨论多人游戏作弊工具 -- 本群仅支持 HMCL 启动器相关问题。PCL 启动器用户请加入 978054335 群 -- 请勿重复发送文件,如需重新获取关注,请引用之前发送的消息 -- 因人数限制,已解决问题的用户会被移出群聊。如遇新问题可再次加入 -- 本群仅处理游戏崩溃相关问题,其他话题请到其他群讨论 - ---- - - -如果你遇到了游戏非正常退出问题,欢迎加入报错崩溃交流群咨询解决方案:[Minecraft 报错崩溃交流群 (666546887)](https://qm.qq.com/q/nG0Ti1kJri) - - - -**本群仅处理游戏报错崩溃问题,无关话题请前往其他群聊讨论。** - -由于加群人数过多,我们会移出问题已解决的用户。如果你在被移出后遇到了新的问题需要求助,你可以再次加群。 - - - - - - -{% if site.head_scripts %} - {% for script in site.head_scripts %} - - {% endfor %} -{% endif %} diff --git a/_includes/head/custom.html b/_includes/head/custom.html deleted file mode 100644 index 55de7508..00000000 --- a/_includes/head/custom.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/_launcher/authlib-injector.md b/_launcher/authlib-injector.md deleted file mode 100644 index d832e9eb..00000000 --- a/_launcher/authlib-injector.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Authlib-Injector 服务器设置指南 -excerpt: 配置默认的验证服务器 -date: 2021-08-22 23:18:02 +0800 -author: huanghongxun ---- - -## 背景 - -使用 authlib-injector 认证的服主可以通过本教程提供的方法使 HMCL 默认在打开时弹窗要求创建对应认证服务器的账户。 - -## 方法 - -在 HMCL 启动器同级目录下创建 `authlib-injectors.json` 文件,此时文件夹目录结构如下图所示: - - - -(注意,请确保打包后的整合包不包含 `hmcl.json` 文件,否则无法生效。该文件默认为隐藏状态,需开启隐藏文件显示) - -`authlib-injectors.json` 文件的示例如下 - -```json -{ - "urls": [ - "https://example.yggdrasil.yushi.moe/" - ] -} -``` diff --git a/_launcher/isolation.md b/_launcher/isolation.md deleted file mode 100644 index d175b4aa..00000000 --- a/_launcher/isolation.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: 全局版本隔离 -excerpt: 避免多个游戏版本的存档、模组和配置冲突 -date: 2021-10-09T23:18:02+08:00 -last_modified_at: 2025-12-03T14:31:42+08:00 -author: LIPiston -redirect_from: - - /launcher/global-version-isolation.html ---- - -请注意该方法会改变默认的游戏文件结构。 - -## 使用方式 - -进入 hmcl 的 `设置` - - - -在全局游戏设置中找到 `版本隔离` 并设置为 `各实例独立` - - - -这时候 minecraft 的文件结构就会有所改变,如下方 - -```plaintext -.minecraft -├── asstes -├── libraries -└── versions - └── 1.16.5-optifine - ├── 1.16.5-optifine.jar - ├── saves - ├── resourcepacks - ├── logs - ├── mods - └── ... -``` - -并非在 .minecraft 文件夹中存储一切的 mod 和 资源包**而是各版本的资源互相独立** - -这样你就可以在一个目录下,安装多个客户端 - -## 往后的使用 - -在做完版本隔离的设置后,hmcl 的快速打开各个游戏文件夹的功能就会显得十分好用。 - - - -~~善用该功能也可为你的磁盘剩下不少的空间~~,现在反思过来其实都差不多 diff --git a/_launcher/jvm-options-and-env.md b/_launcher/jvm-options-and-env.md deleted file mode 100644 index fb670115..00000000 --- a/_launcher/jvm-options-and-env.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: JVM 选项与环境变量 -excerpt: 配置 JVM 参数和环境变量的说明 -date: 2025-04-20 23:18:02 +0800 ---- - -## JVM 选项 - -HMCL 提供了一些 JVM 选项用于调试目的。你可以通过在启动 HMCL 时添加这些参数来使用这些功能。 - -| 参数 | 描述 | -|------|------| -| `-Dhmcl.home=- `auto`:自动选择(Windows 7+ 使用 JNA,其他系统不使用)
- `jna`:强制使用 JNA(如果 JNA 不可用会抛出异常)
- `none`:禁用 JNA
默认值:`auto` | -| `-Dhmcl.hardware.fastfetch=
HMCL {{ version }}
-本文由 {{ page.author | default: '未署名用户' }} 创建{% if page.contributors %},并由 {{ page.contributors | join: ' ' }} 编辑{% endif %}。
--
-
- {{ value.title }} -
- {{ value.description }} - {% for option in setting.options %} -
- - - - {% endfor %} -
[!NOTE]
- if inner_html == prefix - # 将 alert 类型对应的 class 加入 blockquote - item["class"] = [item["class"], data["class_name"]].compact.join(" ") - - # 将替换为
[!NOTE]\n\n other content
- elsif inner_html.start_with? prefix_with_newline - # 将 alert 类型对应的 class 加入 blockquote - item["class"] = [item["class"], data["class_name"]].compact.join(" ") - # 在原段落前插入标题[!NOTE]\n\n other content
- first_child.add_previous_sibling "\n other content
- first_child.inner_html = first_child.inner_html[prefix_with_newline.length..-1] || "" - break - end - end - end - doc.content = fragment.to_html -end diff --git a/_plugins/auto-link.rb b/_plugins/auto-link.rb deleted file mode 100644 index a2d4e867..00000000 --- a/_plugins/auto-link.rb +++ /dev/null @@ -1,30 +0,0 @@ -require "nokogiri" -require "addressable/uri" - -Jekyll::Hooks.register [:pages, :documents], :post_convert do |doc| - next unless doc.output_ext == ".html" - - site = doc.site - liquid_context = Liquid::Context.new({}, {}, { site: site }) - - process_uri = lambda do |path| - uri = Addressable::URI.parse(path) - if uri&.path - uri.path = Liquid::Template.parse("{% link #{uri.path[1..]} %}").render!(liquid_context) - end - uri.to_s - end - - fragment = Nokogiri::HTML::DocumentFragment.parse(doc.content) - fragment.css("[src^=\"/assets/\"],[src^=\"/\"][src$=\".md\"],[src^=\"/\"][src*=\".md#\"]").each do |item| - if item["src"] - item["src"] = process_uri.call(item["src"]) - end - end - fragment.css("[href^=\"/assets/\"],[href^=\"/\"][href$=\".md\"],[href^=\"/\"][href*=\".md#\"]").each do |item| - if item["href"] - item["href"] = process_uri.call(item["href"]) - end - end - doc.content = fragment.to_html -end diff --git a/_plugins/filter-version-sort.rb b/_plugins/filter-version-sort.rb deleted file mode 100644 index 8b49d525..00000000 --- a/_plugins/filter-version-sort.rb +++ /dev/null @@ -1,21 +0,0 @@ -module VersionSortFilter - def version_sort(input, property) - raise ArgumentError, "Cannot sort a null object." if input.nil? - raise ArgumentError, "Cannot sort an object with a null property." if property.nil? - raise ArgumentError, "Property #{property} is not an array of strings." unless valid_string_array?(input, property) - - input.sort_by { |version| version_to_numbers(version[property]) } - end - - private - - def valid_string_array?(array, property) - array.is_a?(Array) && array.all? { |element| element[property].is_a?(String) } - end - - def version_to_numbers(version_string) - version_string.split('.').map { |n| n.to_i } - end -end - -Liquid::Template.register_filter(VersionSortFilter) diff --git a/_sass/minimal-mistakes-plus.scss b/_sass/minimal-mistakes-plus.scss deleted file mode 100644 index 1d6d0b45..00000000 --- a/_sass/minimal-mistakes-plus.scss +++ /dev/null @@ -1,24 +0,0 @@ -@import "minimal-mistakes"; - -blockquote { - margin-inline: 0; - font-style: normal; -} - -* { - overflow-wrap: break-word; - word-wrap: break-word; - word-break: break-word; -} - -.notice ul:first-child { - margin-top: 0; -} - -.task-list-item label { - display: inline -} - -.m0 { - margin: 0 !important; -} diff --git a/assets/css/main.scss b/assets/css/main.scss deleted file mode 100644 index 0f4452fc..00000000 --- a/assets/css/main.scss +++ /dev/null @@ -1,8 +0,0 @@ ---- ---- - -@charset "utf-8"; - -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; -@import "minimal-mistakes/skins/default"; -@import "minimal-mistakes-plus"; diff --git a/assets/css/skins/air.scss b/assets/css/skins/air.scss deleted file mode 100644 index 581fb345..00000000 --- a/assets/css/skins/air.scss +++ /dev/null @@ -1,8 +0,0 @@ ---- ---- - -@charset "utf-8"; - -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; -@import "minimal-mistakes/skins/air"; -@import "minimal-mistakes-plus"; diff --git a/assets/css/skins/aqua.scss b/assets/css/skins/aqua.scss deleted file mode 100644 index 2a03a4db..00000000 --- a/assets/css/skins/aqua.scss +++ /dev/null @@ -1,8 +0,0 @@ ---- ---- - -@charset "utf-8"; - -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; -@import "minimal-mistakes/skins/aqua"; -@import "minimal-mistakes-plus"; diff --git a/assets/css/skins/contrast.scss b/assets/css/skins/contrast.scss deleted file mode 100644 index 474cc293..00000000 --- a/assets/css/skins/contrast.scss +++ /dev/null @@ -1,8 +0,0 @@ ---- ---- - -@charset "utf-8"; - -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; -@import "minimal-mistakes/skins/contrast"; -@import "minimal-mistakes-plus"; diff --git a/assets/css/skins/dark.scss b/assets/css/skins/dark.scss deleted file mode 100644 index b7bb9c21..00000000 --- a/assets/css/skins/dark.scss +++ /dev/null @@ -1,8 +0,0 @@ ---- ---- - -@charset "utf-8"; - -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; -@import "minimal-mistakes/skins/dark"; -@import "minimal-mistakes-plus"; diff --git a/assets/css/skins/default.scss b/assets/css/skins/default.scss deleted file mode 100644 index a845151c..00000000 --- a/assets/css/skins/default.scss +++ /dev/null @@ -1,2 +0,0 @@ ---- ---- diff --git a/assets/css/skins/dirt.scss b/assets/css/skins/dirt.scss deleted file mode 100644 index 1b711f58..00000000 --- a/assets/css/skins/dirt.scss +++ /dev/null @@ -1,8 +0,0 @@ ---- ---- - -@charset "utf-8"; - -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; -@import "minimal-mistakes/skins/dirt"; -@import "minimal-mistakes-plus"; diff --git a/assets/css/skins/mint.scss b/assets/css/skins/mint.scss deleted file mode 100644 index 73851269..00000000 --- a/assets/css/skins/mint.scss +++ /dev/null @@ -1,8 +0,0 @@ ---- ---- - -@charset "utf-8"; - -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; -@import "minimal-mistakes/skins/mint"; -@import "minimal-mistakes-plus"; diff --git a/assets/css/skins/neon.scss b/assets/css/skins/neon.scss deleted file mode 100644 index 4ba4097b..00000000 --- a/assets/css/skins/neon.scss +++ /dev/null @@ -1,8 +0,0 @@ ---- ---- - -@charset "utf-8"; - -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; -@import "minimal-mistakes/skins/neon"; -@import "minimal-mistakes-plus"; diff --git a/assets/css/skins/plum.scss b/assets/css/skins/plum.scss deleted file mode 100644 index b40391c0..00000000 --- a/assets/css/skins/plum.scss +++ /dev/null @@ -1,8 +0,0 @@ ---- ---- - -@charset "utf-8"; - -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; -@import "minimal-mistakes/skins/plum"; -@import "minimal-mistakes-plus"; diff --git a/assets/css/skins/sunrise.scss b/assets/css/skins/sunrise.scss deleted file mode 100644 index 9c330691..00000000 --- a/assets/css/skins/sunrise.scss +++ /dev/null @@ -1,8 +0,0 @@ ---- ---- - -@charset "utf-8"; - -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; -@import "minimal-mistakes/skins/sunrise"; -@import "minimal-mistakes-plus"; diff --git a/assets/img/docs/authlib-injector/image.png b/assets/img/docs/authlib-injector/image.png deleted file mode 100644 index 654a69e8..00000000 Binary files a/assets/img/docs/authlib-injector/image.png and /dev/null differ diff --git a/assets/img/docs/groups/button-1.png b/assets/img/docs/groups/button-1.png deleted file mode 100644 index 2b1a275a..00000000 Binary files a/assets/img/docs/groups/button-1.png and /dev/null differ diff --git a/assets/img/docs/groups/button-2.png b/assets/img/docs/groups/button-2.png deleted file mode 100644 index 87a4cbfe..00000000 Binary files a/assets/img/docs/groups/button-2.png and /dev/null differ diff --git a/assets/img/docs/groups/crash.png b/assets/img/docs/groups/crash.png deleted file mode 100644 index 23848f06..00000000 Binary files a/assets/img/docs/groups/crash.png and /dev/null differ diff --git a/assets/img/docs/groups/group-1.png b/assets/img/docs/groups/group-1.png deleted file mode 100644 index 8eb8462d..00000000 Binary files a/assets/img/docs/groups/group-1.png and /dev/null differ diff --git a/assets/img/docs/groups/group-10.png b/assets/img/docs/groups/group-10.png deleted file mode 100644 index 006df1bf..00000000 Binary files a/assets/img/docs/groups/group-10.png and /dev/null differ diff --git a/assets/img/docs/groups/group-2.png b/assets/img/docs/groups/group-2.png deleted file mode 100644 index f1e6592c..00000000 Binary files a/assets/img/docs/groups/group-2.png and /dev/null differ diff --git a/assets/img/docs/groups/group-3.png b/assets/img/docs/groups/group-3.png deleted file mode 100644 index 5808b6e8..00000000 Binary files a/assets/img/docs/groups/group-3.png and /dev/null differ diff --git a/assets/img/docs/groups/group-4.png b/assets/img/docs/groups/group-4.png deleted file mode 100644 index 304501c4..00000000 Binary files a/assets/img/docs/groups/group-4.png and /dev/null differ diff --git a/assets/img/docs/groups/group-5.png b/assets/img/docs/groups/group-5.png deleted file mode 100644 index d0d5a3b3..00000000 Binary files a/assets/img/docs/groups/group-5.png and /dev/null differ diff --git a/assets/img/docs/groups/group-6.png b/assets/img/docs/groups/group-6.png deleted file mode 100644 index ce603016..00000000 Binary files a/assets/img/docs/groups/group-6.png and /dev/null differ diff --git a/assets/img/docs/groups/group-7.png b/assets/img/docs/groups/group-7.png deleted file mode 100644 index 358b8bd1..00000000 Binary files a/assets/img/docs/groups/group-7.png and /dev/null differ diff --git a/assets/img/docs/groups/group-8.png b/assets/img/docs/groups/group-8.png deleted file mode 100644 index a03048af..00000000 Binary files a/assets/img/docs/groups/group-8.png and /dev/null differ diff --git a/assets/img/docs/groups/group-9.png b/assets/img/docs/groups/group-9.png deleted file mode 100644 index b0f6d0a3..00000000 Binary files a/assets/img/docs/groups/group-9.png and /dev/null differ diff --git a/assets/img/docs/modpack-in-java/1-1.png b/assets/img/docs/modpack-in-java/1-1.png deleted file mode 100644 index 6c633357..00000000 Binary files a/assets/img/docs/modpack-in-java/1-1.png and /dev/null differ diff --git a/assets/img/docs/modpack-in-java/2-1.png b/assets/img/docs/modpack-in-java/2-1.png deleted file mode 100644 index 7aeea872..00000000 Binary files a/assets/img/docs/modpack-in-java/2-1.png and /dev/null differ diff --git a/assets/img/docs/modpack-in-java/2-2.png b/assets/img/docs/modpack-in-java/2-2.png deleted file mode 100644 index 9bfbbce0..00000000 Binary files a/assets/img/docs/modpack-in-java/2-2.png and /dev/null differ diff --git a/assets/img/docs/modpack-in-java/2-3.png b/assets/img/docs/modpack-in-java/2-3.png deleted file mode 100644 index 77d207bd..00000000 Binary files a/assets/img/docs/modpack-in-java/2-3.png and /dev/null differ diff --git a/assets/img/docs/multiplayer-help/cover.jpg b/assets/img/docs/multiplayer-help/cover.jpg deleted file mode 100644 index adc3d774..00000000 Binary files a/assets/img/docs/multiplayer-help/cover.jpg and /dev/null differ diff --git a/assets/js/plugins/jquery.auto-redirect.js b/assets/js/plugins/jquery.auto-redirect.js deleted file mode 100644 index 3f691baa..00000000 --- a/assets/js/plugins/jquery.auto-redirect.js +++ /dev/null @@ -1,59 +0,0 @@ -(function ($) { - var pluginName = "autoRedirect"; - function Plugin(element, options) { - this.$el = $(element); - this.settings = $.extend({}, $.fn[pluginName].defaults, options, this.$el.data()); - this.timer = null; - this.init(); - } - Plugin.prototype = { - init: function () { - var self = this; - var delay = parseInt(self.settings.delay, 10); - var href = self.$el.attr("href"); - - if (!href) return; - - var $info = $(" (将在 " + delay + " 秒后自动跳转,您也可以手动取消跳转) "); - self.$el.after($info); - - self.timer = setInterval(function () { - delay--; - $info.find(".time").text(delay); - if (delay <= 0) { - clearInterval(self.timer); - window.location.href = href; - } - }, 1000); - - $info.on("click", ".cancel-redirect", function () { - clearInterval(self.timer); - $info.text(""); - }); - }, - destroy: function () { - clearInterval(this.timer); - this.$el.next(".redirect-info").remove(); - } - }; - $.fn[pluginName] = function (option) { - return this.each(function () { - var $this = $(this); - var instance = $this.data(pluginName); - - if (!instance) { - $this.data(pluginName, new Plugin(this, option)); - } else if (typeof option === "string" && instance[option]) { - instance[option](); - } - }); - }; - $.fn[pluginName].defaults = { - delay: 5 - }; - $(function () { - $("a[data-redirect]").each(function () { - $(this)[pluginName](); - }); - }); -})(jQuery); diff --git a/assets/js/settings.js b/assets/js/settings.js deleted file mode 100644 index 13e6e59f..00000000 --- a/assets/js/settings.js +++ /dev/null @@ -1,76 +0,0 @@ ---- -layout: null ---- -(function (global) { - var PREFIX = "HMCL_DOCS_SETTINGS_"; - var data = {}; - var events = {}; - var config = /*{%comment%}*/{}/*{%endcomment%}*//**{{'/'}}{{ site.data.settings | jsonify }}/**/; - - global.addEventListener("storage", function (event) { - if (!event.key) return; - if (event.key.indexOf(PREFIX) !== 0) return; - - var handlers = events[event.key]; - if (!handlers) return; - - var newValue = event.newValue; - var oldValue = event.oldValue; - if (oldValue === newValue) return; - - data[event.key] = newValue; - for (var i = 0; i < handlers.length; i++) { - if (typeof handlers[i] === "function") { - handlers[i](newValue, oldValue); - } - } - }); - - var settings = { - set: function (key, value) { - if (config[key] === undefined) return; - var strKey = (PREFIX + key).toUpperCase(); - var newValue = value + ""; - data[strKey] = newValue; - localStorage.setItem(strKey, newValue); - var handlers = events[strKey]; - if (!handlers) return; - - for (var i = 0; i < handlers.length; i++) { - if (typeof handlers[i] === "function") { - handlers[i](newValue); - } - } - }, - - get: function (key, defaultValue) { - if (config[key] === undefined) return; - var strKey = (PREFIX + key).toUpperCase(); - data.hasOwnProperty(strKey) || (data[strKey] = localStorage.getItem(strKey)); - if (typeof defaultValue === "string" && data[strKey] === null) { - return defaultValue; - } - return data[strKey]; - }, - - refresh: function (key) { - if (config[key] === undefined) return; - settings.set(key, settings.get(key, config[key].default)); - }, - - onChange: function (key, handler) { - if (config[key] === undefined) return; - if (typeof handler !== "function") return; - var strKey = (PREFIX + key).toUpperCase(); - if (config[key].type === "radio") { - handler(settings.get(key, config[key].default)); - } - if (!events[strKey]) { - events[strKey] = [handler]; - } else { - events[strKey].push(handler); - } - } - }; - global.settings = settings; -})(window); diff --git a/assets/js/theme.js b/assets/js/theme.js deleted file mode 100644 index 9a202792..00000000 --- a/assets/js/theme.js +++ /dev/null @@ -1,70 +0,0 @@ ---- -layout: null ---- -window.addEventListener("DOMContentLoaded", function () { - var skinLink = document.getElementById("skin"); - var darkModeQuery = window.matchMedia("(prefers-color-scheme: dark)"); - function applyDarkSkin() { - skinLink.href = "{{ '/assets/css/skins/' | relative_url }}" + settings.get("appearance_skin_dark", "dark") + ".css"; - } - function applyLightSkin() { - skinLink.href = "{{ '/assets/css/skins/' | relative_url }}" + settings.get("appearance_skin_light", "default") + ".css"; - } - function autoSchemeHandler() { - if (darkModeQuery.matches) { - applyDarkSkin(); - } else { - applyLightSkin(); - } - } - var activeModeIndex = 0; - var modeKeys = ["light", "dark", "auto"]; - var modeLabels = ["亮色", "暗色", "自动"]; - - var menuList = document.querySelector(".masthead .visible-links"); - var modeSwitcher = null; - if (menuList) { - modeSwitcher = document.createElement("a"); - modeSwitcher.className = "masthead__menu-item"; - modeSwitcher.textContent = modeLabels[activeModeIndex]; - modeSwitcher.href = "javascript:;"; - modeSwitcher.onclick = function () { - var nextIndex = (activeModeIndex + 1) % modeKeys.length; - settings.set("appearance_color", modeKeys[nextIndex]); - } - menuList.appendChild(modeSwitcher); - } - function applyTheme(mode) { - var newIndex = modeKeys.indexOf(mode); - if (newIndex < 0) newIndex = 0; - - if (modeKeys[activeModeIndex] === "auto") { - darkModeQuery.removeEventListener("change", autoSchemeHandler); - } - - activeModeIndex = newIndex; - var resolvedMode = modeKeys[activeModeIndex]; - - if (modeSwitcher) { - modeSwitcher.textContent = modeLabels[activeModeIndex]; - } - - if (resolvedMode === "light") { - applyLightSkin(); - } - else if (resolvedMode === "dark") { - applyDarkSkin(); - } - else { - darkModeQuery.addEventListener("change", autoSchemeHandler); - autoSchemeHandler(); - } - } - settings.onChange("appearance_color", applyTheme); - settings.onChange("appearance_skin_dark", function () { - settings.refresh("appearance_color"); - }); - settings.onChange("appearance_skin_light", function () { - settings.refresh("appearance_color"); - }); -}); diff --git a/assets/lib/fontawesome/LICENSE.txt b/assets/lib/fontawesome/LICENSE.txt deleted file mode 100644 index 45063c11..00000000 --- a/assets/lib/fontawesome/LICENSE.txt +++ /dev/null @@ -1,165 +0,0 @@ -Fonticons, Inc. (https://fontawesome.com) - --------------------------------------------------------------------------------- - -Font Awesome Free License - -Font Awesome Free is free, open source, and GPL friendly. You can use it for -commercial projects, open source projects, or really almost whatever you want. -Full Font Awesome Free license: https://fontawesome.com/license/free. - --------------------------------------------------------------------------------- - -# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) - -The Font Awesome Free download is licensed under a Creative Commons -Attribution 4.0 International License and applies to all icons packaged -as SVG and JS file types. - --------------------------------------------------------------------------------- - -# Fonts: SIL OFL 1.1 License - -In the Font Awesome Free download, the SIL OFL license applies to all icons -packaged as web and desktop font files. - -Copyright (c) 2025 Fonticons, Inc. (https://fontawesome.com) -with Reserved Font Name: "Font Awesome". - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - -SIL OPEN FONT LICENSE -Version 1.1 - 26 February 2007 - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting — in part or in whole — any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. - --------------------------------------------------------------------------------- - -# Code: MIT License (https://opensource.org/licenses/MIT) - -In the Font Awesome Free download, the MIT license applies to all non-font and -non-icon files. - -Copyright 2025 Fonticons, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in the -Software without restriction, including without limitation the rights to use, copy, -modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -# Attribution - -Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font -Awesome Free files already contain embedded comments with sufficient -attribution, so you shouldn't need to do anything additional when using these -files normally. - -We've kept attribution comments terse, so we ask that you do not actively work -to remove them from files, especially code. They're a great way for folks to -learn about Font Awesome. - --------------------------------------------------------------------------------- - -# Brand Icons - -All brand icons are trademarks of their respective owners. The use of these -trademarks does not indicate endorsement of the trademark holder by Font -Awesome, nor vice versa. **Please do not use brand logos for any purpose except -to represent the company, product, or service to which they refer.** diff --git a/assets/lib/fontawesome/css/all.min.css b/assets/lib/fontawesome/css/all.min.css deleted file mode 100644 index b568f8d9..00000000 --- a/assets/lib/fontawesome/css/all.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2025 Fonticons, Inc. - */ -.fa,.fa-brands,.fa-classic,.fa-regular,.fa-solid,.fab,.far,.fas{--_fa-family:var(--fa-family,var(--fa-style-family,"Font Awesome 7 Free"));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:var(--fa-display,inline-block);font-family:var(--_fa-family);font-feature-settings:normal;font-style:normal;font-synthesis:none;font-variant:normal;font-weight:var(--fa-style,900);line-height:1;text-align:center;text-rendering:auto;width:var(--fa-width,1.25em)}:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)/""}@supports not (content:""/""){:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)}}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.0625em) var(--fa-border-style,solid) var(--fa-border-color,#eee);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-end,.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{--fa-width:100%;inset:0;position:absolute;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)} - -.fa-0{--fa:"\30 "}.fa-1{--fa:"\31 "}.fa-2{--fa:"\32 "}.fa-3{--fa:"\33 "}.fa-4{--fa:"\34 "}.fa-5{--fa:"\35 "}.fa-6{--fa:"\36 "}.fa-7{--fa:"\37 "}.fa-8{--fa:"\38 "}.fa-9{--fa:"\39 "}.fa-exclamation{--fa:"\!"}.fa-hashtag{--fa:"\#"}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"\$"}.fa-percent,.fa-percentage{--fa:"\%"}.fa-asterisk{--fa:"\*"}.fa-add,.fa-plus{--fa:"\+"}.fa-less-than{--fa:"\<"}.fa-equals{--fa:"\="}.fa-greater-than{--fa:"\>"}.fa-question{--fa:"\?"}.fa-at{--fa:"\@"}.fa-a{--fa:"A"}.fa-b{--fa:"B"}.fa-c{--fa:"C"}.fa-d{--fa:"D"}.fa-e{--fa:"E"}.fa-f{--fa:"F"}.fa-g{--fa:"G"}.fa-h{--fa:"H"}.fa-i{--fa:"I"}.fa-j{--fa:"J"}.fa-k{--fa:"K"}.fa-l{--fa:"L"}.fa-m{--fa:"M"}.fa-n{--fa:"N"}.fa-o{--fa:"O"}.fa-p{--fa:"P"}.fa-q{--fa:"Q"}.fa-r{--fa:"R"}.fa-s{--fa:"S"}.fa-t{--fa:"T"}.fa-u{--fa:"U"}.fa-v{--fa:"V"}.fa-w{--fa:"W"}.fa-x{--fa:"X"}.fa-y{--fa:"Y"}.fa-z{--fa:"Z"}.fa-faucet{--fa:"\e005"}.fa-faucet-drip{--fa:"\e006"}.fa-house-chimney-window{--fa:"\e00d"}.fa-house-signal{--fa:"\e012"}.fa-temperature-arrow-down,.fa-temperature-down{--fa:"\e03f"}.fa-temperature-arrow-up,.fa-temperature-up{--fa:"\e040"}.fa-trailer{--fa:"\e041"}.fa-bacteria{--fa:"\e059"}.fa-bacterium{--fa:"\e05a"}.fa-box-tissue{--fa:"\e05b"}.fa-hand-holding-medical{--fa:"\e05c"}.fa-hand-sparkles{--fa:"\e05d"}.fa-hands-bubbles,.fa-hands-wash{--fa:"\e05e"}.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:"\e060"}.fa-head-side-cough{--fa:"\e061"}.fa-head-side-cough-slash{--fa:"\e062"}.fa-head-side-mask{--fa:"\e063"}.fa-head-side-virus{--fa:"\e064"}.fa-house-chimney-user{--fa:"\e065"}.fa-house-laptop,.fa-laptop-house{--fa:"\e066"}.fa-lungs-virus{--fa:"\e067"}.fa-people-arrows,.fa-people-arrows-left-right{--fa:"\e068"}.fa-plane-slash{--fa:"\e069"}.fa-pump-medical{--fa:"\e06a"}.fa-pump-soap{--fa:"\e06b"}.fa-shield-virus{--fa:"\e06c"}.fa-sink{--fa:"\e06d"}.fa-soap{--fa:"\e06e"}.fa-stopwatch-20{--fa:"\e06f"}.fa-shop-slash,.fa-store-alt-slash{--fa:"\e070"}.fa-store-slash{--fa:"\e071"}.fa-toilet-paper-slash{--fa:"\e072"}.fa-users-slash{--fa:"\e073"}.fa-virus{--fa:"\e074"}.fa-virus-slash{--fa:"\e075"}.fa-viruses{--fa:"\e076"}.fa-vest{--fa:"\e085"}.fa-vest-patches{--fa:"\e086"}.fa-arrow-trend-down{--fa:"\e097"}.fa-arrow-trend-up{--fa:"\e098"}.fa-arrow-up-from-bracket{--fa:"\e09a"}.fa-austral-sign{--fa:"\e0a9"}.fa-baht-sign{--fa:"\e0ac"}.fa-bitcoin-sign{--fa:"\e0b4"}.fa-bolt-lightning{--fa:"\e0b7"}.fa-book-bookmark{--fa:"\e0bb"}.fa-camera-rotate{--fa:"\e0d8"}.fa-cedi-sign{--fa:"\e0df"}.fa-chart-column{--fa:"\e0e3"}.fa-chart-gantt{--fa:"\e0e4"}.fa-clapperboard{--fa:"\e131"}.fa-clover{--fa:"\e139"}.fa-code-compare{--fa:"\e13a"}.fa-code-fork{--fa:"\e13b"}.fa-code-pull-request{--fa:"\e13c"}.fa-colon-sign{--fa:"\e140"}.fa-cruzeiro-sign{--fa:"\e152"}.fa-display{--fa:"\e163"}.fa-dong-sign{--fa:"\e169"}.fa-elevator{--fa:"\e16d"}.fa-filter-circle-xmark{--fa:"\e17b"}.fa-florin-sign{--fa:"\e184"}.fa-folder-closed{--fa:"\e185"}.fa-franc-sign{--fa:"\e18f"}.fa-guarani-sign{--fa:"\e19a"}.fa-gun{--fa:"\e19b"}.fa-hands-clapping{--fa:"\e1a8"}.fa-home-user,.fa-house-user{--fa:"\e1b0"}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:"\e1bc"}.fa-kip-sign{--fa:"\e1c4"}.fa-lari-sign{--fa:"\e1c8"}.fa-litecoin-sign{--fa:"\e1d3"}.fa-manat-sign{--fa:"\e1d5"}.fa-mask-face{--fa:"\e1d7"}.fa-mill-sign{--fa:"\e1ed"}.fa-money-bills{--fa:"\e1f3"}.fa-naira-sign{--fa:"\e1f6"}.fa-notdef{--fa:"\e1fe"}.fa-panorama{--fa:"\e209"}.fa-peseta-sign{--fa:"\e221"}.fa-peso-sign{--fa:"\e222"}.fa-plane-up{--fa:"\e22d"}.fa-rupiah-sign{--fa:"\e23d"}.fa-stairs{--fa:"\e289"}.fa-timeline{--fa:"\e29c"}.fa-truck-front{--fa:"\e2b7"}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:"\e2bb"}.fa-vault{--fa:"\e2c5"}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:"\e2ca"}.fa-wheat-alt,.fa-wheat-awn{--fa:"\e2cd"}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:"\e2ce"}.fa-bangladeshi-taka-sign{--fa:"\e2e6"}.fa-bowl-rice{--fa:"\e2eb"}.fa-person-pregnant{--fa:"\e31e"}.fa-home-lg,.fa-house-chimney{--fa:"\e3af"}.fa-house-crack{--fa:"\e3b1"}.fa-house-medical{--fa:"\e3b2"}.fa-cent-sign{--fa:"\e3f5"}.fa-plus-minus{--fa:"\e43c"}.fa-sailboat{--fa:"\e445"}.fa-section{--fa:"\e447"}.fa-shrimp{--fa:"\e448"}.fa-brazilian-real-sign{--fa:"\e46c"}.fa-chart-simple{--fa:"\e473"}.fa-diagram-next{--fa:"\e476"}.fa-diagram-predecessor{--fa:"\e477"}.fa-diagram-successor{--fa:"\e47a"}.fa-earth-oceania,.fa-globe-oceania{--fa:"\e47b"}.fa-bug-slash{--fa:"\e490"}.fa-file-circle-plus{--fa:"\e494"}.fa-shop-lock{--fa:"\e4a5"}.fa-virus-covid{--fa:"\e4a8"}.fa-virus-covid-slash{--fa:"\e4a9"}.fa-anchor-circle-check{--fa:"\e4aa"}.fa-anchor-circle-exclamation{--fa:"\e4ab"}.fa-anchor-circle-xmark{--fa:"\e4ac"}.fa-anchor-lock{--fa:"\e4ad"}.fa-arrow-down-up-across-line{--fa:"\e4af"}.fa-arrow-down-up-lock{--fa:"\e4b0"}.fa-arrow-right-to-city{--fa:"\e4b3"}.fa-arrow-up-from-ground-water{--fa:"\e4b5"}.fa-arrow-up-from-water-pump{--fa:"\e4b6"}.fa-arrow-up-right-dots{--fa:"\e4b7"}.fa-arrows-down-to-line{--fa:"\e4b8"}.fa-arrows-down-to-people{--fa:"\e4b9"}.fa-arrows-left-right-to-line{--fa:"\e4ba"}.fa-arrows-spin{--fa:"\e4bb"}.fa-arrows-split-up-and-left{--fa:"\e4bc"}.fa-arrows-to-circle{--fa:"\e4bd"}.fa-arrows-to-dot{--fa:"\e4be"}.fa-arrows-to-eye{--fa:"\e4bf"}.fa-arrows-turn-right{--fa:"\e4c0"}.fa-arrows-turn-to-dots{--fa:"\e4c1"}.fa-arrows-up-to-line{--fa:"\e4c2"}.fa-bore-hole{--fa:"\e4c3"}.fa-bottle-droplet{--fa:"\e4c4"}.fa-bottle-water{--fa:"\e4c5"}.fa-bowl-food{--fa:"\e4c6"}.fa-boxes-packing{--fa:"\e4c7"}.fa-bridge{--fa:"\e4c8"}.fa-bridge-circle-check{--fa:"\e4c9"}.fa-bridge-circle-exclamation{--fa:"\e4ca"}.fa-bridge-circle-xmark{--fa:"\e4cb"}.fa-bridge-lock{--fa:"\e4cc"}.fa-bridge-water{--fa:"\e4ce"}.fa-bucket{--fa:"\e4cf"}.fa-bugs{--fa:"\e4d0"}.fa-building-circle-arrow-right{--fa:"\e4d1"}.fa-building-circle-check{--fa:"\e4d2"}.fa-building-circle-exclamation{--fa:"\e4d3"}.fa-building-circle-xmark{--fa:"\e4d4"}.fa-building-flag{--fa:"\e4d5"}.fa-building-lock{--fa:"\e4d6"}.fa-building-ngo{--fa:"\e4d7"}.fa-building-shield{--fa:"\e4d8"}.fa-building-un{--fa:"\e4d9"}.fa-building-user{--fa:"\e4da"}.fa-building-wheat{--fa:"\e4db"}.fa-burst{--fa:"\e4dc"}.fa-car-on{--fa:"\e4dd"}.fa-car-tunnel{--fa:"\e4de"}.fa-child-combatant,.fa-child-rifle{--fa:"\e4e0"}.fa-children{--fa:"\e4e1"}.fa-circle-nodes{--fa:"\e4e2"}.fa-clipboard-question{--fa:"\e4e3"}.fa-cloud-showers-water{--fa:"\e4e4"}.fa-computer{--fa:"\e4e5"}.fa-cubes-stacked{--fa:"\e4e6"}.fa-envelope-circle-check{--fa:"\e4e8"}.fa-explosion{--fa:"\e4e9"}.fa-ferry{--fa:"\e4ea"}.fa-file-circle-exclamation{--fa:"\e4eb"}.fa-file-circle-minus{--fa:"\e4ed"}.fa-file-circle-question{--fa:"\e4ef"}.fa-file-shield{--fa:"\e4f0"}.fa-fire-burner{--fa:"\e4f1"}.fa-fish-fins{--fa:"\e4f2"}.fa-flask-vial{--fa:"\e4f3"}.fa-glass-water{--fa:"\e4f4"}.fa-glass-water-droplet{--fa:"\e4f5"}.fa-group-arrows-rotate{--fa:"\e4f6"}.fa-hand-holding-hand{--fa:"\e4f7"}.fa-handcuffs{--fa:"\e4f8"}.fa-hands-bound{--fa:"\e4f9"}.fa-hands-holding-child{--fa:"\e4fa"}.fa-hands-holding-circle{--fa:"\e4fb"}.fa-heart-circle-bolt{--fa:"\e4fc"}.fa-heart-circle-check{--fa:"\e4fd"}.fa-heart-circle-exclamation{--fa:"\e4fe"}.fa-heart-circle-minus{--fa:"\e4ff"}.fa-heart-circle-plus{--fa:"\e500"}.fa-heart-circle-xmark{--fa:"\e501"}.fa-helicopter-symbol{--fa:"\e502"}.fa-helmet-un{--fa:"\e503"}.fa-hill-avalanche{--fa:"\e507"}.fa-hill-rockslide{--fa:"\e508"}.fa-house-circle-check{--fa:"\e509"}.fa-house-circle-exclamation{--fa:"\e50a"}.fa-house-circle-xmark{--fa:"\e50b"}.fa-house-fire{--fa:"\e50c"}.fa-house-flag{--fa:"\e50d"}.fa-house-flood-water{--fa:"\e50e"}.fa-house-flood-water-circle-arrow-right{--fa:"\e50f"}.fa-house-lock{--fa:"\e510"}.fa-house-medical-circle-check{--fa:"\e511"}.fa-house-medical-circle-exclamation{--fa:"\e512"}.fa-house-medical-circle-xmark{--fa:"\e513"}.fa-house-medical-flag{--fa:"\e514"}.fa-house-tsunami{--fa:"\e515"}.fa-jar{--fa:"\e516"}.fa-jar-wheat{--fa:"\e517"}.fa-jet-fighter-up{--fa:"\e518"}.fa-jug-detergent{--fa:"\e519"}.fa-kitchen-set{--fa:"\e51a"}.fa-land-mine-on{--fa:"\e51b"}.fa-landmark-flag{--fa:"\e51c"}.fa-laptop-file{--fa:"\e51d"}.fa-lines-leaning{--fa:"\e51e"}.fa-location-pin-lock{--fa:"\e51f"}.fa-locust{--fa:"\e520"}.fa-magnifying-glass-arrow-right{--fa:"\e521"}.fa-magnifying-glass-chart{--fa:"\e522"}.fa-mars-and-venus-burst{--fa:"\e523"}.fa-mask-ventilator{--fa:"\e524"}.fa-mattress-pillow{--fa:"\e525"}.fa-mobile-retro{--fa:"\e527"}.fa-money-bill-transfer{--fa:"\e528"}.fa-money-bill-trend-up{--fa:"\e529"}.fa-money-bill-wheat{--fa:"\e52a"}.fa-mosquito{--fa:"\e52b"}.fa-mosquito-net{--fa:"\e52c"}.fa-mound{--fa:"\e52d"}.fa-mountain-city{--fa:"\e52e"}.fa-mountain-sun{--fa:"\e52f"}.fa-oil-well{--fa:"\e532"}.fa-people-group{--fa:"\e533"}.fa-people-line{--fa:"\e534"}.fa-people-pulling{--fa:"\e535"}.fa-people-robbery{--fa:"\e536"}.fa-people-roof{--fa:"\e537"}.fa-person-arrow-down-to-line{--fa:"\e538"}.fa-person-arrow-up-from-line{--fa:"\e539"}.fa-person-breastfeeding{--fa:"\e53a"}.fa-person-burst{--fa:"\e53b"}.fa-person-cane{--fa:"\e53c"}.fa-person-chalkboard{--fa:"\e53d"}.fa-person-circle-check{--fa:"\e53e"}.fa-person-circle-exclamation{--fa:"\e53f"}.fa-person-circle-minus{--fa:"\e540"}.fa-person-circle-plus{--fa:"\e541"}.fa-person-circle-question{--fa:"\e542"}.fa-person-circle-xmark{--fa:"\e543"}.fa-person-dress-burst{--fa:"\e544"}.fa-person-drowning{--fa:"\e545"}.fa-person-falling{--fa:"\e546"}.fa-person-falling-burst{--fa:"\e547"}.fa-person-half-dress{--fa:"\e548"}.fa-person-harassing{--fa:"\e549"}.fa-person-military-pointing{--fa:"\e54a"}.fa-person-military-rifle{--fa:"\e54b"}.fa-person-military-to-person{--fa:"\e54c"}.fa-person-rays{--fa:"\e54d"}.fa-person-rifle{--fa:"\e54e"}.fa-person-shelter{--fa:"\e54f"}.fa-person-walking-arrow-loop-left{--fa:"\e551"}.fa-person-walking-arrow-right{--fa:"\e552"}.fa-person-walking-dashed-line-arrow-right{--fa:"\e553"}.fa-person-walking-luggage{--fa:"\e554"}.fa-plane-circle-check{--fa:"\e555"}.fa-plane-circle-exclamation{--fa:"\e556"}.fa-plane-circle-xmark{--fa:"\e557"}.fa-plane-lock{--fa:"\e558"}.fa-plate-wheat{--fa:"\e55a"}.fa-plug-circle-bolt{--fa:"\e55b"}.fa-plug-circle-check{--fa:"\e55c"}.fa-plug-circle-exclamation{--fa:"\e55d"}.fa-plug-circle-minus{--fa:"\e55e"}.fa-plug-circle-plus{--fa:"\e55f"}.fa-plug-circle-xmark{--fa:"\e560"}.fa-ranking-star{--fa:"\e561"}.fa-road-barrier{--fa:"\e562"}.fa-road-bridge{--fa:"\e563"}.fa-road-circle-check{--fa:"\e564"}.fa-road-circle-exclamation{--fa:"\e565"}.fa-road-circle-xmark{--fa:"\e566"}.fa-road-lock{--fa:"\e567"}.fa-road-spikes{--fa:"\e568"}.fa-rug{--fa:"\e569"}.fa-sack-xmark{--fa:"\e56a"}.fa-school-circle-check{--fa:"\e56b"}.fa-school-circle-exclamation{--fa:"\e56c"}.fa-school-circle-xmark{--fa:"\e56d"}.fa-school-flag{--fa:"\e56e"}.fa-school-lock{--fa:"\e56f"}.fa-sheet-plastic{--fa:"\e571"}.fa-shield-cat{--fa:"\e572"}.fa-shield-dog{--fa:"\e573"}.fa-shield-heart{--fa:"\e574"}.fa-square-nfi{--fa:"\e576"}.fa-square-person-confined{--fa:"\e577"}.fa-square-virus{--fa:"\e578"}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:"\e579"}.fa-sun-plant-wilt{--fa:"\e57a"}.fa-tarp{--fa:"\e57b"}.fa-tarp-droplet{--fa:"\e57c"}.fa-tent{--fa:"\e57d"}.fa-tent-arrow-down-to-line{--fa:"\e57e"}.fa-tent-arrow-left-right{--fa:"\e57f"}.fa-tent-arrow-turn-left{--fa:"\e580"}.fa-tent-arrows-down{--fa:"\e581"}.fa-tents{--fa:"\e582"}.fa-toilet-portable{--fa:"\e583"}.fa-toilets-portable{--fa:"\e584"}.fa-tower-cell{--fa:"\e585"}.fa-tower-observation{--fa:"\e586"}.fa-tree-city{--fa:"\e587"}.fa-trowel{--fa:"\e589"}.fa-trowel-bricks{--fa:"\e58a"}.fa-truck-arrow-right{--fa:"\e58b"}.fa-truck-droplet{--fa:"\e58c"}.fa-truck-field{--fa:"\e58d"}.fa-truck-field-un{--fa:"\e58e"}.fa-truck-plane{--fa:"\e58f"}.fa-users-between-lines{--fa:"\e591"}.fa-users-line{--fa:"\e592"}.fa-users-rays{--fa:"\e593"}.fa-users-rectangle{--fa:"\e594"}.fa-users-viewfinder{--fa:"\e595"}.fa-vial-circle-check{--fa:"\e596"}.fa-vial-virus{--fa:"\e597"}.fa-wheat-awn-circle-exclamation{--fa:"\e598"}.fa-worm{--fa:"\e599"}.fa-xmarks-lines{--fa:"\e59a"}.fa-child-dress{--fa:"\e59c"}.fa-child-reaching{--fa:"\e59d"}.fa-file-circle-check{--fa:"\e5a0"}.fa-file-circle-xmark{--fa:"\e5a1"}.fa-person-through-window{--fa:"\e5a9"}.fa-plant-wilt{--fa:"\e5aa"}.fa-stapler{--fa:"\e5af"}.fa-train-tram{--fa:"\e5b4"}.fa-table-cells-column-lock{--fa:"\e678"}.fa-table-cells-row-lock{--fa:"\e67a"}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:"\e68f"}.fa-table-cells-row-unlock{--fa:"\e691"}.fa-chart-diagram{--fa:"\e695"}.fa-comment-nodes{--fa:"\e696"}.fa-file-fragment{--fa:"\e697"}.fa-file-half-dashed{--fa:"\e698"}.fa-hexagon-nodes{--fa:"\e699"}.fa-hexagon-nodes-bolt{--fa:"\e69a"}.fa-square-binary{--fa:"\e69b"}.fa-pentagon{--fa:"\e790"}.fa-non-binary{--fa:"\e807"}.fa-spiral{--fa:"\e80a"}.fa-mobile-vibrate{--fa:"\e816"}.fa-single-quote-left{--fa:"\e81b"}.fa-single-quote-right{--fa:"\e81c"}.fa-bus-side{--fa:"\e81d"}.fa-heptagon,.fa-septagon{--fa:"\e820"}.fa-glass-martini,.fa-martini-glass-empty{--fa:"\f000"}.fa-music{--fa:"\f001"}.fa-magnifying-glass,.fa-search{--fa:"\f002"}.fa-heart{--fa:"\f004"}.fa-star{--fa:"\f005"}.fa-user,.fa-user-alt,.fa-user-large{--fa:"\f007"}.fa-film,.fa-film-alt,.fa-film-simple{--fa:"\f008"}.fa-table-cells-large,.fa-th-large{--fa:"\f009"}.fa-table-cells,.fa-th{--fa:"\f00a"}.fa-table-list,.fa-th-list{--fa:"\f00b"}.fa-check{--fa:"\f00c"}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:"\f00d"}.fa-magnifying-glass-plus,.fa-search-plus{--fa:"\f00e"}.fa-magnifying-glass-minus,.fa-search-minus{--fa:"\f010"}.fa-power-off{--fa:"\f011"}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:"\f012"}.fa-cog,.fa-gear{--fa:"\f013"}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:"\f015"}.fa-clock,.fa-clock-four{--fa:"\f017"}.fa-road{--fa:"\f018"}.fa-download{--fa:"\f019"}.fa-inbox{--fa:"\f01c"}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:"\f01e"}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:"\f021"}.fa-list-alt,.fa-rectangle-list{--fa:"\f022"}.fa-lock{--fa:"\f023"}.fa-flag{--fa:"\f024"}.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:"\f025"}.fa-volume-off{--fa:"\f026"}.fa-volume-down,.fa-volume-low{--fa:"\f027"}.fa-volume-high,.fa-volume-up{--fa:"\f028"}.fa-qrcode{--fa:"\f029"}.fa-barcode{--fa:"\f02a"}.fa-tag{--fa:"\f02b"}.fa-tags{--fa:"\f02c"}.fa-book{--fa:"\f02d"}.fa-bookmark{--fa:"\f02e"}.fa-print{--fa:"\f02f"}.fa-camera,.fa-camera-alt{--fa:"\f030"}.fa-font{--fa:"\f031"}.fa-bold{--fa:"\f032"}.fa-italic{--fa:"\f033"}.fa-text-height{--fa:"\f034"}.fa-text-width{--fa:"\f035"}.fa-align-left{--fa:"\f036"}.fa-align-center{--fa:"\f037"}.fa-align-right{--fa:"\f038"}.fa-align-justify{--fa:"\f039"}.fa-list,.fa-list-squares{--fa:"\f03a"}.fa-dedent,.fa-outdent{--fa:"\f03b"}.fa-indent{--fa:"\f03c"}.fa-video,.fa-video-camera{--fa:"\f03d"}.fa-image{--fa:"\f03e"}.fa-location-pin,.fa-map-marker{--fa:"\f041"}.fa-adjust,.fa-circle-half-stroke{--fa:"\f042"}.fa-droplet,.fa-tint{--fa:"\f043"}.fa-edit,.fa-pen-to-square{--fa:"\f044"}.fa-arrows,.fa-arrows-up-down-left-right{--fa:"\f047"}.fa-backward-step,.fa-step-backward{--fa:"\f048"}.fa-backward-fast,.fa-fast-backward{--fa:"\f049"}.fa-backward{--fa:"\f04a"}.fa-play{--fa:"\f04b"}.fa-pause{--fa:"\f04c"}.fa-stop{--fa:"\f04d"}.fa-forward{--fa:"\f04e"}.fa-fast-forward,.fa-forward-fast{--fa:"\f050"}.fa-forward-step,.fa-step-forward{--fa:"\f051"}.fa-eject{--fa:"\f052"}.fa-chevron-left{--fa:"\f053"}.fa-chevron-right{--fa:"\f054"}.fa-circle-plus,.fa-plus-circle{--fa:"\f055"}.fa-circle-minus,.fa-minus-circle{--fa:"\f056"}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:"\f057"}.fa-check-circle,.fa-circle-check{--fa:"\f058"}.fa-circle-question,.fa-question-circle{--fa:"\f059"}.fa-circle-info,.fa-info-circle{--fa:"\f05a"}.fa-crosshairs{--fa:"\f05b"}.fa-ban,.fa-cancel{--fa:"\f05e"}.fa-arrow-left{--fa:"\f060"}.fa-arrow-right{--fa:"\f061"}.fa-arrow-up{--fa:"\f062"}.fa-arrow-down{--fa:"\f063"}.fa-mail-forward,.fa-share{--fa:"\f064"}.fa-expand{--fa:"\f065"}.fa-compress{--fa:"\f066"}.fa-minus,.fa-subtract{--fa:"\f068"}.fa-circle-exclamation,.fa-exclamation-circle{--fa:"\f06a"}.fa-gift{--fa:"\f06b"}.fa-leaf{--fa:"\f06c"}.fa-fire{--fa:"\f06d"}.fa-eye{--fa:"\f06e"}.fa-eye-slash{--fa:"\f070"}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:"\f071"}.fa-plane{--fa:"\f072"}.fa-calendar-alt,.fa-calendar-days{--fa:"\f073"}.fa-random,.fa-shuffle{--fa:"\f074"}.fa-comment{--fa:"\f075"}.fa-magnet{--fa:"\f076"}.fa-chevron-up{--fa:"\f077"}.fa-chevron-down{--fa:"\f078"}.fa-retweet{--fa:"\f079"}.fa-cart-shopping,.fa-shopping-cart{--fa:"\f07a"}.fa-folder,.fa-folder-blank{--fa:"\f07b"}.fa-folder-open{--fa:"\f07c"}.fa-arrows-up-down,.fa-arrows-v{--fa:"\f07d"}.fa-arrows-h,.fa-arrows-left-right{--fa:"\f07e"}.fa-bar-chart,.fa-chart-bar{--fa:"\f080"}.fa-camera-retro{--fa:"\f083"}.fa-key{--fa:"\f084"}.fa-cogs,.fa-gears{--fa:"\f085"}.fa-comments{--fa:"\f086"}.fa-star-half{--fa:"\f089"}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:"\f08b"}.fa-thumb-tack,.fa-thumbtack{--fa:"\f08d"}.fa-arrow-up-right-from-square,.fa-external-link{--fa:"\f08e"}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:"\f090"}.fa-trophy{--fa:"\f091"}.fa-upload{--fa:"\f093"}.fa-lemon{--fa:"\f094"}.fa-phone{--fa:"\f095"}.fa-phone-square,.fa-square-phone{--fa:"\f098"}.fa-unlock{--fa:"\f09c"}.fa-credit-card,.fa-credit-card-alt{--fa:"\f09d"}.fa-feed,.fa-rss{--fa:"\f09e"}.fa-hard-drive,.fa-hdd{--fa:"\f0a0"}.fa-bullhorn{--fa:"\f0a1"}.fa-certificate{--fa:"\f0a3"}.fa-hand-point-right{--fa:"\f0a4"}.fa-hand-point-left{--fa:"\f0a5"}.fa-hand-point-up{--fa:"\f0a6"}.fa-hand-point-down{--fa:"\f0a7"}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:"\f0a8"}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:"\f0a9"}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:"\f0aa"}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:"\f0ab"}.fa-globe{--fa:"\f0ac"}.fa-wrench{--fa:"\f0ad"}.fa-list-check,.fa-tasks{--fa:"\f0ae"}.fa-filter{--fa:"\f0b0"}.fa-briefcase{--fa:"\f0b1"}.fa-arrows-alt,.fa-up-down-left-right{--fa:"\f0b2"}.fa-users{--fa:"\f0c0"}.fa-chain,.fa-link{--fa:"\f0c1"}.fa-cloud{--fa:"\f0c2"}.fa-flask{--fa:"\f0c3"}.fa-cut,.fa-scissors{--fa:"\f0c4"}.fa-copy{--fa:"\f0c5"}.fa-paperclip{--fa:"\f0c6"}.fa-floppy-disk,.fa-save{--fa:"\f0c7"}.fa-square{--fa:"\f0c8"}.fa-bars,.fa-navicon{--fa:"\f0c9"}.fa-list-dots,.fa-list-ul{--fa:"\f0ca"}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:"\f0cb"}.fa-strikethrough{--fa:"\f0cc"}.fa-underline{--fa:"\f0cd"}.fa-table{--fa:"\f0ce"}.fa-magic,.fa-wand-magic{--fa:"\f0d0"}.fa-truck{--fa:"\f0d1"}.fa-money-bill{--fa:"\f0d6"}.fa-caret-down{--fa:"\f0d7"}.fa-caret-up{--fa:"\f0d8"}.fa-caret-left{--fa:"\f0d9"}.fa-caret-right{--fa:"\f0da"}.fa-columns,.fa-table-columns{--fa:"\f0db"}.fa-sort,.fa-unsorted{--fa:"\f0dc"}.fa-sort-desc,.fa-sort-down{--fa:"\f0dd"}.fa-sort-asc,.fa-sort-up{--fa:"\f0de"}.fa-envelope{--fa:"\f0e0"}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:"\f0e2"}.fa-gavel,.fa-legal{--fa:"\f0e3"}.fa-bolt,.fa-zap{--fa:"\f0e7"}.fa-sitemap{--fa:"\f0e8"}.fa-umbrella{--fa:"\f0e9"}.fa-file-clipboard,.fa-paste{--fa:"\f0ea"}.fa-lightbulb{--fa:"\f0eb"}.fa-arrow-right-arrow-left,.fa-exchange{--fa:"\f0ec"}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:"\f0ed"}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:"\f0ee"}.fa-user-doctor,.fa-user-md{--fa:"\f0f0"}.fa-stethoscope{--fa:"\f0f1"}.fa-suitcase{--fa:"\f0f2"}.fa-bell{--fa:"\f0f3"}.fa-coffee,.fa-mug-saucer{--fa:"\f0f4"}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:"\f0f8"}.fa-ambulance,.fa-truck-medical{--fa:"\f0f9"}.fa-medkit,.fa-suitcase-medical{--fa:"\f0fa"}.fa-fighter-jet,.fa-jet-fighter{--fa:"\f0fb"}.fa-beer,.fa-beer-mug-empty{--fa:"\f0fc"}.fa-h-square,.fa-square-h{--fa:"\f0fd"}.fa-plus-square,.fa-square-plus{--fa:"\f0fe"}.fa-angle-double-left,.fa-angles-left{--fa:"\f100"}.fa-angle-double-right,.fa-angles-right{--fa:"\f101"}.fa-angle-double-up,.fa-angles-up{--fa:"\f102"}.fa-angle-double-down,.fa-angles-down{--fa:"\f103"}.fa-angle-left{--fa:"\f104"}.fa-angle-right{--fa:"\f105"}.fa-angle-up{--fa:"\f106"}.fa-angle-down{--fa:"\f107"}.fa-laptop{--fa:"\f109"}.fa-tablet-button{--fa:"\f10a"}.fa-mobile-button{--fa:"\f10b"}.fa-quote-left,.fa-quote-left-alt{--fa:"\f10d"}.fa-quote-right,.fa-quote-right-alt{--fa:"\f10e"}.fa-spinner{--fa:"\f110"}.fa-circle{--fa:"\f111"}.fa-face-smile,.fa-smile{--fa:"\f118"}.fa-face-frown,.fa-frown{--fa:"\f119"}.fa-face-meh,.fa-meh{--fa:"\f11a"}.fa-gamepad{--fa:"\f11b"}.fa-keyboard{--fa:"\f11c"}.fa-flag-checkered{--fa:"\f11e"}.fa-terminal{--fa:"\f120"}.fa-code{--fa:"\f121"}.fa-mail-reply-all,.fa-reply-all{--fa:"\f122"}.fa-location-arrow{--fa:"\f124"}.fa-crop{--fa:"\f125"}.fa-code-branch{--fa:"\f126"}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:"\f127"}.fa-info{--fa:"\f129"}.fa-superscript{--fa:"\f12b"}.fa-subscript{--fa:"\f12c"}.fa-eraser{--fa:"\f12d"}.fa-puzzle-piece{--fa:"\f12e"}.fa-microphone{--fa:"\f130"}.fa-microphone-slash{--fa:"\f131"}.fa-shield,.fa-shield-blank{--fa:"\f132"}.fa-calendar{--fa:"\f133"}.fa-fire-extinguisher{--fa:"\f134"}.fa-rocket{--fa:"\f135"}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:"\f137"}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:"\f138"}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:"\f139"}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:"\f13a"}.fa-anchor{--fa:"\f13d"}.fa-unlock-alt,.fa-unlock-keyhole{--fa:"\f13e"}.fa-bullseye{--fa:"\f140"}.fa-ellipsis,.fa-ellipsis-h{--fa:"\f141"}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:"\f142"}.fa-rss-square,.fa-square-rss{--fa:"\f143"}.fa-circle-play,.fa-play-circle{--fa:"\f144"}.fa-ticket{--fa:"\f145"}.fa-minus-square,.fa-square-minus{--fa:"\f146"}.fa-arrow-turn-up,.fa-level-up{--fa:"\f148"}.fa-arrow-turn-down,.fa-level-down{--fa:"\f149"}.fa-check-square,.fa-square-check{--fa:"\f14a"}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:"\f14b"}.fa-external-link-square,.fa-square-arrow-up-right{--fa:"\f14c"}.fa-share-from-square,.fa-share-square{--fa:"\f14d"}.fa-compass{--fa:"\f14e"}.fa-caret-square-down,.fa-square-caret-down{--fa:"\f150"}.fa-caret-square-up,.fa-square-caret-up{--fa:"\f151"}.fa-caret-square-right,.fa-square-caret-right{--fa:"\f152"}.fa-eur,.fa-euro,.fa-euro-sign{--fa:"\f153"}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:"\f154"}.fa-rupee,.fa-rupee-sign{--fa:"\f156"}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:"\f157"}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:"\f158"}.fa-krw,.fa-won,.fa-won-sign{--fa:"\f159"}.fa-file{--fa:"\f15b"}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c"}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:"\f15d"}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:"\f15e"}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:"\f160"}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:"\f161"}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:"\f162"}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:"\f163"}.fa-thumbs-up{--fa:"\f164"}.fa-thumbs-down{--fa:"\f165"}.fa-arrow-down-long,.fa-long-arrow-down{--fa:"\f175"}.fa-arrow-up-long,.fa-long-arrow-up{--fa:"\f176"}.fa-arrow-left-long,.fa-long-arrow-left{--fa:"\f177"}.fa-arrow-right-long,.fa-long-arrow-right{--fa:"\f178"}.fa-female,.fa-person-dress{--fa:"\f182"}.fa-male,.fa-person{--fa:"\f183"}.fa-sun{--fa:"\f185"}.fa-moon{--fa:"\f186"}.fa-archive,.fa-box-archive{--fa:"\f187"}.fa-bug{--fa:"\f188"}.fa-caret-square-left,.fa-square-caret-left{--fa:"\f191"}.fa-circle-dot,.fa-dot-circle{--fa:"\f192"}.fa-wheelchair{--fa:"\f193"}.fa-lira-sign{--fa:"\f195"}.fa-shuttle-space,.fa-space-shuttle{--fa:"\f197"}.fa-envelope-square,.fa-square-envelope{--fa:"\f199"}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:"\f19c"}.fa-graduation-cap,.fa-mortar-board{--fa:"\f19d"}.fa-language{--fa:"\f1ab"}.fa-fax{--fa:"\f1ac"}.fa-building{--fa:"\f1ad"}.fa-child{--fa:"\f1ae"}.fa-paw{--fa:"\f1b0"}.fa-cube{--fa:"\f1b2"}.fa-cubes{--fa:"\f1b3"}.fa-recycle{--fa:"\f1b8"}.fa-automobile,.fa-car{--fa:"\f1b9"}.fa-cab,.fa-taxi{--fa:"\f1ba"}.fa-tree{--fa:"\f1bb"}.fa-database{--fa:"\f1c0"}.fa-file-pdf{--fa:"\f1c1"}.fa-file-word{--fa:"\f1c2"}.fa-file-excel{--fa:"\f1c3"}.fa-file-powerpoint{--fa:"\f1c4"}.fa-file-image{--fa:"\f1c5"}.fa-file-archive,.fa-file-zipper{--fa:"\f1c6"}.fa-file-audio{--fa:"\f1c7"}.fa-file-video{--fa:"\f1c8"}.fa-file-code{--fa:"\f1c9"}.fa-life-ring{--fa:"\f1cd"}.fa-circle-notch{--fa:"\f1ce"}.fa-paper-plane{--fa:"\f1d8"}.fa-clock-rotate-left,.fa-history{--fa:"\f1da"}.fa-header,.fa-heading{--fa:"\f1dc"}.fa-paragraph{--fa:"\f1dd"}.fa-sliders,.fa-sliders-h{--fa:"\f1de"}.fa-share-alt,.fa-share-nodes{--fa:"\f1e0"}.fa-share-alt-square,.fa-square-share-nodes{--fa:"\f1e1"}.fa-bomb{--fa:"\f1e2"}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:"\f1e3"}.fa-teletype,.fa-tty{--fa:"\f1e4"}.fa-binoculars{--fa:"\f1e5"}.fa-plug{--fa:"\f1e6"}.fa-newspaper{--fa:"\f1ea"}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:"\f1eb"}.fa-calculator{--fa:"\f1ec"}.fa-bell-slash{--fa:"\f1f6"}.fa-trash{--fa:"\f1f8"}.fa-copyright{--fa:"\f1f9"}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:"\f1fb"}.fa-paint-brush,.fa-paintbrush{--fa:"\f1fc"}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:"\f1fd"}.fa-area-chart,.fa-chart-area{--fa:"\f1fe"}.fa-chart-pie,.fa-pie-chart{--fa:"\f200"}.fa-chart-line,.fa-line-chart{--fa:"\f201"}.fa-toggle-off{--fa:"\f204"}.fa-toggle-on{--fa:"\f205"}.fa-bicycle{--fa:"\f206"}.fa-bus{--fa:"\f207"}.fa-closed-captioning{--fa:"\f20a"}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:"\f20b"}.fa-cart-plus{--fa:"\f217"}.fa-cart-arrow-down{--fa:"\f218"}.fa-diamond{--fa:"\f219"}.fa-ship{--fa:"\f21a"}.fa-user-secret{--fa:"\f21b"}.fa-motorcycle{--fa:"\f21c"}.fa-street-view{--fa:"\f21d"}.fa-heart-pulse,.fa-heartbeat{--fa:"\f21e"}.fa-venus{--fa:"\f221"}.fa-mars{--fa:"\f222"}.fa-mercury{--fa:"\f223"}.fa-mars-and-venus{--fa:"\f224"}.fa-transgender,.fa-transgender-alt{--fa:"\f225"}.fa-venus-double{--fa:"\f226"}.fa-mars-double{--fa:"\f227"}.fa-venus-mars{--fa:"\f228"}.fa-mars-stroke{--fa:"\f229"}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:"\f22a"}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:"\f22b"}.fa-neuter{--fa:"\f22c"}.fa-genderless{--fa:"\f22d"}.fa-server{--fa:"\f233"}.fa-user-plus{--fa:"\f234"}.fa-user-times,.fa-user-xmark{--fa:"\f235"}.fa-bed{--fa:"\f236"}.fa-train{--fa:"\f238"}.fa-subway,.fa-train-subway{--fa:"\f239"}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:"\f240"}.fa-battery-4,.fa-battery-three-quarters{--fa:"\f241"}.fa-battery-3,.fa-battery-half{--fa:"\f242"}.fa-battery-2,.fa-battery-quarter{--fa:"\f243"}.fa-battery-0,.fa-battery-empty{--fa:"\f244"}.fa-arrow-pointer,.fa-mouse-pointer{--fa:"\f245"}.fa-i-cursor{--fa:"\f246"}.fa-object-group{--fa:"\f247"}.fa-object-ungroup{--fa:"\f248"}.fa-note-sticky,.fa-sticky-note{--fa:"\f249"}.fa-clone{--fa:"\f24d"}.fa-balance-scale,.fa-scale-balanced{--fa:"\f24e"}.fa-hourglass-1,.fa-hourglass-start{--fa:"\f251"}.fa-hourglass-2,.fa-hourglass-half{--fa:"\f252"}.fa-hourglass-3,.fa-hourglass-end{--fa:"\f253"}.fa-hourglass,.fa-hourglass-empty{--fa:"\f254"}.fa-hand-back-fist,.fa-hand-rock{--fa:"\f255"}.fa-hand,.fa-hand-paper{--fa:"\f256"}.fa-hand-scissors{--fa:"\f257"}.fa-hand-lizard{--fa:"\f258"}.fa-hand-spock{--fa:"\f259"}.fa-hand-pointer{--fa:"\f25a"}.fa-hand-peace{--fa:"\f25b"}.fa-trademark{--fa:"\f25c"}.fa-registered{--fa:"\f25d"}.fa-television,.fa-tv,.fa-tv-alt{--fa:"\f26c"}.fa-calendar-plus{--fa:"\f271"}.fa-calendar-minus{--fa:"\f272"}.fa-calendar-times,.fa-calendar-xmark{--fa:"\f273"}.fa-calendar-check{--fa:"\f274"}.fa-industry{--fa:"\f275"}.fa-map-pin{--fa:"\f276"}.fa-map-signs,.fa-signs-post{--fa:"\f277"}.fa-map{--fa:"\f279"}.fa-comment-alt,.fa-message{--fa:"\f27a"}.fa-circle-pause,.fa-pause-circle{--fa:"\f28b"}.fa-circle-stop,.fa-stop-circle{--fa:"\f28d"}.fa-bag-shopping,.fa-shopping-bag{--fa:"\f290"}.fa-basket-shopping,.fa-shopping-basket{--fa:"\f291"}.fa-universal-access{--fa:"\f29a"}.fa-blind,.fa-person-walking-with-cane{--fa:"\f29d"}.fa-audio-description{--fa:"\f29e"}.fa-phone-volume,.fa-volume-control-phone{--fa:"\f2a0"}.fa-braille{--fa:"\f2a1"}.fa-assistive-listening-systems,.fa-ear-listen{--fa:"\f2a2"}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:"\f2a3"}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:"\f2a4"}.fa-hands,.fa-sign-language,.fa-signing{--fa:"\f2a7"}.fa-eye-low-vision,.fa-low-vision{--fa:"\f2a8"}.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:"\f2b5"}.fa-envelope-open{--fa:"\f2b6"}.fa-address-book,.fa-contact-book{--fa:"\f2b9"}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:"\f2bb"}.fa-circle-user,.fa-user-circle{--fa:"\f2bd"}.fa-id-badge{--fa:"\f2c1"}.fa-drivers-license,.fa-id-card{--fa:"\f2c2"}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:"\f2c7"}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:"\f2c8"}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:"\f2c9"}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:"\f2ca"}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:"\f2cb"}.fa-shower{--fa:"\f2cc"}.fa-bath,.fa-bathtub{--fa:"\f2cd"}.fa-podcast{--fa:"\f2ce"}.fa-window-maximize{--fa:"\f2d0"}.fa-window-minimize{--fa:"\f2d1"}.fa-window-restore{--fa:"\f2d2"}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:"\f2d3"}.fa-microchip{--fa:"\f2db"}.fa-snowflake{--fa:"\f2dc"}.fa-spoon,.fa-utensil-spoon{--fa:"\f2e5"}.fa-cutlery,.fa-utensils{--fa:"\f2e7"}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:"\f2ea"}.fa-trash-alt,.fa-trash-can{--fa:"\f2ed"}.fa-rotate,.fa-sync-alt{--fa:"\f2f1"}.fa-stopwatch{--fa:"\f2f2"}.fa-right-from-bracket,.fa-sign-out-alt{--fa:"\f2f5"}.fa-right-to-bracket,.fa-sign-in-alt{--fa:"\f2f6"}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:"\f2f9"}.fa-poo{--fa:"\f2fe"}.fa-images{--fa:"\f302"}.fa-pencil,.fa-pencil-alt{--fa:"\f303"}.fa-pen{--fa:"\f304"}.fa-pen-alt,.fa-pen-clip{--fa:"\f305"}.fa-octagon{--fa:"\f306"}.fa-down-long,.fa-long-arrow-alt-down{--fa:"\f309"}.fa-left-long,.fa-long-arrow-alt-left{--fa:"\f30a"}.fa-long-arrow-alt-right,.fa-right-long{--fa:"\f30b"}.fa-long-arrow-alt-up,.fa-up-long{--fa:"\f30c"}.fa-hexagon{--fa:"\f312"}.fa-file-edit,.fa-file-pen{--fa:"\f31c"}.fa-expand-arrows-alt,.fa-maximize{--fa:"\f31e"}.fa-clipboard{--fa:"\f328"}.fa-arrows-alt-h,.fa-left-right{--fa:"\f337"}.fa-arrows-alt-v,.fa-up-down{--fa:"\f338"}.fa-alarm-clock{--fa:"\f34e"}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:"\f358"}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:"\f359"}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:"\f35a"}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:"\f35b"}.fa-external-link-alt,.fa-up-right-from-square{--fa:"\f35d"}.fa-external-link-square-alt,.fa-square-up-right{--fa:"\f360"}.fa-exchange-alt,.fa-right-left{--fa:"\f362"}.fa-repeat{--fa:"\f363"}.fa-code-commit{--fa:"\f386"}.fa-code-merge{--fa:"\f387"}.fa-desktop,.fa-desktop-alt{--fa:"\f390"}.fa-gem{--fa:"\f3a5"}.fa-level-down-alt,.fa-turn-down{--fa:"\f3be"}.fa-level-up-alt,.fa-turn-up{--fa:"\f3bf"}.fa-lock-open{--fa:"\f3c1"}.fa-location-dot,.fa-map-marker-alt{--fa:"\f3c5"}.fa-microphone-alt,.fa-microphone-lines{--fa:"\f3c9"}.fa-mobile-alt,.fa-mobile-screen-button{--fa:"\f3cd"}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:"\f3ce"}.fa-mobile-android-alt,.fa-mobile-screen{--fa:"\f3cf"}.fa-money-bill-1,.fa-money-bill-alt{--fa:"\f3d1"}.fa-phone-slash{--fa:"\f3dd"}.fa-image-portrait,.fa-portrait{--fa:"\f3e0"}.fa-mail-reply,.fa-reply{--fa:"\f3e5"}.fa-shield-alt,.fa-shield-halved{--fa:"\f3ed"}.fa-tablet-alt,.fa-tablet-screen-button{--fa:"\f3fa"}.fa-tablet,.fa-tablet-android{--fa:"\f3fb"}.fa-ticket-alt,.fa-ticket-simple{--fa:"\f3ff"}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:"\f410"}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:"\f422"}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:"\f424"}.fa-baseball-bat-ball{--fa:"\f432"}.fa-baseball,.fa-baseball-ball{--fa:"\f433"}.fa-basketball,.fa-basketball-ball{--fa:"\f434"}.fa-bowling-ball{--fa:"\f436"}.fa-chess{--fa:"\f439"}.fa-chess-bishop{--fa:"\f43a"}.fa-chess-board{--fa:"\f43c"}.fa-chess-king{--fa:"\f43f"}.fa-chess-knight{--fa:"\f441"}.fa-chess-pawn{--fa:"\f443"}.fa-chess-queen{--fa:"\f445"}.fa-chess-rook{--fa:"\f447"}.fa-dumbbell{--fa:"\f44b"}.fa-football,.fa-football-ball{--fa:"\f44e"}.fa-golf-ball,.fa-golf-ball-tee{--fa:"\f450"}.fa-hockey-puck{--fa:"\f453"}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:"\f458"}.fa-square-full{--fa:"\f45c"}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:"\f45d"}.fa-volleyball,.fa-volleyball-ball{--fa:"\f45f"}.fa-allergies,.fa-hand-dots{--fa:"\f461"}.fa-band-aid,.fa-bandage{--fa:"\f462"}.fa-box{--fa:"\f466"}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:"\f468"}.fa-briefcase-medical{--fa:"\f469"}.fa-burn,.fa-fire-flame-simple{--fa:"\f46a"}.fa-capsules{--fa:"\f46b"}.fa-clipboard-check{--fa:"\f46c"}.fa-clipboard-list{--fa:"\f46d"}.fa-diagnoses,.fa-person-dots-from-line{--fa:"\f470"}.fa-dna{--fa:"\f471"}.fa-dolly,.fa-dolly-box{--fa:"\f472"}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:"\f474"}.fa-file-medical{--fa:"\f477"}.fa-file-medical-alt,.fa-file-waveform{--fa:"\f478"}.fa-first-aid,.fa-kit-medical{--fa:"\f479"}.fa-circle-h,.fa-hospital-symbol{--fa:"\f47e"}.fa-id-card-alt,.fa-id-card-clip{--fa:"\f47f"}.fa-notes-medical{--fa:"\f481"}.fa-pallet{--fa:"\f482"}.fa-pills{--fa:"\f484"}.fa-prescription-bottle{--fa:"\f485"}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:"\f486"}.fa-bed-pulse,.fa-procedures{--fa:"\f487"}.fa-shipping-fast,.fa-truck-fast{--fa:"\f48b"}.fa-smoking{--fa:"\f48d"}.fa-syringe{--fa:"\f48e"}.fa-tablets{--fa:"\f490"}.fa-thermometer{--fa:"\f491"}.fa-vial{--fa:"\f492"}.fa-vials{--fa:"\f493"}.fa-warehouse{--fa:"\f494"}.fa-weight,.fa-weight-scale{--fa:"\f496"}.fa-x-ray{--fa:"\f497"}.fa-box-open{--fa:"\f49e"}.fa-comment-dots,.fa-commenting{--fa:"\f4ad"}.fa-comment-slash{--fa:"\f4b3"}.fa-couch{--fa:"\f4b8"}.fa-circle-dollar-to-slot,.fa-donate{--fa:"\f4b9"}.fa-dove{--fa:"\f4ba"}.fa-hand-holding{--fa:"\f4bd"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:"\f4c0"}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:"\f4c1"}.fa-hands-holding{--fa:"\f4c2"}.fa-hands-helping,.fa-handshake-angle{--fa:"\f4c4"}.fa-parachute-box{--fa:"\f4cd"}.fa-people-carry,.fa-people-carry-box{--fa:"\f4ce"}.fa-piggy-bank{--fa:"\f4d3"}.fa-ribbon{--fa:"\f4d6"}.fa-route{--fa:"\f4d7"}.fa-seedling,.fa-sprout{--fa:"\f4d8"}.fa-sign,.fa-sign-hanging{--fa:"\f4d9"}.fa-face-smile-wink,.fa-smile-wink{--fa:"\f4da"}.fa-tape{--fa:"\f4db"}.fa-truck-loading,.fa-truck-ramp-box{--fa:"\f4de"}.fa-truck-moving{--fa:"\f4df"}.fa-video-slash{--fa:"\f4e2"}.fa-wine-glass{--fa:"\f4e3"}.fa-user-astronaut{--fa:"\f4fb"}.fa-user-check{--fa:"\f4fc"}.fa-user-clock{--fa:"\f4fd"}.fa-user-cog,.fa-user-gear{--fa:"\f4fe"}.fa-user-edit,.fa-user-pen{--fa:"\f4ff"}.fa-user-friends,.fa-user-group{--fa:"\f500"}.fa-user-graduate{--fa:"\f501"}.fa-user-lock{--fa:"\f502"}.fa-user-minus{--fa:"\f503"}.fa-user-ninja{--fa:"\f504"}.fa-user-shield{--fa:"\f505"}.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:"\f506"}.fa-user-tag{--fa:"\f507"}.fa-user-tie{--fa:"\f508"}.fa-users-cog,.fa-users-gear{--fa:"\f509"}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:"\f515"}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:"\f516"}.fa-blender{--fa:"\f517"}.fa-book-open{--fa:"\f518"}.fa-broadcast-tower,.fa-tower-broadcast{--fa:"\f519"}.fa-broom{--fa:"\f51a"}.fa-blackboard,.fa-chalkboard{--fa:"\f51b"}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:"\f51c"}.fa-church{--fa:"\f51d"}.fa-coins{--fa:"\f51e"}.fa-compact-disc{--fa:"\f51f"}.fa-crow{--fa:"\f520"}.fa-crown{--fa:"\f521"}.fa-dice{--fa:"\f522"}.fa-dice-five{--fa:"\f523"}.fa-dice-four{--fa:"\f524"}.fa-dice-one{--fa:"\f525"}.fa-dice-six{--fa:"\f526"}.fa-dice-three{--fa:"\f527"}.fa-dice-two{--fa:"\f528"}.fa-divide{--fa:"\f529"}.fa-door-closed{--fa:"\f52a"}.fa-door-open{--fa:"\f52b"}.fa-feather{--fa:"\f52d"}.fa-frog{--fa:"\f52e"}.fa-gas-pump{--fa:"\f52f"}.fa-glasses{--fa:"\f530"}.fa-greater-than-equal{--fa:"\f532"}.fa-helicopter{--fa:"\f533"}.fa-infinity{--fa:"\f534"}.fa-kiwi-bird{--fa:"\f535"}.fa-less-than-equal{--fa:"\f537"}.fa-memory{--fa:"\f538"}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:"\f539"}.fa-money-bill-wave{--fa:"\f53a"}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:"\f53b"}.fa-money-check{--fa:"\f53c"}.fa-money-check-alt,.fa-money-check-dollar{--fa:"\f53d"}.fa-not-equal{--fa:"\f53e"}.fa-palette{--fa:"\f53f"}.fa-parking,.fa-square-parking{--fa:"\f540"}.fa-diagram-project,.fa-project-diagram{--fa:"\f542"}.fa-receipt{--fa:"\f543"}.fa-robot{--fa:"\f544"}.fa-ruler{--fa:"\f545"}.fa-ruler-combined{--fa:"\f546"}.fa-ruler-horizontal{--fa:"\f547"}.fa-ruler-vertical{--fa:"\f548"}.fa-school{--fa:"\f549"}.fa-screwdriver{--fa:"\f54a"}.fa-shoe-prints{--fa:"\f54b"}.fa-skull{--fa:"\f54c"}.fa-ban-smoking,.fa-smoking-ban{--fa:"\f54d"}.fa-store{--fa:"\f54e"}.fa-shop,.fa-store-alt{--fa:"\f54f"}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:"\f550"}.fa-stroopwafel{--fa:"\f551"}.fa-toolbox{--fa:"\f552"}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:"\f553"}.fa-person-walking,.fa-walking{--fa:"\f554"}.fa-wallet{--fa:"\f555"}.fa-angry,.fa-face-angry{--fa:"\f556"}.fa-archway{--fa:"\f557"}.fa-atlas,.fa-book-atlas{--fa:"\f558"}.fa-award{--fa:"\f559"}.fa-backspace,.fa-delete-left{--fa:"\f55a"}.fa-bezier-curve{--fa:"\f55b"}.fa-bong{--fa:"\f55c"}.fa-brush{--fa:"\f55d"}.fa-bus-alt,.fa-bus-simple{--fa:"\f55e"}.fa-cannabis{--fa:"\f55f"}.fa-check-double{--fa:"\f560"}.fa-cocktail,.fa-martini-glass-citrus{--fa:"\f561"}.fa-bell-concierge,.fa-concierge-bell{--fa:"\f562"}.fa-cookie{--fa:"\f563"}.fa-cookie-bite{--fa:"\f564"}.fa-crop-alt,.fa-crop-simple{--fa:"\f565"}.fa-digital-tachograph,.fa-tachograph-digital{--fa:"\f566"}.fa-dizzy,.fa-face-dizzy{--fa:"\f567"}.fa-compass-drafting,.fa-drafting-compass{--fa:"\f568"}.fa-drum{--fa:"\f569"}.fa-drum-steelpan{--fa:"\f56a"}.fa-feather-alt,.fa-feather-pointed{--fa:"\f56b"}.fa-file-contract{--fa:"\f56c"}.fa-file-arrow-down,.fa-file-download{--fa:"\f56d"}.fa-arrow-right-from-file,.fa-file-export{--fa:"\f56e"}.fa-arrow-right-to-file,.fa-file-import{--fa:"\f56f"}.fa-file-invoice{--fa:"\f570"}.fa-file-invoice-dollar{--fa:"\f571"}.fa-file-prescription{--fa:"\f572"}.fa-file-signature{--fa:"\f573"}.fa-file-arrow-up,.fa-file-upload{--fa:"\f574"}.fa-fill{--fa:"\f575"}.fa-fill-drip{--fa:"\f576"}.fa-fingerprint{--fa:"\f577"}.fa-fish{--fa:"\f578"}.fa-face-flushed,.fa-flushed{--fa:"\f579"}.fa-face-frown-open,.fa-frown-open{--fa:"\f57a"}.fa-glass-martini-alt,.fa-martini-glass{--fa:"\f57b"}.fa-earth-africa,.fa-globe-africa{--fa:"\f57c"}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:"\f57d"}.fa-earth-asia,.fa-globe-asia{--fa:"\f57e"}.fa-face-grimace,.fa-grimace{--fa:"\f57f"}.fa-face-grin,.fa-grin{--fa:"\f580"}.fa-face-grin-wide,.fa-grin-alt{--fa:"\f581"}.fa-face-grin-beam,.fa-grin-beam{--fa:"\f582"}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:"\f583"}.fa-face-grin-hearts,.fa-grin-hearts{--fa:"\f584"}.fa-face-grin-squint,.fa-grin-squint{--fa:"\f585"}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:"\f586"}.fa-face-grin-stars,.fa-grin-stars{--fa:"\f587"}.fa-face-grin-tears,.fa-grin-tears{--fa:"\f588"}.fa-face-grin-tongue,.fa-grin-tongue{--fa:"\f589"}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:"\f58a"}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:"\f58b"}.fa-face-grin-wink,.fa-grin-wink{--fa:"\f58c"}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:"\f58d"}.fa-grid-vertical,.fa-grip-vertical{--fa:"\f58e"}.fa-headset{--fa:"\f590"}.fa-highlighter{--fa:"\f591"}.fa-hot-tub,.fa-hot-tub-person{--fa:"\f593"}.fa-hotel{--fa:"\f594"}.fa-joint{--fa:"\f595"}.fa-face-kiss,.fa-kiss{--fa:"\f596"}.fa-face-kiss-beam,.fa-kiss-beam{--fa:"\f597"}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:"\f598"}.fa-face-laugh,.fa-laugh{--fa:"\f599"}.fa-face-laugh-beam,.fa-laugh-beam{--fa:"\f59a"}.fa-face-laugh-squint,.fa-laugh-squint{--fa:"\f59b"}.fa-face-laugh-wink,.fa-laugh-wink{--fa:"\f59c"}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:"\f59d"}.fa-map-location,.fa-map-marked{--fa:"\f59f"}.fa-map-location-dot,.fa-map-marked-alt{--fa:"\f5a0"}.fa-marker{--fa:"\f5a1"}.fa-medal{--fa:"\f5a2"}.fa-face-meh-blank,.fa-meh-blank{--fa:"\f5a4"}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:"\f5a5"}.fa-monument{--fa:"\f5a6"}.fa-mortar-pestle{--fa:"\f5a7"}.fa-paint-roller{--fa:"\f5aa"}.fa-passport{--fa:"\f5ab"}.fa-pen-fancy{--fa:"\f5ac"}.fa-pen-nib{--fa:"\f5ad"}.fa-pen-ruler,.fa-pencil-ruler{--fa:"\f5ae"}.fa-plane-arrival{--fa:"\f5af"}.fa-plane-departure{--fa:"\f5b0"}.fa-prescription{--fa:"\f5b1"}.fa-face-sad-cry,.fa-sad-cry{--fa:"\f5b3"}.fa-face-sad-tear,.fa-sad-tear{--fa:"\f5b4"}.fa-shuttle-van,.fa-van-shuttle{--fa:"\f5b6"}.fa-signature{--fa:"\f5b7"}.fa-face-smile-beam,.fa-smile-beam{--fa:"\f5b8"}.fa-solar-panel{--fa:"\f5ba"}.fa-spa{--fa:"\f5bb"}.fa-splotch{--fa:"\f5bc"}.fa-spray-can{--fa:"\f5bd"}.fa-stamp{--fa:"\f5bf"}.fa-star-half-alt,.fa-star-half-stroke{--fa:"\f5c0"}.fa-suitcase-rolling{--fa:"\f5c1"}.fa-face-surprise,.fa-surprise{--fa:"\f5c2"}.fa-swatchbook{--fa:"\f5c3"}.fa-person-swimming,.fa-swimmer{--fa:"\f5c4"}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:"\f5c5"}.fa-droplet-slash,.fa-tint-slash{--fa:"\f5c7"}.fa-face-tired,.fa-tired{--fa:"\f5c8"}.fa-tooth{--fa:"\f5c9"}.fa-umbrella-beach{--fa:"\f5ca"}.fa-weight-hanging{--fa:"\f5cd"}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:"\f5ce"}.fa-air-freshener,.fa-spray-can-sparkles{--fa:"\f5d0"}.fa-apple-alt,.fa-apple-whole{--fa:"\f5d1"}.fa-atom{--fa:"\f5d2"}.fa-bone{--fa:"\f5d7"}.fa-book-open-reader,.fa-book-reader{--fa:"\f5da"}.fa-brain{--fa:"\f5dc"}.fa-car-alt,.fa-car-rear{--fa:"\f5de"}.fa-battery-car,.fa-car-battery{--fa:"\f5df"}.fa-car-burst,.fa-car-crash{--fa:"\f5e1"}.fa-car-side{--fa:"\f5e4"}.fa-charging-station{--fa:"\f5e7"}.fa-diamond-turn-right,.fa-directions{--fa:"\f5eb"}.fa-draw-polygon,.fa-vector-polygon{--fa:"\f5ee"}.fa-laptop-code{--fa:"\f5fc"}.fa-layer-group{--fa:"\f5fd"}.fa-location,.fa-location-crosshairs{--fa:"\f601"}.fa-lungs{--fa:"\f604"}.fa-microscope{--fa:"\f610"}.fa-oil-can{--fa:"\f613"}.fa-poop{--fa:"\f619"}.fa-shapes,.fa-triangle-circle-square{--fa:"\f61f"}.fa-star-of-life{--fa:"\f621"}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:"\f624"}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:"\f625"}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:"\f629"}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:"\f62a"}.fa-teeth{--fa:"\f62e"}.fa-teeth-open{--fa:"\f62f"}.fa-masks-theater,.fa-theater-masks{--fa:"\f630"}.fa-traffic-light{--fa:"\f637"}.fa-truck-monster{--fa:"\f63b"}.fa-truck-pickup{--fa:"\f63c"}.fa-ad,.fa-rectangle-ad{--fa:"\f641"}.fa-ankh{--fa:"\f644"}.fa-bible,.fa-book-bible{--fa:"\f647"}.fa-briefcase-clock,.fa-business-time{--fa:"\f64a"}.fa-city{--fa:"\f64f"}.fa-comment-dollar{--fa:"\f651"}.fa-comments-dollar{--fa:"\f653"}.fa-cross{--fa:"\f654"}.fa-dharmachakra{--fa:"\f655"}.fa-envelope-open-text{--fa:"\f658"}.fa-folder-minus{--fa:"\f65d"}.fa-folder-plus{--fa:"\f65e"}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:"\f662"}.fa-gopuram{--fa:"\f664"}.fa-hamsa{--fa:"\f665"}.fa-bahai,.fa-haykal{--fa:"\f666"}.fa-jedi{--fa:"\f669"}.fa-book-journal-whills,.fa-journal-whills{--fa:"\f66a"}.fa-kaaba{--fa:"\f66b"}.fa-khanda{--fa:"\f66d"}.fa-landmark{--fa:"\f66f"}.fa-envelopes-bulk,.fa-mail-bulk{--fa:"\f674"}.fa-menorah{--fa:"\f676"}.fa-mosque{--fa:"\f678"}.fa-om{--fa:"\f679"}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:"\f67b"}.fa-peace{--fa:"\f67c"}.fa-place-of-worship{--fa:"\f67f"}.fa-poll,.fa-square-poll-vertical{--fa:"\f681"}.fa-poll-h,.fa-square-poll-horizontal{--fa:"\f682"}.fa-person-praying,.fa-pray{--fa:"\f683"}.fa-hands-praying,.fa-praying-hands{--fa:"\f684"}.fa-book-quran,.fa-quran{--fa:"\f687"}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:"\f688"}.fa-magnifying-glass-location,.fa-search-location{--fa:"\f689"}.fa-socks{--fa:"\f696"}.fa-square-root-alt,.fa-square-root-variable{--fa:"\f698"}.fa-star-and-crescent{--fa:"\f699"}.fa-star-of-david{--fa:"\f69a"}.fa-synagogue{--fa:"\f69b"}.fa-scroll-torah,.fa-torah{--fa:"\f6a0"}.fa-torii-gate{--fa:"\f6a1"}.fa-vihara{--fa:"\f6a7"}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:"\f6a9"}.fa-yin-yang{--fa:"\f6ad"}.fa-blender-phone{--fa:"\f6b6"}.fa-book-dead,.fa-book-skull{--fa:"\f6b7"}.fa-campground{--fa:"\f6bb"}.fa-cat{--fa:"\f6be"}.fa-chair{--fa:"\f6c0"}.fa-cloud-moon{--fa:"\f6c3"}.fa-cloud-sun{--fa:"\f6c4"}.fa-cow{--fa:"\f6c8"}.fa-dice-d20{--fa:"\f6cf"}.fa-dice-d6{--fa:"\f6d1"}.fa-dog{--fa:"\f6d3"}.fa-dragon{--fa:"\f6d5"}.fa-drumstick-bite{--fa:"\f6d7"}.fa-dungeon{--fa:"\f6d9"}.fa-file-csv{--fa:"\f6dd"}.fa-fist-raised,.fa-hand-fist{--fa:"\f6de"}.fa-ghost{--fa:"\f6e2"}.fa-hammer{--fa:"\f6e3"}.fa-hanukiah{--fa:"\f6e6"}.fa-hat-wizard{--fa:"\f6e8"}.fa-hiking,.fa-person-hiking{--fa:"\f6ec"}.fa-hippo{--fa:"\f6ed"}.fa-horse{--fa:"\f6f0"}.fa-house-chimney-crack,.fa-house-damage{--fa:"\f6f1"}.fa-hryvnia,.fa-hryvnia-sign{--fa:"\f6f2"}.fa-mask{--fa:"\f6fa"}.fa-mountain{--fa:"\f6fc"}.fa-network-wired{--fa:"\f6ff"}.fa-otter{--fa:"\f700"}.fa-ring{--fa:"\f70b"}.fa-person-running,.fa-running{--fa:"\f70c"}.fa-scroll{--fa:"\f70e"}.fa-skull-crossbones{--fa:"\f714"}.fa-slash{--fa:"\f715"}.fa-spider{--fa:"\f717"}.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:"\f71e"}.fa-tractor{--fa:"\f722"}.fa-user-injured{--fa:"\f728"}.fa-vr-cardboard{--fa:"\f729"}.fa-wand-sparkles{--fa:"\f72b"}.fa-wind{--fa:"\f72e"}.fa-wine-bottle{--fa:"\f72f"}.fa-cloud-meatball{--fa:"\f73b"}.fa-cloud-moon-rain{--fa:"\f73c"}.fa-cloud-rain{--fa:"\f73d"}.fa-cloud-showers-heavy{--fa:"\f740"}.fa-cloud-sun-rain{--fa:"\f743"}.fa-democrat{--fa:"\f747"}.fa-flag-usa{--fa:"\f74d"}.fa-hurricane{--fa:"\f751"}.fa-landmark-alt,.fa-landmark-dome{--fa:"\f752"}.fa-meteor{--fa:"\f753"}.fa-person-booth{--fa:"\f756"}.fa-poo-bolt,.fa-poo-storm{--fa:"\f75a"}.fa-rainbow{--fa:"\f75b"}.fa-republican{--fa:"\f75e"}.fa-smog{--fa:"\f75f"}.fa-temperature-high{--fa:"\f769"}.fa-temperature-low{--fa:"\f76b"}.fa-cloud-bolt,.fa-thunderstorm{--fa:"\f76c"}.fa-tornado{--fa:"\f76f"}.fa-volcano{--fa:"\f770"}.fa-check-to-slot,.fa-vote-yea{--fa:"\f772"}.fa-water{--fa:"\f773"}.fa-baby{--fa:"\f77c"}.fa-baby-carriage,.fa-carriage-baby{--fa:"\f77d"}.fa-biohazard{--fa:"\f780"}.fa-blog{--fa:"\f781"}.fa-calendar-day{--fa:"\f783"}.fa-calendar-week{--fa:"\f784"}.fa-candy-cane{--fa:"\f786"}.fa-carrot{--fa:"\f787"}.fa-cash-register{--fa:"\f788"}.fa-compress-arrows-alt,.fa-minimize{--fa:"\f78c"}.fa-dumpster{--fa:"\f793"}.fa-dumpster-fire{--fa:"\f794"}.fa-ethernet{--fa:"\f796"}.fa-gifts{--fa:"\f79c"}.fa-champagne-glasses,.fa-glass-cheers{--fa:"\f79f"}.fa-glass-whiskey,.fa-whiskey-glass{--fa:"\f7a0"}.fa-earth-europe,.fa-globe-europe{--fa:"\f7a2"}.fa-grip-lines{--fa:"\f7a4"}.fa-grip-lines-vertical{--fa:"\f7a5"}.fa-guitar{--fa:"\f7a6"}.fa-heart-broken,.fa-heart-crack{--fa:"\f7a9"}.fa-holly-berry{--fa:"\f7aa"}.fa-horse-head{--fa:"\f7ab"}.fa-icicles{--fa:"\f7ad"}.fa-igloo{--fa:"\f7ae"}.fa-mitten{--fa:"\f7b5"}.fa-mug-hot{--fa:"\f7b6"}.fa-radiation{--fa:"\f7b9"}.fa-circle-radiation,.fa-radiation-alt{--fa:"\f7ba"}.fa-restroom{--fa:"\f7bd"}.fa-satellite{--fa:"\f7bf"}.fa-satellite-dish{--fa:"\f7c0"}.fa-sd-card{--fa:"\f7c2"}.fa-sim-card{--fa:"\f7c4"}.fa-person-skating,.fa-skating{--fa:"\f7c5"}.fa-person-skiing,.fa-skiing{--fa:"\f7c9"}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:"\f7ca"}.fa-sleigh{--fa:"\f7cc"}.fa-comment-sms,.fa-sms{--fa:"\f7cd"}.fa-person-snowboarding,.fa-snowboarding{--fa:"\f7ce"}.fa-snowman{--fa:"\f7d0"}.fa-snowplow{--fa:"\f7d2"}.fa-tenge,.fa-tenge-sign{--fa:"\f7d7"}.fa-toilet{--fa:"\f7d8"}.fa-screwdriver-wrench,.fa-tools{--fa:"\f7d9"}.fa-cable-car,.fa-tram{--fa:"\f7da"}.fa-fire-alt,.fa-fire-flame-curved{--fa:"\f7e4"}.fa-bacon{--fa:"\f7e5"}.fa-book-medical{--fa:"\f7e6"}.fa-bread-slice{--fa:"\f7ec"}.fa-cheese{--fa:"\f7ef"}.fa-clinic-medical,.fa-house-chimney-medical{--fa:"\f7f2"}.fa-clipboard-user{--fa:"\f7f3"}.fa-comment-medical{--fa:"\f7f5"}.fa-crutch{--fa:"\f7f7"}.fa-disease{--fa:"\f7fa"}.fa-egg{--fa:"\f7fb"}.fa-folder-tree{--fa:"\f802"}.fa-burger,.fa-hamburger{--fa:"\f805"}.fa-hand-middle-finger{--fa:"\f806"}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:"\f807"}.fa-hospital-user{--fa:"\f80d"}.fa-hotdog{--fa:"\f80f"}.fa-ice-cream{--fa:"\f810"}.fa-laptop-medical{--fa:"\f812"}.fa-pager{--fa:"\f815"}.fa-pepper-hot{--fa:"\f816"}.fa-pizza-slice{--fa:"\f818"}.fa-sack-dollar{--fa:"\f81d"}.fa-book-tanakh,.fa-tanakh{--fa:"\f827"}.fa-bars-progress,.fa-tasks-alt{--fa:"\f828"}.fa-trash-arrow-up,.fa-trash-restore{--fa:"\f829"}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:"\f82a"}.fa-user-nurse{--fa:"\f82f"}.fa-wave-square{--fa:"\f83e"}.fa-biking,.fa-person-biking{--fa:"\f84a"}.fa-border-all{--fa:"\f84c"}.fa-border-none{--fa:"\f850"}.fa-border-style,.fa-border-top-left{--fa:"\f853"}.fa-digging,.fa-person-digging{--fa:"\f85e"}.fa-fan{--fa:"\f863"}.fa-heart-music-camera-bolt,.fa-icons{--fa:"\f86d"}.fa-phone-alt,.fa-phone-flip{--fa:"\f879"}.fa-phone-square-alt,.fa-square-phone-flip{--fa:"\f87b"}.fa-photo-film,.fa-photo-video{--fa:"\f87c"}.fa-remove-format,.fa-text-slash{--fa:"\f87d"}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:"\f881"}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:"\f882"}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:"\f884"}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:"\f885"}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:"\f886"}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:"\f887"}.fa-spell-check{--fa:"\f891"}.fa-voicemail{--fa:"\f897"}.fa-hat-cowboy{--fa:"\f8c0"}.fa-hat-cowboy-side{--fa:"\f8c1"}.fa-computer-mouse,.fa-mouse{--fa:"\f8cc"}.fa-radio{--fa:"\f8d7"}.fa-record-vinyl{--fa:"\f8d9"}.fa-walkie-talkie{--fa:"\f8ef"}.fa-caravan{--fa:"\f8ff"} -:host,:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}@font-face{font-family:"Font Awesome 7 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2)}.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}.fa-firefox-browser{--fa:"\e007"}.fa-ideal{--fa:"\e013"}.fa-microblog{--fa:"\e01a"}.fa-pied-piper-square,.fa-square-pied-piper{--fa:"\e01e"}.fa-unity{--fa:"\e049"}.fa-dailymotion{--fa:"\e052"}.fa-instagram-square,.fa-square-instagram{--fa:"\e055"}.fa-mixer{--fa:"\e056"}.fa-shopify{--fa:"\e057"}.fa-deezer{--fa:"\e077"}.fa-edge-legacy{--fa:"\e078"}.fa-google-pay{--fa:"\e079"}.fa-rust{--fa:"\e07a"}.fa-tiktok{--fa:"\e07b"}.fa-unsplash{--fa:"\e07c"}.fa-cloudflare{--fa:"\e07d"}.fa-guilded{--fa:"\e07e"}.fa-hive{--fa:"\e07f"}.fa-42-group,.fa-innosoft{--fa:"\e080"}.fa-instalod{--fa:"\e081"}.fa-octopus-deploy{--fa:"\e082"}.fa-perbyte{--fa:"\e083"}.fa-uncharted{--fa:"\e084"}.fa-watchman-monitoring{--fa:"\e087"}.fa-wodu{--fa:"\e088"}.fa-wirsindhandwerk,.fa-wsh{--fa:"\e2d0"}.fa-bots{--fa:"\e340"}.fa-cmplid{--fa:"\e360"}.fa-bilibili{--fa:"\e3d9"}.fa-golang{--fa:"\e40f"}.fa-pix{--fa:"\e43a"}.fa-sitrox{--fa:"\e44a"}.fa-hashnode{--fa:"\e499"}.fa-meta{--fa:"\e49b"}.fa-padlet{--fa:"\e4a0"}.fa-nfc-directional{--fa:"\e530"}.fa-nfc-symbol{--fa:"\e531"}.fa-screenpal{--fa:"\e570"}.fa-space-awesome{--fa:"\e5ac"}.fa-square-font-awesome{--fa:"\e5ad"}.fa-gitlab-square,.fa-square-gitlab{--fa:"\e5ae"}.fa-odysee{--fa:"\e5c6"}.fa-stubber{--fa:"\e5c7"}.fa-debian{--fa:"\e60b"}.fa-shoelace{--fa:"\e60c"}.fa-threads{--fa:"\e618"}.fa-square-threads{--fa:"\e619"}.fa-square-x-twitter{--fa:"\e61a"}.fa-x-twitter{--fa:"\e61b"}.fa-opensuse{--fa:"\e62b"}.fa-letterboxd{--fa:"\e62d"}.fa-square-letterboxd{--fa:"\e62e"}.fa-mintbit{--fa:"\e62f"}.fa-google-scholar{--fa:"\e63b"}.fa-brave{--fa:"\e63c"}.fa-brave-reverse{--fa:"\e63d"}.fa-pixiv{--fa:"\e640"}.fa-upwork{--fa:"\e641"}.fa-webflow{--fa:"\e65c"}.fa-signal-messenger{--fa:"\e663"}.fa-bluesky{--fa:"\e671"}.fa-jxl{--fa:"\e67b"}.fa-square-upwork{--fa:"\e67c"}.fa-web-awesome{--fa:"\e682"}.fa-square-web-awesome{--fa:"\e683"}.fa-square-web-awesome-stroke{--fa:"\e684"}.fa-dart-lang{--fa:"\e693"}.fa-flutter{--fa:"\e694"}.fa-files-pinwheel{--fa:"\e69f"}.fa-css{--fa:"\e6a2"}.fa-square-bluesky{--fa:"\e6a3"}.fa-openai{--fa:"\e7cf"}.fa-square-linkedin{--fa:"\e7d0"}.fa-cash-app{--fa:"\e7d4"}.fa-disqus{--fa:"\e7d5"}.fa-11ty,.fa-eleventy{--fa:"\e7d6"}.fa-kakao-talk{--fa:"\e7d7"}.fa-linktree{--fa:"\e7d8"}.fa-notion{--fa:"\e7d9"}.fa-pandora{--fa:"\e7da"}.fa-pixelfed{--fa:"\e7db"}.fa-tidal{--fa:"\e7dc"}.fa-vsco{--fa:"\e7dd"}.fa-w3c{--fa:"\e7de"}.fa-lumon{--fa:"\e7e2"}.fa-lumon-drop{--fa:"\e7e3"}.fa-square-figma{--fa:"\e7e4"}.fa-tex{--fa:"\e7ff"}.fa-duolingo{--fa:"\e812"}.fa-square-twitter,.fa-twitter-square{--fa:"\f081"}.fa-facebook-square,.fa-square-facebook{--fa:"\f082"}.fa-linkedin{--fa:"\f08c"}.fa-github-square,.fa-square-github{--fa:"\f092"}.fa-twitter{--fa:"\f099"}.fa-facebook{--fa:"\f09a"}.fa-github{--fa:"\f09b"}.fa-pinterest{--fa:"\f0d2"}.fa-pinterest-square,.fa-square-pinterest{--fa:"\f0d3"}.fa-google-plus-square,.fa-square-google-plus{--fa:"\f0d4"}.fa-google-plus-g{--fa:"\f0d5"}.fa-linkedin-in{--fa:"\f0e1"}.fa-github-alt{--fa:"\f113"}.fa-maxcdn{--fa:"\f136"}.fa-html5{--fa:"\f13b"}.fa-css3{--fa:"\f13c"}.fa-btc{--fa:"\f15a"}.fa-youtube{--fa:"\f167"}.fa-xing{--fa:"\f168"}.fa-square-xing,.fa-xing-square{--fa:"\f169"}.fa-dropbox{--fa:"\f16b"}.fa-stack-overflow{--fa:"\f16c"}.fa-instagram{--fa:"\f16d"}.fa-flickr{--fa:"\f16e"}.fa-adn{--fa:"\f170"}.fa-bitbucket{--fa:"\f171"}.fa-tumblr{--fa:"\f173"}.fa-square-tumblr,.fa-tumblr-square{--fa:"\f174"}.fa-apple{--fa:"\f179"}.fa-windows{--fa:"\f17a"}.fa-android{--fa:"\f17b"}.fa-linux{--fa:"\f17c"}.fa-dribbble{--fa:"\f17d"}.fa-skype{--fa:"\f17e"}.fa-foursquare{--fa:"\f180"}.fa-trello{--fa:"\f181"}.fa-gratipay{--fa:"\f184"}.fa-vk{--fa:"\f189"}.fa-weibo{--fa:"\f18a"}.fa-renren{--fa:"\f18b"}.fa-pagelines{--fa:"\f18c"}.fa-stack-exchange{--fa:"\f18d"}.fa-square-vimeo,.fa-vimeo-square{--fa:"\f194"}.fa-slack,.fa-slack-hash{--fa:"\f198"}.fa-wordpress{--fa:"\f19a"}.fa-openid{--fa:"\f19b"}.fa-yahoo{--fa:"\f19e"}.fa-google{--fa:"\f1a0"}.fa-reddit{--fa:"\f1a1"}.fa-reddit-square,.fa-square-reddit{--fa:"\f1a2"}.fa-stumbleupon-circle{--fa:"\f1a3"}.fa-stumbleupon{--fa:"\f1a4"}.fa-delicious{--fa:"\f1a5"}.fa-digg{--fa:"\f1a6"}.fa-pied-piper-pp{--fa:"\f1a7"}.fa-pied-piper-alt{--fa:"\f1a8"}.fa-drupal{--fa:"\f1a9"}.fa-joomla{--fa:"\f1aa"}.fa-behance{--fa:"\f1b4"}.fa-behance-square,.fa-square-behance{--fa:"\f1b5"}.fa-steam{--fa:"\f1b6"}.fa-square-steam,.fa-steam-square{--fa:"\f1b7"}.fa-spotify{--fa:"\f1bc"}.fa-deviantart{--fa:"\f1bd"}.fa-soundcloud{--fa:"\f1be"}.fa-vine{--fa:"\f1ca"}.fa-codepen{--fa:"\f1cb"}.fa-jsfiddle{--fa:"\f1cc"}.fa-rebel{--fa:"\f1d0"}.fa-empire{--fa:"\f1d1"}.fa-git-square,.fa-square-git{--fa:"\f1d2"}.fa-git{--fa:"\f1d3"}.fa-hacker-news{--fa:"\f1d4"}.fa-tencent-weibo{--fa:"\f1d5"}.fa-qq{--fa:"\f1d6"}.fa-weixin{--fa:"\f1d7"}.fa-slideshare{--fa:"\f1e7"}.fa-twitch{--fa:"\f1e8"}.fa-yelp{--fa:"\f1e9"}.fa-paypal{--fa:"\f1ed"}.fa-google-wallet{--fa:"\f1ee"}.fa-cc-visa{--fa:"\f1f0"}.fa-cc-mastercard{--fa:"\f1f1"}.fa-cc-discover{--fa:"\f1f2"}.fa-cc-amex{--fa:"\f1f3"}.fa-cc-paypal{--fa:"\f1f4"}.fa-cc-stripe{--fa:"\f1f5"}.fa-lastfm{--fa:"\f202"}.fa-lastfm-square,.fa-square-lastfm{--fa:"\f203"}.fa-ioxhost{--fa:"\f208"}.fa-angellist{--fa:"\f209"}.fa-buysellads{--fa:"\f20d"}.fa-connectdevelop{--fa:"\f20e"}.fa-dashcube{--fa:"\f210"}.fa-forumbee{--fa:"\f211"}.fa-leanpub{--fa:"\f212"}.fa-sellsy{--fa:"\f213"}.fa-shirtsinbulk{--fa:"\f214"}.fa-simplybuilt{--fa:"\f215"}.fa-skyatlas{--fa:"\f216"}.fa-pinterest-p{--fa:"\f231"}.fa-whatsapp{--fa:"\f232"}.fa-viacoin{--fa:"\f237"}.fa-medium,.fa-medium-m{--fa:"\f23a"}.fa-y-combinator{--fa:"\f23b"}.fa-optin-monster{--fa:"\f23c"}.fa-opencart{--fa:"\f23d"}.fa-expeditedssl{--fa:"\f23e"}.fa-cc-jcb{--fa:"\f24b"}.fa-cc-diners-club{--fa:"\f24c"}.fa-creative-commons{--fa:"\f25e"}.fa-gg{--fa:"\f260"}.fa-gg-circle{--fa:"\f261"}.fa-odnoklassniki{--fa:"\f263"}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:"\f264"}.fa-get-pocket{--fa:"\f265"}.fa-wikipedia-w{--fa:"\f266"}.fa-safari{--fa:"\f267"}.fa-chrome{--fa:"\f268"}.fa-firefox{--fa:"\f269"}.fa-opera{--fa:"\f26a"}.fa-internet-explorer{--fa:"\f26b"}.fa-contao{--fa:"\f26d"}.fa-500px{--fa:"\f26e"}.fa-amazon{--fa:"\f270"}.fa-houzz{--fa:"\f27c"}.fa-vimeo-v{--fa:"\f27d"}.fa-black-tie{--fa:"\f27e"}.fa-fonticons{--fa:"\f280"}.fa-reddit-alien{--fa:"\f281"}.fa-edge{--fa:"\f282"}.fa-codiepie{--fa:"\f284"}.fa-modx{--fa:"\f285"}.fa-fort-awesome{--fa:"\f286"}.fa-usb{--fa:"\f287"}.fa-product-hunt{--fa:"\f288"}.fa-mixcloud{--fa:"\f289"}.fa-scribd{--fa:"\f28a"}.fa-bluetooth{--fa:"\f293"}.fa-bluetooth-b{--fa:"\f294"}.fa-gitlab{--fa:"\f296"}.fa-wpbeginner{--fa:"\f297"}.fa-wpforms{--fa:"\f298"}.fa-envira{--fa:"\f299"}.fa-glide{--fa:"\f2a5"}.fa-glide-g{--fa:"\f2a6"}.fa-viadeo{--fa:"\f2a9"}.fa-square-viadeo,.fa-viadeo-square{--fa:"\f2aa"}.fa-snapchat,.fa-snapchat-ghost{--fa:"\f2ab"}.fa-snapchat-square,.fa-square-snapchat{--fa:"\f2ad"}.fa-pied-piper{--fa:"\f2ae"}.fa-first-order{--fa:"\f2b0"}.fa-yoast{--fa:"\f2b1"}.fa-themeisle{--fa:"\f2b2"}.fa-google-plus{--fa:"\f2b3"}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}.fa-linode{--fa:"\f2b8"}.fa-quora{--fa:"\f2c4"}.fa-free-code-camp{--fa:"\f2c5"}.fa-telegram,.fa-telegram-plane{--fa:"\f2c6"}.fa-bandcamp{--fa:"\f2d5"}.fa-grav{--fa:"\f2d6"}.fa-etsy{--fa:"\f2d7"}.fa-imdb{--fa:"\f2d8"}.fa-ravelry{--fa:"\f2d9"}.fa-sellcast{--fa:"\f2da"}.fa-superpowers{--fa:"\f2dd"}.fa-wpexplorer{--fa:"\f2de"}.fa-meetup{--fa:"\f2e0"}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:"\f35c"}.fa-accessible-icon{--fa:"\f368"}.fa-accusoft{--fa:"\f369"}.fa-adversal{--fa:"\f36a"}.fa-affiliatetheme{--fa:"\f36b"}.fa-algolia{--fa:"\f36c"}.fa-amilia{--fa:"\f36d"}.fa-angrycreative{--fa:"\f36e"}.fa-app-store{--fa:"\f36f"}.fa-app-store-ios{--fa:"\f370"}.fa-apper{--fa:"\f371"}.fa-asymmetrik{--fa:"\f372"}.fa-audible{--fa:"\f373"}.fa-avianex{--fa:"\f374"}.fa-aws{--fa:"\f375"}.fa-bimobject{--fa:"\f378"}.fa-bitcoin{--fa:"\f379"}.fa-bity{--fa:"\f37a"}.fa-blackberry{--fa:"\f37b"}.fa-blogger{--fa:"\f37c"}.fa-blogger-b{--fa:"\f37d"}.fa-buromobelexperte{--fa:"\f37f"}.fa-centercode{--fa:"\f380"}.fa-cloudscale{--fa:"\f383"}.fa-cloudsmith{--fa:"\f384"}.fa-cloudversify{--fa:"\f385"}.fa-cpanel{--fa:"\f388"}.fa-css3-alt{--fa:"\f38b"}.fa-cuttlefish{--fa:"\f38c"}.fa-d-and-d{--fa:"\f38d"}.fa-deploydog{--fa:"\f38e"}.fa-deskpro{--fa:"\f38f"}.fa-digital-ocean{--fa:"\f391"}.fa-discord{--fa:"\f392"}.fa-discourse{--fa:"\f393"}.fa-dochub{--fa:"\f394"}.fa-docker{--fa:"\f395"}.fa-draft2digital{--fa:"\f396"}.fa-dribbble-square,.fa-square-dribbble{--fa:"\f397"}.fa-dyalog{--fa:"\f399"}.fa-earlybirds{--fa:"\f39a"}.fa-erlang{--fa:"\f39d"}.fa-facebook-f{--fa:"\f39e"}.fa-facebook-messenger{--fa:"\f39f"}.fa-firstdraft{--fa:"\f3a1"}.fa-fonticons-fi{--fa:"\f3a2"}.fa-fort-awesome-alt{--fa:"\f3a3"}.fa-freebsd{--fa:"\f3a4"}.fa-gitkraken{--fa:"\f3a6"}.fa-gofore{--fa:"\f3a7"}.fa-goodreads{--fa:"\f3a8"}.fa-goodreads-g{--fa:"\f3a9"}.fa-google-drive{--fa:"\f3aa"}.fa-google-play{--fa:"\f3ab"}.fa-gripfire{--fa:"\f3ac"}.fa-grunt{--fa:"\f3ad"}.fa-gulp{--fa:"\f3ae"}.fa-hacker-news-square,.fa-square-hacker-news{--fa:"\f3af"}.fa-hire-a-helper{--fa:"\f3b0"}.fa-hotjar{--fa:"\f3b1"}.fa-hubspot{--fa:"\f3b2"}.fa-itunes{--fa:"\f3b4"}.fa-itunes-note{--fa:"\f3b5"}.fa-jenkins{--fa:"\f3b6"}.fa-joget{--fa:"\f3b7"}.fa-js{--fa:"\f3b8"}.fa-js-square,.fa-square-js{--fa:"\f3b9"}.fa-keycdn{--fa:"\f3ba"}.fa-kickstarter,.fa-square-kickstarter{--fa:"\f3bb"}.fa-kickstarter-k{--fa:"\f3bc"}.fa-laravel{--fa:"\f3bd"}.fa-line{--fa:"\f3c0"}.fa-lyft{--fa:"\f3c3"}.fa-magento{--fa:"\f3c4"}.fa-medapps{--fa:"\f3c6"}.fa-medrt{--fa:"\f3c8"}.fa-microsoft{--fa:"\f3ca"}.fa-mix{--fa:"\f3cb"}.fa-mizuni{--fa:"\f3cc"}.fa-monero{--fa:"\f3d0"}.fa-napster{--fa:"\f3d2"}.fa-node-js{--fa:"\f3d3"}.fa-npm{--fa:"\f3d4"}.fa-ns8{--fa:"\f3d5"}.fa-nutritionix{--fa:"\f3d6"}.fa-page4{--fa:"\f3d7"}.fa-palfed{--fa:"\f3d8"}.fa-patreon{--fa:"\f3d9"}.fa-periscope{--fa:"\f3da"}.fa-phabricator{--fa:"\f3db"}.fa-phoenix-framework{--fa:"\f3dc"}.fa-playstation{--fa:"\f3df"}.fa-pushed{--fa:"\f3e1"}.fa-python{--fa:"\f3e2"}.fa-red-river{--fa:"\f3e3"}.fa-rendact,.fa-wpressr{--fa:"\f3e4"}.fa-replyd{--fa:"\f3e6"}.fa-resolving{--fa:"\f3e7"}.fa-rocketchat{--fa:"\f3e8"}.fa-rockrms{--fa:"\f3e9"}.fa-schlix{--fa:"\f3ea"}.fa-searchengin{--fa:"\f3eb"}.fa-servicestack{--fa:"\f3ec"}.fa-sistrix{--fa:"\f3ee"}.fa-speakap{--fa:"\f3f3"}.fa-staylinked{--fa:"\f3f5"}.fa-steam-symbol{--fa:"\f3f6"}.fa-sticker-mule{--fa:"\f3f7"}.fa-studiovinari{--fa:"\f3f8"}.fa-supple{--fa:"\f3f9"}.fa-uber{--fa:"\f402"}.fa-uikit{--fa:"\f403"}.fa-uniregistry{--fa:"\f404"}.fa-untappd{--fa:"\f405"}.fa-ussunnah{--fa:"\f407"}.fa-vaadin{--fa:"\f408"}.fa-viber{--fa:"\f409"}.fa-vimeo{--fa:"\f40a"}.fa-vnv{--fa:"\f40b"}.fa-square-whatsapp,.fa-whatsapp-square{--fa:"\f40c"}.fa-whmcs{--fa:"\f40d"}.fa-wordpress-simple{--fa:"\f411"}.fa-xbox{--fa:"\f412"}.fa-yandex{--fa:"\f413"}.fa-yandex-international{--fa:"\f414"}.fa-apple-pay{--fa:"\f415"}.fa-cc-apple-pay{--fa:"\f416"}.fa-fly{--fa:"\f417"}.fa-node{--fa:"\f419"}.fa-osi{--fa:"\f41a"}.fa-react{--fa:"\f41b"}.fa-autoprefixer{--fa:"\f41c"}.fa-less{--fa:"\f41d"}.fa-sass{--fa:"\f41e"}.fa-vuejs{--fa:"\f41f"}.fa-angular{--fa:"\f420"}.fa-aviato{--fa:"\f421"}.fa-ember{--fa:"\f423"}.fa-gitter{--fa:"\f426"}.fa-hooli{--fa:"\f427"}.fa-strava{--fa:"\f428"}.fa-stripe{--fa:"\f429"}.fa-stripe-s{--fa:"\f42a"}.fa-typo3{--fa:"\f42b"}.fa-amazon-pay{--fa:"\f42c"}.fa-cc-amazon-pay{--fa:"\f42d"}.fa-ethereum{--fa:"\f42e"}.fa-korvue{--fa:"\f42f"}.fa-elementor{--fa:"\f430"}.fa-square-youtube,.fa-youtube-square{--fa:"\f431"}.fa-flipboard{--fa:"\f44d"}.fa-hips{--fa:"\f452"}.fa-php{--fa:"\f457"}.fa-quinscape{--fa:"\f459"}.fa-readme{--fa:"\f4d5"}.fa-java{--fa:"\f4e4"}.fa-pied-piper-hat{--fa:"\f4e5"}.fa-creative-commons-by{--fa:"\f4e7"}.fa-creative-commons-nc{--fa:"\f4e8"}.fa-creative-commons-nc-eu{--fa:"\f4e9"}.fa-creative-commons-nc-jp{--fa:"\f4ea"}.fa-creative-commons-nd{--fa:"\f4eb"}.fa-creative-commons-pd{--fa:"\f4ec"}.fa-creative-commons-pd-alt{--fa:"\f4ed"}.fa-creative-commons-remix{--fa:"\f4ee"}.fa-creative-commons-sa{--fa:"\f4ef"}.fa-creative-commons-sampling{--fa:"\f4f0"}.fa-creative-commons-sampling-plus{--fa:"\f4f1"}.fa-creative-commons-share{--fa:"\f4f2"}.fa-creative-commons-zero{--fa:"\f4f3"}.fa-ebay{--fa:"\f4f4"}.fa-keybase{--fa:"\f4f5"}.fa-mastodon{--fa:"\f4f6"}.fa-r-project{--fa:"\f4f7"}.fa-researchgate{--fa:"\f4f8"}.fa-teamspeak{--fa:"\f4f9"}.fa-first-order-alt{--fa:"\f50a"}.fa-fulcrum{--fa:"\f50b"}.fa-galactic-republic{--fa:"\f50c"}.fa-galactic-senate{--fa:"\f50d"}.fa-jedi-order{--fa:"\f50e"}.fa-mandalorian{--fa:"\f50f"}.fa-old-republic{--fa:"\f510"}.fa-phoenix-squadron{--fa:"\f511"}.fa-sith{--fa:"\f512"}.fa-trade-federation{--fa:"\f513"}.fa-wolf-pack-battalion{--fa:"\f514"}.fa-hornbill{--fa:"\f592"}.fa-mailchimp{--fa:"\f59e"}.fa-megaport{--fa:"\f5a3"}.fa-nimblr{--fa:"\f5a8"}.fa-rev{--fa:"\f5b2"}.fa-shopware{--fa:"\f5b5"}.fa-squarespace{--fa:"\f5be"}.fa-themeco{--fa:"\f5c6"}.fa-weebly{--fa:"\f5cc"}.fa-wix{--fa:"\f5cf"}.fa-ello{--fa:"\f5f1"}.fa-hackerrank{--fa:"\f5f7"}.fa-kaggle{--fa:"\f5fa"}.fa-markdown{--fa:"\f60f"}.fa-neos{--fa:"\f612"}.fa-zhihu{--fa:"\f63f"}.fa-alipay{--fa:"\f642"}.fa-the-red-yeti{--fa:"\f69d"}.fa-critical-role{--fa:"\f6c9"}.fa-d-and-d-beyond{--fa:"\f6ca"}.fa-dev{--fa:"\f6cc"}.fa-fantasy-flight-games{--fa:"\f6dc"}.fa-wizards-of-the-coast{--fa:"\f730"}.fa-think-peaks{--fa:"\f731"}.fa-reacteurope{--fa:"\f75d"}.fa-artstation{--fa:"\f77a"}.fa-atlassian{--fa:"\f77b"}.fa-canadian-maple-leaf{--fa:"\f785"}.fa-centos{--fa:"\f789"}.fa-confluence{--fa:"\f78d"}.fa-dhl{--fa:"\f790"}.fa-diaspora{--fa:"\f791"}.fa-fedex{--fa:"\f797"}.fa-fedora{--fa:"\f798"}.fa-figma{--fa:"\f799"}.fa-intercom{--fa:"\f7af"}.fa-invision{--fa:"\f7b0"}.fa-jira{--fa:"\f7b1"}.fa-mendeley{--fa:"\f7b3"}.fa-raspberry-pi{--fa:"\f7bb"}.fa-redhat{--fa:"\f7bc"}.fa-sketch{--fa:"\f7c6"}.fa-sourcetree{--fa:"\f7d3"}.fa-suse{--fa:"\f7d6"}.fa-ubuntu{--fa:"\f7df"}.fa-ups{--fa:"\f7e0"}.fa-usps{--fa:"\f7e1"}.fa-yarn{--fa:"\f7e3"}.fa-airbnb{--fa:"\f834"}.fa-battle-net{--fa:"\f835"}.fa-bootstrap{--fa:"\f836"}.fa-buffer{--fa:"\f837"}.fa-chromecast{--fa:"\f838"}.fa-evernote{--fa:"\f839"}.fa-itch-io{--fa:"\f83a"}.fa-salesforce{--fa:"\f83b"}.fa-speaker-deck{--fa:"\f83c"}.fa-symfony{--fa:"\f83d"}.fa-waze{--fa:"\f83f"}.fa-yammer{--fa:"\f840"}.fa-git-alt{--fa:"\f841"}.fa-stackpath{--fa:"\f842"}.fa-cotton-bureau{--fa:"\f89e"}.fa-buy-n-large{--fa:"\f8a6"}.fa-mdb{--fa:"\f8ca"}.fa-orcid{--fa:"\f8d2"}.fa-swift{--fa:"\f8e1"}.fa-umbraco{--fa:"\f8e8"}:host,:root{--fa-font-regular:normal 400 1em/1 var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2)}.far{--fa-family:var(--fa-family-classic)}.fa-regular,.far{--fa-style:400}:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2)}.fas{--fa-style:900}.fa-classic,.fas{--fa-family:var(--fa-family-classic)}.fa-solid{--fa-style:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a} \ No newline at end of file diff --git a/assets/lib/fontawesome/webfonts/fa-brands-400.woff2 b/assets/lib/fontawesome/webfonts/fa-brands-400.woff2 deleted file mode 100644 index d0b8f69e..00000000 Binary files a/assets/lib/fontawesome/webfonts/fa-brands-400.woff2 and /dev/null differ diff --git a/assets/lib/fontawesome/webfonts/fa-regular-400.woff2 b/assets/lib/fontawesome/webfonts/fa-regular-400.woff2 deleted file mode 100644 index 2eca12b0..00000000 Binary files a/assets/lib/fontawesome/webfonts/fa-regular-400.woff2 and /dev/null differ diff --git a/assets/lib/fontawesome/webfonts/fa-solid-900.woff2 b/assets/lib/fontawesome/webfonts/fa-solid-900.woff2 deleted file mode 100644 index c20c7f4f..00000000 Binary files a/assets/lib/fontawesome/webfonts/fa-solid-900.woff2 and /dev/null differ diff --git a/assets/lib/fontawesome/webfonts/fa-v4compatibility.woff2 b/assets/lib/fontawesome/webfonts/fa-v4compatibility.woff2 deleted file mode 100644 index 275e92fc..00000000 Binary files a/assets/lib/fontawesome/webfonts/fa-v4compatibility.woff2 and /dev/null differ diff --git a/astro.config.ts b/astro.config.ts new file mode 100644 index 00000000..4b729f4a --- /dev/null +++ b/astro.config.ts @@ -0,0 +1,108 @@ +import sitemap from "@astrojs/sitemap"; +import starlight from "@astrojs/starlight"; +import { defineConfig } from "astro/config"; +import { localeConfig } from "./config/locale"; +import { sidebarConfig } from "./config/sidebar"; + +import react from "@astrojs/react"; + +const urlHandler = (url: string) => { + if (url.endsWith("/")) { + url += "index.html"; + } else if (!url.endsWith(".html")) { + url += ".html"; + } + return url; +}; + +let siteUrl = process.env.PUBLIC_SITE_URL || "http://localhost:4321"; +if (!siteUrl.endsWith("/")) { + siteUrl += "/"; +} + +const site = new URL(siteUrl); + +export default defineConfig({ + site: site.origin, + base: site.pathname, + trailingSlash: "never", + redirects: { + "/contribution": "/guides/contribution.html", + "/crash-support-group": "/guides/crash-support-group.html", + "/faq": "/guides/faq.html", + "/groups": "/guides/groups.html", + "/help": "/guides/help.html", + "/downloads/hmcl-snapshot-update": { + status: 302, + destination: "https://hmcl-snapshot-update.netlify.app", + }, + "/downloads/loongnix": "/downloads/linux/loongarch64.html", + "/launcher/fabric_and_optifine_install": "/launcher/fabric-and-optifine-install.html", + "/launcher/global-version-isolation": "/launcher/isolation.html", + }, + output: "static", + integrations: [ + sitemap({ + i18n: { + defaultLocale: localeConfig.defaultLocale, + locales: Object.fromEntries( + Object.entries(localeConfig.locales).map(([locale, config]) => [locale, config!.lang!]) + ), + }, + filter: (page) => + !["changelog/dev", "changelog/stable"].includes(page.slice(site.href.length)), + serialize(item) { + if (Array.isArray(item.links)) { + for (const linkItem of item.links) { + linkItem.url = urlHandler(linkItem.url); + } + } + item.url = urlHandler(item.url); + return item; + }, + }), + starlight({ + title: { + "zh-Hans": "HMCL 文档", + "zh-Hant": "HMCL 文檔", + en: "HMCL Documentation", + }, + components: { + Banner: "./src/components/starlight/Banner.astro", + PageTitle: "./src/components/starlight/PageTitle.astro", + Footer: "./src/components/starlight/Footer.astro", + }, + routeMiddleware: "./src/routeData.ts", + editLink: { + baseUrl: "https://github.com/HMCL-dev/HMCL-docs/edit/main", + }, + defaultLocale: "root", + locales: localeConfig.locales, + sidebar: sidebarConfig, + logo: { + src: "./src/assets/image/hmcl.png", + alt: "HMCL Logo", + }, + social: [ + { + icon: "github", + label: "GitHub", + href: "https://github.com/HMCL-dev/HMCL", + }, + { + icon: "discord", + label: "Discord", + href: "https://discord.gg/jVvC7HfM6U", + }, + ], + customCss: ["./src/assets/landing.css"], + lastUpdated: true, + favicon: "/favicon.ico", + credits: true, + }), + react(), + ], + build: { + format: "file", + }, +}); diff --git a/config/locale.ts b/config/locale.ts new file mode 100644 index 00000000..67e2cdb4 --- /dev/null +++ b/config/locale.ts @@ -0,0 +1,10 @@ +import type { StarlightUserConfig } from "@astrojs/starlight/types"; + +export const localeConfig = { + defaultLocale: "root", + locales: { + root: { label: "简体中文", lang: "zh-Hans", dir: "ltr" }, + "zh-hant": { label: "繁體中文", lang: "zh-Hant", dir: "ltr" }, + en: { label: "English", lang: "en", dir: "ltr" }, + } satisfies StarlightUserConfig["locales"], +}; diff --git a/config/sidebar.ts b/config/sidebar.ts new file mode 100644 index 00000000..572eb376 --- /dev/null +++ b/config/sidebar.ts @@ -0,0 +1,52 @@ +import type { StarlightUserConfig } from "@astrojs/starlight/types"; + +export const sidebarConfig = [ + { + label: "新手导航", + translations: { + "zh-Hant": "新手導航", + en: "Guides", + }, + autogenerate: { directory: "guides" }, + }, + { + label: "启动器", + translations: { + "zh-Hant": "啟動器", + en: "Launcher", + }, + autogenerate: { directory: "launcher" }, + }, + { + label: "整合包", + translations: { + "zh-Hant": "整合包", + en: "Modpack", + }, + autogenerate: { directory: "modpack" }, + }, + { + label: "多人联机", + translations: { + "zh-Hant": "多人聯機", + en: "Multiplayer", + }, + autogenerate: { directory: "multiplayer" }, + }, + { + label: "用户协议", + translations: { + "zh-Hant": "用戶協議", + en: "EULA", + }, + autogenerate: { directory: "eula" }, + }, + { + label: "更新日志", + translations: { + "zh-Hant": "更新日誌", + en: "Changelogs", + }, + autogenerate: { directory: "changelogs" }, + }, +] satisfies StarlightUserConfig["sidebar"]; diff --git a/index.json b/index.json deleted file mode 100644 index 9d480417..00000000 --- a/index.json +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: null -collections: - - name: launcher - title: 启动器 - - name: modpack - title: 整合包 ---- -[ -{%- for collection in page.collections -%} -{"title":"{{ collection.title }}","items":[ -{%- for document in site[collection.name] -%} -{"title":"{{ document.title }}","subtitle":"{{ document.excerpt }}","url":"{{ document.url | absolute_url }}"} -{%- unless forloop.last %},{% endunless -%} -{%- endfor -%} -]} -{%- unless forloop.last %},{% endunless -%} -{%- endfor -%} -] diff --git a/index.md b/index.md deleted file mode 100644 index 79b0119e..00000000 --- a/index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: home -title: HMCL 新手导航 -author: wifi-left ---- - - -> [!NOTE] -> -> -> The articles were written in Simplified Chinese. If you want to help translate them, please send a pull request to [HMCL-docs/pulls](https://github.com/HMCL-dev/HMCL-docs/pulls). Or you can enable your translation tool to read.\ -> If you encounter a BUG, please send feedback in time to [HMCL/issues](https://github.com/HMCL-dev/HMCL/issues).\ -> You can also submit your suggestions here. - - -> [!NOTE] -> 如果您遇到 BUG,请及时在 [HMCL/issues](https://github.com/HMCL-dev/HMCL/issues) 发送反馈。\ -> 您也可以在这里提交您的建议。 diff --git a/package.json b/package.json new file mode 100644 index 00000000..d1c065e9 --- /dev/null +++ b/package.json @@ -0,0 +1,32 @@ +{ + "name": "hmcl-docs", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "preview": "astro preview", + "astro": "astro", + "format": "prettier --write ." + }, + "dependencies": { + "@astrojs/check": "^0.9.6", + "@astrojs/react": "^4.4.2", + "@astrojs/starlight": "0.37.6", + "@types/react": "^19.2.9", + "@types/react-dom": "^19.2.3", + "astro": "5.17.1", + "csv-parse": "^6.1.0", + "qrcode": "^1.5.4", + "react": "^19.2.3", + "react-dom": "^19.2.3", + "sharp": "^0.34.2", + "typescript": "^5.9.3" + }, + "devDependencies": { + "@types/qrcode": "^1.5.6", + "prettier": "3.8.1", + "prettier-plugin-astro": "0.14.1" + } +} diff --git a/assets/img/docs/fabric_and_optifine_install/1.gif b/public/assets/image/docs/launcher/fabric-and-optifine-install/1.gif similarity index 100% rename from assets/img/docs/fabric_and_optifine_install/1.gif rename to public/assets/image/docs/launcher/fabric-and-optifine-install/1.gif diff --git "a/assets/img/hmcl/\350\207\252\345\212\250\347\256\241\347\220\206\346\211\200\346\234\211\351\251\261\345\212\250\345\231\250\345\210\206\351\241\265\346\226\207\344\273\266\345\244\247\345\260\217.webp" "b/public/assets/img/hmcl/\350\207\252\345\212\250\347\256\241\347\220\206\346\211\200\346\234\211\351\251\261\345\212\250\345\231\250\345\210\206\351\241\265\346\226\207\344\273\266\345\244\247\345\260\217.webp" similarity index 100% rename from "assets/img/hmcl/\350\207\252\345\212\250\347\256\241\347\220\206\346\211\200\346\234\211\351\251\261\345\212\250\345\231\250\345\210\206\351\241\265\346\226\207\344\273\266\345\244\247\345\260\217.webp" rename to "public/assets/img/hmcl/\350\207\252\345\212\250\347\256\241\347\220\206\346\211\200\346\234\211\351\251\261\345\212\250\345\231\250\345\210\206\351\241\265\346\226\207\344\273\266\345\244\247\345\260\217.webp" diff --git a/favicon.ico b/public/favicon.ico similarity index 100% rename from favicon.ico rename to public/favicon.ico diff --git a/redirects/hmcl-snapshot-update.yml b/redirects/hmcl-snapshot-update.yml deleted file mode 100644 index 4cb43d2b..00000000 --- a/redirects/hmcl-snapshot-update.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -permalink: /downloads/hmcl-snapshot-update.html -redirect_to: https://hmcl-snapshot-update.netlify.app ---- diff --git a/settings.yaml b/settings.yaml deleted file mode 100644 index d8d79aed..00000000 --- a/settings.yaml +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: 设置 -layout: settings -permalink: /settings.html -data: - - title: 外观 - settings: - appearance_color: - title: 颜色模式 - description: 用于切换站点主题颜色模式。 - options: - light: 亮色 - dark: 暗色 - auto: 自动 - appearance_skin_light: - title: 亮色皮肤 - description: 亮色模式下应用的皮肤。 - options: - default: 默认 - air: 天空 - aqua: 水蓝 - contrast: 高对比 - dark: 暗色 - dirt: 泥土 - neon: 霓虹 - mint: 薄荷 - plum: 梅紫 - sunrise: 日出 - appearance_skin_dark: - title: 暗色皮肤 - description: 暗色模式下应用的皮肤。 - options: - default: 默认 - air: 天空 - aqua: 水蓝 - contrast: 高对比 - dark: 暗色 - dirt: 泥土 - neon: 霓虹 - mint: 薄荷 - plum: 梅紫 - sunrise: 日出 ---- diff --git a/assets/img/docs/auto-installing/AutoInstaller_ModAutoAdding.png b/src/assets/image/docs/auto-installing/AutoInstaller_ModAutoAdding.png similarity index 100% rename from assets/img/docs/auto-installing/AutoInstaller_ModAutoAdding.png rename to src/assets/image/docs/auto-installing/AutoInstaller_ModAutoAdding.png diff --git a/assets/img/docs/auto-installing/AutoInstaller_ModLoader.png b/src/assets/image/docs/auto-installing/AutoInstaller_ModLoader.png similarity index 100% rename from assets/img/docs/auto-installing/AutoInstaller_ModLoader.png rename to src/assets/image/docs/auto-installing/AutoInstaller_ModLoader.png diff --git a/assets/img/docs/auto-installing/AutoInstaller_ModManualAdding.png b/src/assets/image/docs/auto-installing/AutoInstaller_ModManualAdding.png similarity index 100% rename from assets/img/docs/auto-installing/AutoInstaller_ModManualAdding.png rename to src/assets/image/docs/auto-installing/AutoInstaller_ModManualAdding.png diff --git a/assets/img/docs/fabric_and_optifine_install/11.gif b/src/assets/image/docs/fabric-and-optifine-install/11.gif similarity index 100% rename from assets/img/docs/fabric_and_optifine_install/11.gif rename to src/assets/image/docs/fabric-and-optifine-install/11.gif diff --git a/assets/img/docs/fabric_and_optifine_install/2.png b/src/assets/image/docs/fabric-and-optifine-install/2.png similarity index 100% rename from assets/img/docs/fabric_and_optifine_install/2.png rename to src/assets/image/docs/fabric-and-optifine-install/2.png diff --git a/assets/img/docs/fabric_and_optifine_install/5.png b/src/assets/image/docs/fabric-and-optifine-install/5.png similarity index 100% rename from assets/img/docs/fabric_and_optifine_install/5.png rename to src/assets/image/docs/fabric-and-optifine-install/5.png diff --git a/assets/img/docs/fabric_and_optifine_install/6.png b/src/assets/image/docs/fabric-and-optifine-install/6.png similarity index 100% rename from assets/img/docs/fabric_and_optifine_install/6.png rename to src/assets/image/docs/fabric-and-optifine-install/6.png diff --git a/assets/img/docs/fabric_and_optifine_install/7.png b/src/assets/image/docs/fabric-and-optifine-install/7.png similarity index 100% rename from assets/img/docs/fabric_and_optifine_install/7.png rename to src/assets/image/docs/fabric-and-optifine-install/7.png diff --git a/assets/img/docs/fabric_and_optifine_install/8.png b/src/assets/image/docs/fabric-and-optifine-install/8.png similarity index 100% rename from assets/img/docs/fabric_and_optifine_install/8.png rename to src/assets/image/docs/fabric-and-optifine-install/8.png diff --git a/assets/img/docs/fabric_and_optifine_install/9.png b/src/assets/image/docs/fabric-and-optifine-install/9.png similarity index 100% rename from assets/img/docs/fabric_and_optifine_install/9.png rename to src/assets/image/docs/fabric-and-optifine-install/9.png diff --git a/assets/img/docs/faq/img1.png b/src/assets/image/docs/faq/img1.png similarity index 100% rename from assets/img/docs/faq/img1.png rename to src/assets/image/docs/faq/img1.png diff --git a/assets/img/docs/faq/img2.png b/src/assets/image/docs/faq/img2.png similarity index 100% rename from assets/img/docs/faq/img2.png rename to src/assets/image/docs/faq/img2.png diff --git a/assets/img/docs/faq/img3.png b/src/assets/image/docs/faq/img3.png similarity index 100% rename from assets/img/docs/faq/img3.png rename to src/assets/image/docs/faq/img3.png diff --git a/assets/img/docs/faq/img4.png b/src/assets/image/docs/faq/img4.png similarity index 100% rename from assets/img/docs/faq/img4.png rename to src/assets/image/docs/faq/img4.png diff --git a/assets/img/docs/faq/img5.jpg b/src/assets/image/docs/faq/img5.jpg similarity index 100% rename from assets/img/docs/faq/img5.jpg rename to src/assets/image/docs/faq/img5.jpg diff --git a/assets/img/docs/java-download-pages/macos-arm64-1.gif b/src/assets/image/docs/java-download-pages/macos-arm64-1.gif similarity index 100% rename from assets/img/docs/java-download-pages/macos-arm64-1.gif rename to src/assets/image/docs/java-download-pages/macos-arm64-1.gif diff --git a/assets/img/docs/java-download-pages/macos-x86_64-1.gif b/src/assets/image/docs/java-download-pages/macos-x86_64-1.gif similarity index 100% rename from assets/img/docs/java-download-pages/macos-x86_64-1.gif rename to src/assets/image/docs/java-download-pages/macos-x86_64-1.gif diff --git a/assets/img/docs/java-download-pages/windows-x86-1.gif b/src/assets/image/docs/java-download-pages/windows-x86-1.gif similarity index 100% rename from assets/img/docs/java-download-pages/windows-x86-1.gif rename to src/assets/image/docs/java-download-pages/windows-x86-1.gif diff --git a/assets/img/docs/java-download-pages/windows-x86-2.gif b/src/assets/image/docs/java-download-pages/windows-x86-2.gif similarity index 100% rename from assets/img/docs/java-download-pages/windows-x86-2.gif rename to src/assets/image/docs/java-download-pages/windows-x86-2.gif diff --git a/assets/img/docs/java-download-pages/windows-x86-3.gif b/src/assets/image/docs/java-download-pages/windows-x86-3.gif similarity index 100% rename from assets/img/docs/java-download-pages/windows-x86-3.gif rename to src/assets/image/docs/java-download-pages/windows-x86-3.gif diff --git a/assets/img/docs/java-download-pages/windows-x86_64-1.gif b/src/assets/image/docs/java-download-pages/windows-x86_64-1.gif similarity index 100% rename from assets/img/docs/java-download-pages/windows-x86_64-1.gif rename to src/assets/image/docs/java-download-pages/windows-x86_64-1.gif diff --git a/assets/img/docs/java-download-pages/windows-x86_64-2.gif b/src/assets/image/docs/java-download-pages/windows-x86_64-2.gif similarity index 100% rename from assets/img/docs/java-download-pages/windows-x86_64-2.gif rename to src/assets/image/docs/java-download-pages/windows-x86_64-2.gif diff --git a/assets/img/docs/launcher/gui-features/global.png b/src/assets/image/docs/launcher/gui-features/global.png similarity index 100% rename from assets/img/docs/launcher/gui-features/global.png rename to src/assets/image/docs/launcher/gui-features/global.png diff --git a/assets/img/docs/launcher/gui-features/home-launch.png b/src/assets/image/docs/launcher/gui-features/home-launch.png similarity index 100% rename from assets/img/docs/launcher/gui-features/home-launch.png rename to src/assets/image/docs/launcher/gui-features/home-launch.png diff --git a/assets/img/docs/launcher/gui-features/home-sidebar.png b/src/assets/image/docs/launcher/gui-features/home-sidebar.png similarity index 100% rename from assets/img/docs/launcher/gui-features/home-sidebar.png rename to src/assets/image/docs/launcher/gui-features/home-sidebar.png diff --git a/assets/img/docs/launcher/gui-features/home-tip.png b/src/assets/image/docs/launcher/gui-features/home-tip.png similarity index 100% rename from assets/img/docs/launcher/gui-features/home-tip.png rename to src/assets/image/docs/launcher/gui-features/home-tip.png diff --git a/assets/img/docs/launcher/gui-features/home-update.png b/src/assets/image/docs/launcher/gui-features/home-update.png similarity index 100% rename from assets/img/docs/launcher/gui-features/home-update.png rename to src/assets/image/docs/launcher/gui-features/home-update.png diff --git a/assets/img/docs/launcher/gui-features/home.png b/src/assets/image/docs/launcher/gui-features/home.png similarity index 100% rename from assets/img/docs/launcher/gui-features/home.png rename to src/assets/image/docs/launcher/gui-features/home.png diff --git a/assets/img/docs/launcher/gui-features/settings-global.png b/src/assets/image/docs/launcher/gui-features/settings-global.png similarity index 100% rename from assets/img/docs/launcher/gui-features/settings-global.png rename to src/assets/image/docs/launcher/gui-features/settings-global.png diff --git a/assets/img/docs/launcher/gui-features/settings.png b/src/assets/image/docs/launcher/gui-features/settings.png similarity index 100% rename from assets/img/docs/launcher/gui-features/settings.png rename to src/assets/image/docs/launcher/gui-features/settings.png diff --git a/assets/img/docs/launcher/gui-features/topbar.png b/src/assets/image/docs/launcher/gui-features/topbar.png similarity index 100% rename from assets/img/docs/launcher/gui-features/topbar.png rename to src/assets/image/docs/launcher/gui-features/topbar.png diff --git a/assets/img/docs/isolation/img1.png b/src/assets/image/docs/launcher/isolation/1.png similarity index 100% rename from assets/img/docs/isolation/img1.png rename to src/assets/image/docs/launcher/isolation/1.png diff --git a/assets/img/docs/isolation/img2.png b/src/assets/image/docs/launcher/isolation/2.png similarity index 100% rename from assets/img/docs/isolation/img2.png rename to src/assets/image/docs/launcher/isolation/2.png diff --git a/assets/img/docs/isolation/img3.png b/src/assets/image/docs/launcher/isolation/3.png similarity index 100% rename from assets/img/docs/isolation/img3.png rename to src/assets/image/docs/launcher/isolation/3.png diff --git a/assets/img/docs/modpack-in-java/2-4.png b/src/assets/image/docs/modpack/bundled-java/1.png similarity index 100% rename from assets/img/docs/modpack-in-java/2-4.png rename to src/assets/image/docs/modpack/bundled-java/1.png diff --git a/assets/img/docs/modpack-in-java/2-5.png b/src/assets/image/docs/modpack/bundled-java/2.png similarity index 100% rename from assets/img/docs/modpack-in-java/2-5.png rename to src/assets/image/docs/modpack/bundled-java/2.png diff --git a/assets/img/docs/modpack-in-java/2-6.png b/src/assets/image/docs/modpack/bundled-java/3.png similarity index 100% rename from assets/img/docs/modpack-in-java/2-6.png rename to src/assets/image/docs/modpack/bundled-java/3.png diff --git a/assets/img/docs/modpack-in-java/2-7.png b/src/assets/image/docs/modpack/bundled-java/4.png similarity index 100% rename from assets/img/docs/modpack-in-java/2-7.png rename to src/assets/image/docs/modpack/bundled-java/4.png diff --git a/assets/img/docs/error-handbook/image.png b/src/assets/image/docs/modpack/error-handbook/image.png similarity index 100% rename from assets/img/docs/error-handbook/image.png rename to src/assets/image/docs/modpack/error-handbook/image.png diff --git a/assets/img/docs/offline-skin/img1_1.png b/src/assets/image/docs/offline-skin/img1_1.png similarity index 100% rename from assets/img/docs/offline-skin/img1_1.png rename to src/assets/image/docs/offline-skin/img1_1.png diff --git a/assets/img/docs/offline-skin/img1_2.png b/src/assets/image/docs/offline-skin/img1_2.png similarity index 100% rename from assets/img/docs/offline-skin/img1_2.png rename to src/assets/image/docs/offline-skin/img1_2.png diff --git a/assets/img/docs/offline-skin/img2.png b/src/assets/image/docs/offline-skin/img2.png similarity index 100% rename from assets/img/docs/offline-skin/img2.png rename to src/assets/image/docs/offline-skin/img2.png diff --git a/assets/img/docs/offline-skin/img3_1.png b/src/assets/image/docs/offline-skin/img3_1.png similarity index 100% rename from assets/img/docs/offline-skin/img3_1.png rename to src/assets/image/docs/offline-skin/img3_1.png diff --git a/assets/img/docs/offline-skin/img3_2.png b/src/assets/image/docs/offline-skin/img3_2.png similarity index 100% rename from assets/img/docs/offline-skin/img3_2.png rename to src/assets/image/docs/offline-skin/img3_2.png diff --git a/assets/img/docs/offline-skin/img3_3.png b/src/assets/image/docs/offline-skin/img3_3.png similarity index 100% rename from assets/img/docs/offline-skin/img3_3.png rename to src/assets/image/docs/offline-skin/img3_3.png diff --git a/assets/img/docs/offline-skin/img4_1.png b/src/assets/image/docs/offline-skin/img4_1.png similarity index 100% rename from assets/img/docs/offline-skin/img4_1.png rename to src/assets/image/docs/offline-skin/img4_1.png diff --git a/assets/img/docs/offline-skin/img4_2.png b/src/assets/image/docs/offline-skin/img4_2.png similarity index 100% rename from assets/img/docs/offline-skin/img4_2.png rename to src/assets/image/docs/offline-skin/img4_2.png diff --git a/assets/img/docs/offline-skin/img4_3.png b/src/assets/image/docs/offline-skin/img4_3.png similarity index 100% rename from assets/img/docs/offline-skin/img4_3.png rename to src/assets/image/docs/offline-skin/img4_3.png diff --git a/assets/img/docs/serverpack/img1.png b/src/assets/image/docs/serverpack/img1.png similarity index 100% rename from assets/img/docs/serverpack/img1.png rename to src/assets/image/docs/serverpack/img1.png diff --git a/assets/img/docs/serverpack/img2.png b/src/assets/image/docs/serverpack/img2.png similarity index 100% rename from assets/img/docs/serverpack/img2.png rename to src/assets/image/docs/serverpack/img2.png diff --git a/assets/img/docs/serverpack/img3.png b/src/assets/image/docs/serverpack/img3.png similarity index 100% rename from assets/img/docs/serverpack/img3.png rename to src/assets/image/docs/serverpack/img3.png diff --git a/assets/img/docs/serverpack/img4.png b/src/assets/image/docs/serverpack/img4.png similarity index 100% rename from assets/img/docs/serverpack/img4.png rename to src/assets/image/docs/serverpack/img4.png diff --git a/assets/img/docs/serverpack/img5.png b/src/assets/image/docs/serverpack/img5.png similarity index 100% rename from assets/img/docs/serverpack/img5.png rename to src/assets/image/docs/serverpack/img5.png diff --git a/assets/img/docs/serverpack/img6.png b/src/assets/image/docs/serverpack/img6.png similarity index 100% rename from assets/img/docs/serverpack/img6.png rename to src/assets/image/docs/serverpack/img6.png diff --git a/assets/img/docs/serverpack2/2.1.jpg b/src/assets/image/docs/serverpack2/2.1.jpg similarity index 100% rename from assets/img/docs/serverpack2/2.1.jpg rename to src/assets/image/docs/serverpack2/2.1.jpg diff --git a/assets/img/docs/serverpack2/2.2.jpg b/src/assets/image/docs/serverpack2/2.2.jpg similarity index 100% rename from assets/img/docs/serverpack2/2.2.jpg rename to src/assets/image/docs/serverpack2/2.2.jpg diff --git a/assets/img/docs/serverpack2/2.3.jpg b/src/assets/image/docs/serverpack2/2.3.jpg similarity index 100% rename from assets/img/docs/serverpack2/2.3.jpg rename to src/assets/image/docs/serverpack2/2.3.jpg diff --git a/assets/img/docs/serverpack2/2.4.jpg b/src/assets/image/docs/serverpack2/2.4.jpg similarity index 100% rename from assets/img/docs/serverpack2/2.4.jpg rename to src/assets/image/docs/serverpack2/2.4.jpg diff --git a/assets/img/docs/serverpack2/2.5.jpg b/src/assets/image/docs/serverpack2/2.5.jpg similarity index 100% rename from assets/img/docs/serverpack2/2.5.jpg rename to src/assets/image/docs/serverpack2/2.5.jpg diff --git a/assets/img/docs/serverpack2/2.6.jpg b/src/assets/image/docs/serverpack2/2.6.jpg similarity index 100% rename from assets/img/docs/serverpack2/2.6.jpg rename to src/assets/image/docs/serverpack2/2.6.jpg diff --git a/assets/img/docs/serverpack2/2.7.jpg b/src/assets/image/docs/serverpack2/2.7.jpg similarity index 100% rename from assets/img/docs/serverpack2/2.7.jpg rename to src/assets/image/docs/serverpack2/2.7.jpg diff --git a/assets/img/docs/serverpack2/2.8.jpg b/src/assets/image/docs/serverpack2/2.8.jpg similarity index 100% rename from assets/img/docs/serverpack2/2.8.jpg rename to src/assets/image/docs/serverpack2/2.8.jpg diff --git a/assets/img/docs/serverpack2/3.1.jpg b/src/assets/image/docs/serverpack2/3.1.jpg similarity index 100% rename from assets/img/docs/serverpack2/3.1.jpg rename to src/assets/image/docs/serverpack2/3.1.jpg diff --git a/assets/img/docs/serverpack2/3.2.jpg b/src/assets/image/docs/serverpack2/3.2.jpg similarity index 100% rename from assets/img/docs/serverpack2/3.2.jpg rename to src/assets/image/docs/serverpack2/3.2.jpg diff --git a/assets/img/docs/serverpack2/4.1.jpg b/src/assets/image/docs/serverpack2/4.1.jpg similarity index 100% rename from assets/img/docs/serverpack2/4.1.jpg rename to src/assets/image/docs/serverpack2/4.1.jpg diff --git a/assets/img/docs/serverpack2/4.2.jpg b/src/assets/image/docs/serverpack2/4.2.jpg similarity index 100% rename from assets/img/docs/serverpack2/4.2.jpg rename to src/assets/image/docs/serverpack2/4.2.jpg diff --git a/assets/img/docs/serverpack2/5.1.jpg b/src/assets/image/docs/serverpack2/5.1.jpg similarity index 100% rename from assets/img/docs/serverpack2/5.1.jpg rename to src/assets/image/docs/serverpack2/5.1.jpg diff --git a/assets/img/docs/serverpack2/5.2.jpg b/src/assets/image/docs/serverpack2/5.2.jpg similarity index 100% rename from assets/img/docs/serverpack2/5.2.jpg rename to src/assets/image/docs/serverpack2/5.2.jpg diff --git a/assets/img/docs/shader/change_path.png b/src/assets/image/docs/shader/change_path.png similarity index 100% rename from assets/img/docs/shader/change_path.png rename to src/assets/image/docs/shader/change_path.png diff --git a/assets/img/docs/shader/game_dir.png b/src/assets/image/docs/shader/game_dir.png similarity index 100% rename from assets/img/docs/shader/game_dir.png rename to src/assets/image/docs/shader/game_dir.png diff --git a/assets/img/docs/shader/install_auto-16338577874692.png b/src/assets/image/docs/shader/install_auto-16338577874692.png similarity index 100% rename from assets/img/docs/shader/install_auto-16338577874692.png rename to src/assets/image/docs/shader/install_auto-16338577874692.png diff --git a/assets/img/docs/shader/install_auto.png b/src/assets/image/docs/shader/install_auto.png similarity index 100% rename from assets/img/docs/shader/install_auto.png rename to src/assets/image/docs/shader/install_auto.png diff --git a/assets/img/docs/shader/iris.png b/src/assets/image/docs/shader/iris.png similarity index 100% rename from assets/img/docs/shader/iris.png rename to src/assets/image/docs/shader/iris.png diff --git a/assets/img/docs/shader/oculus.png b/src/assets/image/docs/shader/oculus.png similarity index 100% rename from assets/img/docs/shader/oculus.png rename to src/assets/image/docs/shader/oculus.png diff --git a/assets/img/docs/shader/optifine_compatibility.png b/src/assets/image/docs/shader/optifine_compatibility.png similarity index 100% rename from assets/img/docs/shader/optifine_compatibility.png rename to src/assets/image/docs/shader/optifine_compatibility.png diff --git a/assets/img/docs/shader/optifine_install.png b/src/assets/image/docs/shader/optifine_install.png similarity index 100% rename from assets/img/docs/shader/optifine_install.png rename to src/assets/image/docs/shader/optifine_install.png diff --git a/assets/img/docs/shader/select_optifine-16338577687881.png b/src/assets/image/docs/shader/select_optifine-16338577687881.png similarity index 100% rename from assets/img/docs/shader/select_optifine-16338577687881.png rename to src/assets/image/docs/shader/select_optifine-16338577687881.png diff --git a/assets/img/docs/shader/select_optifine.png b/src/assets/image/docs/shader/select_optifine.png similarity index 100% rename from assets/img/docs/shader/select_optifine.png rename to src/assets/image/docs/shader/select_optifine.png diff --git a/assets/img/docs/shader/shaders_setting.png b/src/assets/image/docs/shader/shaders_setting.png similarity index 100% rename from assets/img/docs/shader/shaders_setting.png rename to src/assets/image/docs/shader/shaders_setting.png diff --git a/assets/img/docs/use-password-login-microsoft-account/1.png b/src/assets/image/docs/use-password-login-microsoft-account/1.png similarity index 100% rename from assets/img/docs/use-password-login-microsoft-account/1.png rename to src/assets/image/docs/use-password-login-microsoft-account/1.png diff --git a/assets/img/docs/use-password-login-microsoft-account/2.png b/src/assets/image/docs/use-password-login-microsoft-account/2.png similarity index 100% rename from assets/img/docs/use-password-login-microsoft-account/2.png rename to src/assets/image/docs/use-password-login-microsoft-account/2.png diff --git a/assets/img/docs/use-password-login-microsoft-account/3.png b/src/assets/image/docs/use-password-login-microsoft-account/3.png similarity index 100% rename from assets/img/docs/use-password-login-microsoft-account/3.png rename to src/assets/image/docs/use-password-login-microsoft-account/3.png diff --git a/assets/img/docs/use-password-login-microsoft-account/4.png b/src/assets/image/docs/use-password-login-microsoft-account/4.png similarity index 100% rename from assets/img/docs/use-password-login-microsoft-account/4.png rename to src/assets/image/docs/use-password-login-microsoft-account/4.png diff --git a/src/assets/image/hmcl-main.png b/src/assets/image/hmcl-main.png new file mode 100644 index 00000000..238ff686 Binary files /dev/null and b/src/assets/image/hmcl-main.png differ diff --git a/assets/img/hmcl.png b/src/assets/image/hmcl.png similarity index 100% rename from assets/img/hmcl.png rename to src/assets/image/hmcl.png diff --git a/src/assets/landing.css b/src/assets/landing.css new file mode 100644 index 00000000..5ead94b7 --- /dev/null +++ b/src/assets/landing.css @@ -0,0 +1,27 @@ +:root { + --purple-hsl: 255, 60%, 60%; + --overlay-blurple: hsla(var(--purple-hsl), 0.2); +} + +:root[data-theme="light"] { + --purple-hsl: 255, 85%, 65%; +} + +[data-has-hero] .page { + background: + linear-gradient(215deg, var(--overlay-blurple), transparent 40%), + radial-gradient(var(--overlay-blurple), transparent 40%) no-repeat -60vw -40vh / 105vw 200vh, + radial-gradient(var(--overlay-blurple), transparent 65%) no-repeat 50% calc(100% + 20rem) / + 60rem 30rem; +} + +[data-has-hero] header { + border-bottom: 1px solid transparent; + background-color: transparent; + -webkit-backdrop-filter: blur(16px); + backdrop-filter: blur(16px); +} + +[data-has-hero] .hero > img { + filter: drop-shadow(0 0 3rem var(--overlay-blurple)); +} diff --git a/src/components/AgreeCrashSupportGroupRules.astro b/src/components/AgreeCrashSupportGroupRules.astro new file mode 100644 index 00000000..12dbcb3e --- /dev/null +++ b/src/components/AgreeCrashSupportGroupRules.astro @@ -0,0 +1,41 @@ +--- +import Qrcode from "@components/Qrcode.astro"; +--- + +diff --git a/_changelogs/dev/3.7/3.7.0.301.md b/src/content/changelogs/dev/3.7/3.7.0.301.md similarity index 99% rename from _changelogs/dev/3.7/3.7.0.301.md rename to src/content/changelogs/dev/3.7/3.7.0.301.md index bfddc064..44455ba7 100644 --- a/_changelogs/dev/3.7/3.7.0.301.md +++ b/src/content/changelogs/dev/3.7/3.7.0.301.md @@ -1,6 +1,3 @@ ---- ---- - 详细版本介绍: [cv43345643](https://www.bilibili.com/opus/1123164528073244704) - GP-4608: 更新陶瓦联机至 0.3.10 (by Burning_TNT) diff --git a/_changelogs/dev/3.7/3.7.0.302.md b/src/content/changelogs/dev/3.7/3.7.0.302.md similarity index 73% rename from _changelogs/dev/3.7/3.7.0.302.md rename to src/content/changelogs/dev/3.7/3.7.0.302.md index 269c4ed5..c0c08c40 100644 --- a/_changelogs/dev/3.7/3.7.0.302.md +++ b/src/content/changelogs/dev/3.7/3.7.0.302.md @@ -1,9 +1,6 @@ ---- ---- - 详细版本介绍: [cv43370363](https://www.bilibili.com/opus/1123883127676076033) 错误修复: -- GP-4665: 排序模组时忽略文件名大小写 (by Glavo) +- GP-4665: 排序模组时忽略文件名大小写 (by Glavo) - GP-4674: 修复不在场景中的按钮尝试取消自身焦点时触发 NPE 的问题 (by Glavo) diff --git a/_changelogs/dev/3.8/3.8.0.303.md b/src/content/changelogs/dev/3.8/3.8.0.303.md similarity index 84% rename from _changelogs/dev/3.8/3.8.0.303.md rename to src/content/changelogs/dev/3.8/3.8.0.303.md index c20f6731..bfe22f62 100644 --- a/_changelogs/dev/3.8/3.8.0.303.md +++ b/src/content/changelogs/dev/3.8/3.8.0.303.md @@ -1,12 +1,9 @@ ---- ---- - 详细版本介绍: [cv43416106](https://www.bilibili.com/opus/1125375645996548104) - GP-4681: 将 HMCLauncher 更新至 3.7.0.1 (by Glavo) - GP-4682: 将陶瓦联机更新至 0.3.10 (by Burning_TNT) -- GP-4688: 调整陶瓦联机界面左侧按钮 (by Glavo) +- GP-4688: 调整陶瓦联机界面左侧按钮 (by Glavo) - GP-4686: 优化陶瓦联机用户须知对话框 (by Glavo) -- GP-4695: 删除 VersionPage.Skin 中未使用的 BorderPane (by Glavo) +- GP-4695: 删除 VersionPage.Skin 中未使用的 BorderPane (by Glavo) - GP-4694: 优化 Task 的资源占用 (by Glavo) -- GP-4687: 优化陶瓦联机的复制邀请码功能 (by Glavo) +- GP-4687: 优化陶瓦联机的复制邀请码功能 (by Glavo) diff --git a/_changelogs/dev/3.8/3.8.0.304.md b/src/content/changelogs/dev/3.8/3.8.0.304.md similarity index 81% rename from _changelogs/dev/3.8/3.8.0.304.md rename to src/content/changelogs/dev/3.8/3.8.0.304.md index 0a76f759..900f24d5 100644 --- a/_changelogs/dev/3.8/3.8.0.304.md +++ b/src/content/changelogs/dev/3.8/3.8.0.304.md @@ -1,13 +1,10 @@ ---- ---- - 详细版本介绍: [cv43498590](https://www.bilibili.com/opus/1127961516963790853) - GP-4675: 通过解析 IANA 语言子标签注册表增强本地化功能 (by Glavo) - GP-4700: 当且仅当用户位于中国大陆地区时尝试从镜像源下载陶瓦联机 (by Burning_TNT) - GP-4705: 在陶瓦联机界面的启动游戏按钮中显示当前实例名称 (by Glavo) - GP-4703: 优化更新日志展示功能 (by Glavo) -- GP-4709: 本地化下载速度显示 (by Glavo) +- GP-4709: 本地化下载速度显示 (by Glavo) - GP-4712: 优化软件文案,修订翻译 (by 3gf8jv4dv) -- GP-4697: 优化没有可启动的游戏时的提示 (by Glavo) -- GP-4696: 在外部链接按钮上安装 Tooltip (by neveler) +- GP-4697: 优化没有可启动的游戏时的提示 (by Glavo) +- GP-4696: 在外部链接按钮上安装 Tooltip (by neveler) diff --git a/_changelogs/dev/3.8/3.8.0.305.md b/src/content/changelogs/dev/3.8/3.8.0.305.md similarity index 80% rename from _changelogs/dev/3.8/3.8.0.305.md rename to src/content/changelogs/dev/3.8/3.8.0.305.md index 5f587ea4..883775ec 100644 --- a/_changelogs/dev/3.8/3.8.0.305.md +++ b/src/content/changelogs/dev/3.8/3.8.0.305.md @@ -1,12 +1,9 @@ ---- ---- - 详细版本介绍: [cv43527381](https://www.bilibili.com/opus/1128792850791661574) -- GP-4724: Bump Terracotta to 0.3.12 (by Burning_TNT) +- GP-4724: Bump Terracotta to 0.3.12 (by Burning_TNT) - GP-4698: 在被打包为 macOS App 时不设置 macOS Dock 栏图标 (by YiZhiMCQiu) - GP-4727: 将官方群组入口重新移动到主界面 (by Glavo) 错误修复: -- GP-4721: 修复 `JFXListViewSkin` 创建大量平台线程的问题 (by Glavo) \ No newline at end of file +- GP-4721: 修复 `JFXListViewSkin` 创建大量平台线程的问题 (by Glavo) diff --git a/_changelogs/dev/3.8/3.8.0.306.md b/src/content/changelogs/dev/3.8/3.8.0.306.md similarity index 90% rename from _changelogs/dev/3.8/3.8.0.306.md rename to src/content/changelogs/dev/3.8/3.8.0.306.md index c56025cc..f1d73d9c 100644 --- a/_changelogs/dev/3.8/3.8.0.306.md +++ b/src/content/changelogs/dev/3.8/3.8.0.306.md @@ -1,6 +1,3 @@ ---- ---- - 详细版本介绍: [cv43585405](https://www.bilibili.com/opus/1130662046380064777) - GP-4723: 将陶瓦联机更新至 0.3.13 (by Burning_TNT) @@ -12,4 +9,4 @@ 错误修复: -- GP-4736: 修复 FreeBSD x86-64 平台上错误地将所有版本视作未经测试的版本的问题 (by Glavo) \ No newline at end of file +- GP-4736: 修复 FreeBSD x86-64 平台上错误地将所有版本视作未经测试的版本的问题 (by Glavo) diff --git a/_changelogs/dev/3.8/3.8.0.307.md b/src/content/changelogs/dev/3.8/3.8.0.307.md similarity index 97% rename from _changelogs/dev/3.8/3.8.0.307.md rename to src/content/changelogs/dev/3.8/3.8.0.307.md index f9ede97b..ab5e8642 100644 --- a/_changelogs/dev/3.8/3.8.0.307.md +++ b/src/content/changelogs/dev/3.8/3.8.0.307.md @@ -1,6 +1,3 @@ ---- ---- - 详细版本介绍: [cv43667929](https://www.bilibili.com/opus/1133254905203523601) - GP-4770: 更新模组数据 (2025-11-07) (by Glavo) diff --git a/_changelogs/dev/3.8/3.8.0.310.md b/src/content/changelogs/dev/3.8/3.8.0.310.md similarity index 91% rename from _changelogs/dev/3.8/3.8.0.310.md rename to src/content/changelogs/dev/3.8/3.8.0.310.md index 63e62455..a9c05902 100644 --- a/_changelogs/dev/3.8/3.8.0.310.md +++ b/src/content/changelogs/dev/3.8/3.8.0.310.md @@ -1,6 +1,3 @@ ---- ---- - 详细版本介绍: [cv43826997](https://www.bilibili.com/opus/1138003189119844354) - GP-4780, GP-4790, GP-4803, GP-4815: 优化界面动画效果 (by Glavo) @@ -12,7 +9,7 @@ - GP-4782: 添加对 25w46a_unobfuscated 的支持 (by Glavo) - GP-4779: 预加载页面以减少动画卡顿 (by Glavo) - GP-4776: 优化游戏实例默认图标 (by Glavo) -- GP-4762: 在 macOS 下使用系统最小化动画 (by Damon Lu) +- GP-4762: 在 macOS 下使用系统最小化动画 (by Damon Lu) - GP-4672: 优化数据包管理功能 (by mineDiamond) - GP-4612: 增强对数据包/资源包mcmeta的解析能力 (by mineDiamond) - GP-4809: 在 JFXListView 上启用平滑滚动 (by Glavo) @@ -25,4 +22,4 @@ - GP-4795: 修复初次打开部分页面时页面闪烁的问题 (by Glavo) - GP-4805: 修复复制实例时使用非法实例 ID 启动器行为异常的问题 (by Haowei Wen) - GP-4808: 修复 Windows 下全局游戏设置中本地库路径路径分隔符显示错误的问题 (by 辞庐) -- GP-4793: 使用低版本 Java 启动且带有 `--apply-to` 参数时提醒用户手动下载最新版本 HMCL (by Glavo) \ No newline at end of file +- GP-4793: 使用低版本 Java 启动且带有 `--apply-to` 参数时提醒用户手动下载最新版本 HMCL (by Glavo) diff --git a/_changelogs/dev/3.9/3.9.0.311.md b/src/content/changelogs/dev/3.9/3.9.0.311.md similarity index 99% rename from _changelogs/dev/3.9/3.9.0.311.md rename to src/content/changelogs/dev/3.9/3.9.0.311.md index ec0f8f57..d7293c3a 100644 --- a/_changelogs/dev/3.9/3.9.0.311.md +++ b/src/content/changelogs/dev/3.9/3.9.0.311.md @@ -1,6 +1,3 @@ ---- ---- - 详细版本介绍: [cv43951420](https://www.bilibili.com/opus/1141393481729572889) - GP-4835: 更新至 Material Design 3 颜色系统 (by Glavo) diff --git a/_changelogs/dev/3.9/3.9.0.313.md b/src/content/changelogs/dev/3.9/3.9.0.313.md similarity index 99% rename from _changelogs/dev/3.9/3.9.0.313.md rename to src/content/changelogs/dev/3.9/3.9.0.313.md index bd1beaf1..30382dc8 100644 --- a/_changelogs/dev/3.9/3.9.0.313.md +++ b/src/content/changelogs/dev/3.9/3.9.0.313.md @@ -1,6 +1,3 @@ ---- ---- - 详细版本介绍: [cv44304232](https://www.bilibili.com/opus/1148005940364050466) - GP-4992: 将 authlib-injector 更新至 1.2.7 (by Burning_TNT) diff --git a/src/content/changelogs/stable/3.10/3.10.1.md b/src/content/changelogs/stable/3.10/3.10.1.md new file mode 100644 index 00000000..9b9caa4e --- /dev/null +++ b/src/content/changelogs/stable/3.10/3.10.1.md @@ -0,0 +1,77 @@ +[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1158118032843735049) + +- 启动器 + - GP-4289: 在添加游戏目录页面选择目录时自动填写名称 (by Dime, 辞庐, Glavo) + - GP-4882: 取消部分控件的连点限制 (by 辞庐) + - GP-5024: 使用副标题显示重启生效提示 (by neveler) + - GP-5032: 优化文本输入对话框体验 (by mineDiamond) + - GP-5035: 在非 Windows 平台也将文件名中的 `:` 视为非法字符 (by 辞庐) + - GP-5056: 优化列表滚动时的性能 (by Glavo) + - GP-5060: 优化独立窗口中对话框的样式 (by 辞庐) + - GP-5062: 更新 NBT 标签图标 (by mineDiamond) + - GP-5077: 优化设置页面内边距 (by neveler) + - GP-5082: 更新关于页面的版权年份至 2026 (by 辞庐) + - GP-5087: 更新启动按钮分隔符颜色 (by neveler) + - GP-5088: 首页切换实例菜单仅在菜单高度大于最大高度时显示垂直滚动条 (by neveler) + - GP-5101: 在进度指示器中添加圆角 (by 辞庐) + - GP-5107: 使切换按钮垂直居中对齐 (by 辞庐) + - GP-5108: 优化打包日志逻辑 (by 辞庐) + - GP-5114: 优化部分页面的布局效果 (by neveler) + - GP-5129: 优化输入框校验逻辑 (by 辞庐, Glavo) + - GP-5150: 调整平滑滚动的截止速度 (by Glavo) + - GP-5143, GP-5168: 优化对获取账号信息时发生 SSL 异常的处理 (by Xirren, 3gf8jv4dv) + - GP-5182: 支持重置日志字体 (by 辞庐) + - GP-5188: 仅在左键点击时触发 `JFXRippler` 波纹 (by Glavo) +- 实例管理 + - GP-5059: 调整实例管理页面“浏览”菜单中条目的顺序 (by 3gf8jv4dv) + - GP-5137: 允许重命名实例时使用原名 (by mineDiamond) + - GP-5174: 优化存在大量实例的情况下的实例列表性能 (by Glavo) +- 模组管理 + - GP-4832: 支持更新选中的模组 (by ZZZank) + - GP-5016: 刷新模组列表不滚动到顶部 (by OrzMiku) +- 世界管理 + - GP-4823: 优化世界管理界面和世界信息界面 (by mineDiamond, 3gf8jv4dv) + - GP-5162: 优化存在大量数据包的情况下数据包管理页面的性能 (by mineDiamond) + - GP-5224: 优化存在大量世界的情况下世界管理页面的性能 (by Glavo) +- 整合包 + - GP-4897: 导出整合包时隐藏系统资源文件 (by Calboot) + - GP-5119: 安装 Modrinth 整合包时下载图标 (by Glavo) +- 账户 + - GP-4794: 优化微软登录页面 (by 辞庐, 3gf8jv4dv) +- 下载 + - GP-5026: 限制访问 CurseForge/Modrinth 时的并发数 (by Burning_TNT) + - GP-5180: 在资源包下载页面中隐藏不必要的标签 (by Glavo) + - GP-5160: 优化下载页面中来自 Modrinth 的内容标签显示 (by ENC_Euphony) + - GP-5211: 优化下载页面图标缓存功能 (by Glavo) +- 联机 + - GP-4929: 将陶瓦联机更新至 0.4.1 (by Burning_TNT) +- 本地化 + - 优化软件文案,修订翻译 (by 3gf8jv4dv) +- 错误修复 + - GP-5034: 修复下载光影时对话框的标题文字错误的问题 (by Wulian233) + - GP-5043: 修复导出整合包有关以及 NBT 文件查看有关的界面样式及深色模式问题 (by Calboot) + - GP-5064: 修复弹出菜单在 HiDPI 显示器上播放动画过程中内容 Y 轴方向缩放异常的问题 (by Glavo) + - GP-5076: 优化不透明度滑块未垂直居中的问题 (by neveler) + - GP-5080: 修复外置登录对话框在部分情况下未正确验证用户名的问题 (by Glavo) + - GP-5081: 修复无法读取 `AppliedE` 模组信息的问题 (by Glavo) + - GP-5086: 修复安装游戏时选择加载器版本后返回动画方向不正确的问题 (by 辞庐) + - GP-5091: 修复部分版本无法正确归一化的问题 (by mineDiamond) + - GP-5102: 修复文本输入框的上下文菜单未使用 MD3 色彩系统的问题 (by Glavo) + - GP-5111: 修复复制游戏实例相关问题 (by 辞庐) + - GP-5112: 修复添加实例目录页面有一个空 Tooltip 的问题 (by 辞庐) + - GP-5117: 修复离线换肤对话框提示栏和按钮重叠的问题 (by NoClassDefFoundError) + - GP-5118: 修复部分平台弹出菜单无法通过点击侧边栏收起的问题 (by 辞庐) + - GP-5131: 修复缓存目录设置进入时默认未勾选的问题 (by 辞庐) + - GP-5133: 修复第三方构建下禁用账户刷新的 tooltip 展示不支持的超链接标签的问题 (by Wulian233, 3gf8jv4dv) + - GP-5144: 修复 `FetchTask` 未捕获部分异常的问题 (by Glavo) + - GP-5146, GP-5148, GP-5151: 修复无法读取部分包含特殊字符的整合包的问题 (by Glavo) + - GP-5153: 修复窗口重新获取焦点时 `JFXRadioButton` 显示阴影的问题 (by Glavo) + - GP-5166: 修复未下载陶瓦联机时打开陶瓦联机页面抛出异常的问题 (by Glavo) + - GP-5167: 修复游戏设置中 Java 路径过长时可能与 Java 版本号标签冲突的问题 (by ENC_Euphony) + - GP-5170: 修复无法安装 `Aether Enhanced` 整合包的问题 (by 3gf8jv4dv) + - GP-5178: 修复窗口重新获取焦点时 `JFXButton` 意外地显示阴影的问题 (by Glavo) + - GP-5179: 修复窗口重新获取焦点时 `JFXCheckBox` 意外地显示阴影的问题 (by Glavo) + - GP-5183: 修复重置字体后未遵循 `hmcl.font.override`/`HMCL_FONT` 设置的问题 (by 辞庐, Glavo) + - GP-5184: 修复安装页面选择模组加载器按钮波纹没有正常显示的问题 (by 辞庐, Glavo) + - GP-5186: 修复弹出菜单在 Windows HiDPI 显示器上异常模糊的问题 (by 辞庐) + - GP-5197: 修复默认窗口大小下进入高级版本设置会向下滚动一段距离的问题 (by 辞庐) diff --git a/_changelogs/stable/3.10/3.10.2.md b/src/content/changelogs/stable/3.10/3.10.2.md similarity index 95% rename from _changelogs/stable/3.10/3.10.2.md rename to src/content/changelogs/stable/3.10/3.10.2.md index e5eb8782..d4ba6eb8 100644 --- a/_changelogs/stable/3.10/3.10.2.md +++ b/src/content/changelogs/stable/3.10/3.10.2.md @@ -1,6 +1,3 @@ ---- ---- - [详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1162953401517998137) - 世界管理 @@ -14,4 +11,4 @@ - GP-5262: 修复使用 GIF 背景时调整背景不透明度导致启动器崩溃的问题 (by Glavo) - GP-5267: 修复 Unzipper 解压空 zip 文件时抛出异常的问题 (by Glavo) - GP-5305: 修复返回页面时可能卡进空白页面的问题 (by 辞庐) - - GP-5310: 修复点击实例列表条目的中央区域无法触发涟漪效果的问题 (by 辞庐) \ No newline at end of file + - GP-5310: 修复点击实例列表条目的中央区域无法触发涟漪效果的问题 (by 辞庐) diff --git a/_changelogs/stable/3.2/3.2.130.md b/src/content/changelogs/stable/3.2/3.2.130.md similarity index 99% rename from _changelogs/stable/3.2/3.2.130.md rename to src/content/changelogs/stable/3.2/3.2.130.md index 4364532b..f8593fe9 100644 --- a/_changelogs/stable/3.2/3.2.130.md +++ b/src/content/changelogs/stable/3.2/3.2.130.md @@ -1,6 +1,3 @@ ---- ---- - - 启动器 - 在启动器更新时显示更新日志 - 启动前检查是否是 Java 8~10 diff --git a/_changelogs/stable/3.2/3.2.139.md b/src/content/changelogs/stable/3.2/3.2.139.md similarity index 99% rename from _changelogs/stable/3.2/3.2.139.md rename to src/content/changelogs/stable/3.2/3.2.139.md index 6a350e4f..8f9db150 100644 --- a/_changelogs/stable/3.2/3.2.139.md +++ b/src/content/changelogs/stable/3.2/3.2.139.md @@ -1,6 +1,3 @@ ---- ---- - - 启动器 - 添加西班牙语,更新英语、俄语翻译 - 主页面按回车键启动游戏 diff --git a/_changelogs/stable/3.2/3.2.149.md b/src/content/changelogs/stable/3.2/3.2.149.md similarity index 99% rename from _changelogs/stable/3.2/3.2.149.md rename to src/content/changelogs/stable/3.2/3.2.149.md index d547c985..9d11b7f7 100644 --- a/_changelogs/stable/3.2/3.2.149.md +++ b/src/content/changelogs/stable/3.2/3.2.149.md @@ -1,6 +1,3 @@ ---- ---- - - 启动器 - 改进部分错误提示 - 更新繁体中文语言文件 diff --git a/_changelogs/stable/3.3/3.3.172.md b/src/content/changelogs/stable/3.3/3.3.172.md similarity index 99% rename from _changelogs/stable/3.3/3.3.172.md rename to src/content/changelogs/stable/3.3/3.3.172.md index 7917efbe..a3228763 100644 --- a/_changelogs/stable/3.3/3.3.172.md +++ b/src/content/changelogs/stable/3.3/3.3.172.md @@ -1,6 +1,3 @@ ---- ---- - - 启动器 - 修改界面 - 更新俄语翻译 diff --git a/_changelogs/stable/3.3/3.3.188.md b/src/content/changelogs/stable/3.3/3.3.188.md similarity index 99% rename from _changelogs/stable/3.3/3.3.188.md rename to src/content/changelogs/stable/3.3/3.3.188.md index 4ddca7ad..2d5e94b2 100644 --- a/_changelogs/stable/3.3/3.3.188.md +++ b/src/content/changelogs/stable/3.3/3.3.188.md @@ -1,6 +1,3 @@ ---- ---- - - 启动器 - 修改界面 - 更新俄语翻译 diff --git a/_changelogs/stable/3.5/3.5.3.md b/src/content/changelogs/stable/3.5/3.5.3.md similarity index 99% rename from _changelogs/stable/3.5/3.5.3.md rename to src/content/changelogs/stable/3.5/3.5.3.md index 1cac6367..253fb5fd 100644 --- a/_changelogs/stable/3.5/3.5.3.md +++ b/src/content/changelogs/stable/3.5/3.5.3.md @@ -1,6 +1,3 @@ ---- ---- - - 启动器 - 支持多人联机 - 自动选择新添加的 Authlib-injector 服务器 diff --git a/_changelogs/stable/3.5/3.5.4.md b/src/content/changelogs/stable/3.5/3.5.4.md similarity index 99% rename from _changelogs/stable/3.5/3.5.4.md rename to src/content/changelogs/stable/3.5/3.5.4.md index 65c7011d..20106b31 100644 --- a/_changelogs/stable/3.5/3.5.4.md +++ b/src/content/changelogs/stable/3.5/3.5.4.md @@ -1,6 +1,3 @@ ---- ---- - - 启动器 - 多人联机功能暂时下线维护 [详情](https://hmcl.huangyuhui.net/api/redirect/multiplayer-migrate) - 不再支持添加 Mojang 账户 [迁移至微软账户](https://aka.ms/MinecraftMigration) diff --git a/_changelogs/stable/3.5/3.5.5.md b/src/content/changelogs/stable/3.5/3.5.5.md similarity index 98% rename from _changelogs/stable/3.5/3.5.5.md rename to src/content/changelogs/stable/3.5/3.5.5.md index 456a5237..fce2285e 100644 --- a/_changelogs/stable/3.5/3.5.5.md +++ b/src/content/changelogs/stable/3.5/3.5.5.md @@ -1,6 +1,3 @@ ---- ---- - - 启动器 - 拒绝在被 Fractureiser 病毒感染的设备上启动 HMCL(若检测到将会提示并退出,[详情](https://github.com/fractureiser-investigation/fractureiser#readme)) - 检测 HMCL 是否处于 macOS 上的 App Translocation(macOS 使用了 [App Translocation](https://lapcatsoftware.com/articles/app-translocation.html) 机制,可能会自动将 HMCL 移动至 `/private/var/folders` 中的临时文件夹内,导致用户关闭 HMCL 后游戏数据和设置丢失) @@ -25,7 +22,7 @@ - 跨平台 添加 Linux RISC-V 64 平台支持 -错误修复: +错误修复: - 修复日志分析窗口的渲染问题 - 修复在 Minecraft 1.20 不能正常使用游戏内聊天功能的问题 diff --git a/_changelogs/stable/3.5/3.5.6.md b/src/content/changelogs/stable/3.5/3.5.6.md similarity index 99% rename from _changelogs/stable/3.5/3.5.6.md rename to src/content/changelogs/stable/3.5/3.5.6.md index 8cd2ccfd..4bfcea5d 100644 --- a/_changelogs/stable/3.5/3.5.6.md +++ b/src/content/changelogs/stable/3.5/3.5.6.md @@ -1,6 +1,3 @@ ---- ---- - - GP-2864: 改善在非 Windows 平台任务栏图标的质量 - GP-2859: 修复 Forge 和 NeoForge 安装失败的问题 - GP-2840: 修复 Linux RISC-V 64 平台的支持 diff --git a/_changelogs/stable/3.5/3.5.7.md b/src/content/changelogs/stable/3.5/3.5.7.md similarity index 98% rename from _changelogs/stable/3.5/3.5.7.md rename to src/content/changelogs/stable/3.5/3.5.7.md index f5f2f571..a4c8457b 100644 --- a/_changelogs/stable/3.5/3.5.7.md +++ b/src/content/changelogs/stable/3.5/3.5.7.md @@ -1,6 +1,3 @@ ---- ---- - - 启动器 - GP-2929、GP-2904、GP-2915: 更新翻译 - GP-2905: 更改语言选项添加重启后生效的提示 @@ -24,7 +21,7 @@ - 整合包 - GP-2881: 修复无法安装带有 NeoForge 的 Modrinth 整合包的问题 -错误修复: +错误修复: - **GP-2908 \[重要\]: 修复微软账户登录失败的问题** - GP-2939: 修复游戏启动时包装命令会被添加两次的问题的问题 diff --git a/_changelogs/stable/3.5/3.5.8.md b/src/content/changelogs/stable/3.5/3.5.8.md similarity index 98% rename from _changelogs/stable/3.5/3.5.8.md rename to src/content/changelogs/stable/3.5/3.5.8.md index 8ef032c6..7c4638f7 100644 --- a/_changelogs/stable/3.5/3.5.8.md +++ b/src/content/changelogs/stable/3.5/3.5.8.md @@ -1,6 +1,3 @@ ---- ---- - - 启动器 - GP-2947: 更新模组和整合包翻译信息 - GP-2951: 优化了启动器长期运行后的性能表现 diff --git a/_changelogs/stable/3.5/3.5.9.md b/src/content/changelogs/stable/3.5/3.5.9.md similarity index 99% rename from _changelogs/stable/3.5/3.5.9.md rename to src/content/changelogs/stable/3.5/3.5.9.md index 22f11851..29ea3cd5 100644 --- a/_changelogs/stable/3.5/3.5.9.md +++ b/src/content/changelogs/stable/3.5/3.5.9.md @@ -1,6 +1,3 @@ ---- ---- - - 启动器 - GP-3121、GP-3194: 微软登录界面对 Xbox 400 错误给予提示 - GP-3097: 更新 Linux ARM64 支持 diff --git a/_changelogs/stable/3.6/3.6.11.md b/src/content/changelogs/stable/3.6/3.6.11.md similarity index 99% rename from _changelogs/stable/3.6/3.6.11.md rename to src/content/changelogs/stable/3.6/3.6.11.md index 397d31ea..3cf621d8 100644 --- a/_changelogs/stable/3.6/3.6.11.md +++ b/src/content/changelogs/stable/3.6/3.6.11.md @@ -1,6 +1,3 @@ ---- ---- - - 启动器 - GP-3233: 在 Linux/FreeBSD 平台打开日志、模组等位置时会选中该文件 - GP-3274: 优化日志窗口 diff --git a/_changelogs/stable/3.6/3.6.12.md b/src/content/changelogs/stable/3.6/3.6.12.md similarity index 99% rename from _changelogs/stable/3.6/3.6.12.md rename to src/content/changelogs/stable/3.6/3.6.12.md index 91dcd7c2..7b8ec5f1 100644 --- a/_changelogs/stable/3.6/3.6.12.md +++ b/src/content/changelogs/stable/3.6/3.6.12.md @@ -1,6 +1,3 @@ ---- ---- - 版本介绍:[cv41174209](https://www.bilibili.com/opus/1050013108961017859) - 启动器 diff --git a/_changelogs/stable/3.6/3.6.14.md b/src/content/changelogs/stable/3.6/3.6.14.md similarity index 99% rename from _changelogs/stable/3.6/3.6.14.md rename to src/content/changelogs/stable/3.6/3.6.14.md index 4356302f..fd0ff3cd 100644 --- a/_changelogs/stable/3.6/3.6.14.md +++ b/src/content/changelogs/stable/3.6/3.6.14.md @@ -1,6 +1,3 @@ ---- ---- - 版本介绍: [cv42290390](https://www.bilibili.com/opus/1088221679199453185) - 启动器 diff --git a/_changelogs/stable/3.6/3.6.15.md b/src/content/changelogs/stable/3.6/3.6.15.md similarity index 97% rename from _changelogs/stable/3.6/3.6.15.md rename to src/content/changelogs/stable/3.6/3.6.15.md index bef5a87a..4d5d4b34 100644 --- a/_changelogs/stable/3.6/3.6.15.md +++ b/src/content/changelogs/stable/3.6/3.6.15.md @@ -1,6 +1,3 @@ ---- ---- - - 下载 - GP-4085: 更新模组下载页游戏版本列表至 1.21.8 (by Glavo) - 错误修复 diff --git a/src/content/changelogs/stable/3.6/3.6.16.md b/src/content/changelogs/stable/3.6/3.6.16.md new file mode 100644 index 00000000..798db419 --- /dev/null +++ b/src/content/changelogs/stable/3.6/3.6.16.md @@ -0,0 +1,5 @@ +- 启动器 + - GP-4262: 更新 AMD 显卡信息 (by Glavo) + - GP-4274: 更新 chunkbase 种子地图链接 (by Wulian233) +- 错误修复: + - GP-4174: 修复无法从 BMCLAPI 下载部分 NeoForge 所需文件的问题 (by 辞庐) diff --git a/src/content/changelogs/stable/3.6/3.6.17.md b/src/content/changelogs/stable/3.6/3.6.17.md new file mode 100644 index 00000000..d159c969 --- /dev/null +++ b/src/content/changelogs/stable/3.6/3.6.17.md @@ -0,0 +1,30 @@ +版本介绍: [cv43005407](https://www.bilibili.com/opus/1111270122956259346) + +- 启动器 + - GP-4422: 弃用 Java 11 支持 (by Glavo) + - GP-4164: 支持通过环境变量强制使用 GPU 渲染和控制动画帧率 (by Glavo) + - GP-4179: 在 `./.hmcl/java` 中搜索 Java (by Glavo) + - GP-4365: 修复首次打开子页面时切换动画丢失的问题 (by Glavo) + - GP-4439: 更新模组和整合包数据 (by Glavo) + - GP-4414: 检测到配置文件由高版本启动器创建时禁止保存配置文件 (by Glavo) +- 游戏管理 + - GP-4224: 支持在 Windows 7/8/8.1 上使用软渲染器 (by Glavo) +- 下载 + - GP-4170: 模组下载列表翻页后自动回到顶部 (by 辞庐) + - GP-4171: 支持加载 WebP 图标,解决部分模组/整合包图标无法加载的问题 (by Glavo) +- 外观 + - GP-4185: 新增内存显示条禁用样式 (by OrzMiku) +- 本地化 + - GP-4376: 将“版本”重命名为“实例” (by 3gf8jv4dv) + - 优化软件文案,完善英语、西班牙语、俄语翻译 +- 错误修复 + - GP-4121: 修复多次启动游戏时内存泄露的问题 (by roj234) + - GP-4066: 修复游戏版本列表错误地过滤掉部分版本的问题 (by Wulian233) + - GP-4152: 修复导入异常格式的数据包时启动器崩溃的问题 (by Glavo) + - GP-4241: 修复非 Windows 平台上游戏进程的 `user.home` 可能被设置为 `null` 的问题 (by Glavo) + - GP-4437: 修复 backgroundType 为 `null` 时启动器崩溃的问题 (by Glavo) + - GP-4153: 修复“下载线程数”的指示器被提示覆盖的问题 (by 辞庐) + - GP-4238: 修复 `RemoteMod::getIntegrityCheck` 未选择正确的算法的问题 (by Glavo) + - GP-4176: 修复整合包格式不匹配提示未被正确格式化的问题 (by 辞庐) + - GP-4321: 世界管理页面添加对极限模式的支持 (by Wulian233) + - GP-4192: 修复 LWJGL 路径显示错误的问题 (by 辞庐) diff --git a/src/content/changelogs/stable/3.6/3.6.18.md b/src/content/changelogs/stable/3.6/3.6.18.md new file mode 100644 index 00000000..e89a4937 --- /dev/null +++ b/src/content/changelogs/stable/3.6/3.6.18.md @@ -0,0 +1,8 @@ +版本介绍: [cv43162536](https://www.bilibili.com/opus/1116529228834144258) + +- 游戏管理 + - GP-4515: 优化 Java 自动选择规则 (by Glavo) +- 错误修复 + - GP-4508: 修复使用 JavaFX 25 时游戏下载界面布局错误的问题 (by Glavo) + - GP-4465: 修复启用代理身份认证且未设置密码时启动器崩溃的问题 (by Glavo) + - GP-4466: 修复滚动切换游戏实例/账户功能 (by Glavo) diff --git a/src/content/changelogs/stable/3.6/3.6.20.md b/src/content/changelogs/stable/3.6/3.6.20.md new file mode 100644 index 00000000..635cc3f5 --- /dev/null +++ b/src/content/changelogs/stable/3.6/3.6.20.md @@ -0,0 +1,9 @@ +版本介绍: [cv43348716](https://www.bilibili.com/opus/1123235936240402439) + +- 启动器 + - GP-4223: 在“设置 > 通用”添加“提前预览 HMCL 版本”选项 (by Glavo)
+ 详情请见完整更新日志: [cv43348716](https://www.bilibili.com/opus/1123235936240402439) + - GP-4088: 当离线账户名称超过 16 字符时弹出警告 (by ShulkerSakura) +- 下载 + - GP-4120: 更新 unlisted-versions-of-minecraft 镜像源地址 (by 8Mi_Yile) + - GP-4626: 更新模组下载页游戏版本列表至 1.21.10 (by Glavo) diff --git a/_changelogs/stable/3.7/3.7.1.md b/src/content/changelogs/stable/3.7/3.7.1.md similarity index 86% rename from _changelogs/stable/3.7/3.7.1.md rename to src/content/changelogs/stable/3.7/3.7.1.md index ffe0d00e..93e76d55 100644 --- a/_changelogs/stable/3.7/3.7.1.md +++ b/src/content/changelogs/stable/3.7/3.7.1.md @@ -1,42 +1,39 @@ ---- ---- - 详细版本介绍: [cv43400451](https://www.bilibili.com/opus/1124733750249259010) - 启动器 - GP-4452: 将最低 Java 版本提升至 Java 17 (by Glavo) - GP-4454: 将默认 JavaFX 版本更新至 21.0.8/25 (by Glavo) - - GP-4439: 更新模组和整合包数据 (by Glavo) - - GP-4064: 优化主页公告关闭按钮 (by 辞庐) - - GP-4145: 在 Windows 平台优先使用注册表探测 GPU (by Glavo) + - GP-4439: 更新模组和整合包数据 (by Glavo) + - GP-4064: 优化主页公告关闭按钮 (by 辞庐) + - GP-4145: 在 Windows 平台优先使用注册表探测 GPU (by Glavo) - GP-4163: 通过主页右下角弹出菜单切换版本后隐藏菜单 (by Glavo) - - GP-4142: 忽略 `%ProgramFiles%\Common Files\Oracle\Java` 中的 Java (by Glavo) - - GP-4180: 支持搜索不包含 release 文件的 Java (by Glavo) - - GP-4201: 为弹窗文本添加平滑滚动 (by 辞庐) + - GP-4142: 忽略 `%ProgramFiles%\Common Files\Oracle\Java` 中的 Java (by Glavo) + - GP-4180: 支持搜索不包含 release 文件的 Java (by Glavo) + - GP-4201: 为弹窗文本添加平滑滚动 (by 辞庐) - GP-4203: 优化弹出菜单的默认弹出位置 (by ENC_Euphony) - GP-4051: 导出日志时附带最近日志 (by Zkitefly) - GP-4179: 支持搜索 `./.hmcl/java` 目录中的 Java (by Glavo) - GP-4248: 在未安装游戏版本时支持一键下载启动游戏 (by Glavo) ([BV1BbYxzNEFE](https://www.bilibili.com/video/BV1BbYxzNEFE)) - GP-4246: 将 authlib-injector 嵌入启动器 (by Glavo) - - GP-4260: 支持最大化和全屏模式 (by Glavo) + - GP-4260: 支持最大化和全屏模式 (by Glavo) - GP-4276: 优化版本号排序规则 (by Glavo) - GP-4282: 优化对 Indev 版本的支持 (by Glavo) - GP-4292, GP-4306: 优化显示进度对话框 (by Glavo) - - GP-4294: 游戏崩溃窗口中增加对拍照的提醒 (by YuChuXi) + - GP-4294: 游戏崩溃窗口中增加对拍照的提醒 (by YuChuXi) - GP-4341: 更严格地检测文件名合法性 (by Glavo) - - GP-4362: 优化语言设置选项中语言名称的显示方式 (by Glavo) + - GP-4362: 优化语言设置选项中语言名称的显示方式 (by Glavo) - GP-4353: 优化自动切换游戏语言功能 (by Glavo) - - GP-4414: 检测到配置文件由高版本启动器创建时禁止保存配置文件 (by Glavo) - - GP-4487: 在未启用 JIT 或硬件渲染加速的环境中启动时弹出提示 (by Glavo) - - GP-4506: 使用 Java 25 启动游戏时默认开启 Compact Object Headers (by Glavo) + - GP-4414: 检测到配置文件由高版本启动器创建时禁止保存配置文件 (by Glavo) + - GP-4487: 在未启用 JIT 或硬件渲染加速的环境中启动时弹出提示 (by Glavo) + - GP-4506: 使用 Java 25 启动游戏时默认开启 Compact Object Headers (by Glavo) - 游戏设置 - GP-4234: 优化游戏窗口大小选择功能 (by Glavo) - GP-4275: 基于实际屏幕分辨率添加游戏窗口分辨率选项 (by Wulian233) - GP-4507: 游戏设置中添加「不自动添加 Java 虚拟机优化参数」选项 (by Glavo) - - GP-4515: 优化 Java 自动选择规则 (by Glavo) + - GP-4515: 优化 Java 自动选择规则 (by Glavo) - 实例管理 - GP-4222: 在实例名称中包含非字母、数字、减号和下划线字符时弹出警告 (by Glavo) - - GP-4509: 支持在主界面「实例管理」按钮上通过滚动滚轮切换游戏实例 (by Glavo) + - GP-4509: 支持在主界面「实例管理」按钮上通过滚动滚轮切换游戏实例 (by Glavo) - 模组管理 - GP-3230: 支持根据更多信息搜索模组 (by Zkitefly) - GP-3231: 优化模组中文译名匹配机制 (by Zkitefly) @@ -46,12 +43,12 @@ - 世界管理 - GP-4263: 支持删除世界 (by Wulian233) - 整合包 - - GP-3716: 支持导出 Modrinth 整合包 (by Zkitefly) + - GP-3716: 支持导出 Modrinth 整合包 (by Zkitefly) - 下载 - GP-4272: 支持自动安装 Cleanroom (by 辞庐, zkitefly) - GP-4141: 优化游戏下载页版本分类功能 (by Glavo) - GP-4249: 游戏下载页面中使用史莱姆块作为愚人节版本的图标 (by Wulian233) - - GP-4471: 在游戏下载界面中显示当前平台对每个版本的支持状态 (by Glavo) + - GP-4471: 在游戏下载界面中显示当前平台对每个版本的支持状态 (by Glavo) - GP-4268: 在 NeoForge 下载页面中添加正式版/快照分类 (by Wulian233) - GP-4167, GP-4169, GP-4462: 优化下载缓存功能 (by Glavo) - GP-4219: 下载文件时启用透明 GZip 压缩 (by Glavo) @@ -62,8 +59,8 @@ - GP-4510: 在未启用 JIT 或硬件渲染加速的环境中默认启动器禁用动画 (by Glavo) - GP-4164: 支持通过环境变量强制使用 GPU 渲染和控制动画帧率 (by Glavo) - GP-4184: 支持设置纯色背景 (by Glavo) - - GP-3205: 支持修改背景的不透明度 (by 吞云) - - GP-4205: 支持 APNG 动画图片 (by Glavo) + - GP-3205: 支持修改背景的不透明度 (by 吞云) + - GP-4205: 支持 APNG 动画图片 (by Glavo) - GP-4323: HintPane 使用新版 Bootstrap 调色盘 (by 辞庐) - GP-4521: 支持通过环境变量控制 UI 缩放比例 (by Glavo) - 联机 @@ -77,14 +74,14 @@ - GP-3956: 修复启动时会尝试补全服务端自动更新整合包中已禁用的 mod 的问题 (by Zkitefly) - GP-4239: 修复部分版本 wiki 链接不正确的问题 (by ENC_Euphony) - GP-4321: 修复世界管理页面不支持极限模式的问题 (by Wulian233) - - GP-4350: 修复在部分简体中文环境中默认显示繁体中文的问题 (by Glavo) + - GP-4350: 修复在部分简体中文环境中默认显示繁体中文的问题 (by Glavo) - GP-4386: 修复离线账户换肤功能使用无效 CSL API 会导致启动失败的问题 (by Glavo) - GP-4492: 修复 Windows 平台上 `%APPDATA%\.hmcl` 目录为跨驱动器符号链接时无法卸载 Java 的问题 (by Glavo) - - GP-4514: 修复 AdvancedListBox 在非必要的情况下显示滚动条的问题 (by rootwhois) + - GP-4514: 修复 AdvancedListBox 在非必要的情况下显示滚动条的问题 (by rootwhois) - GP-4517: 修复日志页面选中条目时 hover 背景闪烁两次的问题 (by rootwhois) - GP-4296: 修复切换下载源后需要重启启动器才会生效的问题 (by Glavo) - GP-4568: 修复在短时间内连续点击 OptionToggleButton 只会更改一次状态的问题 (by 辞庐) - - GP-4585: 修复部分按钮点击后始终保持焦点状态的问题 (by Wulian233) + - GP-4585: 修复部分按钮点击后始终保持焦点状态的问题 (by Wulian233) - GP-4646: 修复 Minecraft 1.21.9+ 安装了 NeoForge 的实例未使用 NeoForge 图标作为实例图标的问题 (by 3gf8jv4dv) - GP-4624: 修复导出游戏崩溃信息后弹窗没有正常弹出的问题 (by 辞庐) - - GP-4660: 修复模组下载页面图标模糊的问题 (by Glavo) \ No newline at end of file + - GP-4660: 修复模组下载页面图标模糊的问题 (by Glavo) diff --git a/_changelogs/stable/3.7/3.7.2.md b/src/content/changelogs/stable/3.7/3.7.2.md similarity index 98% rename from _changelogs/stable/3.7/3.7.2.md rename to src/content/changelogs/stable/3.7/3.7.2.md index 648bf990..58019f79 100644 --- a/_changelogs/stable/3.7/3.7.2.md +++ b/src/content/changelogs/stable/3.7/3.7.2.md @@ -1,6 +1,3 @@ ---- ---- - 详细版本介绍: [cv43439723](https://www.bilibili.com/opus/1126111455506071555) - GP-4682: 将陶瓦联机更新至 0.3.10 (by Burning_TNT) diff --git a/_changelogs/stable/3.7/3.7.3.md b/src/content/changelogs/stable/3.7/3.7.3.md similarity index 92% rename from _changelogs/stable/3.7/3.7.3.md rename to src/content/changelogs/stable/3.7/3.7.3.md index 86eb8cb2..1c80abd6 100644 --- a/_changelogs/stable/3.7/3.7.3.md +++ b/src/content/changelogs/stable/3.7/3.7.3.md @@ -1,6 +1,3 @@ ---- ---- - 详细版本介绍: [cv43540463](https://www.bilibili.com/opus/1129159061178155017) - 启动器 @@ -8,4 +5,4 @@ - 联机 - GP-4724: 将陶瓦联机更新至 0.3.12 (by Burning_TNT) - 错误修复 - - GP-4721: 修复 JFXListViewSkin 创建大量平台线程的问题 (by Glavo) \ No newline at end of file + - GP-4721: 修复 JFXListViewSkin 创建大量平台线程的问题 (by Glavo) diff --git a/src/content/changelogs/stable/3.7/3.7.5.md b/src/content/changelogs/stable/3.7/3.7.5.md new file mode 100644 index 00000000..6a860237 --- /dev/null +++ b/src/content/changelogs/stable/3.7/3.7.5.md @@ -0,0 +1,9 @@ +详细版本介绍: [cv43648491](https://www.bilibili.com/opus/1132495430464045104) + +- 启动器 + - GP-4742: 更新 Chunkbase 种子地图链接 (by Wulian233) +- 联机 + - GP-4723: 将陶瓦联机更新至 0.3.13 (by Burning_TNT) + - GP-4735: 在不支持的平台上打开陶瓦联机页面时弹出提示 (by Glavo) +- 错误修复 + - GP-4736: 修复 FreeBSD x86-64 平台上错误的将所有版本视作未经测试的版本的问题 (by Glavo) diff --git a/src/content/changelogs/stable/3.7/3.7.6.md b/src/content/changelogs/stable/3.7/3.7.6.md new file mode 100644 index 00000000..db13b67f --- /dev/null +++ b/src/content/changelogs/stable/3.7/3.7.6.md @@ -0,0 +1,15 @@ +详细版本介绍: [cv43836292](https://www.bilibili.com/opus/1138359439513878544) + +- 下载 + - GP-4767: 添加对 25w45a_unobfuscated 的支持 (by Glavo) + - GP-4782: 添加对 25w46a_unobfuscated 的支持 (by Glavo) + - GP-4829: 添加对 1.21.11-pre1/2_unobfuscated 的支持 (by mineDiamond) + - GP-4841: 更新 HMCL 元数据链接 (by Glavo) + +- 联机 + - GP-4816: 更新陶瓦联机用户须知 (by Glavo) + - GP-4838: 将陶瓦联机更新至 0.3.14 (by Burning_TNT) + +- 错误修复 + - GP-4795: 修复初次打开部分页面时页面闪烁的问题 (by Glavo) + - GP-4808: 修复 Windows 下全局设置中本地库路径路径分隔符显示错误的问题 (by 辞庐) diff --git a/src/content/changelogs/stable/3.8/3.8.1.md b/src/content/changelogs/stable/3.8/3.8.1.md new file mode 100644 index 00000000..233545c3 --- /dev/null +++ b/src/content/changelogs/stable/3.8/3.8.1.md @@ -0,0 +1,28 @@ +详细版本介绍: [cv43836921](https://www.bilibili.com/opus/1138376365938049027) + +- 启动器 + - GP-4703, GP-4743: 优化更新日志展示功能 (by Glavo) + - GP-4696: 在外链按钮上添加 tooltip (by neveler) + - GP-4749: 恢复对 JavaFX 14 的兼容性 (by Glavo) + - GP-4760: 从注册表中读取 Windows 版本信息 (by Glavo) + - GP-4540: 删除实例失败时弹出对话框 (by Glavo) + - GP-4770: 更新模组数据 (by Glavo) + - GP-4776: 优化游戏实例默认图标 (by Glavo) + - GP-4672: 优化数据包管理功能 (by mineDiamond) + - GP-4612: 增强解析数据包/资源包元数据的能力 (by mineDiamond) + - GP-4826: 从首页打开子页面时打开默认标签页 (by Glavo) + - GP-4845: 更新 amdgpu.ids (by 辞庐) +- 外观/动画 + - GP-4780, GP-4790, GP-4803, GP-4815: 优化界面动画效果 (by Glavo) + - GP-4698: 被打包为 `.app` 文件时使用 `.app` 文件内置的 Dock 栏图标 (by 风花AnemoFlower) + - GP-4779: 预加载页面以减少动画卡顿 (by Glavo) + - GP-4762: 在 macOS 平台使用系统默认最小化动画 (by Damon Lu) + - GP-4809: 在更多页面上启用平滑滚动 (by Glavo) +- 本地化 + - GP-4709: 本地化下载速度显示 (by Glavo) + - 优化软件文案,修订翻译 (by 3gf8jv4dv, Glavo) +- 错误修复 + - GP-4775: 修复无法获取部分远古版本版本号的问题 (by Glavo) + - GP-4783: 修复模组管理页面点击搜索按钮后未聚焦到搜索栏的问题 (by mineDiamond) + - GP-4805: 修复复制实例时使用非法实例 ID 启动器行为异常的问题 (by Haowei Wen) + - GP-4844: 修复缓存异常时下载任务无限循环的问题 (by Glavo) diff --git a/src/content/changelogs/stable/3.8/3.8.2.md b/src/content/changelogs/stable/3.8/3.8.2.md new file mode 100644 index 00000000..ef5cc78e --- /dev/null +++ b/src/content/changelogs/stable/3.8/3.8.2.md @@ -0,0 +1,9 @@ +[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1148470393780043777) + +- 启动器 + - GP-4886: 优化对 Linux MIPS64el 平台的支持 (by Glavo) + - GP-4917: 支持 Minecraft 新版本号规则 (by Glavo) +- 错误修复 + - GP-4850: 修复 `FetchTask` 未设置 User-Agent 的问题 (by Glavo) + - GP-4913: 修复游戏进程结束时点击日志窗口的“结束游戏进程”按钮会导致启动器无响应的问题 (by Glavo) + - GP-4981: 修复从 BMCLAPI 下载部分旧文件时校验失败的问题 (by Glavo) diff --git a/src/content/changelogs/stable/3.9/3.9.1.md b/src/content/changelogs/stable/3.9/3.9.1.md new file mode 100644 index 00000000..1ad9bca8 --- /dev/null +++ b/src/content/changelogs/stable/3.9/3.9.1.md @@ -0,0 +1,37 @@ +[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1148770448825122832) + +- 启动器 + - GP-4837: 实验性支持阿拉伯语 (by Hommam-Prom) + - GP-4911, GP-4963: 添加对 1.21.11_unobfuscated 及其预发布版的支持 (by mineDiamond) + - GP-4927: 在 macOS 平台上导出启动脚本时支持导出 `.command` 文件 (by WhatDamon) + - GP-5019: 使用子标题注解“提前预览 HMCL 版本”选项 (by neveler) + - GP-5008: 优化反馈页面 (by Glavo) +- 游戏设置 + - GP-4144: 添加输出游戏调试日志选项 (by 辞庐) +- 实例管理 + - GP-4475: 添加资源包管理功能 (by 辞庐) + - GP-4872: 添加快速进入世界功能 (by mineDiamond) +- 账户管理 + - GP-4932: 在主页右键点击账户按钮时弹出快速切换账户菜单 (by zimzaza4) +- 外观 + - GP-4835: 更新至 Material Design 3 颜色系统 (by Glavo) + - 支持深色模式 (by Glavo, Wulian233, neveler) + - GP-4854: 更新表格控件的样式 (by Calboot) + - GP-4865: 更新颜色选择器样式 (by Glavo) + - GP-4915: 在 `HintPane` 提示框中为图标和文本添加间距 (by neveler) + - GP-4951: 更新选择框下拉菜单滚动条样式 (by Glavo) + - GP-4964: 更新表格中复选框的样式 (by Glavo) +- 下载 + - GP-4856: 优化下载源选择逻辑 (by Glavo) + - GP-4990: 支持下载 Java 25 (by OrzMiku) +- 联机 + - GP-4869: 在陶瓦联机页面向非中国内地用户添加提示框 (by Glavo) + - GP-4916: 在陶瓦联机界面启动游戏时禁用离线皮肤功能 (by Glavo) +- 错误修复 + - GP-4857: 修复惯性滚动可能导致弹出菜单错位的问题 (by Glavo) + - GP-4871: 修复修改主题色后 `JFXCheckBox` 颜色不会及时变化的问题 (by Glavo) + - GP-4874: 修复 `JFXRadioButton` 在 Windows 平台上中心圆点偏移的问题 (by Glavo) + - GP-4895: 修复模组更新列表界面按 esc 无法正确退出的问题 (by Calboot) + - GP-4935: 修复本地安装新版本 Forge 时未移除版本号中 `forge-` 前缀的问题 (by 辞庐) + - GP-4946: 修复模组管理页面中 OptiFine HD U G6 pre1 与 CurseForge 上的无关模组相关联的问题 (by Burning_TNT) + - GP-4945: 修复无法识别部分 Forge/NeoForge 模组的问题 (by Burning_TNT) diff --git a/src/content/changelogs/stable/3.9/3.9.2.md b/src/content/changelogs/stable/3.9/3.9.2.md new file mode 100644 index 00000000..afaa1f71 --- /dev/null +++ b/src/content/changelogs/stable/3.9/3.9.2.md @@ -0,0 +1,10 @@ +[详细版本介绍 (Bilibili)](https://www.bilibili.com/opus/1157751599072804904) + +- 启动器 + - GP-5046: 禁用日志窗口的平滑滚动效果 (by Glavo) + - GP-5052: 优化列表的平滑滚动效果 (by Glavo) + - GP-5110: 更新 NeoForge 版本号规则 (by 辞庐) +- 错误修复 + - GP-5128: 修复使用 BMCLAPI 下载源时选择 `Liteloader` 版本时可能报错的问题 (by Wulian233) + - GP-5125: 修复未正确归类 NeoForge alpha 版本的问题 (by 辞庐) + - GP-5220: 修复 CurseForge 源无法搜索到内容的问题 (by Glavo) diff --git a/src/content/docs/changelogs/dev.mdx b/src/content/docs/changelogs/dev.mdx new file mode 100644 index 00000000..a9e89f0e --- /dev/null +++ b/src/content/docs/changelogs/dev.mdx @@ -0,0 +1,9 @@ +--- +title: 开发版更新日志 +sidebar: + label: 开发版 +--- + +import Changelogs from "@components/Changelogs.astro"; + +
- `auto`:自动选择(Windows 7+ 使用 JNA,其他系统不使用)
- `jna`:强制使用 JNA(如果 JNA 不可用会抛出异常)
- `none`:禁用 JNA
默认值:`auto` | +| `-Dhmcl.hardware.fastfetch=
-**2Q**:去哪里找 Java? +**去哪里找 Java?** -**2A**:有很多的Java提供选择,如 [Liberica JDK](https://bell-sw.com/pages/downloads/?package=jre-full) 、[Microsoft JDK](https://microsoft.com/openjdk)、[Oracle JDK](https://www.oracle.com/java/technologies/downloads/)、[中文 Java 镜像站](https://injdk.cn/ "对中国大陆的访问速度更友好") 和 [Oracle openJDK](https://jdk.java.net/) 等 +有很多的Java提供选择,如 [Liberica JDK](https://bell-sw.com/pages/downloads/?package=jre-full) 、[Microsoft JDK](https://microsoft.com/openjdk)、[Oracle JDK](https://www.oracle.com/java/technologies/downloads/)、[中文 Java 镜像站](https://injdk.cn/ "对中国大陆的访问速度更友好") 和 [Oracle openJDK](https://jdk.java.net/) 等 只需要在下载时下载**.zip 压缩包文件**,且将压缩包内的所有内容放入对应文件夹即可 diff --git a/src/content/docs/modpack/error-handbook.mdx b/src/content/docs/modpack/error-handbook.mdx new file mode 100644 index 00000000..26f1e94e --- /dev/null +++ b/src/content/docs/modpack/error-handbook.mdx @@ -0,0 +1,76 @@ +--- +title: 模组包报错排查手册 +description: 排查和解决整合包相关问题 +contributors: + - LIPiston +lastUpdated: 2025-05-24T13:39:36+08:00 +--- + +import { Badge, FileTree } from "@astrojs/starlight/components"; + +## 文件夹结构 + +首先我们需要先认识Minecraft的文件夹结构 +如果你开启了 [版本隔离](../launcher/isolation.html) 那么你的文件夹结构如下 + +
MinecraftClientStatic
-MinecraftClientStatic
+